leshan-2.0.0-M2
❗☠️❗ Affected by security issue❗☠️❗
Build artifacts are available on maven central.
Second development release targeting LWM2M 1.1, see LWM2M 1.1 supported features.
If you are interested in LWM2M 1.1 support in Leshan, we strongly advice to :
- use/test this milestone release,
- report us any bug or feebacks,
- share what part of LWM2M 1.1 missing you more,
- contribute code.
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
BootstrapConfigurationStoreto bring more flexibility (#883) - Better unexpected error handling in client
DefaultRegistrationEngine. (#933) - Add
Destroyable,StartableandStoppablesupport toLwM2mObjectEnablerandLwM2mInstanceEnabler. (#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