This is Ditto’s first major release which is tied to project graduation in Eclipse IoT.
This release is completely IP (intellectual property) checked by the Eclipse Foundation meaning that project code as well as all used dependencies were “[…] reviewed to ensure that the copyrights expressed are correct, licensing is valid and compatible, and that other issues have been uncovered and properly investigated.”
What’s in this release?
Eclipse Ditto 1.0.0 focuses on the following areas:
- Addition of “definition” field in thing at model level containing the model ID a thing may follow
- Improved connection response handling/mapping
Compared to the latest milestone release 1.0.0-M2, the following changes, new features and bugfixes were added.
We removed suffixed collection support from Things and Policies persistence. These collections do not scale well with increased amount of namespaces and lead to massive problems with mongodb as sharding can’t be used.
Adds the possibility to define a “reply target” for connection sources where
- the response address may be configured
- response header mappings may be configured
Both accepting placeholders, so e.g. with that feature it is possible to send replies whenever an incoming command
Used in combination with Eclipse Hono it is possible to send responses to devices which e.g. need to retrieve data from Ditto.
In order to specify which model a Thing follows, the JSON of the Thing entity was enhanced with a single string for
"definintion". This can e.g. be used in order to place an Eclipse Vorto
“Information Model” reference to a Thing.
When closing a WebSocket session, a
NullPointerException occurred which is fixed now.
OpenID Connect URLs are now prefixed with
https:// per default. Any configured URLs containing
https:// will break the configuration.
https://auth.eclipse.de/auth/realms/ditto it has to be
The Configuration option is
Because we removed support for suffixed collections with this release, an offline migration with the provided script is needed.
The script will copy all Thing and Policy events and snapshots from suffixed collections to one journal for each entity, e.g. from email@example.com and firstname.lastname@example.org to things_journal.
- Completely stop Ditto.
- Execute the migration script via mongo shell.
- Update Ditto to 1.0.0.
- Start Ditto.