Leshan Versions Save

Java Library for LWM2M

leshan-2.0.0-M7

2 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

Build artifacts are available on maven central.

A development release targeting LWM2M 1.1, see LWM2M 1.1 supported features. :warning: 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 :pray: !

Change logs

a759c24eb: #1228: Add timestampedNodes support to SenML encoder. 389e60bd3: #1245: Keep resources order from DFF file in ObjectModel. 31d2dc9ec: Fix some missing icons in bsserver demo (regression from accc6437) 994341388: Fix Bootstrap UI issue : bad serverInput sync in bootstrap wizard b97b194fa: Update last Browsers Data in yarn.lock (servers demo) 2c9fa2328: Add some security information about CVE-2022-21449 accc6437e: Avoid to load whole material design font. 0c521134f: Add "yarn report" command to analyze bundle (generate report.html) 7123a4023: Upgrade Bootstrap Server demo Yarn DevDependencies 181b0e903: Upgrade Server demo Yarn DevDependencies dafb1ad3a: Update yarn.lock dependencies for server and bsserver demo 54dfb6c12: Fix some String.format message in DefaultLwM2mLinkParser. afea4b0a6: Add Exception in LOG of BaseBootstrapConsistencyChecker.checkconfig() 79b10c2eb: Integration of Californium 3.4.0 55ee6b2ac: Security Fix ? upgrade to jackson-databind 2.13.2.1 2adb1280b: Integration of Californium 3.3.1 b047a2877: Security fix : upgrade com.upokecenter.cbor to v4.5.2 633e3e2ea: #1218: Add Timestamped nodes support to Send Operation at server side. 21bf6b9ed: Add scheme URL check to leshan-client-demo 6cb81d8ee: server-demo: add some more object icons. 76bb72f65: server-demo: fix serialization regression about Link attribute. 3ec790b71: server-demo: fix reactive issue when override existing security info. ce46f14b0: bsserver-demo: fix reactive issue when override existing config. d4839f5c3: bsserver-demo: Fix Bootstrap Config dialog issue. 30f79d333: #1197: Massive Refactoring about CoRE link Format and LWM2M Attributes

leshan-1.4.0

2 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

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

63cf6777a: Upgrade dependencies and maven plugin dependencies. aa4548b95: Integration of Californium 2.7.1 f9c39a65e: Integration of Californium 2.7.0 ed238593c: Add ObjectLoader.loadAllDefault() 4b36f26e7: Add Basic implementation of LwM2m Object Test(3441) e2718447a: Update/Add last registered ddf model for demos. 9c266f7d2: Update to last ddf model for LWM2M core object. 010d25766: Add DdfDownloaded. 12a101ae9: Add Arguments API to parse Execute Request Arguments.

leshan-2.0.0-M6

2 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

Build artifacts are available on maven central.

A development release targeting LWM2M 1.1, see LWM2M 1.1 supported features. :warning: 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 :pray: !

Change logs

