Skip to content

Releases: ankraft/ACME-oneM2M-CSE

2025.11

24 Nov 11:19

Choose a tag to compare

New Features

  • Added support for notification target removal.
  • Added new resource types <notificationTargetPolicy>, <notificationTargetSelfReference>, <notificationTargetMgmtPolicyRef>, and <policyDeletionRules>.
  • Added support for Mcc': Registering to another service providers IN-CSE.
  • Added announcement via Mcc'.
  • Added new management interface for the CSE. It is accessible via http(s).
  • Added support for MQTT over WebSockets.

Improvements

  • Added validation support for fixed list lengths in attribute policies.
  • Added validation support for choices in attribute policies, when only one of the marked attributes is allowed.
  • Added UtTriggerPrimitive and UtTriggerAckPrimitive support to the Upper Tester interface.
  • Added .env file support to set environment variables for configuration settings.
  • Restructured and widely extended the onboarding manager to support more flexible onboarding configurations.
  • Added "T" symbol to the script interpreter.
  • Added base64-decode, shutdown-cse, restart-cse, refresh-registrations and tui-confirm functions to the script interpreter.
  • Added serviceProviderID to the [basic.config] configuration section. This way the service provider ID can be easier configured.

Fixes

  • Added check for "Resource Type" request parameter. It is only allowed for CREATE requests.
  • Spaces in script arguments are now preserved when passing them in double quotes to the script interpreter.
  • Added missing creator attribute in deletion notifications for <crossResourceSubscription> resources.
  • Fixed wrong handling of announced <flexContainer> resources. Custom attributes were not announced correctly.

