Skip to content

v0.43.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 21:31
· 62 commits to main since this release
v0.43.0
63e60c0

[mqtt5 0.43.0] - 2026-09-27

Breaking

  • broker::config::QuicConfig and broker::quic_acceptor::QuicAcceptorConfig have three new public fields: max_concurrent_streams, stream_receive_window and disable_segmentation_offload. Code that builds either struct with a struct literal must set them; QuicConfig::new and QuicAcceptorConfig::new set them to their defaults.

Added

  • Broker QUIC flow-control settings. max_concurrent_streams caps the unidirectional and bidirectional streams a client may open at once (QUIC default 100); stream_receive_window sets the per-stream receive window (default 262144 bytes); disable_segmentation_offload turns off UDP segmentation offload, so each datagram is sent separately. Set them with with_max_concurrent_streams, with_stream_receive_window and with_disable_segmentation_offload.
  • Per-connection QUIC statistics. When MQTT5_QUIC_STATS_DIR names a directory, the broker writes one CSV per QUIC connection, with a row every 100 ms and a last row at close: RTT, congestion window, lost packets, congestion events and sent packets on the broker's path, and the STREAM_DATA_BLOCKED, DATA_BLOCKED and STREAMS_BLOCKED (uni) frames received from the client. Unset, nothing is sampled.

Fixed

  • The client's QUIC stream limit is now applied. QuicConfig::with_max_concurrent_streams (and MqttClient::set_quic_max_streams, and the bridge's quic_max_streams) was stored but never passed to the QUIC transport, so the broker could open up to the QUIC default of 100 streams toward the client. It now caps the streams the broker may open.
  • Eight QUIC multistream integration tests no longer pass without checking anything when a client fails to connect. They returned early, so with missing test certificates they reported success.

[mqttv5-cli 0.29.1] - 2026-09-27

Added

  • mqttv5 broker flags --quic-max-streams <N>, --quic-stream-window <BYTES> and --quic-disable-offload (environment variables MQTT5_QUIC_MAX_STREAMS, MQTT5_QUIC_STREAM_WINDOW, MQTT5_QUIC_DISABLE_OFFLOAD), backed by the mqtt5 0.43.0 broker settings.
  • Requires mqtt5 0.43.

[mqtt5-wasm 2.1.1] - 2026-09-27

Changed

  • Requires mqtt5 0.43. No change to the wasm API.