42c7fcf57: Use new DtlsConfig.addSessionListener() of cf 3.2.0. 0d332bb29: Integration of Californium 3.2.0 84b1eefb9: #1187: Better SendData Error handling. cb84a3d21: Fix Observe regression in server-demo introduced by c30fe46b1c36e afce36c74: Upgrade to jedis 4.0.1 (from 3.5.2) f77538375: Remove unused dependencies. 159bda4b4: Upgrade maven dependencies. 231a707b6: Upgrade maven-plugin-dependencies. a62e8bfe4: Fix Type guessing of CBOR Decoder. 03745634e: Rename FLOAT Type/Value in NUMBER Type/Value in SenMLRecord 1193cf3ff: Fix float handling for senml-cbor. 39f575726: Fix exception in error message in NumberUtil.numberToDouble() e06aaa591: server-demo: Add support of Write-Composite. d4d5523ee: server-demo: In CompositeObjectView use nodes as Object instead of Array acdcbaaf6: Integration of Californium 3.1.0 54cec68e3: #1176: Make SenML-CBOR decoder more strict about number conversion. c30fe46b1: server-demo: Add Observe-Composite Operation to leshan-server-demo 074bce3e9: Add cancelCompositeObservations to ObservationService 5572b799d: Add some more LWM2M Object Icons to server-demo. d5ca8c9bf: server-demo: sort objects by object ID. 9363e769b: server-demo: Warn if device list Sec or OSCORE Object at registration ac4f309e4: Add some more LWM2M Object Icons to server-demo. 28491cbca: Fix typo in DDFFileParser : shema => schema. b4884b5ff: Fix revapi configuration (filter californium). e1014e9d8: Add "send Data" support to LwM2mTestObject a3c6e6791: server-demo: add support of Unsigned Long ed16077b2: Add ULong support to LwM2mTestObject 03290b163: Add LWM2M v1.1 Object (3442) model to demos. 64314cb23: Fix LWM2M registry models. 594b59b1e: Update Object models (get last version from LWM2M registry) in demos. 9612b639e: Update LWM2M Core Object models (get missing last version) 6e39f0477: Set Core Object Version used in Tests. f475e90a2: Update SECURITY.md : add Versions Security State. 16a11c68c: server-demo: Add UI for Read-Composite Operation. 05deb5441: server-demo: Add Composite Object to be able to add Composite Operation 9720c4488: server-demo: Resource definition view. c8caa1185: server-demo: create expansion panel view for lwm2m resources. ddd0461c3: server-demo: add availableInstances in registration 8965f21f7: server-demo: Create input to edit list of LWM2M path 1c98fb2d0: Update SECURITY.md c461785c8: #1097: add new API/Parser/Serializer for Execute request Arguments cdea253c9: NumberUtil should raise IllegalArgumentException instead of IllegalState ca740491d: #1170: add safe conversion from decimal to long/ulong in NumberUtils. eb3369761: #1170: Add a test about conversion from double to long with SenML. 0cba9774b: #1082: Create dedicated LwM2mPathInvalidException. e7a6f9236: Add private methods to LwM2mNodeUtil. d5a8a739f: bsserver-demo: change default file name of JSONFileBootstrapStore. fe0e116c8: bsserver-demo: add support of "Auto ID For Security Object" 0c036826b: BootstrapServer: add validation about path to delete. 227f129dd: bsserver-demo: add delete path step to define which path to delete. 6ff40bbb3: bsserver-demo: show path to delete in Config column of bootstrap view. 609ffbfc0: bsserver-demo: display bootstrap config in only 1 column. 7cba81488: bsserver-demo: Being able to create Bootstrap config without bs server. 6abb95cac: bsserver-demo: Being able to create Bootstrap config without dm server. 152cd9cbc: servers-demo: share more vuejs code instead of duplicate it. dd8e25f9f: #1112: Add Credentials column in Bootstrap View e07dc19c9: bsserver-demo: move some byte utils function to byteutils.js 7df18e339: bsserver-demo: remove redundant error handling(already done in axios.js) 771b8375a: #1112: Add SecurityStep to wizard to define how client authenticate. 094ab5503: servers-demo: share vuejs code instead of duplicate it. 06b683c9d: bsserver-demo:fix wizard issue about initialization of validation 8632f3bd2: bsserver-demo: move each wizard step in its own vue component. bc3ddf3a3: bsserver-demo: Add a BootstrapSecurityStoreAdapter. e9073fc2d: servers-demo: move classes from server-demo to server-core-demo 02c035927: #1163: fix bad request when create X509 security info in server-demo. d9f1cf2cd: #924: Switch as Java8 as minimal version. ffb6197e2: #1136: Remove keystore way to provide Ceritficate to leshan-server-demo 7bcb1af25: #936: change CaConstraint cert usage to not support "trustanchor mode". 5cdba8212: server-demo: fix UI bug about "Send Operation" for resourceInstances. 553afdc23: #1155: Fix LwM2mResourceInstance.newInstance to support ULong 9f9e06345: server-demo: change REST API, use string instead of Number for Float too ea3c84a64: server-demo: change REST API, use string instead of Number for Integer d5bb0da97: #1147: Fix for failing tests on Windows 60b40105d: Integration of Californium 3.0.0 eaf1da7cd: #1140:RegistrationSerDes must support availableInstances of registration 3caf38f1c: Rewrite reg.addSupportedObject() to make it more readable. ca52f835d: #1134: fix web UI active tab issue again (+ some responsive fixes) c7054de50: server-demo: sort registered clients by registration date. 26a531b63: server-demo: remove loading bar when loading registered clients. 485f2e50f: Remove useless binding of dark properties (server and bsserver demo) ec5d7cf39: bs-serverdemo: make navbar more responsive. e115f7185: #1134: fix web UI active tab issue (server and bsserver demo) 59ade8a37: Client Behavior changes: "Replace instance" resets Readable Resources. c1d8a08b6: Fix NPE at client side about updating multi-instance resource. ec1438711: server-demo: Erase previous value in UI on replace Object Instance. 86c19262b: #1124: fix NPE for Registration Links JSON serialization in server-demo 0ed5fd3f5: #1123: Better Handle LinkParseException. 8cd61fea9: Make LinkParseException a checked exception. 3cb400710: server-demo: Add ObjLink write support. 99ea91f84: server-demo: be more strict about JSON type of node value. f98f94975: server-demo: Use Timestamp for Time value of REST API. 9bd4844fd: Remove MagicLwM2mValueConverter to leshan-server-demo 78fee6395: server-demo: add type attribute to REST API to type value of lwm2m node. abf081cbe: server-demo: change attribute name for kind of lwm2m node (type => kind) 30fe9372d: Integration of Californium 3.0.0-RC2 ef029d79a: Remove jackson-dataformat-cbor dependency. 03621a56f: #1126: allow to create server without PSK ciphers. 3d2b1f990: #1045: Remove GSON dependency. d2aed7650: #1045: Remove minimal-json dependency. 6811051cb: Fix typo in leshan-bsserver-demo webapp/index.html 7d5f8db3b: Rename source folder of webapp in leshan-bsserver-demo. 20890262d: Remove old UI of leshan-bsserver-demo 4eacbf405: Rename source folder of webapp in leshan-server-demo. d20b974eb: Remove old UI of leshan-server-demo 905f58606: Upgrade revapi-maven-plugin to 0.14.5

