- Fix for OSX compilation issue on
vmq_passwd
due to openssl headers not found. - Refactoring to further abstract and generalize the Plumtree metadata layer.
- Small refactoring moving the calling of plugin hooks into the fsm code. This
is a preparation for MQTTv5. Note, this change has an impact on the
vmq_reg:direct_plugin_exports/1
function. Even though this function is
internal and as such not guaranteed to be stable, we know some plugin
developers use it and we therefore wanted to describe the changes. It works as
before, except that the hooksauth_on_subscribe
,on_subscribe
or
on_unsuscribe
hooks will no longer be called when using the exported
functions. - Corrected a few spelling errors in the
vmq-admin
help commands. - Added two new hidden configuration parameters for
vmq_webhooks
.vmq_webhooks
uses
the hackney HTTP client for HTTP requests.
It starts its own hackney pool with a default connection pool of 100, and a
connection timeout of 60000 milliseconds. This connection pool con now be
configurable using the settingsvmq_webhooks.pool_max_connections
and
vmq_webhooks.pool_timeout
(#621). - Add a first version of a VerneMQ status page showing node and cluster
information. This web-page is by default available on
http://localhost:8888/status. The status page is implemented using jQuery,
Twitter Bootstrap und mustache.js. As this is the first version the page
should be considered experimental and will likely be changed in future
releases. - Bugfix: Handle return values correctly when enqueuing messages to offline
shared subscribers (#625). - Bugfix: Fix issue preventing messages delivered to a subscriber group from
being delivered to the online group members first before attempting delivery
to offline queues (#618). - Fix some Dialyzer issues.
- Reduce replication load during a netsplit by making sure data is not attempted
to be replicated to unreachable nodes. - Bugfix: Fix issue causing some
session show
options (peer_host
,
peer_port
) to not work for websocket clients (#542). - Bugfix: Fix routing table initialization issue after restarting a node
preventing shared subscriptions on a remote node from being included in the
routing table (#595). - Bugfix: Fix race condition when fetching data from the internal query subsystem.
- Fix build issue on Raspberry PI (
make rpi-32
). - Make it possible to specify which protocol versions are allowed on an MQTT
listener. By default the protocol versions allowed are versions 3 and 4 (MQTT
v3.1 and v3.1.1 respectively). To set the allowed protocol versions one can
uselistener.tcp.allowed_protocol_versions = [3,4]
on the transport level or
for a specific listener using
listener.tcp.specific_listener.allowed_protocol_versions
. - Fix bug causing an exception to be thrown when
vmq-admin cluster leave
is
used with a timout value less than 5 seconds (#642). - Small refactoring enabling to store versioned message store values. This is a
preparation for MQTTv5. - Bugfix: Fix a bug that prevented user plugins with an explicit path to be
loaded. - Fix issue with new rebar3 upstream plugin version (the port-compiler) which
made builds fail by pegging it to an older version (1.8.0). - Add
xmerl
andinets
from the Erlang standard library to the release in order
to allow plugin developers to have these libraries available. - Bugfix: Fix typo (
graphie_api_key
->graphite_api_key
) preventing the
graphite api key from being set in thevernemq.conf
file. - Bugfix: WebHooks Plugin. Close the Hackney CRef so that the socket is given
back to the Hackney pool, for the case of non-200 HTTP OK status codes. - Bugfix: fix bug where queries with mountpoint and client-ids would return no
entries causing disconnecting a client with a specific mountpoint to
fail. Also ensure to use the default mountpoint if no mountpoint was
passed. (#714). - Upgraded vernemq_dev to include the
disconnect_by_subscriber_id/2
API.