Breaking Changes

  • Python 3.11 is now the minimum required version to run the CSE.
  • Changed the default releaseVersion from 4 to 5.
  • Renamed the default ACP that is created during CSE initialization from acpCreateAcps to acpCreateRootResources.
  • Changed the format of the configuration setting [[cse.registration].allowedCSROriginators to correct SP-relative identifiers. This could be a breaking change if the configuration file is not adapted.
  • Moved checkInterval setting to [cse.registration] configuration section.
  • Changed the file name scheme for the TinyDB database files. It now consists of the database name, the service provider ID and the CSE ID, e.g. resources-acme.example.com-id-in.json.
  • Changed the file name scheme for log files. It now consists of the service provider ID and the CSE ID, e.g. cse-acme.example.com-id-in.log.
  • Changed HTTP server ID format to use a slash instead of a space (ACME/version).

Experimental

  • Allow optional announcement of resourceName attribute in announced resources. Added discoverable naming of CSEBaseAnnc.

Misc

  • Added support to retrieve configuration settings from a Zookeeper service. This is an alternative to the acme.ini configuration file.
  • Added the zk-tool to manage the Zookeeper configuration data. This tool is used to create, delete, and list nodes in Zookeeper as well as to store and retrieve configuration data in INI format.
  • Added onboarding support for Service Provider registrations and storing the config settings in a Zookeeper service.

2025.03.2

16 Mar 12:14

Choose a tag to compare

Fixes

  • Replaced accidental constant with configurable secret when testing hashed credentials.

2025.03.1

13 Mar 13:48

Choose a tag to compare

New Features

  • Added support for the [credential] ManagementObject specialization.
  • Added check if the operation execution time (oet) is after rqet or rset.
  • Added fset build-in command to set an alias to functions and lambdas in the script interpreter.
  • Added support for <Subscription>'s enableEventNotificationOriginator attribute. This implements SDS-2023-0096 and SDS-2023-0143.
  • Made onboarding available as an extra application that can be started via the command line.
  • Added configuration of other bindings in onboarding.
  • Added support for the <ACP> AccessControlRule's accessControlAuthenticationFlag attribute.
  • Added "master" secret for salted password hashing.
  • Added experimental support for the "no response" Response Type behavior for blocking requests.
  • Added command line argument to print the configuration settings to the info log. The configuration settings are not printed to the console by default anymore.

Improvements

  • Added support for other data types (int, float, bool, list, dict) for the <ContentInstance>'s content attribute. Until now, only string was supported as a valid data type.
  • Added support for the revised FlexContainer and FlexContainerInstance resource types.
  • Added configurable default settings for mia attribute in <Container>, <FlexContainer> and <TimeSeries> resources.
  • Added support for authentication between CSEs via Mcc.
  • The method for creating resource IDs has been changed to use alphanumeric characters instead of only digits. Also, the length of generated resource IDs is now configurable.
  • Requests are treated internally as authenticated when an authenticated http or WebSocket request is received.
  • Added support to provide credentials (usernames, password, tokens) in environment variables instead of setting them in the configuration file.
  • Improved plantuml diagram generation.
  • Many small optimizations and improvements in the CSE's internal handling, especially for internal resource object creation.

Fixes

  • Fixed partial attribute retrieval for <flexContainer> specializations.
  • Improved stability of the CoAP protocol binding in case of listening errors.
  • Fixed regression bug when using newer versions of the isodate package.
  • Prevent other content than 'm2m:sgn' and 'm2m:rsp' in notification requests.
  • Prevent targeting CSE as target of a notification to prevent notification loops.
  • Hiding the "Requests" tabs in the TUI when request recording is disabled.
  • Adapted to Textual release 1.0.0.

Breaking Changes

  • Added experimental support for the revised <FlexContainer> and <FlexContainerInstance> resource types.
  • Password and tokens in the auth credential files are now hashed and not stored in clear text anymore.

Misc

  • Added support for enabling/disabling syntax highlighting in the resource editor of the text UI. The syntax package is now not installed by default because it is not available on all platforms. It be installed afterward if needed.
  • Added tool to generate hashed passwords and tokens for the auth credential files.
  • For tests: Added cmdline argument to disable the check and use of the Upper Tester interface.

2024.10.1

20 Feb 14:28

Choose a tag to compare

Fixes

  • Fixed wrong textual package version

2024.10

08 Oct 12:43

Choose a tag to compare

New Features

  • CSE

    • Added CoAP protocol binding
    • Reading command line arguments from a file
  • Text UI

    • Added support for sending CREATE and UPDATE requests in the text UI.
    • Addd displaying cURL commands for operations
    • Copying of resources and identifiers to clipboard
    • Copying of CSV data to the clipboard

Improvements

  • CSE
    • Internal restructuring of configuration handling and validation

Fixes

  • CSE
    • Fixed crash when the environment variables contain "$" characters.
  • Database
    • Fixed wrong removal of null-attributes in complex attributes for the PostgreSQL database binding.
  • Web UI
    • Fixed the web UI when the CSE's http server is not running directly under the root path.

Misc

  • CSE
    • Internal restructuring of runtime constants and configuration validations

2024.06.01

28 Jun 11:50

Choose a tag to compare

  • Fixed support for UTC time logging for the supported Python versions.

2024.06

26 Jun 09:57
9dd4b1c

Choose a tag to compare

New Features

  • Added support for operationMonitor attribute in <subscription> resources.
  • Improved support for DELETE operations on <request> resources.
  • Added support for attribute-level access control.
  • Added support ACP access control contexts: accessControlWindow
  • Added support for logging in UTC time.
  • Added new functions all, any, filter, map, min, max, reduce, reverse to the script interpreter.
  • Added --exlcude-tests command line argument to exclude specific test cases from the test run.

Improvements

  • Improved the script interpreter's error reporting. The error messages are now more informative and include the call stack.
  • Changed the http script function: Now supporting quoted list for headers in addition to the JSON struct.
  • Simplified internal test case registration.
  • Added support for logging in UTC time.
  • Improvements for the Text UI
    • Added support for sending UPDATE operations.
    • Improved design and layout of many views.

Fixes

  • Many small fixes

Misc

2024.05.01

13 May 10:41

Choose a tag to compare

  • The ACME CSE documentation can now be found at https://acmecse.net.
  • ACME releases can now be installed via the PyPi package manager : pip install acmecse
  • The base directory where the acme.ini configuration file, and data, logs, tmp and a secondary init directories are stored can now be specified. It doesn't have to be the current working directory anymore.

Improvements

  • Adding support for environment variables in configuration setting interpolations.

Fixes

  • Changed the values for the [SIM] and [MobileNetwork] ManagementObject specializations to adapt the changes in TS-0022.

Breaking Changes

  • Moved the init directory to the acme module.
  • Moved the acme.ini.default file to the new init directory location.

2024.04.1

20 Apr 11:22

Choose a tag to compare

Fixed

  • [MQTT] Fixed paho MQTT implementation for V2 #153

2024.04

18 Apr 10:48

Choose a tag to compare

  • ACME finally gets a serious database binding. Form this release on resources and runtime data can be stored in a PostgreSQL database backend.
    TinyDB will still be supported for local file-based and in-memory deployments.
  • Updated the MQTT client and connection functions to the Paho 2.0 version.
  • Fixes for issues #146 and #147
  • Improved the handling of semantic queries' result serialization. The proper format (JSON or XML) is now used depending on the original request's content serialization. Also, corrected the handling of semantic request parameters. See PR #149.

Breaking Changes

  • The configuration for database settings has been changed. It has been split into different sections for the different database bindings.