leshan-1.3.2

2 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

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 :warning:
  • Some minor bugs fixes
  • Update dependencies versions (logback, slf4j ...)

Change logs

cc62ead67: Upgrade to revapi v0.14.6 5b97afb81: Upgrade to last maven-plugins 6cc0e4cc0: Integration of Californium 2.6.6 53e0aa12a: Upgrade dependencies(logback 1.2.8, slf4j 1.7.32 ...) bc6101d56: ignore Californium3 propertiers files b130dc2c5: leshan-bsserver-demo must validate external models (from -m option) a9593efb3: Integration of Californium 2.6.5 1c7eb4ca5: Integration of Californium 2.6.4 fa2d6a94c: Fix parsing of outgoing records. bf74a6233: client: fix NPE on ObjectEnabler.getLwM2mClient() 8d47ec27c: Update git ignore (ignore node and node_modules) 6240a5554: Integration of Californium 2.6.3 1d4ebbf8b: Avoid NPE when processing response message in unit tests

leshan-2.0.0-M5

2 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

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. :warning: 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 :warning: CVE-2021-34433

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

Known Issue :bug: :

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

Change logs

5060e8436: #1022: Improved Link API to make it more compliance with rfc6690. b6528f3fe: #915: Add support of empty multi instance resource to SenML format 64c0ba619: Integration of Californium 3.0.0-RC1 7ef2ded7a: Add LwM2m Test Object (Id:3441) to Leshan demos. 0232b4b79: Add Send Operation Support to leshan-server-demo 87baa6ed2: Upgrade yarn and node version 8c37b68d5: Upgrade dependencies to most recent version. 5c9b92470: Upgrade to most recent version for Maven Plugins. fa91fc4f3: Add license header to frontend code. 423f6cc65: Updates WebApp demo dependencies e101de641: Add Write operation UI for Multi-Instance resources in server-demo bb8719849: Add some more icons 922a4d7c7: Fix Resource control must not be hided for Executable resource 94be48835: Add R/W/OBS operation for resource instance to Leshan Server Demo c3ee8af61: Add resource instance support to JSON (de)serializer of server-demo c27c118db: Refactor resource inputs to make easier to add Resource Instance Write 89107841a: Clean vue component file hierarchy of server-demo webapp 5c1c93882: Add better display of resource description and multi instance values. 8ef57e5d7: Add simple support of Read/Observe of resource multi instance e18924375: Guess server port if not provided to client-demo for default value too a24bbe31d: #1081:serverdemo set dtls server-only if cert doesn't support clientauth 869b564aa: Add a --queue-mode option to leshan client demo. 7f045e9f0: If leshan client use QueueMode set dtls connector as clientOnly ee21bcaaa: #1081: client set as dtls client-only if cert doesn't support serverauth 4bea97f9e: Add check about certificate to leshan client BootstrapConsistencyChecker c8ef0a6be: Add Send command to leshan-client-demo. 13c478417: Use 2 short internally instead of String in Version class. 36e0b64fb: #1080: Add version param to "create" command of leshan-client-demo ce959675d: Add getModel() to LwM2mModelRepository c74469892: Add a get for the most recent version of an Object in a LwM2m repository 00aed3a06: Add LwM2mVersion class and use Version as a more generic one. 515a51011: Enhance error message about type matching in LwM2mSingleResource. 4414aa951: Remove credentials display at leshan-client-demo start-up. a63e703aa: Guess server url port if not provided to leshan-client-demo d25d09022: Fix #1088: make sendData actually use timeoutInMs parameter 09a7e3075: Fix logback-config of leshan-client-demo. f04703230: Make short Validation and compare consistent by using short everywhere ec5ce9d04: Fix Version validation message f1aab7a6c: Fix Delete Object Enabler command in demo : Object 1 can not be deleted 093612ce2: Fix some issues about Add "Observe resource instance" support 71858d770: Remove Version class replaced by LeshanProperties in 8a866f2e 33f200bb8: Fix can_composite_observe_on_multiple_resources Test. ab12d0857: Reduce decoding overhead with passing path list via user context in ObserveCompositeRelationFilter 26ef844a5: Add integration tests about Cancel Observe Composite 49a317641: Add active Cancel Composite-Observation feature 578c2845a: Refactor Observation request & response content format 84293b26e: Add integration tests about Observe-Composite 5767475c4: Add client side Observe Composite feature 2ba58119f: Add server side Observe Composite feature 2a39eba83: Add Single/Composite Observation, ObserveComposite Request/Response classes. 594cc5cf0: Add integration tests about "Observe Resource Instance" support. bd2012938: Add "Observe Resource Instance" support at Server side. e979aebd1: Add "Observe Resource Instance" support at Client side. ed48136a2: Refactoring to allow to fire resource instance changes at client side. 543d8e25e: Improve default implementation of BaseInstanceEnabler.write() 9d33ce9bb: Add missing checks about resource instance to WriteRequest constructor 8a866f2e0: Add version option (--version) to all demos. 3e7505b1d: Add verbose option (-v, -vv, -vvv) to all demos. 12a30f07e: Create common StandardHelpOptions shared by all demos 720b8a806: Remove ExecutionExceptionHandler HACK by a proper way. 9496eded5: server-demo : Fix additional attributes bad key/value order. 434e9bc1b: Some pom.xml cleaning bc740a48d: Fix NPE in ObjectLoader.loadObjectsFromDir(File) 23a9eba87: Activate LOG of LwM2mModelRepository for leshan-bsserver-demo. 48b6516c0: #568: Add color to logback log for leshan-bsserver-demo a92ddff93: Share TruststoreConverter between all demos. ab2ee1277: Shared Option definition between bsserver and server demo 73c416ee1: leshan-bsserver-demo must validate external models (from -m option) 96bec8fa5: #569 : Replace Apache commons-cli by picocli in leshan-bsserver-demo eeb8907db: Share CIDConverter code between demos. d4f7259bc: Create a "leshan-server-core-demo" project to share servers demo code. 9d4b64578: #568: Add color to logback log for leshan-server-demo b24622f3d: #569 : Replace Apache commons-cli by picocli in leshan-server-demo 89ad54f49: Fix NPE in ExecutionExceptionHandler b73cdc9a4: Move CLI utility classes in leshan-core-demo to be reused by other demos c858e0c74: Create a "leshan-core-demo" project to share demo code. 3c25b8501: Integration of Californium 3.0.0-M4 55984dce8: Use picocli ANSI color heuristic for logback fa39fed28: Add color to logback log for leshan-client-demo 6ea0b6afd: Implement the InteractiveCLI using Jline2 and picocli 2e2c09544: Extract Interactive CLI code in a dedicated class (leshan-client-demo) bbcf7d139: switch from simple log4j to logback bd275a8c8: #569 : Replace Apache commons-cli by picocli in leshan-client-demo 4cc7ce9ce: Change annotation and array formatter. f26284596: Remove TestData which was introduce by mistake with c9eee50bd70 (again) 657307886: Integration of Californium 3.0.0-M3 16025772d: Remove TestData which was introduce by mistake with c9eee50bd70 c68bfe513: Fix unintended level log change from introduce with cf-3.0.0-M2 83a3f2b05: #1052 : Do not check hostname/ipaddress for "domain-issued certificate" 02873ac95: #1050 : update default demo certificate. CN is now equals to localhost. 957c27919: Integration of Californium 3.0.0-M2

