This milestone release focuses mainly on the newly added MQTT connectivity. It brings Ditto an important step closer to the first planned release 0.8.0.
Since the last milestone of Eclipse Ditto 0.8.0-M1, the following changes, new features and bugfixes were added.
Define and enforce max. entity sizes in Ditto cluster
In previous versions of Ditto the entity sizes (e.g. for things and policies) were technically not limited. The only implicit limit was a max. cluster message size of 10m. As Ditto is not intended to manage digital twins which are that big, the sizes of the twins are now by default limited to:
- max Thing size: 100k
- max Policy size: 100k
- max Message payload size: 250k
They can be adjusted to other needs via the configuration located in ditto-limits.conf.
The default maximum frame size in the ditto cluster was changed to 256k and can be adjusted in the ditto-akka-config.conf.
In two big PRs (#225 and #235) Ditto added support for connecting to MQTT brokers (like for example Eclipse Mosquitto) via its connectivity feature. Have a look at the MQTT protocol binding for details.
Subscribing for change notifications by optional filter
Until previous versions, when subscribing for changes, the subscriber always got all
changes he was entitled to see (based on access control). Now it is possible to specify for which
changes to subscribe based on the optional
namespaces to consider and an optional RQL
The new feature is documented as change notification filters.
Support for conditional requests
Ditto’s APIs now support
If-None-Match headers specified in
policies resources. Have a look at the
new documentation for conditional requests for how this concept
can help with advanced interaction-patterns with your twins.
Reconnection to AMQP 0.9.1 connections
Reconnection did not always work, e.g. when the AMQP 0.9.1 broker was not reachable for a while.
Various smaller bugfixes
This is a complete list of the merged pull requests.