- Fix issue in the bridge preventing it from reconnecting after a connection
timeout (#726). - Fix issue with self referential cluster leaves and cluster readiness probing
in general (#717). - Add preparations for MQTTv5:
- Make it possible to extend the cluster internal message format when adding
new features while ensuring back- and forwards compatibility. - Refactor the leveldb message store code to support versioned indexes as well
as messages. - Refactor the retained message store to support versions.
- Add support for subscriber data with subscription options.
- Make it possible to extend the cluster internal message format when adding
- Fix issue when validating a shared subscription topic (#756).
- Fix issue with retried PUBREC frames (#750).
- Make it possible to suppress the Last Will and Testament message if an
existing session already exists for the connecting client. This is
configurable via the hidden settingsuppress_lwt_on_session_takeover
in the
VerneMQ configuration file. The default isoff
. - Fix issue with PUBREL frames retried after client reconnects (#762).
- Refactor and cleanup retry mechanism.
- Warn about deprecated setting
message_size_limit
only when it has been defined. - Change build script so nightly packages will have names on the form
vernemq_1.4.0-10-gde1b1f5-1_amd64.deb
, wherede1b1f5
refers to the commit
hash from which the package was built and10
is the number of commits since
the latest tag. This makes it much easier to reason about nightly builds and
the features they contain. - Refactor and generalize the metrics systems to allow labelling metrics coming
from different sources in order to differentiate them in the various exporters
and the command line. Labels are added to the Prometheus exporter by
default. To enable generating additional metrics from the labels in the
graphite exporter the hidden settinggraphite_include_labels
has to be set
toon
in thevernemq.conf
file. Labels are not exposed in the $SYS
metrics. - Ensure the
vmq_bridge
is properly restarted after a crash (#785). - Fix issue where not calling
http.body(ref)
in a Lua script would not return
the underlyning HTTP connection to the connection pool. This now happens
automatically, irregardless of the user callinghttp.body(ref)
or not
(#588).