leshan-2.0.0-M4

2 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

Build artifacts are available on maven central.

Fourth development release targeting LWM2M 1.1, see LWM2M 1.1 supported features. :warning: 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 :pray: !

Known Issue :bug: :

#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

01376d8e3: Add support of Partial Update to WRITE on multi-instance resources d5f3f1b12: Rename LwM2mNode(Encoder/Decoder) in LwM2m(Encoder/Decoder). e41d9af9a: Change some log level (debug=>trace) in DefaultLwM2mNodeDecoder 50e9d02d4: Fix some javadocs 549a83d82: Fix license header on LwM2mNodeSenMLDecoder/LwM2mNodeSenMLEncoder ecf961a9d: Add BootstrapReadRequest support. f281c3a65: Add Opaque encoding/decoding for resource instance 977b565a0: README : change screenshot to show the new UI. 3792d42dc: Server-demo-v2: Add some tooltips on buttons. e600ac743: Server-demo-v2: Better display for model description 277ac50de: Server-demo-v2: fix responsive issue. c3ac60e60: Server-demo-v2: handle deregistered client on Client vue. 526963c75: Server-demo-v2: make new UI as default one. 6227ecbfe: Server-demo-v2: polish navbar. a95a7ce5c: Server-demo-v2: Add search field in Clients and Security tab. 7f6e4887b: Server-demo-v2: Add Server Tab about credentials abd99c265: BS-Server-demo-v2: make new UI as default one. 2849aafa9: BS-Server-demo-v2: Add default value for bootstrap server config 86b7b0466: BS-Server-demo-v2: remove "changing step" on click in bsconfig wizard. 1b631333a: BS-Server-demo-v2: polish navbar. 15feb0578: BS-Server-demo-v2: use dialog to display errors. b6ffcbcf5: BS-Server-demo-v2: Add search field in Bootstrap tab. 96bc682e8: BS-Server-demo-v2: Add Server tab about server credentials 2fcae7316: BS-Server-demo-v2: Add a vue to watch session lifecyle. afc22f384: Make ContentFormat and ResponseCode toString() prettier. baa10b468: Add toPrettyString to LwM2mNode bd08eff87: Add Objects resources from LWM2M v1.1 to BootstrapConfig. 3d188620f: Add a way to choose ContentFormat used for Bootstrap Write Request. a06a0436f: Add BootstrapRequestChecker for bootstrap integration tests. 540aeec3d: Add BoostrapSessionListener at bootstrap server side. b181ee9a7: Add autoIdForSecurityObject mode to bootstrap config. 0d24d6d90: #1000: Add a BootstrapConsistencyChecker to Leshan Client. e0919c3a8: Add support of "uri" attribute on bootstrap discover d393b8890: Add an integration test about "Bootstrap-Request Trigger" resource. d9ae7bb8d: Implement "Bootstrap-Request Trigger" resource (1/?/9) at client side. 3d8011e99: client: fix NPE on ObjectEnabler.getLwM2mClient() 3f3eb0325: #1027: Rewrite BootstrapDiscover Tests to use BootstrapTaskProvider 96f2a5a5a: #1027: BS Server does not know SecurityStore and ConfigStore anymore e6f87b229: #1027: Add TaskProvider which provides requests to send during bootstrap 0edf18c90: BootstrapConfig is no more Serializable. 7440d13b5: #1027: Add ModelProvider to Bootstrap server to manage Object Versioning f68537db0: #1027: remove BootstrapConfiguration added by #883 4187e016b: #1027:BootstrapSessionManager is responsible to know request to send. c9eee50bd: #1024 : fix issue with long resource id in LwM2mNodeSenMLEncoder 09a265683: #1026 Evaluation attributes support 7c5a398c1: #1020: fix invalid syntax for ct attribute (QUOTE must be used) 6aebf4754: Add a way to add applicationData on registration when authorizing. 94465307f: Add some tests about Registration.getAvailableInstances() 4485054a5: Add getAvailableInstances method to Registration. d69f5715b: Make LwM2mPath Comparable 7ba642aab: Remove lazy loading for getSupportedObjects in Registration. 86cbd358f: Add Test about supported Content Format on Registration Object 1bc43e434: Add Support of 'ct' option in registration at Server side. dad83deb4: Registration is no more Serializable. aae6bdb6e: Move default value attribution from constructor to builder. bf7e37823: Change Registration constructor: use Builder instead of lot of arguments a84e60a18: Update Registration tests to check rootpath 63683cbe4: Extract registration rootpath in builder. f042517fd: Clean Registration Tests 78594b2f4: Change equals/hashcode behavior on Registration class. f63276bb0: Use Version Class in Registration instead of simple String. fe7c5b58a: Add tests about Support of 'ct' option in registration at client side. 55d318ce9: Add Support of 'ct' option in registration at client side. 266445f65: Make ContentFormat Comparable. 67e77aab4: Add getSupportedContentFormat to LwM2mNode/Encoder/Decoder f15debb3d: Add tests about mandatory or optional content format. bab1cfb9b: Add methods about "mandatory" to ContentFormat. 045f2b912: #1016: try some optimization 3963c8206: activate debug tools 3d2d6c3c2: update to vuetify 2.5.1 and vue 2.6.13 (server-demo) 3d7cf31c0: Make public production path a relative one. (for server-demo) 368e50338: Server-demo-v2: Try to fix some router issue. 666383e4e: change info message about demo v2 in demo v1. 63c169ecd: Server-demo-v2: Add Queue mode usage or sleeping info. 748e9c505: Server-demo-v2: Add more info about registration. 890818da5: Server-demo-v2: Add Exec with params 5206b4817: Server-demo-v2: Add observe for instance 4a9412891: Server-demo-v2: Add observe for single instance resource 464ab9b5e: Server-demo-v2: Add a shared store for data de609c1e6: Server-demo-v2: add more object icons. 64811b8eb: Server-demo-v2: truncate resource value text if too long. 73337b783: Server-demo-v2: Add Input component for Opaque resource. 19e53ac24: Server-demo-v2: Add ResourceInput component to create input by type 5e8ade8ed: Server-demo-v2: Add Cancel Button to all Dialogs e5f567d2f: Server-demo-v2: Better Error Handling efb109b8f: Server-demo-v2: Add UI for Create instance. b9c07df48: Server-demo-v2: add preference for multi-value content format. 0c598cd18: Server-demo-v2: Add UI for Read/Write/Delete instance 427cf2d3d: Make public production path a relative one. (for bsserver-demo) 5dbe92ecc: #906: Proto of leshan-bsserver-demo UI v2 based on vuejs 7a0822090: Integration of Californium 2.6.3 afc43f2e4: Avoid NPE when processing response message in unit tests d33516e89: Add connection ID support to demos da6d32e50: Remove unused import in BootstrapConfig

