Skip to content

Releases: astarte-platform/astarte

v1.0.2

01 Apr 17:18
v1.0.2
d7fe08e
Compare
Choose a tag to compare

Second Astarte 1.0 maintenance release.

CHANGELOG

Changes since v1.0.1:

Added

  • [realm_management] Accept retention and expiry updates when updating the minor version of an
    interface.
  • [astarte_realm_management_api] Allow synchronous requests for interface creation, update
    and deletion using the async_operation option. Default to async calls.
  • [astarte_housekeeping_api] Allow synchronous requests for realm creation and deletion
    using the async_operation option. Default to async calls.

Fixed

  • [realm_management] Accept allowed mapping updates in object aggregated interfaces without
    crashing.
  • [astarte_appengine_api] Handle server owned datetimearray values correctly.

Changed

  • [astarte_housekeeping] Allow to delete a realm only if all its devices are disconnected.
    Realm deletion can still only be enabled with an environment variable (defaults to disabled).
  • Update CA store to 2022-03-21 version.

v1.0.1

17 Dec 18:09
v1.0.1
8f8b00b
Compare
Choose a tag to compare

First Astarte 1.0 maintenance release.

CHANGELOG

Changes since v1.0.0:

Added

  • [data_updater_plant] Add handle_data duration metric.
  • [doc] Add documentation for AstarteDefaultIngress.
  • [doc] Add deprecation notice for AstarteVoyagerIngress.
  • [doc] Add documentation for the handling of Astarte certificates.

Changed

  • [doc] Remove astartectl profiles from the possible deployment alternatives.

Fixed

  • [astarte_appengine_api] Correctly serialize events containing datetime and array values.
  • [astarte_appengine_api] Do not fail when querying datastream interfaces data with since, to, sinceAfter params if result is empty. Fix #552.
  • [astarte_appengine_api] Consider microseconds when using timestamps. Fix #620.
  • [astarte_appengine_api] Don't crash when removing an alias with non-existing tag. Fix 495.
  • [astarte_trigger_engine] Correctly serialize events containing datetime and array values.
  • [astarte_data_updater_plant] Don't crash when receiving binaryblobarray and datetimearray
    values.
  • Update Cyanide BSON library, in order to fix crash when handling ill-formed BSON arrays.

v1.0.0

30 Jun 18:26
v1.0.0
d04a60a
Compare
Choose a tag to compare

Astarte v1.0.0 release.

CHANGELOG

Added

  • Add support for volatile triggers on interfaces with object aggregation.

Changed

  • Document future removal of Astarte Operator's support for Cassandra.
  • Log application version when starting.

Fixed

  • [astarte_appengine_api] Fix the support for null values in interfaces, the fix contained in 1.0.0-rc.0 was incomplete.

Other Changes Since v0.11

