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.
- Assign random identifier to clients connecting with empty client id.
Unsubscribe
withlocal::LinkTx
.
- Public re-export
Strategy
for shared subscriptions - Peer initiated disconnects logged as info rather than error.
- External authentication function must be async
- Update
tokio-rustls
to0.25.0
,rustls-webpki
to0.102.1
,tokio-native-tls
to0.3.1
andrust-pemfile
to2.0.0
. - Export
Forward
from root.
- MQTT keep alive interval
- record client id for remote link's span
- session present flag in connack
- Make write method return the number of bytes written correctly everywhere
ConnectionSettings
can be manually created- Clippy error from time for toolchain >1.80.0
- Implement constant-time password comparison in authentication logic
- Log warning if websocket config is getting ignored
- Add support for ECC keys when configuring TLS in rumqttd
- Support for external authentication with custom function
- Console endpoint /config prints Router Config instead of returning console settings
- v4 config is optional, user can specify v4 and/or v5 config
- websocket feature is enabled by default
- console configuration is optional
- rustls client auth is featured gated behind "verify-client-cert" ( disabled by default ).
- "websockets" feature is removed in favour of "websocket"
- Update tungstenite and dependencies to fix CVE.
- Will delay interval for MQTTv5 (#686)
- Non-consuming builder pattern for constructing Connection
- Link and its implementation which were deprecated.
- Will Messages
- Retained Messages
- Publish properties in QoS2 publish
- Remove dependency on webpki. CVE
- Subscription IDs in v5 publish packets (#632)
- Shared Subscriptions with configurable strategies (#668)
- Bump dependencies to latest (#666)
- QoS2 support (#604)
- Support for Websocket connections (#633)
- LinkBuilder for constructing LinkRx/LinkTx (#659)
- Ability to configure segment size individually (#602)
- Link and its implementation, use LinkBuilder instead
- Include reason code for UnsubAck in v5
- Support for topic alias and message expiry in v5 (#616)
- Certificate paths configured in config file are checked during startup and throws a panic if it is not valid. (#610)
- MQTTv5: Read the Unsubscribe package in match arms (#625)
PrometheusSetting
now takeslisten
to specify listener address instead of default127.0.0.1
. Do not uselisten
andport
together.
PrometheusSetting
'sport
will be removed in favour oflisten
.
- Breaking: Remove retained messages and lastwill features
- No change, only version bump
- Re-design meters and alerts (#579)
- Print version number with
--version
cli flag (#578)
structopt
is in maintainance mode, we now useclap
instead (#571)
- Use
error
instead ofdebug
to log message related to duplicate client_id (#572)
- Client id with tenant prefix should be set globally (#564)
- Add one way bridging support via BridgeLink (#558)
- Restructure AlertsLink and MetersLink to support writing to Clickhouse (#557)
- Add AlertLink to get alerts about router events (#538)
- Add basic username and password authentication (#553)
- Don't allow client's with empty client_id (#546)
- Disconnect existing client on a new connection with similar client_id (#546)
- Skip client certificate verification when using native-tls because it doesn't support it (#550)
Old changelog entries can be found at CHANGELOG.md