github vernemq/vernemq 1.7.0
VerneMQ 1.7.0

latest releases: 2.0.0, 2.0.0-rc1, 2.0.0-rc...
5 years ago
  • Fix vmq_webhooks issue where MQTTv5 hooks where not configurable in the
    vernemq.conf file.
  • Support shared subscriptions in vmq_bridge.
  • Fix bug in Prometheus output (#923).
  • Fix max_message_rate to include MQTTv5 sessions.
  • Support new throttle modifier for the auth_on_publish and
    auth_on_publish_m5 hooks which will throttle the publishing client by
    waiting for a given number of milliseconds before reading new data from the
    client socket. Note, backpressure is not supported for websocket
    connections. This feature was kindly sponsored by Arduino SA
    (https://www.arduino.cc/).
  • Fix issue with long-running vmq-admin commands (#644).
  • Added a new HTTP module vmq_health_http exposing a /health endpoint that
    returns 200 when VerneMQ is accepting connections and joined the cluster
    (for clustered setups) or returns 503 in case any of the two conditions
    are not met (#889).
  • Fix issue where a QoS2 message would be republished if a client would resend
    the PUBLISH packet with the same message id within a non-finished QoS2 flow
    (#944).
  • Make VerneMQ build on FreeBSD (11.2-RELEASE) with gmake rel.
  • Fix issue with blocking socket commands in inter-node communication.
  • Improve error messages when parsing invalid CONNECT packets.
  • Log IP and port information on authentication failures to make it easy to
    block the client with tools like Fail2ban (#931).
  • Fix issue which would crash the session if a client would resend a (valid)
    pubrec during a Qos2 flow (#926).
  • Fix vmq_diversity error message if invalid or unknown modifiers are returned
    from a lua hook implementation.
  • Fix issue preventing MQTT 5.0 properties from being modifiable in
    auth_on_publish_m5 (#964).
  • Fix issue which causes a crash if not enough data is available while parsing
    the CONNECT frame in vmq_mqtt_pre_init (#950, #962).
  • Fix issue which could cause vmq-admin session show to crash when using
    --limit=X to limit the number of returned results (#902).
  • Handle edge case in the websocket implementation which could cause warninigs
    when the session was terminating.
  • Expose vernemq_dev_api:disconnect_by_subscriber_id/2 in lua
    vmq_api.disconnect_by_subscriber_id/2, an example looks like:
    vmq_api.disconnect_by_subscriber_id({mountpoint = "", client_id = "client-id"}, {do_cleanup = true}).
  • Improve vmq_webhooks errors so the error from the endpoint is shown as the
    error reason where relevant.
  • Optimization: optimize away read operation during client registration by
    reusing already available data.
  • Enable plugins to expose metrics via the available metric providers.
  • Add histogram metric type.
  • Fix incorrect debug log message in QoS 2 flow.
  • Expose bridge metric for messages dropped in case the outgoing queue is full.
  • Log (debug level) when a LWT is suppressed on session takeover.
  • Optimize subscribe operation by refactoring away one read from the metadata
    store.
  • Add protection mechanism for the plumtree metadata store from subscription
    floods by dropping and not acknowledging i_have messages when the mailbox
    size grows above a certain threshold. This threshold is configurable via the
    plumtree.drop_i_have_threshold hidden option. The default is 1000000. This
    work was kindly contributed by ADB (https://www.adbglobal.com).
  • Add new vmq-admin retain commands to inspect the retained message store.
  • Support for different MySQL password hashing methods in vmq_diversity,
    ensuring compatibility with MySQL 8.0.11+. The method is configurable via the
    vmq_diversity.mysql.password_hash_method option which allows:
    password (default for compatibility), md5, sha1 or sha256.
  • Fix the HTTP /status.json endpoint to have a valid JSON output (#786).
  • Fix bug where internal application plugins where shown as normal plugins.
  • Fix crash in bridge when calling vmq-admin session show by fixing the
    vmq_ql row initializer to handle plugin sessions (the bridge starts a local
    plugin session).
  • Add improvements to VerneMQ status page to have nicer UI and be readable on smaller devices.
  • Upgraded dependency sext to 1.5.0 (required for better OSX compilation).
  • Do not accept new client connections while the broker is shutting down as this
    could cause errors to be reported in the log (#1004).
  • Fix vmq_diversity PostgreSQL reconnect issue (#1008).
  • Fix vmq_webhooks so peer port is not considered when caching the
    auth_on_register to avoid cache misses.
  • Multiple bug fixes and improvements in vmq_swc.
  • Add the vmq_swc metadata plugin (using the already existing LevelDB backend) to
    the default VerneMQ release. To use vmq_swc instead of vmq_plumtree set
    metadata_plugin = vmq_swc in vernemq.conf. vmq_swc is still in Beta.
  • Add missing increments of the mqtt_connack_sent metric for CONNACK
    success(0) for MQTT 3.1.1.
  • Handle edge case with unknown task completion messages in vmq_reg_sync after
    a restart.
  • Fix bug which could cause a queue cleanup to block indefinitely and cause the
    vmq_in_order_delivery_SUITE tests to fail.
  • Add a new metric (queue_initialized_from_storage) to better monitor queue
    initialization process after a node restart.
  • Fix edge case where an extra queue process could be started when metadata
    events arrive late. Now local queue processes are only started when triggered
    via a new local MQTT session.
  • Reimplement dead queue repair mechanism.
  • Add feature to reauthorize existing client subscriptions by reapplying current auth_on_subscribe
    and auth_on_subscribe_m5 hooks. This feature is exposed as a developer API in vernemq_dev, via
    the vmq-admin session reauthorize CLI command, and as a API for vmq_diversity Lua scripts. This
    work was kindly sponsored by AppModule AG (http://www.appmodule.net).
  • Improve planned cluster leave queue migration speed significantly (#766).
  • Start metrics server before setting up queues to ensure queue metric counts
    are correct when restarting VerneMQ.
  • Let Travis CI build the VerneMQ release packages.
  • Add new metric system_process_count which is a gauge representing the
    current number of Erlang processes.
  • Add queue_started_at and session_started_at information to the vmq-admin session show command. Times are POSIX time in milliseconds and local to the
    node where the session or queue was started.

Don't miss a new vernemq release

NewReleases is sending notifications on new releases.