leshan-2.0.0-M3

3 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

Build artifacts are available on maven central.

Third development release targeting LWM2M 1.1, see LWM2M 1.1 supported features. :warning: 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 :warning: )

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

Known Issue :beetle: :

#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

edeaa2b4a: #992: guess ServerIdentity from Endpoint instead of EndpointContext a75781b3b: Add some test about #992 issue. 2765896e0: Limit certificate usage to 1 & 3 for config about leshan bs server demo caabf0bd3: LeshanBootstrapServerDemo: Add certificate chain support c045fcbf3: LeshanServerDemo: Add certificate chain support 51e3e5e88: SecurityUtil: Add helper for parsing certificate chain 0671ed930: BootstrapServerDemo: Add support to set certificate usage for clients 8f061dfd1: CertificateUsage: Add server side support to send CertificateUsage configuration. 567039995: ClientDemo: Add support to configure certificate usage from command line c1307a4d4: Security: Add x509Bootstrap() variant with CertificateUsage 52b568f47: Fix regression trying to fix help prompt regression (from 8ce5498c6f5) d97a0bdc3: fix -ksa default value of server-demo (the --help says it's leshan) 807c3b035: Use DTLS clientOnly config by default for client connecting to bs server e09e91c68: Remove undesired huge timeout for some integration tests. 95977dbdf: Remove undesired System.out.println ... ffeaa92de: Add newUnsignedIntegerInstance methods to LwM2mResourceInstance 8cec6a079: Integration of Californium 2.6.2 fdc4a9834: #987: fix to support null for short server id on bootstrap security obj d5607f054: #984 fix issue about decoding data value (vd/8) with SenML_CBOR. 2cd1a675c: Add test about opaque encoding/decoding with SENML_CBOR 8ce5498c6: Fix help prompt regression (since 9bc7a3b0eaba8e8b) f614b269e: #906: Proto of leshan-server-demo UI v2 based on vuejs 18990fec2: Add Redis Test about Send Operation. fdd311100: Add index by identity in "RedisRegistrationStore" 0be7cea32: Add index by identity in "InMemoryRegistrationStore" 82fab071b: Add integration tests about Send Request. 52eb5fda9: Add Send Service to handle "Send Operation" at server side. 338292a06: Add SendData() API to Leshan client. bfbb425be: Update Client Request Sender to be able to support "Send operation" 80d1ad6fd: Add getModel() to LwM2mObjectTree. 36154b9e4: Add "LWM2M Send" Request and Response Classes 6432a4b84: Regroup event on WriteComposite at client side. f98311f25: Add support of partial Update for multi instance resources. 363ec53aa: Add some integration tests about Write Composite Operation. e12a19a7e: Add Write Composite suppot at client side. 70975fe4f: Add some methods on LwM2mPath to create new Path from a previous one. d85671e79: Add WritComposite Request and Response. 6285f0dad: Adapt MultiNodeDecoder to support WriteComposite. 3a184abd4: Add test about ReadComposite fc6b7ffae: Add ReadComposite Support at client side 5d73a7d5e: Add ReadCompositeRequest and Response 8e1494e66: Add SimpleDownlinkRequest (to be able to add CompositeDownlinkRequest) f1d71f86f: Add PathDecoder for Composite Operation 8db395f63: Rename decoder/encoder > nodeDecoder/Encoder to allow adding pathDecoder 1399ca558: SenML encoder/decode should be able to support record without value. 75762b9c6: Make LwM2mNodeSenMLDecoder implement MultiNodeDecoder 0e96425f1: Introduce MultiNodeDecoder for composite operation cba82b647: Code refactoring to prepare support for MultiNodeDecoder 9222d229f: Fix NPE in SenMLResolver. 382d0ae08: Create dedicated(SenMLResolver) class to resolve SenMLRecord 5c0ba73c4: Make LwM2mNodeSenMLEncoder implement MultiNodeEncoder 08ac5622a: Introduce MultiNodeEncoder for composite operation 79ebdb5b6: Update client demo models 884efa69d: Update server demo models ad434fd7d: Update core models e37de61c7: Update DdfDownloader to download core model in a dedicated folder. d159ae5fb: Better handling of incorrect model with 2 resources with same id. 034262aa8: Integration of Californium 2.6.1 1081fa07d: #964 : CertificateVerifier.getAcceptedIssuers() should not return null 2d82b3913: Removed Unused DefaultLeshanCertificateVerifier dfbbab6dc: Fail on javadoc warning issue. 25061774d: #951: fix javadoc doclint config 538124bd3: Fix Default Node Encoder/Decoder javadoc.

