Skip to content

@sbernard31 sbernard31 released this Jul 16, 2020 · 57 commits to master since this release

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

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.

Assets 2

@sbernard31 sbernard31 released this Jul 9, 2020 · 92 commits to master since this release

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)

Assets 2

@sbernard31 sbernard31 released this May 7, 2020 · 92 commits to master since this release

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.

Assets 2

@sbernard31 sbernard31 released this Apr 16, 2020 · 119 commits to master since this release

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

Assets 2

@sbernard31 sbernard31 released this Apr 10, 2020 · 125 commits to master since this release

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

Assets 2

@sbernard31 sbernard31 released this Mar 20, 2020 · 158 commits to master since this release

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

Assets 2

@sbernard31 sbernard31 released this Jan 13, 2020 · 246 commits to master since this release

Build artifacts are available on maven central.

Noteworthy

  • Integration of Californium 2.0.0 ! Thx @boaks for all your works 🙏 !
  • Cleaning LWM2M Server API.
  • Make LWM2M Server more customizable.
  • Previous LWM2M Bootstrap server version introduces a way to avoid 2 bootstrap session at the same time given priority to the first one, we finally change it to give priority to the last one.
  • Fix some bugs and LWM2M uncompliant behaviors.

ℹ️ Concerning LWM2M server and LWM2M bootstrap server, there is no more changes planned for the final 1.0.0 release. Next milestone will focus on the LWM2M client part and then we will be ready for the 1.0.0 version.