Added

  • [astarte_appengine_api] Add /v1/<realm>/version endpoint, returning the API application version.
  • [astarte_realm_management_api] Add /v1/<realm>/version endpoint, returning the API application version.
  • [astarte_pairing_api] Add /v1/<realm>/version endpoint, returning the API application version.
  • [astarte_housekeeping_api] Add /v1/version endpoint, returning the API application version.
  • [astarte_housekeeping] Allow deleting a realm. The feature can be enabled with an environment variable (defaults to disabled).
  • [astarte_data_updater_plant] Declare custom exchanges when an AMQP trigger is loaded.
  • [appengine_api] Add metadata to device
  • [trigger_engine] Allow configuring preferred http method (such as PUT or GET) (see #128).
  • [trigger_egnine] Add optional support to custom http headers, such as Authorization: Bearer ... (see #129).
  • [data_updater_plant] Handle device hearbeat sent by VerneMQ plugin.
  • [data_updater_plant] Deactivate Data Updaters when they don't receive messages for some time, freeing up resources.
  • [appengine_api] Support SSL connections to RabbitMQ.
  • [data_updater_plant] Support SSL connections to RabbitMQ.
  • [trigger_engine] Support SSL connections to RabbitMQ.
  • Default max certificate chain length to 10.
  • AMQP trigger actions (publish to custom exchanges) as an alternative to http triggers actions.
  • Ensure data pushed towards the device is correctly delivered when using QoS > 0.
  • [realm_management_api] Allow installing device-specific and group-specific triggers. To do so, pass the device_id or group_name key inside the simple_trigger.
  • [data_updater_plant] Add support for device-specific and group-specific triggers.
  • Add support for device error triggers.

Changed

  • [astarte_realm_management] Make amqp_routing_key mandatory in AMQP actions.
  • Update documentation for backing up and restoring Astarte.
  • Update documentation for Operator's uninstall procedure.
  • [astarte_e2e] Client disconnections are responsible for triggering a mail alert.
  • Run tests against RabbitMQ 3.8.14 and ScyllaDB 4.4-rc.4 / Cassandra 3.11.10.
  • Update dependencies to latest available versions (see mix.lock files).
  • Update Elixir to 1.11.4 and OTP to 23.2.
  • Rename device metadata to attributes. This requires a manual intervention on the database, see the Schema Changes documentation for additional information.
  • [astarte_housekeeping_api] Remove format check on Cassandra datacenter name when a realm is created, the datacenter is just verified against the one present in the database.
  • [housekeeping] Increase the delay between connection attempts to 1000 ms, for an overall number of 60 attempts.
  • [data_updater_plant] Default the total queue count to 128, de facto exploiting multiqueue support.
  • [data_updater_plant] Default the queue range end to 127.
  • Update Phoenix to version 1.5.
  • Rework metrics to reduce the clutter while monitoring astarte services.
  • [realm_management] Allow updating doc, description and explicit_timestamp within mappings when bumping an interface minor.
  • Remove postgresql dependency in docker-compose, make CFSSL stateless.
  • Update Operator's documentation for install/upgrade/uninstall procedures.
  • [appengine_api] Always return an object when GETting on object aggregated interfaces.
  • Replace Conform and Distillery with Elixir native releases.
  • Remove the ASTARTE_ prefix from all env variables.
  • [realm_management_api] Triggers http actions are now validated.
  • [realm_management_api] It is now possible to omit the device_id in a device_trigger. This is equivalent to passing * as device_id. The old behaviour is still supported.

Fixed

  • [astarte_appengine_api] Don't crash when an interface contains null values, just show them as null in the resulting JSON.
  • [astarte_realm_management] Fix log noise due to Cassandra warnings when checking health (see #420).
  • [astarte_e2e] Fix alerting mechanism preventing "unknown" failures to be raised or linked.
  • [astarte_appengine_api] Allow retrieving data from interfaces with parametric endpoint and object aggregation (see #480).
  • [astarte_appengine_api] Encode binaryblob values with Base64 even if they are contained in an aggregate value.
  • [astarte_trigger_engine] Encode binaryblob values with Base64 even if they are contained in an aggregate value.
  • [astarte_appengine_api] Fix regression that made it impossible to use Astarte Channels.
  • [astarte_appengine_api] Fix bug that prevented data publishing in object aggregated interfaces.
  • [astarte_appengine_api] Fix regression that prevented properties to be set before the first connection of a device.
  • [astarte_realm_management] Fix a bug that prevented AMQP triggers to be correctly installed.
  • [astarte_data_updater_plant] Mark device as offline and send device_disconnected event when forcing a device disconnection.
  • [astarte_data_updater_plant] Fix bug that blocked queues when trying to disconnect an already disconnected device.
  • Make sure devices are eventually marked as disconnected even if they disconnect while VerneMQ is temporarily down (see #305).

Removed

  • [appengine_api] Remove deprecated not versioned socket route.

v1.0.0-rc.0

10 May 16:19
v1.0.0-rc.0
cd8565d
Compare
Choose a tag to compare
v1.0.0-rc.0 Pre-release
Pre-release

First Astarte v1.0.0 release candidate.

CHANGELOG

Added

  • [astarte_appengine_api] Add /v1/<realm>/version endpoint, returning the API application version.
  • [astarte_realm_management_api] Add /v1/<realm>/version endpoint, returning the API application
    version.
  • [astarte_pairing_api] Add /v1/<realm>/version endpoint, returning the API application
    version.
  • [astarte_housekeeping_api] Add /v1/version endpoint, returning the API application
    version.

Changed

  • [astarte_realm_management] Make amqp_routing_key mandatory in AMQP actions.
  • Update documentation for backing up and restoring Astarte.
  • Update documentation for Operator's uninstall procedure.

Fixed

  • [astarte_appengine_api] Don't crash when an interface contains null values, just show them as
    null in the resulting JSON.
  • [astarte_realm_management] Fix log noise due to Cassandra warnings when checking health
    (see #420).

v1.0.0-beta.2

26 Mar 11:03
v1.0.0-beta.2
4c2ba4e
Compare
Choose a tag to compare
v1.0.0-beta.2 Pre-release
Pre-release

Second Astarte v1.0.0 beta.

CHANGELOG

Fixed

  • [astarte_e2e] Fix alerting mechanism preventing "unknown" failures to be raised or linked.
  • [astarte_appengine_api] Allow retrieving data from interfaces with parametric endpoint and object
    aggregation (see #480).
  • [astarte_appengine_api] Encode binaryblob values with Base64 even if they are contained in an
    aggregate value.
  • [astarte_trigger_engine] Encode binaryblob values with Base64 even if they are contained in an
    aggregate value.

Changed

  • [astarte_e2e] Client disconnections are responsible for triggering a mail alert.
  • Run tests against RabbitMQ 3.8.14 and ScyllaDB 4.4-rc.4 / Cassandra 3.11.10.
  • Update dependencies to latest available versions (see mix.lock files).
  • Update Elixir to 1.11.4 and OTP to 23.2.
  • Rename device metadata to attributes. This requires a manual intervention on the database,
    see the Schema Changes
    documentation for additional information.

v1.0.0-beta.1

16 Feb 14:21
v1.0.0-beta.1
32c2a0c
Compare
Choose a tag to compare
v1.0.0-beta.1 Pre-release
Pre-release

First Astarte v1.0.0 beta.

CHANGELOG

Fixed

  • [astarte_appengine_api] Fix regression that made it impossible to use Astarte Channels.
  • [astarte_appengine_api] Fix bug that prevented data publishing in object aggregated interfaces.
  • [astarte_appengine_api] Fix regression that prevented properties to be set before the first
    connection of a device.
  • [astarte_realm_management] Fix a bug that prevented AMQP triggers to be correctly installed.
  • [astarte_data_updater_plant] Mark device as offline and send device_disconnected event when
    forcing a device disconnection.
  • [astarte_data_updater_plant] Fix bug that blocked queues when trying to disconnect an already
    disconnected device.

Added

  • [astarte_housekeeping] Allow deleting a realm. The feature can be enabled with an environment
    variable (defaults to disabled).
  • [astarte_data_updater_plant] Declare custom exchanges when an AMQP trigger is loaded.

Changed

  • [astarte_housekeeping_api] Remove format check on Cassandra datacenter name when a realm is
    created, the datacenter is just verified against the one present in the database.
  • [housekeeping] Increase the delay between connection attempts to 1000 ms, for an overall number
    of 60 attempts.
  • [data_updater_plant] Default the total queue count to 128, de facto exploiting multiqueue support.
  • [data_updater_plant] Default the queue range end to 127.
  • Update Phoenix to version 1.5.
  • Rework metrics to reduce the clutter while monitoring astarte services.
  • [realm_management] Allow updating doc, description and explicit_timestamp within mappings when
    bumping an interface minor.
  • Remove postgresql dependency in docker-compose, make CFSSL stateless.
  • Update Operator's documentation for install/upgrade/uninstall procedures.

v0.11.4

26 Jan 15:30
v0.11.4
3197249
Compare
Choose a tag to compare

Astarte v0.11.4 release.

CHANGELOG

Fixed

  • Avoid creating an housekeeping_public.pem directory if docker-compose up doesn't find the
    housekeeping keypair.
  • [trigger_engine] Correctly handle triggers on binaryblob interfaces, serializing value with base64
    like appengine does.
  • [data_updater_plant] Consider database_retention_ttl when inserting data on device owned
    aggregate interfaces.
  • [realm_management] Do not allow value_change, value_change_applied and path_removed
    triggers on datastreams.
  • [realm_management] Do not allow /* as match path when using value_change and
    value_change_applied. (workaround to #513).
  • [trigger_engine] Update certifi to 2.5.3 (includes 2020-11-13 mkcert.org full CA bundle).

v0.11.3

28 Sep 15:17
v0.11.3
9bb273f
Compare
Choose a tag to compare

Astarte v0.11.3 release.

v0.11.2

14 Aug 11:56
v0.11.2
6b8e200
Compare
Choose a tag to compare

Astarte v0.11.2 release.

CHANGELOG

Added

  • [trigger_engine] Add ignore_ssl_errors key in trigger actions, allowing to ignore SSL actions
    when delivering an HTTP trigger action.
  • [trigger_engine] Update certifi to 2.5.2
  • Update Elixir to 1.8.2

Changed

  • [appengine_api] Remove topic from channel metrics.

v1.0.0-alpha.1

14 Aug 11:55
v1.0.0-alpha.1
90d6b89
Compare
Choose a tag to compare
v1.0.0-alpha.1 Pre-release
Pre-release

First Astarte 1.0.0 alpha release

CHANGELOG

Fixed

  • Make sure devices are eventually marked as disconnected even if they disconnect while VerneMQ is
    temporarily down (see #305).

Changed

  • [appengine_api] Always return an object when GETting on object aggregated interfaces.
  • Replace Conform and Distillery with Elixir native releases.
  • Remove the ASTARTE_ prefix from all env variables.
  • [realm_management_api] Triggers http actions are now validated.
  • [realm_management_api] It is now possible to omit the device_id in a device_trigger. This is
    equivalent to passing * as device_id. The old behaviour is still supported.

Added

  • [appengine_api] Add metadata to device
  • [trigger_engine] Allow configuring preferred http method (such as PUT or GET)
    (see #128).
  • [trigger_egnine] Add optional support to custom http headers, such as
    Authorization: Bearer ... (see #129).
  • [data_updater_plant] Handle device hearbeat sent by VerneMQ plugin.
  • [data_updater_plant] Deactivate Data Updaters when they don't receive messages for some time,
    freeing up resources.
  • [appengine_api] Support SSL connections to RabbitMQ.
  • [data_updater_plant] Support SSL connections to RabbitMQ.
  • [trigger_engine] Support SSL connections to RabbitMQ.
  • Default max certificate chain length to 10.
  • AMQP trigger actions (publish to custom exchanges) as an alternative to http triggers actions.
  • Ensure data pushed towards the device is correctly delivered when using QoS > 0.
  • [realm_management_api] Allow installing device-specific and group-specific triggers. To do so,
    pass the device_id or group_name key inside the simple_trigger.
  • [data_updater_plant] Add support for device-specific and group-specific triggers.
  • Add support for device error triggers.