Skip to content

Releases: eclipse-hono/hono

1.7.1

18 May 12:40
Compare
Choose a tag to compare

Fixes & Enhancements

  • The CoAP adapter did not correctly track the time it took to forward a command message to a device. This has been fixed.
  • The downstream mapping endpoint was not correctly serialized which resulted in not being able to send commands using the downstream mapping endpoint. This has been fixed.
  • When using Kafka as messaging system, the Command Router now creates the internal Command & Control topic with the
    replication factor defined in the broker default.replication.factor setting.
  • Sending requests using the Hono AMQP request-response client erroneously increased the hono.downstream.timeout metric.
    This has been fixed.

1.6.2

18 May 12:41
Compare
Choose a tag to compare

Fixes & Enhancements

  • The CoAP adapter did not correctly track the time it took to forward a command message to a device. This has been fixed.
  • Sending requests using the Hono AMQP request-response client erroneously increased the hono.downstream.timeout metric.
    This has been fixed.

1.7.0

18 May 12:44
Compare
Choose a tag to compare

New Features

  • Apache Kafka is now supported as a messaging system for command messages.
    This can be enabled by configuring protocol adapters to use Hono's new Kafka-based
    client. Please refer to Hono Kafka Client Configuration for details. The new Command
    & Control API for Kafka defines how applications can use Apache Kafka to send command messages to devices.
    Note that support for Kafka based messaging is still considered an experimental feature.
  • The Device Registry Management API has been extended now to support an optional unique identifier
    for trust anchors belonging to a tenant. The file, JDBC and MongoDB based device registries
    support this feature. Please refer to the Device registry management API for details.
  • The LoraWAN protocol adapter has been extended with support for The Things Stack provider.
  • The LoraWAN protocol adapter now supports command and control for providers Chirpstack, Firefly and Loriot.
  • Added (experimental) Quarkus based variant of the Authentication service.
  • Added (experimental) Quarkus based variant of the CoAP protocol adapter.
  • Added (experimental) Quarkus based variant of the Command Router component.
  • The container images for the (experimental) Quarkus based variant of Hono components are now being published on
    Docker Hub as well. The JVM based image names contain a -quarkus suffix whereas the native image names contain a
    -quarkus-native suffix. Note that the Quarkus based protocol adapter images do not support using the Device
    Connection service but require a connection to the Command Router service being configured instead.
  • The MQTT adapter now lets devices subscribe on a new error topic to get informed about errors during the processing
    of telemetry, event or command response message. With such an error subscription in place, the default behaviour
    on such errors is now to keep the MQTT connection open. Please refer to the MQTT Adapter User Guide for details.
  • The MQTT adapter now supports mapping the command payload through an external http service.
  • The Command Router component has been promoted from tech preview to fully supported.
  • The AMQP adapter now closes the network connection to the device if any terminal errors happen. Please refer to the
    AMQP Adapter User Guide for details.

Fixes & Enhancements

  • The common configuration property for setting the vert.x instance's max-event-loop-execute-time had erroneously
    been documented as HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME_MILLIS, accepting an integer representing the duration as
    number of milliseconds. However, the correct property is named HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME and accepts an
    ISO-8601 Duration string instead of an integer.
  • The MQTT adapter failed to handle a command response message if the corresponding tenant object wasn't available
    in the cache. This has been fixed.
  • A failed connection attempt in the default org.eclipse.hono.connection.ConnectionFactory implementation could
    have led to the AMQP connection not getting closed, occupying connection resources. This has been fixed.
  • Validation of MQTT topics containing property bags has been improved, preventing unhandled exceptions.
  • The hugo themes for the Hono website and the documentation have been updated to the latest versions respectively.
    In order for the site module build to succeed with the hugo binary installed locally, the
    site/homepage/themes/hugo-universal-theme and site/documentation/themes/hugo-theme-learn folders need to be deleted.
    They will automatically be (re-)created as part of the build.
  • The Infinispan client used by the protocol adapters, the Device Connection and Command Router services has been
    updated to version 11.0.9. The syntax of configuration file used for defining an embedded cache in the Device
    Connection and/or Command Router service has changed as documented
    in the Infinispan version details.
  • The Command Router no longer uses the embedded-cache Spring profile in order to configure an embedded cache.
    Instead, the Command Router determines the type of cache (embedded or remote) by means of the
    HONO_COMMANDROUTER_CACHE_REMOTE_SERVERLIST configuration variable. Please refer to the
    Command Router Admin Guide for details.
  • The Prometheus based resource limit checks can now be configured with a time out for establishing the TCP connection
    to the Prometheus server. This is useful to limit the time it takes to invoke the Prometheus Query API.
    Please refer to the Protocol Adapter Common Configuration guide for details.

