Skip to content

Releases: eclipse-leshan/leshan

leshan-2.0.0-M8

21 Jul 14:10
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

A 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

Many thanks to @rikard-sics(#1277), @Michal-Wadowski (#1277), @adamsero (#1218), @JaroslawLegierski (#1248) their contribution 🙏 !

Change logs

0760fb9: Specify version of maven eclipse-jarsigner-plugin.
3ceb009: Fix Registration Application Data lost on registration update.
9876beb: Update bootstrap-server-demo frontend dependencies
9a332b9: Update server-demo frontend dependencies
7917c00: Update java dependencies
1e4d7b9: Upgrade maven plugin dependencies to last version
99491de: Move Enforcer plugin config to root pom.xml
dd58b2c: Integration of Californium 3.6.0
50a719b: fix #1287 : log uncaught callback exceptions
cece99a: Add new line at the end of all files.
daebf16: Formatter: add new line at the end of the file.
9915689: Fix ObjectVersionAttributeModel exception message.
7fe0ccf: Attach maven sortpom plugin to process-sources maven phase.
3cca2cd: Add github actions to check POM file are well formatted. fix
03770f8: Sort All pom.xml files with sortpom-maven-plugin
2887bff: #1285: Use sortpom-maven-plugin to check pom formatting.
6611454: Add github actions to check Java Import are sorted.
c82280c: Remove wildcard() import in all code.
c3e65fa: Do not allow wildcard(
) import with checkstyle.
93d15cc: Sort all java imports.
a71b17a: #1282: Use impsort-maven-plugin to imports are well sorted.
168c045: Add checkstyle rules to check usage of System.out System.err
893aff8: Remove unwanted "System.out.print ..."
33a1c7c: Add github actions for code format/style check.
5c8e55f: Remove all trailing spaces.
fbb28ca: Use checkstyle to check there is no trailing spaces.
876d639: Format all code with formatter-maven-plugin.
4788b51: #1281: Use formatter-maven-plugin to check file are well formatted.
848db99: Move encoding config to root pom.xml
d2ddfa5: Upgrade CodeFormatterProfile file to a more recent version format.
b865514: Use maven-source-plugin jar-no-fork instead of jar
278c160: #1203: Add OSCORE support to leshan-bsserver-demo
fdb3eb6: Adapt Server input to prepare to add OSCORE support to BS server demo
82f2a0c: #1203: Add Oscore SecurityInfo support to Server and BS Server demo
69a6a73: REST API about SecurityInfo to prepare to add OSCORE support.
650c01d: #1203: Add Oscore Support to leshan-client-demo
1270ea0: #725: Add support of OSCORE.
d758d82: #1276: Github Actions, create separate steps for revapi & animal-sniffer
e632042: Typo: obsersation => observation
c560074: #1271: enhance Maven Build Configuration
60a95c2: #1228: Add (Manual)DataSender as client API of Timestamped Send Request
fe18d83: Add pull-requests write permission to build job. (github action)
577b1c8: #1265: Add CI to ensure PR does not contain merge commit.
b741a20: #1265: Add basic CI (build + tests) for PR on master.
30bad68: #1248: Add "list" Interactive Command to leshan-client-demo
4032353: Remove deprecate usage of dtlsConfig.getDtlsRole()
13dea84: Fix UriReference issue in MixedLwM2mLink when rootpath is not null.
9fadb35: servers-demo: Escape HTML in notifications.
22b7719: Remove huge timeout in WriteSingleValueTest ...
7703ef4: Fix String.format issue in LwM2mAttributeModel.getApplicabilityError()
7bf2d77: #1253: Do not allow Overlapped paths for ObserveCompositeRequest
32aceb2: Add API to print styled output in interactive command of client demo
d5e5a7d: Add CoreLink datatype support.
491a51c: Use LwM2m Test Object (3442) in our test (instead of home made one)
faec24d: Fix NPE when trying to bootstrap delete security instance at client side
dd09a4f: #1224: Use mirror to download yarn
31cd90b: bsserverdemo: clean some bsconfigutil code
430ade3: bsserverdemo : fix UI issue, certificate usage field is not used.
ff4f0ac: bsserverdemo : Fix regression from accc643 in bootstrap wizard
38d23b8: Integration of Californium 3.5.0

leshan-1.4.1

26 Jul 07:54
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Noteworthy

Change logs

39d5e92: Update plugin and lib dependencies
628f71d: Integration of Californium 2.7.3
9cf05ea: Revapi should not alway check API on v1.0.0 but on the last released.
e3b0b92: Integration of Californium 2.7.2

leshan-2.0.0-M7

28 Apr 13:41
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

A 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

  • Massive Refactoring about CoRE link Format and LWM2M Attributes (#1197)
  • Add Timestamped nodes support to Send Operation at server side. (#1218)
  • Keep resources order from DFF file in ObjectModel. (#1245)
  • Integration of Californium 3.4.0.
  • some demo servers fixes and optimizations.

Many thanks to @Michal-Wadowski (#1218) and @adamsero (#1246, #1247) their contribution 🙏 !

Change logs

a759c24: #1228: Add timestampedNodes support to SenML encoder.
389e60b: #1245: Keep resources order from DFF file in ObjectModel.
31d2dc9: Fix some missing icons in bsserver demo (regression from accc643)
9943413: Fix Bootstrap UI issue : bad serverInput sync in bootstrap wizard
b97b194: Update last Browsers Data in yarn.lock (servers demo)
2c9fa23: Add some security information about CVE-2022-21449
accc643: Avoid to load whole material design font.
0c52113: Add "yarn report" command to analyze bundle (generate report.html)
7123a40: Upgrade Bootstrap Server demo Yarn DevDependencies
181b0e9: Upgrade Server demo Yarn DevDependencies
dafb1ad: Update yarn.lock dependencies for server and bsserver demo
54dfb6c: Fix some String.format message in DefaultLwM2mLinkParser.
afea4b0: Add Exception in LOG of BaseBootstrapConsistencyChecker.checkconfig()
79b10c2: Integration of Californium 3.4.0
55ee6b2: Security Fix ? upgrade to jackson-databind 2.13.2.1
2adb128: Integration of Californium 3.3.1
b047a28: Security fix : upgrade com.upokecenter.cbor to v4.5.2
633e3e2: #1218: Add Timestamped nodes support to Send Operation at server side.
21bf6b9: Add scheme URL check to leshan-client-demo
6cb81d8: server-demo: add some more object icons.
76bb72f: server-demo: fix serialization regression about Link attribute.
3ec790b: server-demo: fix reactive issue when override existing security info.
ce46f14: bsserver-demo: fix reactive issue when override existing config.
d4839f5: bsserver-demo: Fix Bootstrap Config dialog issue.
30f79d3: #1197: Massive Refactoring about CoRE link Format and LWM2M Attributes

leshan-1.4.0

23 Mar 14:10
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Noteworthy

  • Add an API to parse Execute Request Arguments.
  • Integration of Californium 2.7.1.
  • Upgrade library dependencies (slf4j, logback, ...)
  • Update ddf model for core library and demo.
  • Add support of LWM2M Object Test (3441) to demo

Change logs

63cf677: Upgrade dependencies and maven plugin dependencies.
aa4548b: Integration of Californium 2.7.1
f9c39a6: Integration of Californium 2.7.0
ed23859: Add ObjectLoader.loadAllDefault()
4b36f26: Add Basic implementation of LwM2m Object Test(3441)
e271844: Update/Add last registered ddf model for demos.
9c266f7: Update to last ddf model for LWM2M core object.
010d257: Add DdfDownloaded.
12a101a: Add Arguments API to parse Execute Request Arguments.

leshan-2.0.0-M6

20 Jan 09:33
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

A 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

  • New API/Parser/Serializer for Execute request Arguments (#1097)
  • Better SendData Error handling. (#1187)
  • Fix some issue about Number with SenML encoding/decoding. (#1170,#1176)
  • Add support of Composite-Operation to server-demo.
  • Improve New Configuration wizard of bsserver-demo.
  • Use now Java8 as minimal version (#924)
  • Remove old UI for both server demos.
  • Remove GSON and minimal-json dependencies (#1045)
  • Remove jackson-dataformat-cbor dependency.
  • Integration of Californium 3.2.0.
  • Update to last LWM2M models.
  • Update library dependencies.

Many thanks to @Michal-Wadowski (#1097, #1045) and @JaroslawLegierski (#1187) their contribution 🙏 !

Change logs

42c7fcf: Use new DtlsConfig.addSessionListener() of cf 3.2.0.
0d332bb: Integration of Californium 3.2.0
84b1eef: #1187: Better SendData Error handling.
cb84a3d: Fix Observe regression in server-demo introduced by c30fe46
afce36c: Upgrade to jedis 4.0.1 (from 3.5.2)
f775383: Remove unused dependencies.
159bda4: Upgrade maven dependencies.
231a707: Upgrade maven-plugin-dependencies.
a62e8bf: Fix Type guessing of CBOR Decoder.
0374563: Rename FLOAT Type/Value in NUMBER Type/Value in SenMLRecord
1193cf3: Fix float handling for senml-cbor.
39f5757: Fix exception in error message in NumberUtil.numberToDouble()
e06aaa5: server-demo: Add support of Write-Composite.
d4d5523: server-demo: In CompositeObjectView use nodes as Object instead of Array
acdcbaa: Integration of Californium 3.1.0
54cec68: #1176: Make SenML-CBOR decoder more strict about number conversion.
c30fe46: server-demo: Add Observe-Composite Operation to leshan-server-demo
074bce3: Add cancelCompositeObservations to ObservationService
5572b79: Add some more LWM2M Object Icons to server-demo.
d5ca8c9: server-demo: sort objects by object ID.
9363e76: server-demo: Warn if device list Sec or OSCORE Object at registration
ac4f309: Add some more LWM2M Object Icons to server-demo.
28491cb: Fix typo in DDFFileParser : shema => schema.
b4884b5: Fix revapi configuration (filter californium).
e1014e9: Add "send Data" support to LwM2mTestObject
a3c6e67: server-demo: add support of Unsigned Long
ed16077: Add ULong support to LwM2mTestObject
03290b1: Add LWM2M v1.1 Object (3442) model to demos.
64314cb: Fix LWM2M registry models.
594b59b: Update Object models (get last version from LWM2M registry) in demos.
9612b63: Update LWM2M Core Object models (get missing last version)
6e39f04: Set Core Object Version used in Tests.
f475e90: Update SECURITY.md : add Versions Security State.
16a11c6: server-demo: Add UI for Read-Composite Operation.
05deb54: server-demo: Add Composite Object to be able to add Composite Operation
9720c44: server-demo: Resource definition view.
c8caa11: server-demo: create expansion panel view for lwm2m resources.
ddd0461: server-demo: add availableInstances in registration
8965f21: server-demo: Create input to edit list of LWM2M path
1c98fb2: Update SECURITY.md
c461785: #1097: add new API/Parser/Serializer for Execute request Arguments
cdea253: NumberUtil should raise IllegalArgumentException instead of IllegalState
ca74049: #1170: add safe conversion from decimal to long/ulong in NumberUtils.
eb33697: #1170: Add a test about conversion from double to long with SenML.
0cba977: #1082: Create dedicated LwM2mPathInvalidException.
e7a6f92: Add private methods to LwM2mNodeUtil.
d5a8a73: bsserver-demo: change default file name of JSONFileBootstrapStore.
fe0e116: bsserver-demo: add support of "Auto ID For Security Object"
0c03682: BootstrapServer: add validation about path to delete.
227f129: bsserver-demo: add delete path step to define which path to delete.
6ff40bb: bsserver-demo: show path to delete in Config column of bootstrap view.
609ffbf: bsserver-demo: display bootstrap config in only 1 column.
7cba814: bsserver-demo: Being able to create Bootstrap config without bs server.
6abb95c: bsserver-demo: Being able to create Bootstrap config without dm server.
152cd9c: servers-demo: share more vuejs code instead of duplicate it.
dd8e25f: #1112: Add Credentials column in Bootstrap View
e07dc19: bsserver-demo: move some byte utils function to byteutils.js
7df18e3: bsserver-demo: remove redundant error handling(already done in axios.js)
771b837: #1112: Add SecurityStep to wizard to define how client authenticate.
094ab55: servers-demo: share vuejs code instead of duplicate it.
06b683c: bsserver-demo:fix wizard issue about initialization of validation
8632f3b: bsserver-demo: move each wizard step in its own vue component.
bc3ddf3: bsserver-demo: Add a BootstrapSecurityStoreAdapter.
e9073fc: servers-demo: move classes from server-demo to server-core-demo
02c0359: #1163: fix bad request when create X509 security info in server-demo.
d9f1cf2: #924: Switch as Java8 as minimal version.
ffb6197: #1136: Remove keystore way to provide Ceritficate to leshan-server-demo
7bcb1af: #936: change CaConstraint cert usage to not support "trustanchor mode".
5cdba82: server-demo: fix UI bug about "Send Operation" for resourceInstances.
553afdc: #1155: Fix LwM2mResourceInstance.newInstance to support ULong
9f9e063: server-demo: change REST API, use string instead of Number for Float too
ea3c84a: server-demo: change REST API, use string instead of Number for Integer
d5bb0da: #1147: Fix for failing tests on Windows
60b4010: Integration of Californium 3.0.0
eaf1da7: #1140:RegistrationSerDes must support availableInstances of registration
3caf38f: Rewrite reg.addSupportedObject() to make it more readable.
ca52f83: #1134: fix web UI active tab issue again (+ some responsive fixes)
c7054de: server-demo: sort registered clients by registration date.
26a531b: server-demo: remove loading bar when loading registered clients.
485f2e5: Remove useless binding of dark properties (server and bsserver demo)
ec5d7cf: bs-serverdemo: make navbar more responsive.
e115f71: #1134: fix web UI active tab issue (server and bsserver demo)
59ade8a: Client Behavior changes: "Replace instance" resets Readable Resources.
c1d8a08: Fix NPE at client side about updating multi-instance resource.
ec14387: server-demo: Erase previous value in UI on replace Object Instance.
86c1926: #1124: fix NPE for Registration Links JSON serialization in server-demo
0ed5fd3: #1123: Better Handle LinkParseException.
8cd61fe: Make LinkParseException a checked exception.
3cb4007: server-demo: Add ObjLink write support.
99ea91f: server-demo: be more strict about JSON type of node value.
f98f949: server-demo: Use Timestamp for Time value of REST API.
9bd4844: Remove MagicLwM2mValueConverter to leshan-server-demo
78fee63: server-demo: add type attribute to REST API to type value of lwm2m node.
abf081c: server-demo: change attribute name for kind of lwm2m node (type => kind)
30fe937: Integration of Californium 3.0.0-RC2
ef029d7: Remove jackson-dataformat-cbor dependency.
03621a5: #1126: allow to create server without PSK ciphers.
3d2b1f9: #1045: Remove GSON dependency.
d2aed76: #1045: Remove minimal-json dependency.
6811051: Fix typo in leshan-bsserver-demo webapp/index.html
7d5f8db: Rename source folder of webapp in leshan-bsserver-demo.
2089026: Remove old UI of leshan-bsserver-demo
4eacbf4: Rename source folder of webapp in leshan-server-demo.
d20b974: Remove old UI of leshan-server-demo
905f586: Upgrade revapi-maven-plugin to 0.14.5

leshan-1.3.2

17 Dec 15:10
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Despite small change logs, people who are using x509 and/or RPK with Leshan v1.0.0 to v1.3.1 MUST upgrade to 1.3.2 version for security reason.

Noteworthy

  • Integration of Californium 2.6.6 which fixes CVE-2021-34433 ⚠️
  • Some minor bugs fixes
  • Update dependencies versions (logback, slf4j ...)

Change logs

cc62ead: Upgrade to revapi v0.14.6
5b97afb: Upgrade to last maven-plugins
6cc0e4c: Integration of Californium 2.6.6
53e0aa1: Upgrade dependencies(logback 1.2.8, slf4j 1.7.32 ...)
bc6101d: ignore Californium3 propertiers files
b130dc2: leshan-bsserver-demo must validate external models (from -m option)
a9593ef: Integration of Californium 2.6.5
1c7eb4c: Integration of Californium 2.6.4
fa2d6a9: Fix parsing of outgoing records.
bf74a62: client: fix NPE on ObjectEnabler.getLwM2mClient()
8d47ec2: Update git ignore (ignore node and node_modules)
6240a55: Integration of Californium 2.6.3
1d4ebbf: Avoid NPE when processing response message in unit tests

leshan-2.0.0-M5

21 Oct 12:58
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

People who are using x509 and/or RPK with Leshan v2.0.0-M1 to v2.0.0-M4 MUST upgrade to 2.0.0-M5 version for security reason.

Fifth 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 Composite-Observe Operation (#1034)
  • Add Observe to resource instance level (#1041)
  • Improved Link API to make it more compliance with rfc6690 (#1022)
  • Modernize CLI interface of our demos (#569, #568)
  • Add Send Operation support to client and server demos (#1110, #1086)
  • Add Multi-Instance Resource UI to server demos (#1095,#1100,#1101,#1102)
  • Add LwM2m Test Object (Id:3441) to Leshan demos (#1093)
  • Some enhancement about x509 (#1052, #1081)
  • Integration of Californium 3.0.0-RC1. which fixes ⚠️ CVE-2021-34433

Many thanks to @Michal-Wadowski (Observe-Composite / Link Parsing enhancement) and @joachifm (#1087) for their contributions. 🙏 !

Known Issue 🐛 :

#1140: leshan-server-redis lost available instances information from registration.
#1155: LwM2mResourceInstance.newInstance does not support UNSIGNED_INTEGER.

Change logs

5060e84: #1022: Improved Link API to make it more compliance with rfc6690.
b6528f3: #915: Add support of empty multi instance resource to SenML format
64c0ba6: Integration of Californium 3.0.0-RC1
7ef2ded: Add LwM2m Test Object (Id:3441) to Leshan demos.
0232b4b: Add Send Operation Support to leshan-server-demo
87baa6e: Upgrade yarn and node version
8c37b68: Upgrade dependencies to most recent version.
5c9b924: Upgrade to most recent version for Maven Plugins.
fa91fc4: Add license header to frontend code.
423f6cc: Updates WebApp demo dependencies
e101de6: Add Write operation UI for Multi-Instance resources in server-demo
bb87198: Add some more icons
922a4d7: Fix Resource control must not be hided for Executable resource
94be488: Add R/W/OBS operation for resource instance to Leshan Server Demo
c3ee8af: Add resource instance support to JSON (de)serializer of server-demo
c27c118: Refactor resource inputs to make easier to add Resource Instance Write
8910784: Clean vue component file hierarchy of server-demo webapp
5c1c938: Add better display of resource description and multi instance values.
8ef57e5: Add simple support of Read/Observe of resource multi instance
e189243: Guess server port if not provided to client-demo for default value too
a24bbe3: #1081:serverdemo set dtls server-only if cert doesn't support clientauth
869b564: Add a --queue-mode option to leshan client demo.
7f045e9: If leshan client use QueueMode set dtls connector as clientOnly
ee21bca: #1081: client set as dtls client-only if cert doesn't support serverauth
4bea97f: Add check about certificate to leshan client BootstrapConsistencyChecker
c8ef0a6: Add Send command to leshan-client-demo.
13c4784: Use 2 short internally instead of String in Version class.
36e0b64: #1080: Add version param to "create" command of leshan-client-demo
ce95967: Add getModel() to LwM2mModelRepository
c744698: Add a get for the most recent version of an Object in a LwM2m repository
00aed3a: Add LwM2mVersion class and use Version as a more generic one.
515a510: Enhance error message about type matching in LwM2mSingleResource.
4414aa9: Remove credentials display at leshan-client-demo start-up.
a63e703: Guess server url port if not provided to leshan-client-demo
d25d090: Fix #1088: make sendData actually use timeoutInMs parameter
09a7e30: Fix logback-config of leshan-client-demo.
f047032: Make short Validation and compare consistent by using short everywhere
ec5ce9d: Fix Version validation message
f1aab7a: Fix Delete Object Enabler command in demo : Object 1 can not be deleted
093612c: Fix some issues about Add "Observe resource instance" support
71858d7: Remove Version class replaced by LeshanProperties in 8a866f2
33f200b: Fix can_composite_observe_on_multiple_resources Test.
ab12d08: Reduce decoding overhead with passing path list via user context in ObserveCompositeRelationFilter
26ef844: Add integration tests about Cancel Observe Composite
49a3176: Add active Cancel Composite-Observation feature
578c284: Refactor Observation request & response content format
84293b2: Add integration tests about Observe-Composite
5767475: Add client side Observe Composite feature
2ba5811: Add server side Observe Composite feature
2a39eba: Add Single/Composite Observation, ObserveComposite Request/Response classes.
594cc5c: Add integration tests about "Observe Resource Instance" support.
bd20129: Add "Observe Resource Instance" support at Server side.
e979aeb: Add "Observe Resource Instance" support at Client side.
ed48136: Refactoring to allow to fire resource instance changes at client side.
543d8e2: Improve default implementation of BaseInstanceEnabler.write()
9d33ce9: Add missing checks about resource instance to WriteRequest constructor
8a866f2: Add version option (--version) to all demos.
3e7505b: Add verbose option (-v, -vv, -vvv) to all demos.
12a30f0: Create common StandardHelpOptions shared by all demos
720b8a8: Remove ExecutionExceptionHandler HACK by a proper way.
9496ede: server-demo : Fix additional attributes bad key/value order.
434e9bc: Some pom.xml cleaning
bc740a4: Fix NPE in ObjectLoader.loadObjectsFromDir(File)
23a9eba: Activate LOG of LwM2mModelRepository for leshan-bsserver-demo.
48b6516: #568: Add color to logback log for leshan-bsserver-demo
a92ddff: Share TruststoreConverter between all demos.
ab2ee12: Shared Option definition between bsserver and server demo
73c416e: leshan-bsserver-demo must validate external models (from -m option)
96bec8f: #569 : Replace Apache commons-cli by picocli in leshan-bsserver-demo
eeb8907: Share CIDConverter code between demos.
d4f7259: Create a "leshan-server-core-demo" project to share servers demo code.
9d4b645: #568: Add color to logback log for leshan-server-demo
b24622f: #569 : Replace Apache commons-cli by picocli in leshan-server-demo
89ad54f: Fix NPE in ExecutionExceptionHandler
b73cdc9: Move CLI utility classes in leshan-core-demo to be reused by other demos
c858e0c: Create a "leshan-core-demo" project to share demo code.
3c25b85: Integration of Californium 3.0.0-M4
55984dc: Use picocli ANSI color heuristic for logback
fa39fed: Add color to logback log for leshan-client-demo
6ea0b6a: Implement the InteractiveCLI using Jline2 and picocli
2e2c095: Extract Interactive CLI code in a dedicated class (leshan-client-demo)
bbcf7d1: switch from simple log4j to logback
bd275a8: #569 : Replace Apache commons-cli by picocli in leshan-client-demo
4cc7ce9: Change annotation and array formatter.
f262845: Remove TestData which was introduce by mistake with c9eee50 (again)
6573078: Integration of Californium 3.0.0-M3
1602577: Remove TestData which was introduce by mistake with c9eee50
c68bfe5: Fix unintended level log change from introduce with cf-3.0.0-M2
83a3f2b: #1052 : Do not check hostname/ipaddress for "domain-issued certificate"
02873ac: #1050 : update default demo certificate. CN is now equals to localhost.
957c279: Integration of Californium 3.0.0-M2

leshan-2.0.0-M4

06 Jul 10:11
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Fourth 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

  • New Web UI based on Vue.js/Vuetify for server-demo and bsserver-demo.
  • Registration Refactoring (e.g. new getAvailableInstance method) (#1007, #1009, #1010)
  • Add application data on registration (#1018)
  • Add support of ct attribute at client/server side. (#1006, #1008)
  • New API for Bootstrap Server which allow more custom behavior. (#1027)
  • Add a new Bootstrap mode which allow do choose Security Instance ID value automatically (#1028)
  • Add support of uri attribute on bootstrap discover.
  • Add new Bootstrap Consistency State checker at client side (#1000)
  • Add epmin, epmax attribute support at server side. (#1029)
  • Add support of Partial Update to WRITE on multi-instance resources (#1037)
  • Add Opaque encoding/decoding for resource instance (#1035)
  • Add Bootstrap Read support at client/server side. (#1036)
  • Add support to connection ID in all demos. (#999)
  • Integration of Californium 2.6.3

Many thanks to @intx82(#1029) for its contribution 🙏 !

Known Issue 🐛 :

#1052: client using "domain-issued certificate" should not check hostname/ipaddress
#1088: timeoutInMs parameter of LeshanClient.sendData() methods are not taken into account
#1140: leshan-server-redis lost available instances information from registration.

Change logs

01376d8: Add support of Partial Update to WRITE on multi-instance resources
d5f3f1b: Rename LwM2mNode(Encoder/Decoder) in LwM2m(Encoder/Decoder).
e41d9af: Change some log level (debug=>trace) in DefaultLwM2mNodeDecoder
50e9d02: Fix some javadocs
549a83d: Fix license header on LwM2mNodeSenMLDecoder/LwM2mNodeSenMLEncoder
ecf961a: Add BootstrapReadRequest support.
f281c3a: Add Opaque encoding/decoding for resource instance
977b565: README : change screenshot to show the new UI.
3792d42: Server-demo-v2: Add some tooltips on buttons.
e600ac7: Server-demo-v2: Better display for model description
277ac50: Server-demo-v2: fix responsive issue.
c3ac60e: Server-demo-v2: handle deregistered client on Client vue.
526963c: Server-demo-v2: make new UI as default one.
6227ecb: Server-demo-v2: polish navbar.
a95a7ce: Server-demo-v2: Add search field in Clients and Security tab.
7f6e488: Server-demo-v2: Add Server Tab about credentials
abd99c2: BS-Server-demo-v2: make new UI as default one.
2849aaf: BS-Server-demo-v2: Add default value for bootstrap server config
86b7b04: BS-Server-demo-v2: remove "changing step" on click in bsconfig wizard.
1b63133: BS-Server-demo-v2: polish navbar.
15feb05: BS-Server-demo-v2: use dialog to display errors.
b6ffcbc: BS-Server-demo-v2: Add search field in Bootstrap tab.
96bc682: BS-Server-demo-v2: Add Server tab about server credentials
2fcae73: BS-Server-demo-v2: Add a vue to watch session lifecyle.
afc22f3: Make ContentFormat and ResponseCode toString() prettier.
baa10b4: Add toPrettyString to LwM2mNode
bd08eff: Add Objects resources from LWM2M v1.1 to BootstrapConfig.
3d18862: Add a way to choose ContentFormat used for Bootstrap Write Request.
a06a043: Add BootstrapRequestChecker for bootstrap integration tests.
540aeec: Add BoostrapSessionListener at bootstrap server side.
b181ee9: Add autoIdForSecurityObject mode to bootstrap config.
0d24d6d: #1000: Add a BootstrapConsistencyChecker to Leshan Client.
e0919c3: Add support of "uri" attribute on bootstrap discover
d393b88: Add an integration test about "Bootstrap-Request Trigger" resource.
d9ae7bb: Implement "Bootstrap-Request Trigger" resource (1/?/9) at client side.
3d8011e: client: fix NPE on ObjectEnabler.getLwM2mClient()
3f3eb03: #1027: Rewrite BootstrapDiscover Tests to use BootstrapTaskProvider
96f2a5a: #1027: BS Server does not know SecurityStore and ConfigStore anymore
e6f87b2: #1027: Add TaskProvider which provides requests to send during bootstrap
0edf18c: BootstrapConfig is no more Serializable.
7440d13: #1027: Add ModelProvider to Bootstrap server to manage Object Versioning
f68537d: #1027: remove BootstrapConfiguration added by #883
4187e01: #1027:BootstrapSessionManager is responsible to know request to send.
c9eee50: #1024 : fix issue with long resource id in LwM2mNodeSenMLEncoder
09a2656: #1026 Evaluation attributes support
7c5a398: #1020: fix invalid syntax for ct attribute (QUOTE must be used)
6aebf47: Add a way to add applicationData on registration when authorizing.
9446530: Add some tests about Registration.getAvailableInstances()
4485054: Add getAvailableInstances method to Registration.
d69f571: Make LwM2mPath Comparable
7ba642a: Remove lazy loading for getSupportedObjects in Registration.
86cbd35: Add Test about supported Content Format on Registration Object
1bc43e4: Add Support of 'ct' option in registration at Server side.
dad83de: Registration is no more Serializable.
aae6bdb: Move default value attribution from constructor to builder.
bf7e378: Change Registration constructor: use Builder instead of lot of arguments
a84e60a: Update Registration tests to check rootpath
63683cb: Extract registration rootpath in builder.
f042517: Clean Registration Tests
78594b2: Change equals/hashcode behavior on Registration class.
f63276b: Use Version Class in Registration instead of simple String.
fe7c5b5: Add tests about Support of 'ct' option in registration at client side.
55d318c: Add Support of 'ct' option in registration at client side.
266445f: Make ContentFormat Comparable.
67e77aa: Add getSupportedContentFormat to LwM2mNode/Encoder/Decoder
f15debb: Add tests about mandatory or optional content format.
bab1cfb: Add methods about "mandatory" to ContentFormat.
045f2b9: #1016: try some optimization
3963c82: activate debug tools
3d2d6c3: update to vuetify 2.5.1 and vue 2.6.13 (server-demo)
3d7cf31: Make public production path a relative one. (for server-demo)
368e503: Server-demo-v2: Try to fix some router issue.
666383e: change info message about demo v2 in demo v1.
63c169e: Server-demo-v2: Add Queue mode usage or sleeping info.
748e9c5: Server-demo-v2: Add more info about registration.
890818d: Server-demo-v2: Add Exec with params
5206b48: Server-demo-v2: Add observe for instance
4a94128: Server-demo-v2: Add observe for single instance resource
464ab9b: Server-demo-v2: Add a shared store for data
de609c1: Server-demo-v2: add more object icons.
64811b8: Server-demo-v2: truncate resource value text if too long.
73337b7: Server-demo-v2: Add Input component for Opaque resource.
19e53ac: Server-demo-v2: Add ResourceInput component to create input by type
5e8ade8: Server-demo-v2: Add Cancel Button to all Dialogs
e5f567d: Server-demo-v2: Better Error Handling
efb109b: Server-demo-v2: Add UI for Create instance.
b9c07df: Server-demo-v2: add preference for multi-value content format.
0c598cd: Server-demo-v2: Add UI for Read/Write/Delete instance
427cf2d: Make public production path a relative one. (for bsserver-demo)
5dbe92e: #906: Proto of leshan-bsserver-demo UI v2 based on vuejs
7a08220: Integration of Californium 2.6.3
afc43f2: Avoid NPE when processing response message in unit tests
d33516e: Add connection ID support to demos
da6d32e: Remove unused import in BootstrapConfig

leshan-2.0.0-M3

07 Apr 09:22
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Third 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 Read-Composite support (#958)
  • Add Write-Composite support (#959)
  • Add Send operation support (#971)
  • Fix issues about Certificate Usage(#995) and SENML-CBOR/JSON data value vd/8 (#985).
  • Update to last version of LWM2M model (#973)
  • Add certificate Usage to Leshan demo (#991)
  • A first version of a new UI for server demo based on vue.js (#977)
  • Integration of Californium 2.6.2 (2.6.1 change log) which fixes issue which in certain circumstances may definitely prevent Leshan server to accept DTLS handshake using X509 and RPK. (see CVE-2020-27222 ⚠️ )

Many thanks to @dachaac(#983) for its contribution 🙏 !

Known Issue 🪲 :

#1024 : SenMLEncoder can not encode Node for multi instance resource with too long resource or resource instance id
#1052: client using "domain-issued certificate" should not check hostname/ipaddress
#1088: timeoutInMs parameter of LeshanClient.sendData() methods are not taken into account

Change logs

edeaa2b: #992: guess ServerIdentity from Endpoint instead of EndpointContext
a75781b: Add some test about #992 issue.
2765896: Limit certificate usage to 1 & 3 for config about leshan bs server demo
caabf0b: LeshanBootstrapServerDemo: Add certificate chain support
c045fcb: LeshanServerDemo: Add certificate chain support
51e3e5e: SecurityUtil: Add helper for parsing certificate chain
0671ed9: BootstrapServerDemo: Add support to set certificate usage for clients
8f061df: CertificateUsage: Add server side support to send CertificateUsage configuration.
5670399: ClientDemo: Add support to configure certificate usage from command line
c1307a4: Security: Add x509Bootstrap() variant with CertificateUsage
52b568f: Fix regression trying to fix help prompt regression (from 8ce5498)
d97a0bd: fix -ksa default value of server-demo (the --help says it's leshan)
807c3b0: Use DTLS clientOnly config by default for client connecting to bs server
e09e91c: Remove undesired huge timeout for some integration tests.
95977db: Remove undesired System.out.println ...
ffeaa92: Add newUnsignedIntegerInstance methods to LwM2mResourceInstance
8cec6a0: Integration of Californium 2.6.2
fdc4a98: #987: fix to support null for short server id on bootstrap security obj
d5607f0: #984 fix issue about decoding data value (vd/8) with SenML_CBOR.
2cd1a67: Add test about opaque encoding/decoding with SENML_CBOR
8ce5498: Fix help prompt regression (since 9bc7a3b)
f614b26: #906: Proto of leshan-server-demo UI v2 based on vuejs
18990fe: Add Redis Test about Send Operation.
fdd3111: Add index by identity in "RedisRegistrationStore"
0be7cea: Add index by identity in "InMemoryRegistrationStore"
82fab07: Add integration tests about Send Request.
52eb5fd: Add Send Service to handle "Send Operation" at server side.
338292a: Add SendData() API to Leshan client.
bfbb425: Update Client Request Sender to be able to support "Send operation"
80d1ad6: Add getModel() to LwM2mObjectTree.
36154b9: Add "LWM2M Send" Request and Response Classes
6432a4b: Regroup event on WriteComposite at client side.
f98311f: Add support of partial Update for multi instance resources.
363ec53: Add some integration tests about Write Composite Operation.
e12a19a: Add Write Composite suppot at client side.
70975fe: Add some methods on LwM2mPath to create new Path from a previous one.
d85671e: Add WritComposite Request and Response.
6285f0d: Adapt MultiNodeDecoder to support WriteComposite.
3a184ab: Add test about ReadComposite
fc6b7ff: Add ReadComposite Support at client side
5d73a7d: Add ReadCompositeRequest and Response
8e1494e: Add SimpleDownlinkRequest (to be able to add CompositeDownlinkRequest)
f1d71f8: Add PathDecoder for Composite Operation
8db395f: Rename decoder/encoder > nodeDecoder/Encoder to allow adding pathDecoder
1399ca5: SenML encoder/decode should be able to support record without value.
75762b9: Make LwM2mNodeSenMLDecoder implement MultiNodeDecoder
0e96425: Introduce MultiNodeDecoder for composite operation
cba82b6: Code refactoring to prepare support for MultiNodeDecoder
9222d22: Fix NPE in SenMLResolver.
382d0ae: Create dedicated(SenMLResolver) class to resolve SenMLRecord
5c0ba73: Make LwM2mNodeSenMLEncoder implement MultiNodeEncoder
08ac562: Introduce MultiNodeEncoder for composite operation
79ebdb5: Update client demo models
884efa6: Update server demo models
ad434fd: Update core models
e37de61: Update DdfDownloader to download core model in a dedicated folder.
d159ae5: Better handling of incorrect model with 2 resources with same id.
034262a: Integration of Californium 2.6.1
1081fa0: #964 : CertificateVerifier.getAcceptedIssuers() should not return null
2d82b39: Removed Unused DefaultLeshanCertificateVerifier
dfbbab6: Fail on javadoc warning issue.
2506177: #951: fix javadoc doclint config
538124b: Fix Default Node Encoder/Decoder javadoc.

leshan-1.3.1

04 Feb 16:58
Compare
Choose a tag to compare

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

Build artifacts are available on maven central.

Noteworthy

Fix several issue about X509 and RPK connection :

  • Fix issue preventing Leshan client to accept DTLS handshake initiated at server side using X509.
  • Integration of Californium 2.6.1 which fixes issue which in certain circumstances may definitely prevent Leshan server to accept DTLS handshake using X509 and RPK. (see CVE-2020-27222 ⚠️ )

Many thanks to @francopo for reporting those issues (#964) 🙏 !

Change logs

6bc1cab: Integration of Californium 2.6.1
612028c: Fail on javadoc warning issue.
0170771: #951: fix javadoc doclint config
36f5756: #964 : CertificateVerifier.getAcceptedIssuers() should not return null