leshan-1.3.1

3 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

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 :warning: )

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

Change logs

6bc1cab2: Integration of Californium 2.6.1 612028c5: Fail on javadoc warning issue. 01707717: #951: fix javadoc doclint config 36f5756c: #964 : CertificateVerifier.getAcceptedIssuers() should not return null

leshan-2.0.0-M2

3 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

Build artifacts are available on maven central.

Second development release targeting LWM2M 1.1, see LWM2M 1.1 supported features. :warning: 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 :pray: !

Known Issue :beetle: :

#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

c2ed1f41: Add preferred Content format to BootstrapRequest. 8f2b5e01: Better support of number (especially unsigned) using CBOR-Java 38713a60: Add CBOR content format to Leshan server demo. 1220105b: Add CBOR Content Format to Single value integration tests. 846700c2: Add CBOR Node Decoder/Encoder to Default Decoder/Encoder. 25b6067b: Add CBOR Content Format 2ff39f91: Add Node Encode/Decoder for CBOR Content Format cad6909b: Move test utility classes in a dedicated package 3c786f16: Add tests about LwM2mRequest.getCoapRequest() ad993c66: #198 : Add a way to get coapRequest at LWM2M level 99c22fb4: Upgrade from com.upokecenter.cbor 4.0.0 to 4.3.0 6ecade85: Revert "Temporary workaround about HELLO_VERIFY_REQUEST protocol version." 1f7b9a41: Integration of Californium 2.6.0 7a013f04: #933: destroy LeshanClient on unexpected error. 1da26004: #933: Implement Destroyable, Startable and Stoppable on ObjectEnabler a1bacb5b: #933: Handle unexpected errors on DefaultRegistrationEngine d0f27053: #933: Add method: onUnexpectedError() for LwM2mClientObserver fad5a4ce: Use upokecenter CBOR-JAVA as default encoder/decoder for SenML CBOR 294200a3: Add SenML CBOR encoder/decoder based on upokecenter CBOR-Java d7d2e056: Add utility to be able to compare SenML Record and use it in JSON tests a275f2bb: #933: Call management method for each LwM2mObjectEnabler on LeshanClient fa0f58cc: #933: Move the interfaces to manage the state to leshan-core package 4e4ba52d: Add support ObjectLink for OLD JSON content format. b2dc0b89: Add SenML CBOR to server demo. c6712475: Rename LwM2mNodeSenMLJsonDecoder/Encoder > LwM2mNodeSenMLDecoder/Encoder c87f66df: Remove useless SenMLCborException 1064775d: Fix number serialization for SenMLCbor 5d3da20c: Add SenML_CBOR to integration tests 41f01c32: Add SenMLCbor support to default LwM2mNodeEncoder/Decoder 760faefc: Add SenML Cbor content Format. 776c5138: Rename SenMLCbor and make it implement SenMLDecoder/Encoder, add tests 4dde8157: Add SenML Cbor deserialization to jackson encoder/decoder 14d9d17a: Fix EPL license version (v1.0 to v2.0) in SenMLCbor files fcb0cdb8: Move jackson cbor decoder in a dedicated package f7ccfc27: Temporary workaround about HELLO_VERIFY_REQUEST protocol version. 0fa454c6: SecurityTest: Add certificate usage unit tests 3e65c998: leshan-integration-tests: credentials: Update with intermediate and add manufacturer CA 6e96cee3: CertificateUsage: Add CertificateUsage support to client. b3d230b8: CertificateUsage: Add CertificateUsage type and initial support to client to configure it. c189a8c2: Cf-2.5.0 : remove deprecate usage of TrustedRpkStore/CertificateVerifier eae8c384: Remove useless SecurityObjectPskStore class. f97e1efd: Cf-2.5.0 : remove usage of deprecated PskStore 24b23fb9: Integration of Californium 2.5.0 70e218d8: Update some dependencies. (#927: Now Leshan should build with java15) 571a7b76: Remove ugly sysout added in commit 42c6c4c240 03455573: Bump jetty.version from 9.4.31.v20200723 to 9.4.34.v20201102 3492f05d: #918 : bad endpoint encoding in UI when using server demo REST API 2f751900: Use EnumSet<Binding> for BootstrapConfig 6797352d: In LWM2M 1.1 client use /3/0/16 as binding register param. (not /1/?/7) abe31fe0: In LWM2M 1.1 client is watching /3/0/16 binding instead of /1/?/7 2970e3e1: Update BindingMode in device objects. 42c6c4c2: Add some tests about binding mode edfabde1: Enhance lockStep client d4df48e9: Update BindingMode to be LWM2M 1.1 compliant and support Q parameter. 40e2d2ae: Fix SerializationUtil to support enumSet ad464b03: Fix Version validation. 4df99f1c: Add SenML JSON to server demo. bfcce860: Add SenML JSON as known content format. a3df5d7e: Add ObjectLink support to LwM2MNodeSenML Encoder/Decoder 27ec7e49: Move ObjectLink String decoding/encoding in ObjectLink class. d694b313: Add resource instance encoding/decoding for SenML JSON fd6f8ad4: Move WriteTest in its own package, make some tests parameterized 50b5cb78: Move CreateTest in its own package, make some tests parameterized 61575356: Move ReadTest in its own package, make some test parameterized f8e32ad5: Move ObserveTest in its own package, make timestamped test parameterized 5d3d44a5: Add time-stamped support to LwM2mNodeSenMLEncoder c13bd092: Add time-stamped support to LwM2mNodeSenMLDecoder 9d0c3a75: Enhance Number handling for SenML Decoder/Encoder bb76ecb7: Use Jackson as default encoder/decoder for SenML JSON 02f0eff4: Add LwM2mNodeSenMLDecoder for SenML-JSON with unit tests 5688b346: Fix Minimal SenMLJson Serializer/Deserializer 3bcaad1b: Modify SenML tests to use minimal and jackson encoder/decoder 00b7744b: Add new SenMLJsonDecoder/Encoder interface. cb4656b5: Add dedicated SenMLException class 87fdbccf: Add SenML Json encoder/decoder based on Jackson. fe81abb3: Rename SenMLJson to SenMLJsonMinimalEncoderDecoder ce1efdba: Move SenML JSON class in their own package. a0d6d98f: Move SenML cbor class in their own package. 2968225d: Remove unused SenMLPackSerDes class 1e966170: Update SECURITY.md to add supported version f224ff11: Allow to use custom endpoint context when sending coap request. 3001a336: #437: Add a BootstrapConfigurationStore which stores BootstrapRequets. 7ed36af9: #918: bad endpoint encoding in UI when using bs server demo REST API df61cb33: #913: fix LWM2N JSON encoding issue with resource instance 76377691: LeshanBootstrapServerDemo: Add support to load trust store from Java trust store 9bc7a3b0: LeshanClientDemo: Add command line options to configure trust store 99577c1e: LeshanClient: Add initial trust store support. b10b19e1: LeshanServerDemo: Add support to load trust store from Java trust store 091ba203: DefaultEndpointFactory: Add new endpoint context matcher for clients 3a86ea24: X509CertUtil: matchSubjectInetAddress: Use strict subject alternative mode e814ae02: X509CertUtil: matchSubjectDnsName: Use strict subject alternative mode 55c3096f: Bump junit from 4.13 to 4.13.1 e9d77997: DefaultLeshanCertificateVerifier: Add new certificate verifier helper 3a725001: SecurityTest: Fix X.509 end point name comparison 2dc2bcaa: X509CertUtil: Add new helper class for using X.509 certificates 87cb5c09: Bump version to 2.0.0-SNAPSHOT