API Changes

  • The already deprecated classes org.eclipse.hono.service.cache.SpringBasedExpiringValueCache and
    org.eclipse.hono.service.cache.SpringCacheProvider have been removed.
  • The org.eclipse.hono.service.AbstractApplication and org.eclipse.hono.service.AbstractBaseApplication classes
    have been moved to org.eclipse.hono.service.spring.AbstractApplication and org.eclipse.hono.service.spring.AbstractApplication
    in the newly added service-base-spring module respectively.
  • The existing mapper configuration has been renamed to downstream-message-mapper.
  • The Command Router component now requires the configuration of a tenant service client. Please refer to
    Tenant Service Connection Configuration for details.

End of Life

  • The build-docker-image build profile is no longer activated automatically if the docker.host Maven property
    is set. This has been changed in order to prevent the build-docker-image and build-native-image profiles being
    activated at the same time when running something like

    mvn clean install -Ddocker.host=tcp//host:port -Pbuild-native-image

    Activating the build-docker-image profile by default can easily be achieved by adding -Pbuild-docker-image to
    the MAVEN_OPTS environment variable instead.

1.6.1

18 May 12:45
Compare
Choose a tag to compare

Fixes & Enhancements

  • The common configuration property for setting the vert.x instance's max-event-loop-execute-time had erroneously
    been documented as HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME_MILLIS, accepting an integer representing the duration as
    number of milliseconds. However, the correct property is named HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME and accepts an
    ISO-8601 Duration string instead of an integer.
  • The MQTT adapter failed to handle a command response message if the corresponding tenant object wasn't available
    in the cache. This has been fixed.
  • A failed connection attempt in the default org.eclipse.hono.connection.ConnectionFactory implementation could
    have led to the AMQP connection not getting closed, occupying connection resources. This has been fixed.
  • Validation of MQTT topics containing property bags has been improved, preventing unhandled exceptions.
  • The protocol adapters might have run into a situation where devices connected to adapters did no longer receive
    commands when using the Command Router service. The problem occurred when a Command Router service instance had been
    restarted while one or more protocol adapters where connected to it. This has been fixed.

1.6.0

18 May 12:47
Compare
Choose a tag to compare

