leshan-1.0.0-RC1
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
- Many breaks at client side (see changes logs below)
- New method to implement for
EditableSecurityStoreat 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