Eclipse Ditto 2.0.0

Release Date
Deliverables
  • Persistence of digital twins
  • Specification of the "Ditto Protocol" for interaction with twins
  • Emitting change notifications whenever a twin was changed
  • Providing a search index for efficiently finding twins by their currently reported state
  • Fine grained access control to twins -> managed by own entity: policies
  • Support for APIs: HTTP/REST, WebSocket, AMQP 1.0 (especially Eclipse Hono), AMQP 0.9.1, MQTT 3.1.1, MQTT 5, Apache Kafka, HTTP push
  • Documentation and specification of all APIs
  • Java artifacts of Ditto's core model + the "Ditto Protocol"
  • A horizontally scalable microservice based architecture
  • Docker images of all microservices
  • Deployment descriptors for Docker Swarm, Kubernetes, OpenShift + Helm template for k8s deployment
  • Clients for both Java and JavaScript
Compatibility

API stability

HTTP API stability

Ditto uses schema-versioning at the HTTP API level in order to being able to evolve breaking APIs.

With this release, Ditto 2.0.0, the HTTP API version 1 located at "/api/1" and "/ws/1" for the WebSocket is removed as announced in Ditto 1.1.0.

HTTP API version 2 is the currently only supported API version.

Java API stability

The Java APIs will for the 2.x release will be kept backwards compatible to 2.x, so only non-breaking additions to the APIs will be done. This is enforced by a Maven tooling.

With this release, Ditto 2.0.0, several Java APIs from Ditto 1.x are broken, e.g. those already marked as @Deprecated in the sources.

Internationalization

No efforts towards i18n are done in this release.

Target Environments

Ditto delivers docker images with a pre-bundled Java runtime (powered by OpenJ9). Ditto supports deployment to Docker Swarm and Kubernetes out of the box.

Name Date Description
2.0.0-M1 2021/02/19 https://github.com/eclipse/ditto/milestone/29
2.0.0-M2 2021/04/08 https://github.com/eclipse/ditto/milestone/31