Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[hono-dev] Eclipse Hono Milestone 1.3.0-M3

Dear Hono community,

last week we have created version 1.3.0 milestone 3 of the Eclipse Hono
[1] project.

Hono aims at providing uniform service interfaces for connecting large
numbers of IoT devices to a (cloud) back end. It specifically supports
scalable and secure data ingestion (telemetry data & events) and also
supports sending messages to devices.

Here are the release notes for the changes and improvements since 1.2.3
which are contained in this milestone:

New Features

* The LoraWAN protocol adapter has been extended with support for the
  ChirpStack provider.
* Hono's integration tests can now be run with a Jaeger back end in
  order to collect tracing information.
* The AMQP 1.0 event message based Connection Event producer now sets a
  TTL on the event messages it produces. The TTL is the max TTL
  configured at the tenant level.
* A new Device Registry implementation based on MongoDB database is now
  available in Hono. Please refer to the MongoDB Device Registry User
  Guide for additional information.

Fixes & Enhancements

* An admin guide for the CoAP adapter has been added.
* The Prometheus based resource limits checker now supports configuring
  a query timeout.
  Please refer to Resource Limits Checker Configuration for additional
* When sending a command message to a device, the AMQP adapter now waits
  for a configurable period of time (default is 1 second) for the
  acknowledgement from the device.
  If none is received, the downstream command sender gets back a
  `released` outcome.
  Please refer to the `sendMessageToDeviceTimeout` property description
  in the AMQP Adapter admin guide for additional information.
* The client for storing device connection information to a data grid
  now supports configuring the name of the cache to store the data in.
* When the connection to a device is closed or lost, a protocol adapter
  instance will now stop listening for commands targeted at the device.
* The AMQP adapter before accepting any connections checks if the
  connection limit is exceeded  or not and if the adapter is enabled or
  not. These checks are currently done inside the
  `AmqpAdapterSaslAuthenticatorFactory`. Thereby, if any of these checks
  failed, the AMQP adapter reported authentication failure instead of
  the actual reason. This has been fixed now.
* The AMQP adapter did not consider the `HONO_CONNECTIONEVENTS_PRODUCER`
  configuration variable to set a Connection Event producer. This has
  been fixed.
* The *logging* Connection Event producer now supports configuring the
  level at which information should be logged. The producer type *none*
  has been added to explicitly turn off connection event reporting
  Please refer to the *Common Configuration* admin guide for details.
* The packages `org.eclipse.hono.service.credentials`,
  `org.eclipse.hono.service.registration` and
  `org.eclipse.hono.service.tenant` have been moved from the *service
  base* to the *device-registry-base* module.
* The Device Connection service did return a 500 error code if no *last
  known gateway* could
  be found for a device ID. This has been fixed so that the service now
  returns a 404 in that case as specified by the Device Connection API.
* The cache based Device Connection service implementation now applies a
  lifespan of 28 days when setting/updating cache entries containing
  *last known gateway* information. This means no global expiration
  configuration is needed anymore for the cache.
* Protocol adapters failed to re-establish receiver links for commands
  to be routed after loss of connection to the AMQP Messaging Network.
  This has been fixed.
* The AMQP adapter reported an incorrect number of connections if
  resource limits had been defined and exceeded. This has been fixed.
* The device registry management HTTP endpoints now reject requests to
  register or update objects containing unknown properties. In the past
  such properties had been simply ignored.
* The Device Registry Management API has been amended with example
  messages and more thorough description of operations.

API Changes

* The `getRemoteContainer` method in
  `org.eclipse.hono.client.HonoConnection` has been renamed to
* The `getName` method in
  `org.eclipse.hono.connection.ConnectionFactory` has been removed
  and an additional `connect` method has been added.
* The *set command-handling protocol adapter instance* operation of the
  *Device Connection* API has been extended to support an additional
  parameter which can be used to indicate the maximum amount of time
  that the given information is to be considered valid.
* The `hono-core` module no longer embeds any external classes by
  This includes the *OpenTracing API* and *Spring Crypto* classes. You
  can still embed the classes, as in Hono versions 1.2.x and before, by
  enabling the Maven profile `embed-dependencies` (e.g using the command
  line switch `-Pembed-dependencies`). By default this profile is not
* The `org.eclipse.hono.client.DeviceRegistration` interface's *get*
  methods have been removed because the Device Registration API does not
  define a corresponding operation.
  Consequently, the C&C functionality of the Kerlink Lora provider which
  relied on the *get* method has been removed.

Binary artifacts are available from the Eclipse Repository [4] and from
Maven Central [5].

However, the easiest and preferred way of using Hono is by
means of using the Helm chart that is available from the Eclipse IoT
Packages project. Installation instructions can be found in the Hono
Deployment Guide [6]. Plain Docker images are also available from Docker
Hub [7].

If you want to give Hono a try, please follow the Getting Started guide
on the project web site [8].

Please refer to the project page at Eclipse [9] for Hono's release plan.


Mit freundlichen Grüßen / Best regards

Kai Hudalla

Software Developer - Bosch IoT Hub

Bosch.IO GmbH
Ullsteinstr. 128
12109 Berlin

Registered Office: Berlin, Registration Court: Amtsgericht
Charlottenburg; HRB 148411 B
Chairman of the Supervisory Board: Dr.-Ing. Thorsten Lücke;
Managing Directors: Dr. Stefan Ferber, Dr. Aleksandar Mitrovic, Yvonne

Back to the top