Skip to content

Releases: eclipse-leshan/leshan

leshan-2.0.0-M2

17 Dec 15:20
Compare
Choose a tag to compare

❗☠️❗ 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

leshan-1.3.0

14 Dec 10:56
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Noteworthy

  • Better unexpected error handling in client DefaultRegistrationEngine. (#933)
  • Add Destroyable, Startable and Stoppable support to LwM2mObjectEnabler and LwM2mInstanceEnabler. (#933)
  • Add ObjectLink support for OLD JSON content format.
  • 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 for its contribution (#944) to enhance Leshan Client 🙏 !

Known Issue 🪲 :

#964: issue preventing DTLS server to accept clients using x509 or RPK. PSK should not be affected. Fixed in 1.3.1.

Change logs

6596442: #933: destroy LeshanClient on unexpected error.
b242989: #933: Call onUnexpectedError() when unexpected error occurred
9d5b405: #933: Add an interface LwM2mClientObserver2 to handle unexpected error
aad536f: #933: Implement Destroyable, Startable and Stoppable for LwM2mObjectTree
2d21d7c: #933: Implement Destroyable, Startable and Stoppable for ObjectEnabler
1e9287f: #933: Mark as deprecated for server.(Destroyable, Startable, Stoppable)
a60b898: #933: Add new interfaces to core: Destroyable, Startable and Stoppable
1f34ca7: Remove suppressWarning("deprecation")
40aad7c: Revert "Temporary workaround about HELLO_VERIFY_REQUEST protocol version."
6f37492: Integration of Californium 2.6.0
b72d22d: Add support ObjectLink for OLD JSON content format.
32205a2: Move ObjectLink String decoding/encoding in ObjectLink class.
a29f4c7: Temporary workaround about HELLO_VERIFY_REQUEST protocol version.
7970701: Cf-2.5.0 : remove deprecate usage of TrustedRpkStore/CertificateVerifier
caa03d1: Cf-2.5.0 : remove usage of deprecated PskStore
d12e6ed: Integration of Californium 2.5.0
04c93a0: Update some dependencies. (#927: Now Leshan should build with java15)
4dde95f: Bump jetty.version from 9.4.31.v20200723 to 9.4.34.v20201102
7d2da21: Allow to use custom endpoint context when sending coap request.
e9b2fe6: #918: bad endpoint encoding in UI when using bs server demo REST API
82146a2: Bump junit from 4.13 to 4.13.1

leshan-2.0.0-M1

08 Oct 14:31
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

First development release on track for LWM2M 1.1, see LWM2M 1.1 supported features.
⚠️ As a milestone release keep in mind API could be broken.
(As this is the first milestone, I can even guarantee that API will be broken 😅)

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 fit your needs.

You are more and more to contribute to Leshan, thx to all of you ! 🙏

Noteworthy

  • add support to LWM2M 1.1 object model. #870
  • embed last models. #870
  • refactor model validation to support both model format, LWM2M 1.0 and LWM2M 1.1. #870
  • add resource instance support for Read/Write request using text/tlv/json content format. #877
  • add unsigned integer support. #879 #880
  • add LowerLayerConfig class to tweak lower layer request parameter. #876
  • Integration of Californium 2.4.1.(2.4.0 change log)
  • some bug fixes.

Thx to @zakharenkodmytro for "resource instance operation" contribution 🙏 !

Known Issue 🪲 :

#913: resource instance encoding for JSON content format. (fixed in 2.0.0-M2)
#964: issue preventing DTLS server to accept clients using x509 or RPK. PSK should not be affected. (It should be fixed in 2.0.0-M3)

Change logs

277499e: ReadResponse: Add ULong support
bb35bde: Add documentation about nightly release in README
6948515: Fix Lwm2mNodeTextEncoder & BaseInstanceEnable.write for ResourcInstance
8e4c409: #894 : fix opaque write on single opaque value (server-demo)
fc65183: Add utility to convert number safely in LwM2mNodeJsonDecoder.
a48227a: Add Unsigned integer support
d84a69b: API break: Use Iterator instead of List in BootstrapSecurityStore.
3852484: #894 : fix single value content format selection on write (server-demo)
dbf3671: Fix issue avoiding to choose mix ciphersuite psk/rpk/x509 with client
bc9dce3: Better log about server certificate validation at client side.
95d67bd: add -c option to chose cipher suite to leshan-client-demo.
f2531cd: Fix client demo logs about handshake.
9ae537a: Upgrade some dependencies (commons-io, jackson, jedis, jetty)
24de4af: Integration of Californium 2.4.1
9dd235a: Move minimal-json encoder/decoder implementation in its own package.
511ff3e: Add jackson implementation of LwM2mJsonDecoder
eac22fa: Make LwM2mJson Encoder/Decoder dynamic
8ec052e: Make all encoder/decoder dynamic object instead of static class.
e93c61c: Add methods to load all version or only last one of embedded model
afb8550: Add validation and comparison facility to Version class.
e1dc152: Remove some old LWM2M Version constant replaced by Version class
bbeeed2: Embedd DDF files for LWM2M 1.1 in leshan demos
b51d119: Embedd DDF files for LWM2M 1.1 in leshan-core
28bad91: Add new utility class to update LWM2M ddf Files
4170708: Update ObjectModel and ObjectModelValidator to support LWM2M 1.1
867ace5: Add DDFFileValidator for LWM2M 1.1 (add DDFFileValitorFactory)
2e1c24c: Add a new LWM2M Version class
1c05733: add release-nightly profile
16b283b: Add default impl for write resource instance in BaseInstanceEnabler
a90d957: LwM2mInstanceEnabler.write should handle LwM2mResourceInstance
9827a38: Add write tests about resource instances operation for tlv.
b20d3ae: Remove usage deprecated getValues()
a66de60: Fix some formatting issue.
c4f58e0: Add Resource Instance RW operations for Json and Text Content Format
cfb8e90: Add some tests about reading resource instance in TLV
2a6b05a: Update Tlv Encoder to support resource instance
ead62c9: Add ReadRequest API to target resource instance
297264e: Add support to read resource instance at client level
73e9db0: Add LwM2mResourceInstance object to support resource instance operation
9313f72: Update CoapRequestBuilder to support Resource Instance operation.
bd02aa1: Move path check to prepare support for resource instance operation
813d664: #875: add LowerLayerConfig class to tweak lower layer request parameter
69e432c: Integration of Californium 2.4.0
9dfdd3e: LeshanClientDemo: Fix coaps usage for named server
c70bd8d: Update README : add information about 2.x and LWM2M 1.1
74af7a9: LeshanServerBuilder: Fix handling of X.509 servers with serverAuth
8bb7184: Remove LwM2mObjectEnabler2
0bcc293: Remove DownlinkRequestVisitor2
f1cee66: Remove BootstrapSessionManager2
03a261e: Remove RegistrationEngineFactory2
6739243: Raise Exception if content format for DiscoverResponse is incorrect
5dd6b42: Update ObjectModelSerDes (add new fields)
61cb30d: remove useless methods (getVersion&getLwM2mVersion) from ObjectModel
6d7c3b2: Add NONE value to enum Type.
150a8cf: Model fields are nullable & null test is done by ObjectModelValidator
c9bac24: Remove deprecated method about Object Model Loading
76c2413: Fix API visibility issue on BaseObjectEnabler.doDelete()
1136909: Remove warning about switch case : EST is not supported for now.
44625ad: #682: Add SenML-CBOR encoder in leshan-core + unit tests.
c8712dd: #677: LwM2mNodeSenMLEncoder for SenML-JSON, and unit tests
983b21e: #673: SenML JSON decoder in leshan-core with unit tests.
ce5fff5: #659: Add SenML JSON encoder in leshan-core with unit tests.
054d305: SecurityMode: Add missing "Certificate mode with EST" (4)

leshan-1.2.0

02 Oct 12:39
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Noteworthy

  • add LowerLayerConfig class to tweak lower layer request parameter #876
  • Integration of Californium 2.4.1 (2.4.0 change log)
  • some bug fixes

Known Issue 🪲 :

#964: issue preventing DTLS server to accept clients using x509 or RPK. PSK should not be affected. Fixed in 1.3.1.

Change logs

4ffd9b4: #894 : fix opaque write on single opaque value (server-demo)
c42d7a4: #894 : fix single value content format selection on write (server-demo)
382e7df: Fix issue avoiding to choose mix ciphersuite psk/rpk/x509 with client
531241c: add -c option to chose cipher suite to leshan-client-demo.
74d9ed3: Better log about server certificate validation at client side.
df08289: Fix client demo logs about handshake.
2e9874b: Upgrade some dependencies (commons-io, jetty)
8231deb: Integration of Californium 2.4.1
bce0c96: add release-nightly profile
cf7dbc9: #875: add LowerLayerConfig class to tweak lower layer request parameter
3a3dd59: Integration of Californium 2.4.0
029dc47: LeshanClientDemo: Fix coaps usage for named server
85bdaf9: LeshanServerBuilder: Fix handling of X.509 servers with serverAuth

leshan-1.1.0

16 Jul 09:22
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Noteworthy

  • Add support of Bootstrap Discover request #858
  • Add additional attributes for on Bootstrap request #856
  • Better DDF file and LWM2M models validation #851
  • Add more flexibility to Redis Lock #843
  • Integration of Californium 2.3.0

Known Issue 🪲 :

#964: issue preventing DTLS server to accept clients using x509 or RPK. PSK should not be affected. Fixed in 1.3.1.

Change logs

633db38: Fix NPE (regression when adding Discover Bootstrap request)
23107cf: Integration of Californium 2.3.0
48e9cce: Add some integration tests about Bootstrap discover
3b2ece2: Add Bootstrap Discover support at client side.
e18a900: Add Bootstrap Discover Request support at server side.
220a821: Add Bootstrap Discover Request and Response.
5ad51e5: Add bootstrap additional attributes command line option to client demo
6bb7ce7: Add an integration test about additional attributes.
8a179ea: Support new Bootstrap Additional attributes at Client side.
d2e7c92: Support new Bootstrap Additional attributes at Server side.
d819566: Add Additional attributes to BootstrapRequest.
5a2132c: Fix some javadoc about new DDF file feature.
202dcf3: Fix TEXT format can be used to Write OPAQUE resource. (see #675)
6e1aa4e: Add logback config for tests about models in demo.
17c6b6a: Fix UnsupportedClassVersion raised in tests when useToolchain used.
9b4556c: Add JUnit to validate embedded Model at build time.
c3baf6f: #835: validate model before to use it in Leshan server and client demo
c1dcdd0: Remove usage of deprecated DDFFileParser.parse function.
0b9d34c: #835: add load function with validation to ObjectLoader
064ea5f: #835: Add ObjectModelValidator class to validate object model
3cd7ad2: #835: raise exception if DDF file parsing failed.
955d7cd: #835: DDFFileParser support urn, description2 and lwm2mVersion
d1faa9a: #835: add URN, description2 and lwm2mVersion field to ObjectModel
8885bb1: #835: Add URN utility class
ecbd0ca: #835: Add DDF file validator (validate againts LWM2M.xsd)
8522c71: Integration of Californium 2.3.0-RC2
cbf3e35: Add usage of maven-toolchains-plugin.
3a1a64e: #852: add setter to activate Registration Update on Notification
0facbf9: Integration of Californium 2.3.0-RC1
192238c: #836: Add more flexibility to RedisLock
9cd67f6: Use (SECURE_)COAP_PORT from CoapConfig as default value for server demos
02b3c5d: #845: add endpoint (ep) field in coaplog server event of server-demo
66b220e: Add build check about dependency convergence.

leshan-1.0.2

09 Jul 14:24
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Change logs

3951f04: Add usage of maven-toolchains-plugin.
dfb423e: Fix TEXT format can be used to Write OPAQUE resource. (see #675)

leshan-1.0.1

07 May 13:02
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Noteworthy

  • Fix race condition in RedisLock, add log to detect unintended expiration.
  • Fix some toString().
  • Use last version of LWM2M models.
  • Executable resource model should not have a type: #833
  • Integration of Californium 2.2.3.
  • Some demos improvements mainly around credentials (RPK/x509): #842

Change logs

3c48c0f: add -cert -truststore option to bsserver-demo.
f374e34: add -cert -truststore option to server-demo (deprecate keystore options)
646837c: ignores srl files (openssl serial number files)
112dba1: Fix generate_credentials.sh comment in leshan-integration-tests
d334b30: Add pubk/prik option to bsserver-demo to set custom server RPK.
dd19562: Add pubk/prik option to server-demo to set custom server RPK.
4188820: wrap content identity/psk value in security tab of leshan-bsserver-demo
285fa10: wrap content identity/psk value in security tab of leshan-server-demo
45c0cfe: Use PublicKeyInfo(.der in Hexa) instead of x,y coord in server-demo UI.
92dc9fc: Fix some toString() and equals/hashcode() for some LWM2M requests
a51a33e: Fix OPAQUE value toString() for LwM2M Multiple and Single Resource.
330e444: Remove unused import introduced by ba072b6.
f5071e7: Fix 10260 model (executable resource should not have a )
529efa4: Fix a log configuration issue in leshan-server-demo.
1e1c49f: Use last ddf model version in leshan-server-demo.
940161e: Use last ddf model version in leshan-client-demo.
1b9bea8: Use last version of Core Model for LWM2M 1.0
8938fa4: #833 : Support that Executable resource model should not have a type.
76cac08: Fix race condition in RedisLock, add log to detect unintended expiration
5e9753a: Fix Typo on -cp option description of LeshanClientDemo.
ba072b6: Fix NPE in bsserver-demo with x509 auth mode
1af49e0: Add Leshan logo in svg format.
9048136: Activate revapi mvn plugin to monitor/check API break.
42ccc9f: Fix leshan-server-demo redis option description.

leshan-1.0.0

16 Apr 09:47
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

This release provides an implementation of LWM2M specification 1.0.x.
For more details look at the release review.

Noteworthy (since v1.0.0-RC2)

  • Integration of Californium 2.2.2.
  • Fix multiple opaque resource display in leshan-server-demo
  • Add -m (models folder) command line option to leshan-client-demo

Change logs

fd17a34: Integration of Californium 2.2.2
893aa57: Fix multiple opaque resource display in leshan-server-demo
1783d39: Add -m (models folder) command line option to leshan-client-demo

leshan-1.0.0-RC2

10 Apr 08:48
Compare
Choose a tag to compare

Build artifacts are available on maven central.

Noteworthy

  • Merge Server and ServerIdentity with some security enhancement at client side. (#826)
  • Fix race condition in RedisRegistrationStore
  • Fix Bootstrap Delete "/" at client side.
  • Integration of Californium 2.2.1.
  • Better log for leshan-client-demo.
  • Cleaning javadoc.
  • License upgrade (EPL 1.0 to EPL 2.0).

ℹ️ The release 1.0.0 is plan for mid april.

Notable API/behavior break

No breaks was planed for this RC2 release, but cleaning the javadoc we discover some API inconsistency and this was now or never to fix this for the 1.0.0. The client is really impacted, at server side this is just some package renaming.

  1. [client] Merge Server and ServerIdentity (see #826 for more details)
  2. [both] Fix inconsistent package name in leshan-core (#828)
  3. [client] Delete all instance on bootstrap delete "/" (5bb8296)

Change logs

1603653: Reenabling javadoc generation for demo project (as sonatype requires it)
dea2377: Fix possible race condition in RedisRegistrationStore
721f787: Integration of Californium 2.2.1
b67ac06: Fix maven-javadoc-plugin config after refactoring
b3a28d5: Move org.eclipse.leshan in org.eclipse.leshan.core for src/test/java too
29057de: Rename org.eclipse.leshan.util package in org.eclipse.leshan.core.util
596e983: Rename org.eclipse.leshan.tlv package in org.eclipse.leshan.core.tlv
1670bca: Rename org.eclipse.leshan.json package in org.eclipse.leshan.core.json
8d37fce: Move classes from org.eclipse.leshan to org.eclipse.leshan.core
2af4659: Add more checks about ServerIdentity in BaseObjectEnabler
50496cc: Remove unused code.
d1fde65: Trigger update on the specific server only for resource /1/0/8
efecf4b: Merge ServerIdentity and Server class
1c2844a: Support registering server.
c0c13b5: Use RegistrationEngine to extract Identity instead of BootstrapHandler
5efddd4: Add Role to Server to prepare fusion of Server and ServerIdentity class
35cfd41: Remove unused parameter "secure" to send method of LwM2mRequestSender
6f26c67: Add getServer(Identity) to RegistrationEngine.
93b21e7: Use Server object to triggerUpdate API
a42be1f: Use server identity to ensure we send request to the right server.
af98486: Change API to allow multi server at client side.
e58c01e: Use Server object as destination for RequestSender at client side.
2fdeaeb: Write more javadoc for Leshan Client.
49f6aa1: Fix all javadoc issue reported... (-_-!)
f1e40c6: Configure javadoc correctly. (-Xdoclint:"all,-missing")
6f914fb: Eclipse Public Licensing update. (epl-1.0 to epl-2.0)
8bd869a: Modify BaseObjectEnabler : return NOT_FOUND if resource is not in model
3f21169: Add Logs about DTLS Handshake for client-demo
0b1a113: Add logs for read/write/execute for leshan-client-demo
84baee0: Change lifetime value in bootstrap config for bsserver-demo.(20s =>5min)
5bb8296: Delete all instance on bootstrap delete "/" except device and bs server

leshan-1.0.0-RC1

20 Mar 17:11
Compare
Choose a tag to compare

Build artifacts are available on maven central.

Noteworthy

  • Integration of Californium 2.2.0-RC1.
  • Cleaning LWM2M client API.
  • Make LWM2M client more customizable.
  • Add new API to declare a key compromised and remove DTLS connection immediately at server side. (#818)
  • Send update when lifetime or binding mode changes or when objects are added/deleted (#433)
  • Add way to add or remove object dynamically at client side
  • Add a communication period to Leshan client which can override lifetime
  • lot of demo enhancements.

ℹ️ The release 1.0.0 is plan for mid april.

We also develop a command line tool devices simulator which is not yet part of Leshan.

Notable API/behavior break

  1. Many breaks at client side (see changes logs below)
  2. New method to implement for EditableSecurityStore at server side.

Change logs

03b02e3: Deactivate Cf MESSAGE_OFFLOADING by default.
049744e: Integration of Californium 2.2.0-RC1
d1cca91: #820:use contentformat plain text for execute request with parameters
25413f2: #819:Fix NPE which prevent to connect to server-demo with x509
10bf2c5: Clean some typo + avoid some InetSocketAddress collision in tests.
cf06668: Add some test about DTLS connection cleaning
57bbbeb: #162:Remove DTLSConnection when corresponding SecurityInfo is removed
36938b0: Use UnconnectedPeerException to consider Q device as sleeping
55f8301: Add UnconnectedPeerException to send API.
dd51dac: Add some tests about Leshan timeout
623eecf: Consider DTLS Handshake timeout as leshan timeout.
faa3ab0: Enhance "force reconnection" log in californiumEndpointsManager
d6199ab: Add force fullhandshake/force reconnect on update options to client demo
31f9cda: Add "start" event on LwM2mClientObserver
a74bd6a: Change some logs to INFO level in DefaultRegistrationEngine.
5e9673c: Add new option to force rehandshake on client update registration
b42bdc3: Enhance failure handling of DefaultRegistrationEngine
b611660: Adjust update period based on lifetime and COAP_EXCHANGE_LIFETIME.
2d63090: Add a communication period to Leshan client which can override lifetime
a768c46: #814: Add oc option to activate Deprecated cipher like CBC to all demos
194683c: Add ocf option to activate support to old/deprecated content format.#720
4ceca9b: Add additional attributes (-aa) option to leshan-client-demo
97b7666: Integration of Californium 2.1.0
1e1a945: Use the new HandshakeMode config from Californium
8d4c8fe: Use the new ObservationStoreException from Californium.
117a98d: Integration of Californium 2.1.0-RC2
1502b4e: Upgrade to last maven plugin version
c80ed31: Upgrade jedis from 2.8.0 to 3.2.0
bc8e152: Upgrade jmdns from 3.5.2 to 3.5.5.
de4e30b: Upgrade from angular from 1.2.17 to 1.2.32.
c405165: Upgrade from riot.js 3.11.1 to 3.13.2
467b781: Upgrade from jquery 2.1.1 to 2.2.4
1d23df3: Upgrade to bootstrap 3.4.1
881a119: Use Jetty EventSourceServlet from jetty-servlets.
634060f: Remove usage of deprecated methods in JUnit 4.13
a201a0e: Upgrade leshan dependencies
9d9a833: #15 : make request timeout configurable on server-demo
b175e87: Ensure that psk is a valid utf8 string.
e2872d2: #322 : avoid duplicate PSK identity in bsserver-demo
f9e0627: Display client error message in tooltip
6ffb0c7: Remove unwanted console.log in modal-resource-controllers.js
98497e2: #799 : serialize opaque in hexa and better display of opaque in demo
dccae6b: #148: make more clear when a model is not known by server-demo
47fd022: only display demo write button for instance with writable resources
62f4ad1: make mandatory field more visible
21c0aa0: #604: allow client to choose instance Id on create (server-demo)
0bc9998: #652 : Add partial write support to server-demo
d9485d4: #453 : Add udpate command to client-demo to trigger registration update
1ff829b: Change default lifetime from 30s to 300s and make it configuration.
b89c340: Try to do a "smart" update on reg update instead of rebuild the tree.
0348b97: Improve location (wasd) commands.
8fbb0bd: Add more models to client-demo (as now we can create object dynamically)
d810863: #598: update client server-demo view if new object is added/removed
4629e58: #598: add new command to client-demo to create/delete object dynamically
6aea664: Rewrite some code to be compliant with android 4.4.2.
9a49237: Activate android sniffer to check android compatibility.
a55f2ba: Fix LOGGER creation in RequestSender
eb12094: Add shared executor support to client request sender.
d87f326: #703: fix race condition with client.triggerRegistrationUpdate()
39b6335: Move all registration stuff in theirs own "engine" package
221b755: Change DefaultRegistrationEngine constructor (use LwM2mObjectTree)
9e5bece: Add a registrationEngineFactory (aims to implements #199)
1a4a7b7: Introduce an Interface for RegistrationEngine
99b2b4b: Make more field protected to make extensibility easier.
c3b6e0a: Make easier to create custom LeshanClient.
6a84fea: Make every part of LeshanClient replaceable.
8799faf: Add some javadoc + coapAPI object.
fca8929: Do not use secondary executors for LWM2M client.
5496ad9: Use only 1 DTLS receiver thread by default for LWM2M client.
9f3cb0a: #491 : provide a way to share an executor between several clients
8287d7f: Cancel a request must raise a CancelRequestException on sync call
68afb19: Clean Delete Tests
5b6d363: Ensure that all mandatory resources was present for Create/WriteReplace
735ea1e: Remove NotifySender as ObjectListener can do the job now.
b687e5c: Introduce transactional listener to regroup notifications.
6ef4932: Implement Reboot executable resource (3/0/4)
4300a98: Implement Registration Update Trigger executable resource (1/x/8)
3ebc5c7: Add a way to access to LwM2mClient from ObjectEnabler
0066d07: #433: Trigger reg update when lifetime or binding mode is changed.
c0d1bed: #433: Send registration update when objects are added/deleted
da2a39e: Add way to add or remove object dynamically at client side
dd02d25: Clean tests : send a well-formed ping to avoid unwanted log errors
6ffff71: Fix log config issue (because of logback-test config from cf)
7e72078: Add some m2e configuration to make it works out of the box with leshan
ddc1ffb: Replace eclipse:eclipse by resources:copy-resources@configure-eclipse