Skip to content

Releases: bytebeamio/rumqtt

R18

21 Nov 17:55
Compare
Choose a tag to compare
R18

Significant Changes

  • Add support in rumqttd for connection level Metering through PR #508
  • Add tracing in rumqttd for structured, context aware logs by PR #499
  • Add Native-TLS support in rumqttc by PR #501

Read more about this release in our blog

What's Changed

  • fix(docs): Update readme and include the note about MQTTv5 by @henil in #474
  • fix(mqttbytes): when present wildcard must occupy entire topic level by @henil in #477
  • fix(dependencies): Update libraries to newer version and remove unused dependencies by @henil in #475
  • fix: missing NativeTLS accept and broken args in ShadowLink by @de-sh in #481
  • fix: hyperlinks in doc and ignore test dependent on speed of execution by @henil in #476
  • fix(protocol): Extract out Disconnect packet logic similar to other packets by @henil in #480
  • config: Change default segment size to 100MB by @henil in #484
  • Forward TLS implementation selection to reqwest by @flxo in #488
  • fix: remove unused and feature gate websocket dependencies by @de-sh in #490
  • refactor(protocol): Abstract away protocol from Notification by @henil in #483
  • fix Tracker: fix unregister_data_requests in Tracker to properly filter by @swanandx in #491
  • fix(client): enter tokio runtime context before calling timeout in recv_timeout by @swanandx in #492
  • fix: clippy warnings by @de-sh in #500
  • refactor(router): remove redundant checks and optimizations by @swanandx in #493
  • fix: allow subscription to test topics by @henil in #494
  • feat: tracing for structured, context-aware logs by @swanandx in #499
  • fix: enter runtime context for now_or_never() within try_recv by @de-sh in #497
  • feat: support native-tls connections by @de-sh in #501
  • chore(rumqttd): Make tracing events human-readable by @mnpw in #503
  • feat: Support for multi tenancy prefix checks by @tekjar in #505
  • feat(rumqttd): Add metering by @tekjar in #508

New Contributors

Full Changelog: R17...R18

R17

30 Sep 14:18
b1e6b66
Compare
Choose a tag to compare
R17

What's Changed

Significant Updates

  • rumqttd has been rewritten completely by PR #442, learn more about why in our blog.
  • rumqttc's v5 client has been re-written to work with the same EventLoop design as the old one.

Changes

  • fix(performance): Don't create a new runtime in drop by @henil in #405
  • build: dont pin exact dependency version by @EdJoPaTo in #448
  • GitHub Action improvements by @EdJoPaTo in #450
  • fix: ignore doc-test for ci sanity by @de-sh in #451
  • ci: Auto build release binaries for rumqttd-ng by @henil in #452
  • fix: validate topic before sending the publish packet by @henil in #449
  • fix(mqttbytes): when present wildcard must occupy entire topic level by @pabigot in #453
  • Opensource beamd's broker 🎉 by @henil in #442
  • fix: export enum TryRecvError by @de-sh in #457
  • feat: build rumqttd docker image with alpine by @de-sh in #461
  • feat: comment out tenant extraction/checks by @de-sh in #472
  • fix(CI): fix trigger for CI workflow and remove auto publish to crates.io for now by @henil in #471

New Contributors

Full Changelog: R16...R17

R16

09 Sep 12:40
Compare
Choose a tag to compare
R16

What's Changed

Significant Updates: Fix missing feature gates and optional dependencies. BREAKING: Remove method from EventLoop that exposes flume constructs(Receiver and Sender).

  • fix: allow use of url feature without use-rustls by @lautat in #440
  • fix: set rustls-pemfile dependency as optional by @lautat in #439
  • fix: set rustls-native-certs dependency as optional by @lautat in #438
  • refactor!: unexpose eventloop handle, unexport flume by @de-sh in #441

New Contributors

Full Changelog: R15...R16

R15

26 Aug 05:39
Compare
Choose a tag to compare
R15