Notable API/behavior break

  1. leshan-cluster was removed (#679)
  2. JSON format is no more supported for object model definition (#707)
  3. CreateRequest change a lot to be compliant with the LWM2M specification (#768)
  4. It could have behavior break with JSON ContentFormat as we fix some issue on it (#651)
  5. It could have behavior break with link value (#775 and #774)
  6. "impl" package was removed
  7. LwM2mBootstrapServer, LwM2mClient, LwM2mServer interface was removed
  8. getRegistrationEndpointAddress() method was removed from Registration

Change logs

a211c1f: #784 : support unset for write attributes request
f154718: Fix race condition issue about PresenceService and simplify the code.
8120415: #732: fix rt and ver attributes of Link format.
ed9e8ad: Server SHOULD not initiate DTLS connection for device using Queue mode
fb7d474: Remove uneeded ignored tests about create request.
f8fc761: Move test from RegistrationTest to LeshanBuilderTest
eaa38c5: reword/remove some TODO.
f110f77: Remove workaround about HEALTH_STATUS_INTERVAL as it fixed in Cf.
ec99ef3: Change JsonException from Runtime to Checked exception
d96a665: Introduce generic JsonException & make LwM2mJsonException a checked one
3efc58b: Move JsonSerDes from "model.json" to "util.json" package
7adef51: Reuse SecurityUtil in configurationChecker and ServersInfoExtrator
2c371a5: Make CreateRequest compliant with LWM2M specification
83edf4f: Remove TODO about bad request on update and delete registration.
2d455bb: Remove support of deprecated update registration using PUT.
f5a3941: Use LwM2mNodeEx for malformed node instead of IllegalArgumentEx.
65d8be4: Validate that LwM2mNode haven't children with same Id
aba5e63: Ensure that LwM2M path is created with valid ID
998873d: Ensure that LwM2M node is created with valid ID
6224546: Can not create object instance without id with JSON content format
d468294: #651 : fix JSON content format implementation
feefe02: Add support to upload file for opaque field.
d44a562: #781: fix opaque decoder issue with null/empty value.
346bf6c: Add empty opaque test
bb159bf: Add a map based way to initialize SimpleInstanceEnabler.
226e924: Integration of Californium 2.0.0
6817e74: #775: remove whitespaces between "link-values" for Link serialization
f512b57: Shutdown presence service schedulor on destroy.
bf1ae7f: Shutdown async observer thread on destroy.
1ccd556: Fix start/stop RegistrationStore issue.
81436c4: Add some tests about start/stop/destroy servers
b437d0c: Remove "impl" package in leshan-server-cf (in tests)
2b5b233: Add more javadocs to leshan-server-*.
b7e77ac: #743: Add documentation + fast fail when null is used for callback
0487082: Ensure that user receive either 1 response or 1 error on send
91b4340: Add TRACE logs in DefaultBootstrapSessionManager
5cc2747: Use DownlinkRequest instead of LwM2mRequest in BootstrapSessionManager
7fde752: Rename cancelPendingRequests() in cancelOngoingRequests()
3e4df34: For concurrent bs session, priority to the last one (cancel the oldest)
7baf5b6: Use session in bootstrap request sender.
1205159: Add ID and cancel facility to bootstrap session.
d990528: Create a new RequestSender Utility class, use it for server and bsserver
f3d3079: Remove unused getRegistrationEndpointAddress() method in Registration
4d4cd10: Use secure/unsecured endpoint instead of a list of endpoint in server.
6d87530: Remove Registration/Obs...Service dependencies for LwM2mResponseBuilder
e36b0cd: Fix CancelObservationResponse building.
480d886: Use loggingTag to better understand log mixing client and server.
a8b8354: Integration of Californium 2.0.0-RC1
c358599: Cancel ongoing requests if device IP changed
372b76e: Fix missing throw exception in LwM2mModelRepository
89fe475: #707: Remove JSON format for object model definition
faa777e: #679: Remove leshan-server-cluster
449768c: Refactoring clean packages in leshan-client-core
c79d91c: Remove "impl" package in leshan-client-cf
d7d54e7: Remove "impl" package in leshan-server-cf
3fc86ae: Remove "impl" package in leshan-server-core
d00ccd6: Remove pointless LwM2mBootstrapServer interface
8823409: Remove pointless LwM2mClient interface
179d509: Remove pointless LwM2mServer interface.
0d5ef94: Make easier to create custom LeshanServer.
85409e4: Make every part of LeshanServer replaceable.
742669f: #751: Add some documentation about listener execution.
07b9deb: Integration of Californium 2.0.0-M18
2c72d85: #747: fix dead lock in leshan-client-demo
6ac723c: Add Security policy (SECURITY.md)
f4df14b: Integration of Californium 2.0.0-M17
5944b66: Added WriteAttributes to REST API of leshan demo server

Assets 2

@sbernard31 sbernard31 released this Aug 23, 2019 · 315 commits to master since this release

Build artifacts are available on maven central.

Noteworthy

Cleaning Bootstrap Server API.
Make Bootstrap Server more customizable.
Add support of object version at Server side.
Integration of Californium 2.0.0-M16.

Notable API/behavior break

  1. leshan-all project was removed (#683)
  2. Redis store implementation are moved in a leshan-redis-server project (#679)
  3. Old TLV/JSON code is not supported by default anymore (#720)
  4. No more magic conversion by default at encoding time (#710)
  5. With new object versioning, only model reported in registration are used, you can keep the old behavior like this.
  6. Lot of bootstrap server API break, mainly renaming (#713)

Known Issue :

#757: Memory leak in DTLS Connection Store.

Change logs

43c3167: Clean CoAP root resources
91f4a83: Use VersionedModelProvider in leshan-server-demo
c8553cf: Add VersionedModelProvider, it adds object versioning support for server
fe8512e: Add LwM2mModelRepository, it can contain several version of same object
a8580a2: Make LwM2mModel an interface. Concrete class is now StaticModel
cad7db0: #679: Extract Redis store from server-cluster to new server-redis
0624fe7: #683: Remove leshan-all maven project.
3516342: Add BootstrapSession param to BootstrapConfigStore.get()
831ad40: Use serverIdentity instead of Identity for log at client side
ca15e3d: Enhance the way we handle InvalidRequest from foreign peer.
680ee7d: Do not do type conversion at encoding time by default anymore.
5e344d3: Add a way to use custom encoder/decoder at bootstrap server side
13cc434: Remove support of old TLV/JSON code by default.
ae3f4c2: Add a way to use custom encoder/decoder at client side
ea62317: use MAX_TRANSMIT_WAIT from NetworkConfig as client awake time by default
ecf87fa: Add a new DefaultEndpointFactory
3f0e136: Add bootstrapSession parameter to Success and failure callback
d3ab4e0: Start to send bootstrap requests after we send bootstrap response.
dc1a4c8: Remove unnecessary executor in DefaultBootstrapHandler
405556b: Stop Bootstrap session on unexpected exception.
0e924e0: clean logs in DefaultBootstrapHandler - fix log config of bsserver-demo
c531e0b: Add some tests about concurrent bootstrap session.
a31b76c: Add lifetime to session.
717ffc9: Avoid to handle 2 bootstrap session at the same time.
22fbc99: Add a way to customize behavior on failure during a bootstrap session
f8cb8d2: Add request/response callbacks on BootstrapSessionManager.
5164c6d: Integration of Californium 2.0.0-M16
4936443: #712: Reset timer even if we already "awake" in queue mode.
d0de9db: Fix unwanted warning when creating server without secure CoAP endpoint.
91d30d1: BS Builder now create an InMemoryBoostrapConfigStore by default.
7eef1c9: Rename BootstrapSecurityStoreImpl in BootstrapConfigSecurityStore.
45d79c6: Rename methods from BoostrapConfigStore to make it more consistent.
60e9c90: Make JSONFileBootstapStore thread safe
fd82ac1: Rename BootstrapStoreImpl in JSONFileBootstrapStore.
644d931: Create EditableBoostrapConfigStore and InMemoryBootstrapConfigStore.
37a8ef5: Rename BootstrapStore in BootstrapConfigStore
3899a90: Rename ConfigurationException in InvalidConfigurationException
27c449b: Move ConfigurationException in its own class.
39813b8: Make ConfigurationChecker dynamic.
10a1c57: Move ConfigurationChecker from server-demo to server-core
a6373e9: Add identity to log about bootstrap failure
964e8fa: Fix inconsistent log level in DefaultBootstrapHandler
3d2bb49: Fix typo in ServersInfo : deviceMangements <=> deviceManagements
f374b11: Fix NPE at client side: server.getUri() failed for unknown host
23707da: Bootstrap server does not need to initiate DTLS Handshake
df53c51: Add getters for endpoints to CoAP LeshanServer API.
850cc93: Use new sandbox url in Leshan client.
11b7ec2: #701: fix bootstrap retry on failure.
98d0b5e: #699 : Fix NPE when bootstrap write instance at client side
abe036f: Integration of Californium 2.0.0-M15
f3395c5: Clean BootstrapServer JavaDoc.
9732665: Make easier to create custom LeshanBootstrapServer.
282234b: Make every part of LeshanBootstrapServer replaceable.
435232b: Add coap() method to access to CoapAPI to bootstrapServer
b57fb4d: Remove warning as the limitation does not exist anymore. (see #87)

Assets 2

@sbernard31 sbernard31 released this Apr 18, 2019 · 372 commits to master since this release

Build artifacts are available on maven central.

Noteworthy

Add support of active observe cancellation.
Add support of OPAQUE type for text format. (#675)
Integration of Californium 2.0.0-M14.
Delete request sent by bootstrap server is now customizable in BootstrapConfig.
Bootstrap behavior is now easier to customized as you can implement your own BootstrapHandler.
Enhance client API (add callback on delete, atomic read/write/observe at instance level, custom instance id ...).
Clean client ObjectInitializer API.

Thx to @davideicardi for the OPAQUE support contribution 🙏 !

Notable behavior break

  1. Before this release a bootstrap server always started a bootstrap with a delete "/". It depends of BootstrapConfig content. (see #670)
  2. ObjectInitializer does not create instance automagically anymore. (#642)

Known Issue :

#757: Memory leak in DTLS Connection Store.
#685: Trying to destroy() a "not running" instance (client, server or bs server) will not stop internal coap server.
#712: Issue with presence service (Queue mode) at server side.

Change logs

d7fb3f1: Fix Client.getRegistrationId() which always returned null ...
f3be830: "client destroy" should destroy client even if client is not running.
8042fb4: Link.java cleaning : add some javadocs + rewrite serialize method.
965d0e1: Workaround ByteBuffer binary backward compatibility break from Java 9
bff1ab4: Added OPAQUE text encoding/decoding, using base64
b76c670: leshan-bsserver-demo now delete only object /0 and /1
323a1bf: Add some integration tests about "bootstrap delete"
ea2e70b: #670: Add a way to choose which instances to delete to BootstrapConfig
be20408: Make easier to custom start & stop bootstrap in DefaultBootstrapHandler
4ffc79c: Add a way to customize request timeout of DefaultBootstrapHandler
2fdcdfb: Make DefaultBootstrapHandler easier to extend
1d49b5d: Make BootstrapHandler as an interface and add DefaultBootstrapHandler
1d8fdd7: Add a way to use a custom bootstrap handler
e0d0ead: #647: make Registration.class serializable again.
e3aea30: #647: ensure our serializable classes keep serializable.
be1c51f: Update README: use new sandbox URL : leshan.eclipseprojects.io
eb75fc8: Workaround build issue eclipse/californium#910
d9d2e4c: #404: Add ACL to bootstrap server
366f044: Add support of active cancel observation request at server side.
d00ad25: Integration of Californium 2.0.0-M14
2f0f94e: Integration of Californium 2.0.0-M13
7350b42: Fix regression in client demo introduce with 05cd0b3
05cd0b3: Do not create instance for single object implicitly.
120d7eb: Create a real "simple" and "dummy" instance enabler.
d4c09ad: Do not create dummy object implicitly
cf4114b: add a createAll methods to ObjectInitializer.
1f8b817: #637: add callback on instance deletion at client side
2fb88ab: #597:add a way to do atomic read/write/observe at instance enabler level
953ccd5: add ServerIdentity to read/write/execute/observe/create for consistency
1b1d9f7: The spec does not say that you can not create instance for single object
ea81b37: #597: add a way to choose the instance id at client side.
b365633: Fix client side : create right server identity type in EndpointsManager
f315c66: Fix #627 : set CoAP request path for Bootstrap Delete Request

Assets 2

@sbernard31 sbernard31 released this Dec 5, 2018 · 408 commits to master since this release

Build artifacts are available on maven central.

Noteworthy

Add support of X509 for client, bootstrap server and all demos,
And some others bug fixes and little enhancement.

Change logs

4ad71b1: #625 : fix InMemoryReg..Store addr index issue on re-register and update
ec0fc8b: #624 : do not launch cleaningTask from registrationStore several time.
9b497b2: Fix #623 issue about observation reset by starting only one cleaningTask
3a565f8: #574: Add API to choose default content type as client side
9f54a26: #599: Deleting Bootstrap Server Account is not allowed.
63f159a: #599 : Deleting Device object (id 3) is not allowed.
3073e0e: Add complete support to bootstrap delete request at client side.
fe58a35: BootstrapDelete Request can target "none root" path.
8ba1354: upgrade to surefire 3.0.0-M1 because of openjdkbug.
3010832: #589: Use separate response for bootstrap finished request
05c3b0f: #589: fix race condition about bootstrap finished at client side.
9cab0aa: Move SendableResponse from leshan-server-core to leshan-core
1c680a1: Add icon to leshan-server-demo to see when a device is absent
3f6b794: Fix PresenceService issue where onSleeping could be interrupted
8582229: #431: add UI to bootstrap server demo for X509 support.
6b2fb2e: #431: add helper method to set X509 credential for bootstrap server
2f40576: Add X509 support to Leshan client demo
4fff2f7: Add a default certificate to server-demo and display it in security tab
f2748e3: Update Redis tests to be compatible with RPK and X509
a5a6e94: Add a script to generate keyStore
ff824d3: #436: Add X509 support to leshan client
877250c: Move from static SecurityCheck to Dynamic SecurityChecker
df0f0c0: #593: handle update/register timeout and retry with new handshake
fbc01b8: #575: fix public key downloading feature on servers demo

Assets 2
You can’t perform that action at this time.