Skip to content

leshan-2.0.0-M2

Choose a tag to compare

@sbernard31 sbernard31 released this 17 Dec 15:20
· 966 commits to master since this release

❗☠️❗ Affected by security issue❗☠️❗

Build artifacts are available on maven central.

Second development release targeting LWM2M 1.1, see LWM2M 1.1 supported features.
⚠️ As a milestone release keep in mind API could/will be broken in next milestone.

If you are interested in LWM2M 1.1 support in Leshan, we strongly advice to :

This is the best way to get a final 2.0.0 release which fits your needs.

Noteworthy

  • Add preferred content format support to BootstrapRequest. (#949)
  • Add CBOR content format (#943)
  • Add SenML-CBOR content format (#922,#937)
  • Add SenML JSON content format (#911)
  • Add ObjectLink support for OLD JSON content format.
  • Add Certificate Usage support (#923)
  • Introduce new BootstrapConfigurationStore to bring more flexibility (#883)
  • Better unexpected error handling in client DefaultRegistrationEngine. (#933)
  • Add Destroyable, Startable and Stoppable support to LwM2mObjectEnabler and LwM2mInstanceEnabler. (#933)
  • Update BindingMode to be LWM2M 1.1 compliant (#908)
  • Add a way to get coapRequest at LWM2M level (#947)
  • Allow to use custom endpoint context when sending CoAP request.
  • Integration of Californium 2.6.0 (2.5.0 change log)

Many thanks to @moznion (#928, #940 ) and @dachaac(#912,#910,#905,#900, #899,#902,#903) for their contributions 🙏 !

Known Issue 🪲 :

#964: issue preventing DTLS server to accept clients using x509 or RPK. PSK should not be affected.
#984: Leshan does not decode SenML-CBOR/JSON data value (vd/8) correctly
#992: Client rejects server request when using "CA constraint" and "trust anchor" assertion certificate usage
#1052: client using "domain-issued certificate" should not check hostname/ipaddress

Change logs

c2ed1f4: Add preferred Content format to BootstrapRequest.
8f2b5e0: Better support of number (especially unsigned) using CBOR-Java
38713a6: Add CBOR content format to Leshan server demo.
1220105: Add CBOR Content Format to Single value integration tests.
846700c: Add CBOR Node Decoder/Encoder to Default Decoder/Encoder.
25b6067: Add CBOR Content Format
2ff39f9: Add Node Encode/Decoder for CBOR Content Format
cad6909: Move test utility classes in a dedicated package
3c786f1: Add tests about LwM2mRequest.getCoapRequest()
ad993c6: #198 : Add a way to get coapRequest at LWM2M level
99c22fb: Upgrade from com.upokecenter.cbor 4.0.0 to 4.3.0
6ecade8: Revert "Temporary workaround about HELLO_VERIFY_REQUEST protocol version."
1f7b9a4: Integration of Californium 2.6.0
7a013f0: #933: destroy LeshanClient on unexpected error.
1da2600: #933: Implement Destroyable, Startable and Stoppable on ObjectEnabler
a1bacb5: #933: Handle unexpected errors on DefaultRegistrationEngine
d0f2705: #933: Add method: onUnexpectedError() for LwM2mClientObserver
fad5a4c: Use upokecenter CBOR-JAVA as default encoder/decoder for SenML CBOR
294200a: Add SenML CBOR encoder/decoder based on upokecenter CBOR-Java
d7d2e05: Add utility to be able to compare SenML Record and use it in JSON tests
a275f2b: #933: Call management method for each LwM2mObjectEnabler on LeshanClient
fa0f58c: #933: Move the interfaces to manage the state to leshan-core package
4e4ba52: Add support ObjectLink for OLD JSON content format.
b2dc0b8: Add SenML CBOR to server demo.
c671247: Rename LwM2mNodeSenMLJsonDecoder/Encoder > LwM2mNodeSenMLDecoder/Encoder
c87f66d: Remove useless SenMLCborException
1064775: Fix number serialization for SenMLCbor
5d3da20: Add SenML_CBOR to integration tests
41f01c3: Add SenMLCbor support to default LwM2mNodeEncoder/Decoder
760faef: Add SenML Cbor content Format.
776c513: Rename SenMLCbor and make it implement SenMLDecoder/Encoder, add tests
4dde815: Add SenML Cbor deserialization to jackson encoder/decoder
14d9d17: Fix EPL license version (v1.0 to v2.0) in SenMLCbor files
fcb0cdb: Move jackson cbor decoder in a dedicated package
f7ccfc2: Temporary workaround about HELLO_VERIFY_REQUEST protocol version.
0fa454c: SecurityTest: Add certificate usage unit tests
3e65c99: leshan-integration-tests: credentials: Update with intermediate and add manufacturer CA
6e96cee: CertificateUsage: Add CertificateUsage support to client.
b3d230b: CertificateUsage: Add CertificateUsage type and initial support to client to configure it.
c189a8c: Cf-2.5.0 : remove deprecate usage of TrustedRpkStore/CertificateVerifier
eae8c38: Remove useless SecurityObjectPskStore class.
f97e1ef: Cf-2.5.0 : remove usage of deprecated PskStore
24b23fb: Integration of Californium 2.5.0
70e218d: Update some dependencies. (#927: Now Leshan should build with java15)
571a7b7: Remove ugly sysout added in commit 42c6c4c
0345557: Bump jetty.version from 9.4.31.v20200723 to 9.4.34.v20201102
3492f05: #918 : bad endpoint encoding in UI when using server demo REST API
2f75190: Use EnumSet for BootstrapConfig
6797352: In LWM2M 1.1 client use /3/0/16 as binding register param. (not /1/?/7)
abe31fe: In LWM2M 1.1 client is watching /3/0/16 binding instead of /1/?/7
2970e3e: Update BindingMode in device objects.
42c6c4c: Add some tests about binding mode
edfabde: Enhance lockStep client
d4df48e: Update BindingMode to be LWM2M 1.1 compliant and support Q parameter.
40e2d2a: Fix SerializationUtil to support enumSet
ad464b0: Fix Version validation.
4df99f1: Add SenML JSON to server demo.
bfcce86: Add SenML JSON as known content format.
a3df5d7: Add ObjectLink support to LwM2MNodeSenML Encoder/Decoder
27ec7e4: Move ObjectLink String decoding/encoding in ObjectLink class.
d694b31: Add resource instance encoding/decoding for SenML JSON
fd6f8ad: Move WriteTest in its own package, make some tests parameterized
50b5cb7: Move CreateTest in its own package, make some tests parameterized
6157535: Move ReadTest in its own package, make some test parameterized
f8e32ad: Move ObserveTest in its own package, make timestamped test parameterized
5d3d44a: Add time-stamped support to LwM2mNodeSenMLEncoder
c13bd09: Add time-stamped support to LwM2mNodeSenMLDecoder
9d0c3a7: Enhance Number handling for SenML Decoder/Encoder
bb76ecb: Use Jackson as default encoder/decoder for SenML JSON
02f0eff: Add LwM2mNodeSenMLDecoder for SenML-JSON with unit tests
5688b34: Fix Minimal SenMLJson Serializer/Deserializer
3bcaad1: Modify SenML tests to use minimal and jackson encoder/decoder
00b7744: Add new SenMLJsonDecoder/Encoder interface.
cb4656b: Add dedicated SenMLException class
87fdbcc: Add SenML Json encoder/decoder based on Jackson.
fe81abb: Rename SenMLJson to SenMLJsonMinimalEncoderDecoder
ce1efdb: Move SenML JSON class in their own package.
a0d6d98: Move SenML cbor class in their own package.
2968225: Remove unused SenMLPackSerDes class
1e96617: Update SECURITY.md to add supported version
f224ff1: Allow to use custom endpoint context when sending coap request.
3001a33: #437: Add a BootstrapConfigurationStore which stores BootstrapRequets.
7ed36af: #918: bad endpoint encoding in UI when using bs server demo REST API
df61cb3: #913: fix LWM2N JSON encoding issue with resource instance
7637769: LeshanBootstrapServerDemo: Add support to load trust store from Java trust store
9bc7a3b: LeshanClientDemo: Add command line options to configure trust store
99577c1: LeshanClient: Add initial trust store support.
b10b19e: LeshanServerDemo: Add support to load trust store from Java trust store
091ba20: DefaultEndpointFactory: Add new endpoint context matcher for clients
3a86ea2: X509CertUtil: matchSubjectInetAddress: Use strict subject alternative mode
e814ae0: X509CertUtil: matchSubjectDnsName: Use strict subject alternative mode
55c3096: Bump junit from 4.13 to 4.13.1
e9d7799: DefaultLeshanCertificateVerifier: Add new certificate verifier helper
3a72500: SecurityTest: Fix X.509 end point name comparison
2dc2bca: X509CertUtil: Add new helper class for using X.509 certificates
87cb5c0: Bump version to 2.0.0-SNAPSHOT