leshan-1.0.0-M5
Build artifacts are available on maven central.
Noteworthy
A better timeout handling.
A better observation support as client side.
A more flexible way to handle Response Code.
Replace Gson dependency by minimal-json.
We now use the Californium 2.0.0-M6 which :
- allow us to fix an old security issue (#187),
- should fixed most of memory leaks,
- uses
sl4jas log facade instead ofjava.loggin.util. - does not dependent on
nettyanymore.
Observation and Registration in RegistrationStore. This will impact the experimental RedisRegistrationStore. If you are using it you should look at #454 (which is not integrated in this version).
Many thanks to @achim for its huge work on Californium and @danielhqv, @AlexITC, @rkimsb2 for their Leshan contributions !
Change logs
587dffd: Fix for #459 : support empty ObjectVersion attributes
ee34d7f: #458 Fix NPE in RegistrationSerDes and RegistrationUpdateSerDes
ccaccfd: Add "version" to Objects in LWM2M Model
b699367: Configure simplelogger correctly for leshan-client-demo
63e3352: Error Log only for tests
d103207: Use logback instead of log4j2
6d5c66e: Californium does not use JUL anymore, so remove configuration file.
5faf18d: Fix race condition on AsyncRequestObserver
dd6a4bd: Remove always false condition : issue #452
9f7895e: Rename ExchangeUtil in EndpointContextUtil
145df81: Add tests to ensure we can not send request if identity change
5dc8842: Introduce principal based request-response matcher.
89dcd40: Remove used of deprecated methods
6e84a99: Use Identity as destination.
83ed30e: Add processing of onSendError callback.
1a8cd91: Introduce californium endpoint context.
692569e: Hide CTX_ENDPOINT to end-users this is internal only.
a025dff: Create ObserveUtil to factorize code.
9a95d5c: Make observation immutable and implement equals/hashcode
3dfa899: Add checks to verify observation is add to the store in tests
dd98fe4: Add tests with timedout request
b592795: Timeout is now mandatory or have a default value for sync and async req
d547a7c: Add timeout to AsyncRequestObserver
7b3af16: Fix #449: use minimal-json 0.9.5
5459296: Remove parallel tests waiting 0.9.5 version of minimal-json.
ee91de0: clean some code (missing final ..)
52e905b: Clean observerSpec Test
cf706e6: Issue #441: Use array content instead of array object in LeshanServerBuilder#build
ebbf6f7: Add to README that demos have a "--help" option
8c92892: Remove RE,WE and RWE operation from model according to lwm2m spec
b87781f: Add LICENSE file for github
62addf1: Link CONTRIBUTING.md to the "How to contribute" wiki page.
07a4148: Change README: add link to leshan wiki (documentation).
b7e0d80: Update README (add a link to supported features)
3b8e7a9: remove isAlive test on getRegistrationByEndpoint in redisStore
02d5190: Add clemency for registration expiration to redisStore
6cad580: Deserialize registration in protected block (after lock)
e581476: Do not remove registration by endpoint, if no registration by Id.
3610834: Do not hide CHANGED response on observe
0b9cc17: Fix server-demo ui bug on delete instance
058b97f: Use isValid in server-demo to show if response respect the lwm2m spec
9f38779: Factorize code
c5ced8b: Add ResponseCode.isValid() to know if code is allowed by the lwm2m spec
b959764: Add missing response code defined in the lwm2m specification
3cab54d: Allow to receive error code not defined in the lwm2m spec
2f597fb: Add some utility function
ea6dadb: Add Unknown LWM2M responseCode
6a620f6: Add toLwM2mResponseCode(CoapResponseCode) and use it
a018896: Rename fromCoapCode>toLwM2mResponseCode fromLwM2mCode>toCoapResponseCode
80543cb: Rewrite Coap/lwm2m response code translation
7dc1023: Change ResponseCode from enum to class.
82e4d37: Replace Gson by minimal-json for JSON content format.
6338ed4: Replace Gson by minimal-json for model representation.
ba3a103: #416 : raise CodecException if 2 Tlv resource instance with the same id
69881c0: Issue #423: Fix logging details for onNotification method
e54f0a3: Issue #418: Allow subtypes of Certificate and X509Certificate on LeshanServerBuilder
a2493fa: Issue #421: Support additionalAttributes on LeshanClientBuilder
8a6ac2b: Add observe support for instance and object at client side.
ccf43d6: Observe support in object and instance enablers
cf933b6: Enabled ability to force registration update
673f52d: Spelling fixes in README.md
08594ab: Add values ID deserialization of multi-instance resource in server-demo
cd08129: #392: fix builder and add some unit tests
cf92f70: Add warning in "remove()" if registration does not exist anymore
8cb071b: Limit Jedis resource consumption
c15336a: #389: fix RedisRegistrationStore.getAllRegistrations()
00433fc: #387: add readlock on InMemoryRegistrationStore.getRegistrationByAdress
1616615: Set basename.
5341979: #373: use real bsserver port in bsserver-demo
9c714dc: Warn if client has several security instance with the psk identity.