New Features

  • Apache Kafka is now supported as a messaging system for events and telemetry messages.
    This can be enabled by configuring protocol adapters to use Hono's new Kafka-based
    client. Please refer to Hono Kafka Client Configuration for details.
  • New APIs have been added for the Kafka-based messaging. Please refer to
    Telemetry API for Kafka and Event API for Kafka for the specifications.
  • The MQTT adapter now allows clients to indicate whether they want the target device's tenant and/or device IDs
    to be included in the topic used when publishing commands.
  • The caching behavior of the protocol adapters' AMQP based registry clients has been changed. All adapter
    Verticle instances now share a single cache instance per service. In particular, there is a single cache for
    all responses returned by the Tenant, Device Registration and Credentials service respectively.
    In addition, each cache is now being used for all responses to requests regardless of the tenant. Consequently, the
    service client configurations' responseCacheMinSize and responseCacheMaxSize properties now determine
    the overall number of responses that can be cached per service. In previous versions the properties determined
    the number of entries per client instance and tenant. The new approach allows for better control over the maximum
    amount of memory being used by the cache and should also increase cache hits when deploying multiple adapter
    Verticle instances.
    The org.eclipse.hono.adapter.client.registry.amqp.ProtonBasedTenantClient now makes sure that only a single
    request to the Tenant service is issued when multiple (parallel) get method invocations run into a cache miss.
    This should reduce the load on the Tenant service significantly in scenarios where devices of the same
    tenant connect to an adapter at a high rate, e.g. in when re-connecting after one or more adapter pods have
    crashed.
  • The Device Registry Management API's update credentials operation has been extended to allow specifying the
    auth-id and validity period implicitly by means of including a (Base64 encoded) client certificate in the new
    cert property. This can be used instead of specifying the client certificate's subject DN and public key's
    validity period explicitly in the auth-id and secrets properties. This should make setting the correct auth-id
    value much less error prone.
  • Hono now supports auto-provisioning of devices that connect via gateway. For more information please refer to the
    Device Provisioning concept and to the Device registry management API on how to create a device registration for a
    gateway which is enabled for auto-provisioning.
  • The Device Registry Management API has been extended now to support searching tenants with optional filters,
    paging and sorting options. Please refer to the Device registry management API for details.
  • The MongoDB based device registry now supports searching tenants with optional filters, paging and sorting options.

Fixes & Enhancements

  • The Mongo DB based Credentials service implementation failed to return the credentials matching the given
    type and auth-id if multiple credentials of the same type but with different auth-id values were
    registered for a device. This has been fixed.
  • The Mongo DB based registry container would have failed to start if the connection to the Mongo DB could not
    be established quickly enough. This has been fixed by decoupling the creation of indices from the start up process.
  • The protocol adapters erroneously indicated a client related error to devices if the downstream AMQP container
    rejected a message with an amqp:resource-limit-exceeded error condition. This has been fixed so that the adapters
    now correctly indicate a server related problem instead.
  • The containers for the Device Registry implementations, the Authentication server, the Device Connection and
    Command Router services did not shut down gracefully upon receiving a SIGTERM signal. This has been fixed.
  • The LoRA protocol adapter failed to start due to a missing bean declaration. This has been fixed.

Deprecations

  • The org.eclipse.hono.service.cache.SpringCacheProvider and org.eclipse.hono.service.cache.SpringBasedExpiringValueCache
    classes have been deprecated to further reduce the dependency on Spring Boot. Clients should use
    org.eclipse.hono.service.cache.CaffeineCacheProvider and org.eclipse.hono.service.cache.CaffeineBasedExpiringValueCache
    instead.
  • Most of the public interfaces of the legacy client module have been deprecated. Client code should be
    adapted to use the corresponding interfaces and implementations from the clients/adapter, clients/adapter-amqp
    and clients/application-amqp modules instead.
  • The Authentication server's HONO_AUTH_SVC_PERMISSIONS_PATH configuration property has been changed to no
    longer accept generic Spring resource URIs. The value is now required to be a file system path. The path
    may still contain a file:// prefix in order to not break existing configurations. However, users are encouraged
    to remove the prefix as it will no longer be supported in versions starting with 2.0.0.
    The default permissions file has been removed from the Authentication server code base. Consequently,
    permissions can no longer be loaded from the class path using a classpath:// URI. In practice this should
    have no impact because the Hono chart comes with a default permissions file which the Authentication
    server is pre-configured to load from the file system.

Eclipse Hono 1.0.1

07 Nov 17:19
Compare
Choose a tag to compare

Eclipse Hono 1.0.0

17 Oct 15:18
Compare
Choose a tag to compare

Eclipse Hono 1.0-M7

23 Aug 07:38
Compare
Choose a tag to compare

Eclipse Hono 1.0-M6

23 Aug 07:37
Compare
Choose a tag to compare

Eclipse Hono 1.0-M5

02 Jul 05:42
Compare
Choose a tag to compare