What's Changed

Significant update: Given the user has installed necessary certificates within their platform's native certificate store, using TlsConfiguration::default() will now load the root certificates from it. Also now Notifier::try_recv() provides a non-blocking interface to receive incoming packets on.

  • feat: Derive missing traits where required by @henil in #429
  • fix(exports): remove leaky pub use by @henil in #428
  • feat: Create non-blocking interface for Notifier by @de-sh in #431
  • feat: MqttOptions::parse_url uses rustls-native-certs::load_native_certs() for encrypted connections by @de-sh in #436

Full Changelog: R14...R15

R14

12 Aug 03:15
Compare
Choose a tag to compare
R14

What's Changed

  • fix: move timeout to connect() call by @de-sh in #408
  • fix(dependency): Revert back tokio version to 1 by @henil in #412
  • fix(serialization): Serialize no properties as 0x0 byte by @henil in #413
  • fix: get examples using v5 to work by @de-sh in #401
  • fix: remove extraneous space by @joleeee in #417
  • docs: correct statement in FAQ by @de-sh in #416
  • feat: remove code exposing flume errors in ClientError by @de-sh in #420
  • feat: remove validation on Subscribe::new_many() by @de-sh in #422
  • feat: remove ability to cancel EventLoop.poll() mid execution by @de-sh in #421
  • docs: better explain client surfaces by @123vivekr in #380

New Contributors

Full Changelog: R13...R14

R13

16 Jun 15:04
Compare
Choose a tag to compare
R13

What's Changed

New Contributors

Full Changelog: R12...R13

R12

21 Apr 19:08
Compare
Choose a tag to compare
R12

rumqttc v0.12.0

  • Enable compilation without rustls as a dependency using --no-default-features (#365)
  • Rework variants of ConnectionError (#370)
  • New constructor MqttOptions::parse() using url (#379)
  • Use get_mut() instead of index based access to ensure no panic (#384)
  • Better error messages (#385)

rumqttd v0.11.0

  • Enable compilation without rustls as a dependency using --no-default-features (#365)
  • Better error messages (#385)

This release was made possible by the contributions of: @EdJoPaTo, @de-sh and @123vivekr

R11

03 Mar 14:06
Compare
Choose a tag to compare
R11

rumqttc v0.11.0

  • tls::Error is now public
  • rustls upgraded to 0.20
  • Manual acknowledgment of Publishes received by setting MqttOptions.manual_acks = true and passing received publish packet to Client.ack()

rumqttd v0.10.0

  • tokio_rustls upgraded to 0.23.2

NOTE: mqttbytes moved into separate repo, dependency on the same from rumqtt client and broker crates are hence forth removed.

This release was possible due to some of our awesome contributors: @jplatte (for #287), @belltoy (for #325), @shikoku1 (for #326) , @wiktorsikora (for #341), @RAvenGEr (for #336) and @de-sh (for #328, #346, #342 and #359).

R8

13 Jun 12:56
61bdcfe
Compare
Choose a tag to compare
R8

mqttbytes v0.4.0

  • Make publish len public

rumqttc v0.6.0

  • changed Update to mqttbytes 0.4
  • fix Fix packet collisions and always enable collision protection [breaking]
  • fix Fix wrong error name

rumqttd v0.7.0

  • changed Update to mqttbytes 0.4
  • changed Native tls support

R7

14 May 15:23
72bff4d
Compare
Choose a tag to compare
R7

mqttbytes v0.3.0

  • fix Connack and suback packet mixup during mqtt 5 implementation [breaking]

rumqttc v0.5.0

  • changed Update to mqttbytes 0.3 [breaking]

rumqttd v0.4.0

  • changed Update to mqttbytes 0.2 [breaking]
    -changed Make profiler a feature, not target.cfg (#243)
  • changed Handling error cases if the key is parsed but is not valid. (#241)
    -changed Replace hard coded 0.0.0.0 bind with configuration option (#262)

misc

  • update CI