leshan-1.3.0

3 years ago

:exclamation::skull_and_crossbones::exclamation: Affected by security issue:exclamation::skull_and_crossbones::exclamation:

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 :pray: !

Known Issue :beetle: :

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

Change logs

6596442d: #933: destroy LeshanClient on unexpected error. b2429897: #933: Call onUnexpectedError() when unexpected error occurred 9d5b405f: #933: Add an interface LwM2mClientObserver2 to handle unexpected error aad536f0: #933: Implement Destroyable, Startable and Stoppable for LwM2mObjectTree 2d21d7c6: #933: Implement Destroyable, Startable and Stoppable for ObjectEnabler 1e9287fe: #933: Mark as deprecated for server.(Destroyable, Startable, Stoppable) a60b898e: #933: Add new interfaces to core: Destroyable, Startable and Stoppable 1f34ca74: Remove suppressWarning("deprecation") 40aad7c3: Revert "Temporary workaround about HELLO_VERIFY_REQUEST protocol version." 6f374925: Integration of Californium 2.6.0 b72d22d9: Add support ObjectLink for OLD JSON content format. 32205a2b: Move ObjectLink String decoding/encoding in ObjectLink class. a29f4c7b: Temporary workaround about HELLO_VERIFY_REQUEST protocol version. 79707017: Cf-2.5.0 : remove deprecate usage of TrustedRpkStore/CertificateVerifier caa03d13: Cf-2.5.0 : remove usage of deprecated PskStore d12e6eda: Integration of Californium 2.5.0 04c93a0b: Update some dependencies. (#927: Now Leshan should build with java15) 4dde95f6: Bump jetty.version from 9.4.31.v20200723 to 9.4.34.v20201102 7d2da211: Allow to use custom endpoint context when sending coap request. e9b2fe6a: #918: bad endpoint encoding in UI when using bs server demo REST API 82146a2c: Bump junit from 4.13 to 4.13.1