|
| 1 | +--- |
| 2 | +title: "Announcing Eclipse Ditto Release 3.0.0" |
| 3 | +published: true |
| 4 | +permalink: 2022-09-28-release-announcement-300.html |
| 5 | +layout: post |
| 6 | +author: thomas_jaeckle |
| 7 | +tags: [blog] |
| 8 | +hide_sidebar: true |
| 9 | +sidebar: false |
| 10 | +toc: false |
| 11 | +--- |
| 12 | + |
| 13 | +The Eclipse Ditto teams is proud to announce the availability of Eclipse Ditto |
| 14 | +[3.0.0](https://projects.eclipse.org/projects/iot.ditto/releases/3.0.0). |
| 15 | + |
| 16 | +With 3.0.0, the required amount of different service roles was reduced from 6 to only 5 as the "ditto-concierge" |
| 17 | +service's responsibilities (performing authorization) was moved to other services. |
| 18 | +That reduces the overall resource consumption and network traffic of a Ditto installation. |
| 19 | + |
| 20 | +The other big topic for version 3.0.0 is the new search index which does not only respond much quicker to search queries, |
| 21 | +but also brings lots of performance improvements regarding MongoDB utilization and also a huge stabilization regarding |
| 22 | +consistency of the search in Ditto. |
| 23 | + |
| 24 | +Many other new features and improvements are also part of the release, e.g. a new HTTP API for managing connections and |
| 25 | +even the first version of a Ditto UI. |
| 26 | + |
| 27 | +## Adoption |
| 28 | + |
| 29 | +Companies are willing to show their adoption of Eclipse Ditto publicly: |
| 30 | +[https://iot.eclipse.org/adopters/?#iot.ditto](https://iot.eclipse.org/adopters/?#iot.ditto) |
| 31 | + |
| 32 | +From our various [feedback channels](feedback.html) we however know of more adoption. |
| 33 | +If you are making use of Eclipse Ditto, it would be great to show this by adding your company name to that list of |
| 34 | +known adopters. |
| 35 | +In the end, that's one main way of measuring the success of the project. |
| 36 | + |
| 37 | + |
| 38 | +## Changelog |
| 39 | + |
| 40 | +The main improvements and additions of Ditto 3.0.0 are: |
| 41 | + |
| 42 | +* Ability to **search in JSON arrays** and thus also for feature definitions |
| 43 | +* Several **improvements around "metadata"** in Ditto managed things |
| 44 | +* Creation of **new HTTP API for CRUD** management of Ditto managed **connections** |
| 45 | +* Addition of **Ditto explorer UI** for managing things, policies and connections |
| 46 | +* Support for EC signed JsonWebKeys (JWKs) |
| 47 | +* W3C WoT (Web of Things) adjustments and improvements for latest 1.1 "Candidate Recommendation" from W3C |
| 48 | +* Make "default namespace" for creating new entities configurable |
| 49 | +* Provide custom namespace when creating things via HTTP POST |
| 50 | +* Make it possible to provide multiple OIDC issuer urls for a single configured openid-connect "prefix" |
| 51 | +* Addition of a "CloudEvents" mapper for mapping CE payloads in Ditto connections |
| 52 | + |
| 53 | +The following non-functional work is also included: |
| 54 | + |
| 55 | +* New Ditto **"thing" search index** massively improving write performance; reducing the search consistency lag |
| 56 | + and improving search query performance |
| 57 | +* **Removal of former "ditto-concierge" service**, moving its functionality to other Ditto services; reducing overall |
| 58 | + resource consumption and improving latency+throughput for API calls |
| 59 | +* Creation of common way to extend Ditto via DittoExtensionPoints |
| 60 | +* Rewrite of Ditto managed **MQTT connections to use reactive-streams based client**, supporting consumption applying |
| 61 | + backpressure |
| 62 | +* Further improvements on rolling updates and other failover scenarios |
| 63 | +* Consolidate and simplify DevOps command responses |
| 64 | + |
| 65 | +The following notable fixes are included: |
| 66 | + |
| 67 | +* **Passwords** stored in the URI of **connections** to **no longer need to be double encoded** |
| 68 | +* Using the `Normalized` connection payload mapper together with enriched `extra` fields lead to wrongly merged things |
| 69 | +* Adding custom Java based `MessageMappers` to Ditto via classpath was no longer possible |
| 70 | + |
| 71 | +Please have a look at the [3.0.0 release notes](release_notes_300.html) for a more detailed information on the release. |
| 72 | + |
| 73 | + |
| 74 | +## Artifacts |
| 75 | + |
| 76 | +The new Java artifacts have been published at the [Eclipse Maven repository](https://repo.eclipse.org/content/repositories/ditto/) |
| 77 | +as well as [Maven central](https://repo1.maven.org/maven2/org/eclipse/ditto/). |
| 78 | + |
| 79 | +The Ditto JavaScript client release was published on [npmjs.com](https://www.npmjs.com/~eclipse_ditto): |
| 80 | +* [@eclipse-ditto/ditto-javascript-client-dom](https://www.npmjs.com/package/@eclipse-ditto/ditto-javascript-client-dom) |
| 81 | +* [@eclipse-ditto/ditto-javascript-client-node](https://www.npmjs.com/package/@eclipse-ditto/ditto-javascript-client-node) |
| 82 | + |
| 83 | + |
| 84 | +The Docker images have been pushed to Docker Hub: |
| 85 | +* [eclipse/ditto-policies](https://hub.docker.com/r/eclipse/ditto-policies/) |
| 86 | +* [eclipse/ditto-things](https://hub.docker.com/r/eclipse/ditto-things/) |
| 87 | +* [eclipse/ditto-things-search](https://hub.docker.com/r/eclipse/ditto-things-search/) |
| 88 | +* [eclipse/ditto-gateway](https://hub.docker.com/r/eclipse/ditto-gateway/) |
| 89 | +* [eclipse/ditto-connectivity](https://hub.docker.com/r/eclipse/ditto-connectivity/) |
| 90 | + |
| 91 | +<br/> |
| 92 | +<br/> |
| 93 | +{% include image.html file="ditto.svg" alt="Ditto" max-width=500 %} |
| 94 | +--<br/> |
| 95 | +The Eclipse Ditto team |
0 commit comments