- Switch to using
gun
2.1.0 as WebSocket client.
- Fix a typo in MQTT v3 reason code.
- Support QoE tcp latency tracking in SSL case.
- Avoid OTP crash reports by wrapping exit reason in the format
{shutdown,Reason}
. - Avoid
badmatch
error whenwebsocket
connection timeout. - Reformat some code for readability.
- Fix
emqtt
was not trying to reconnect in certain error scenarios. - Fix function specs for
emqtt:connect/1
andemqtt:ws_connect/1
. - Add missing opts to
README.md
.
- Handle CONNECT packet send error asynchronously so to allow a retry.
- Handle
tcp_error
andssl_error
atwaiting_for_connack
state so to allow a retry. - Change log level for
reconnect_due_to_connection_error
fromerror
toinfo
. - Fix compile warnings on OTP 27.
- Fix compile issues on OTP 27.
- Support fine-tuneing QUIC transport options.
- Support QUIC stream ID.
- Improve exception context when broker did not assign client ID as expected.
Changed
bad_client_id
tono_client_id_assigned_by_broker
so we know it's broker to blame but not client.
- Support Kerberos authentication callbacks.
- Add
max_inflight
option. - Respect Receive-Maximum if advertised by server.
- Support SCRAM authentication callbacks.
- Add
connect
command which only establishes connection, but does not publish or subscribe. - Add
--log-level
option to CLI. - Add timestamp to CLI logs.
- Exit with non-zero code when CLI stops due to error.
- Export emqtt:qos/0, emqtt:topic/0 and emqtt:packet_id/0 as public types.
- Release packages on OTP 26
- Stopped releasing on
- EL 8
- Ubuntu 18
- Debian 10
- Newly supported distros
- EL 9
- Debian 12
- Ubuntu 22
- Amazon Linux 2023
- Stopped releasing on
- Add
{auto_ack, never}
option fully disabling automatic QoS2 flow.
- Fix compilation warning.
- Respect reconnect option more robustly, attempting to reconnect in more cases.
- Attempt to reconnect when server sends a
DISCONNECT
packet, if reconnects are enabled.
- Allow external wrapped secrets as passwords.
- Removed 'maybe' type.
- Fix websocket transport options.
- Support OTP 26.
- Drop
reuse_sessions
andsecure_renegotiate
options when TLS 1.3 is the only version in use.
- Upgrade
quicer
lib
- Fix a race-condition caused crash when changing control process after SSL upgrade.
The race-condition is from OTP's
ssl
lib, this fix only avoidsemqtt
process to crash.
- Sensitive data obfuscation in debug logs.
- Fix ssl error messages handeling.
- Support MacOS build for QUIC
- Support
binary()
hostname.
- Support QUIC Multi-stream
-
Hide password in an anonymous function to prevent it from leaking into the (crash) logs #168
-
Added
publish_async
APIs to support asynchronous publishing. #165 Note that an incompatible update has been included, where the return format of thepublish
function has been changed took | {ok, publish_reply()} | {error, Reason}
-
Fixed inflight message retry after reconnect #166
-
Respect connect_timeout #169