All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- The plugin now accesses the Astarte database. The following
env variables have been added:
DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__NODES
(defaults tolocalhost:9042
)DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__USERNAME
(defaults tocassandra
)DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__PASSWORD
(defaults tocassandra
)DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__POOL_SIZE
(defaults to 10)DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__SSL_ENABLED
(defaults tofalse
)DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__SSL_DISABLE_SNI
(defaults totrue
)DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__SSL_CUSTOM_SNI
DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__CASSANDRA__SSL_CA_FILE
- Added support for device deletion. During deletion, a device is disconnected and not allowed to reconnect until deletion ends. Inflight messages are discarded. After deletion, a device must be registered again in order to connect to Astarte.
- Added support for multiple Astarte instances sharing the same database,
the following env variable has been added:
DOCKER_VERNEMQ_ASTARTE_VMQ_PLUGIN__ASTARTE_INSTANCE_ID
(defaults to ``)
- Update Elixir to 1.15.7.
- Update Erlang/OTP to 26.1.
- Update VerneMQ to master (1cc57fa) to support OTP 26.
- Use the
internal
event type for device heartbeat. - Update Elixir to 1.14.5 and Erlang/OTP to 25.3.2.
- Correctly serialize disconnection/reconnection events if VerneMQ hooks are called in the wrong order. Fix astarte-platform/astarte#668.
- Do not let VerneMQ container start unless the CA cert is retrieved from CFSSL.
- Prevent the connection from timing out when the client takes more than 5 seconds to perform the SSL handshake
- Rebuild official docker image (updates OTP to 23.3.4.17), in order to fix CVE-2022-37026.
- Do not override VerneMQ config
max_message_rate
value.
- Log plugin version when the application is starting.
- Update Elixir to 1.11.4 and Erlang/OTP to 23.2
- Do not authorize non-devices blindly in
auth_on_publish
andauth_on_subscribe
.
- Default data_queue_count to 128.
- Send a periodic heartbeat for every connected device.
- Support SSL for RabbitMQ connections.
- Default max certificate chain length to 10.
- Reply with local and remote matches when a publish is requested.
- Allow configuring
max_offline_messages
andpersistent_client_expiration
with Docker env variables
- Fix a bug where the plugin would remain unfunctional after suddenly disconnecting from RabbitMQ.
- Fix bug that prevented property unset
- Update Elixir to 1.8.2
- Enhance docker build process
- Add support to multiple queues with consistent hashing
- Re-enable SSL listener, which broke Docker Compose.
- First Astarte release.