The Eclipse Ditto teams announces availability of Eclipse Ditto 2.3.0.

It contains mainly new features around the Ditto “live” channel which can be used to directly interact with devices.

Such live commands may now be easily created via the HTTP API - and in addition a conventional API call targeting the persisted twin may now be automatically converted to a live command, based on a passed live channel condition.

With that, we are proud that we now can provide a really powerful addition to Ditto’s “Digital Twin pattern”:

  • requesting data from an actual device e.g. when it is currently connected/online (based on a live channel condition targeting the online status)
  • fall back to its last known persisted state
    • if it is currently not online (the condition did not match)
    • or also as a fallback, if the device does not answer within e.g. 10 seconds
  • all that within one single API call, including information from which source the data was reported back
    • the “live” device or the persisted “twin”


Companies are willing to show their adoption of Eclipse Ditto publicly:

From our various feedback channels we however know of more adoption.
If you are making use of Eclipse Ditto, it would be great to show this by adding your company name to that list of known adopters.
In the end, that’s one main way of measuring the success of the project.


The main improvements and additions of Ditto 2.3.0 are:

  • HTTP API for “live” commands
  • Smart channel strategy for live/twin read access
  • Configurable allowing creation of entities (policies/things) based on namespace and authenticated subjects
  • Allow using * as a placeholder for the feature id in selected fields

The following notable fixes are included:

  • Fix potential concurrent modification errors when using JavaScript payload mapping and global variables
  • Fix reconnect backoff for Kafka connections with authentication failures
  • Fix caching of JWTs in HTTP push connections
  • Fix potentially unreachable client actors in connections with clientCount > 1
  • Fix search inconsistencies for very active things during shard relocation (e.g. on rolling updates)
  • Fix that a Kafka connection with only targets remains “open” even if Kafka broker is not available
  • Allow usage of absolute domain paths ending with a “.” as Kafka bootstrap servers
  • Ensure that Ditto pub/sub state is eventually consistent with a guaranteed upper time limit

The following non-functional work is also included:

  • Update of several used dependencies

Please have a look at the 2.3.0 release notes for a more detailed information on the release.


The new Java artifacts have been published at the Eclipse Maven repository as well as Maven central.

The Ditto JavaScript client release was published on

The Docker images have been pushed to Docker Hub:


The Eclipse Ditto team