From e4a1f1c1f65d6b1b120a8c523c35e4d85c465b16 Mon Sep 17 00:00:00 2001 From: Thomas Jaeckle Date: Wed, 30 Sep 2020 11:52:42 +0200 Subject: [PATCH] added Ditto 1.3.0 release notes + announcement Signed-off-by: Thomas Jaeckle --- .../_data/sidebars/ditto_sidebar.yml | 3 + .../2020-09-30-release-announcement-130.md | 53 +++++++++++ .../pages/ditto/connectivity-mapping.md | 9 +- .../pages/ditto/release_notes_130.md | 91 +++++++++++++++++++ 4 files changed, 152 insertions(+), 4 deletions(-) create mode 100644 documentation/src/main/resources/_posts/2020-09-30-release-announcement-130.md create mode 100644 documentation/src/main/resources/pages/ditto/release_notes_130.md diff --git a/documentation/src/main/resources/_data/sidebars/ditto_sidebar.yml b/documentation/src/main/resources/_data/sidebars/ditto_sidebar.yml index 8cc93e29fc..665f0c4cf3 100644 --- a/documentation/src/main/resources/_data/sidebars/ditto_sidebar.yml +++ b/documentation/src/main/resources/_data/sidebars/ditto_sidebar.yml @@ -23,6 +23,9 @@ entries: - title: Release Notes output: web folderitems: + - title: 1.3.0 + url: /release_notes_130.html + output: web - title: 1.2.1 url: /release_notes_121.html output: web diff --git a/documentation/src/main/resources/_posts/2020-09-30-release-announcement-130.md b/documentation/src/main/resources/_posts/2020-09-30-release-announcement-130.md new file mode 100644 index 0000000000..40732f9a91 --- /dev/null +++ b/documentation/src/main/resources/_posts/2020-09-30-release-announcement-130.md @@ -0,0 +1,53 @@ +--- +title: "Announcing Eclipse Ditto Release 1.3.0" +published: true +permalink: 2020-09-30-release-announcement-130.html +layout: post +author: thomas_jaeckle +tags: [blog] +hide_sidebar: true +sidebar: false +toc: false +--- + +Today, the Ditto team is happy to announce the next feature update of Ditto `1.x`: **Eclipse Ditto 1.3.0** + +1.3.0 focuses on the following areas: + +* Implicit/automatic creation of digital twins (things) +* Use response of HTTP push connections as live message response +* "Raw" payload mapper for "pass-through" connectivity scenarios not affecting the twin + +Please have a look at the [1.3.0 release notes](release_notes_130.html) for a more detailed information on the release. + +Also, some bugs were fixed which are not backported to Ditto 1.2.x - it is recommended to update to Ditto 1.3.0 right +away and skip 1.2.x. + + +## Artifacts + +The new Java artifacts have been published at the [Eclipse Maven repository](https://repo.eclipse.org/content/repositories/ditto/) +as well as [Maven central](https://repo1.maven.org/maven2/org/eclipse/ditto/). + +Also the [Ditto Java client](client-sdk-java.html)'s artifacts were published to Maven central. + +The Docker images have been pushed to Docker Hub: +* [eclipse/ditto-policies](https://hub.docker.com/r/eclipse/ditto-policies/) +* [eclipse/ditto-things](https://hub.docker.com/r/eclipse/ditto-things/) +* [eclipse/ditto-things-search](https://hub.docker.com/r/eclipse/ditto-things-search/) +* [eclipse/ditto-gateway](https://hub.docker.com/r/eclipse/ditto-gateway/) +* [eclipse/ditto-connectivity](https://hub.docker.com/r/eclipse/ditto-connectivity/) +* [eclipse/ditto-concierge](https://hub.docker.com/r/eclipse/ditto-concierge/) + + +## Kubernetes ready: Helm chart + +In order to run Eclipse Ditto in a Kubernetes environment, best rely on the official +[Helm chart](https://hub.helm.sh/charts/eclipse-iot/ditto) and deploy Ditto via the Helm package manager. + + +
+
+{% include image.html file="ditto.svg" alt="Ditto" max-width=500 %} +--
+The Eclipse Ditto team diff --git a/documentation/src/main/resources/pages/ditto/connectivity-mapping.md b/documentation/src/main/resources/pages/ditto/connectivity-mapping.md index 83f6e25c2f..0b252074d9 100644 --- a/documentation/src/main/resources/pages/ditto/connectivity-mapping.md +++ b/documentation/src/main/resources/pages/ditto/connectivity-mapping.md @@ -246,6 +246,7 @@ Example configuration: Exclude to send it to the thing itself. Default to `{%raw%}{{ header:ditto-message-feature-id }}{%endraw%}`. ### ImplicitThingCreation Mapper + This mapper implicitly creates a new thing for an incoming message. The created thing contains the values defined in the template, configured in the `mappingDefinitions` `options`.
@@ -303,10 +304,10 @@ The following example connection defines a `ConnectionStatus` mapping with the I ## Example connection with mapping conditions The following example connection defines `incomingConditions` and `outgoingConditions`for the ConnectionStatus mapping engine.
- Optional incomingConditions are validated before the mapping of inbound messages.
- Optional outgoingConditions are validated before the mapping of outbound messages.
- Conditional Mapping can be achieved by using [function expressions](basic-placeholders.html#function-expressions). - When multiple incoming or outgoing conditions are set for one `mappingEngine`, all have to equal true for the mapping to be executed. +Optional incomingConditions are validated before the mapping of inbound messages.
+Optional outgoingConditions are validated before the mapping of outbound messages.
+Conditional Mapping can be achieved by using [function expressions](basic-placeholders.html#function-expressions). +When multiple incoming or outgoing conditions are set for one `mappingEngine`, all have to equal true for the mapping to be executed. ```json { diff --git a/documentation/src/main/resources/pages/ditto/release_notes_130.md b/documentation/src/main/resources/pages/ditto/release_notes_130.md new file mode 100644 index 0000000000..92c16065e0 --- /dev/null +++ b/documentation/src/main/resources/pages/ditto/release_notes_130.md @@ -0,0 +1,91 @@ +--- +title: Release notes 1.3.0 +tags: [release_notes] +published: true +keywords: release notes, announcements, changelog +summary: "Version 1.3.0 of Eclipse Ditto, released on 30.09.2020" +permalink: release_notes_130.html +--- + +Ditto **1.3.0** is API and [binary compatible](https://github.com/eclipse/ditto/blob/master/documentation/src/main/resources/architecture/DADR-0005-semantic-versioning.md) +to prior Eclipse Ditto 1.x versions. + +## Changelog + +Compared to the latest minor release [1.2.0](release_notes_120.html), the following changes, new features and +bugfixes were added. + + +### Changes + +#### [Update Akka, Akka HTTP and Scala to latest versions](https://github.com/eclipse/ditto/issues/774) + +The core libraries Ditto is built on were updated to their latest versions which should improve cluster stability +and overall performance. + +#### [Removed OWASP security headers](https://github.com/eclipse/ditto/pull/804) + +Setting the [OWASP recommended secure HTTP headers](https://owasp.org/www-project-secure-headers/) +(e.g. `X-Frame-Options`, `X-Content-Type-Options`, `X-XSS-Protection`) was removed from the Ditto codebase as such +headers are typically set in a reverse proxy (e.g. nginx) or in a cloud loadbalancer in front of Ditto. + + +### New features + +#### [Automatic creation of things](https://github.com/eclipse/ditto/issues/760) + +Added a [payload mapper](connectivity-mapping.html) for connectivity which implicitly creates a new digital twin (thing) +for incoming messages: [ImplicitThingCreation Mapper](connectivity-mapping.html#implicitthingcreation-mapper). + +This is very useful when e.g. a device connectivity layer (like [Eclipse Hono](https://eclipse.org/hono/)) also +automatically creates connected devices, for example when a new device connects for the first time to an IoT gateway. + +This new feature can work together with the +[Hono feature for implicit registration of devices connected via gateways](https://github.com/eclipse/hono/issues/2053). + +#### [Use response of HTTP push connections as live message response](https://github.com/eclipse/ditto/pull/809) + +When [HTTP connections](connectivity-protocol-bindings-http.html) there are now several options +to respond to published [live messages](protocol-specification-things-messages.html): +[Responding to messages]([HTTP connections](connectivity-protocol-bindings-http.html#responding-to-messages) + +For example, it is possible to use the HTTP response of the foreign HTTP endpoint (Webhook) as Ditto live message +response. + +#### [Raw payload mapper to enable raw pass-through of live messages](https://github.com/eclipse/ditto/issues/777) + +Added a [payload mapper](connectivity-mapping.html) for connectivity which converts consumed messages via connectivity +in "raw mode": [RawMessage mapper](connectivity-mapping.html#rawmessage-mapper). + +This mapper creates a [Ditto Protocol live message](protocol-specification-things-messages.html) from consumed messages +preserving the payload (e.g. JSON or text, binary, etc.) and publishing that message again to interested subscribers. + +This can be useful for connections which only need Ditto to forward a message to e.g. another connection or to a +WebSocket. + + +### Bugfixes + +Several bugs in Ditto 1.2.x were fixed for 1.3.0.
+This is a complete list of the +[merged pull requests](https://github.com/eclipse/ditto/pulls?q=is%3Apr+milestone%3A1.3.0), including the fixed bugs. + +#### [Responses from HTTP /messages API were JSON escaped](https://github.com/eclipse/ditto/issues/805) + +With Ditto 1.2.0 HTTP responses to the `POST /messages` APIs which transported `application/json` were falsely JSON +escaped. As the fix for that had to be done in several steps and at several places, the fix is not backported to the +Ditto 1.2.0 line and it is suggested to update to Ditto 1.3.0 right away, if affected by this bug. + +#### [Putting `_metadata` while creating a Thing does not work bug](https://github.com/eclipse/ditto/issues/801) + +When putting [Metadata](basic-metadata.html) as part of a "create thing" API call, the metadata was not applied. Only +when updating an existing thing, the metadata was applied. + +#### [Ditto Java Client: threads leakage](https://github.com/eclipse/ditto-clients/pull/87) + +The Ditto Java client did not close/cleanup its threadpools when closing the client. + + +## Migration notes + +None.