rumqtt icon indicating copy to clipboard operation
rumqtt copied to clipboard

Roadmap for rumqtt?

Open ryanwinter opened this issue 10 months ago • 14 comments

Hi,

We currently use this client in one of our product SDKs, however we havent had much traction with PR's being integrated from our fork.

Is there a plan to continue to support this repository? What would be the best way to integrate our forked changes?

Thanks Ryan

ryanwinter avatar Feb 13 '25 18:02 ryanwinter

Hi @ryanwinter

Here's a roadmap we've setup for rumqttc

  • Memory stable and fast
  • Should run on devices with <10MB memory
  • Features
    • Returns pkid/tokens or other identifier to clients
    • Ability to shutdown
    • Full MQTT 5
    • Ack after processing
    • Synchronous publish with broker (next publish after previous ack)
    • High level client
  • Python, C and Javascript wrappers
  • Tests
    • Stability and perf test suite with mock broker
    • 100% code coverage
    • Throughput and memory stability tests
    • Comparison between clients
    • Conformance test suite

The primary reason for delay is redesign and bandwidth within the team. We've gone through a list of all the issues and are now iterating on the design for next (major) release. However bandwidth is still a challenge. I'm happy to collaborate with companies/teams using this library or create a sponsorship page to help fund this project for dedicated resources to push the roadmap forward

tekjar avatar Feb 15 '25 12:02 tekjar

Thanks @tekjar!

Completely understand the bandwidth challenges :) Let me follow up with the team and we can respond on this thread if this is the easiest way to communicate?

ryanwinter avatar Feb 19 '25 18:02 ryanwinter

Thanks @ryanwinter . [email protected] is my email if you prefer to communicate over there. I could also invite you to an internal slack channel if that works. We are proactive there :)

tekjar avatar Feb 19 '25 18:02 tekjar

Hi @tekjar , we are using a git version of rumqttc because of the rustls version update.

It has been running in production for about a month now and seems rock stable. Unless there's some big change in the works, could you publish a new release? The development is quite slow now, which is fine, the library is "finished" from our point of view and just works

# TODO change to released version once it is available
rumqttc = { git = "https://github.com/bytebeamio/rumqtt.git", rev = "b1c3a20" } # version = "0.25.0",

MightyPork avatar Jun 16 '25 14:06 MightyPork

Glad to know that @MightyPork

@swanandx Can we cut a new release on this commit?

tekjar avatar Jun 16 '25 17:06 tekjar

A friendly reminder, could you create a new release with rustls 0.26.0? :)

Matt3o12 avatar Sep 03 '25 11:09 Matt3o12

Hey @Matt3o12 @MightyPork we are currently working on the integrating some features and requirements , we are going to cut a release as soon as possible. Thanks

giridher-art avatar Sep 08 '25 13:09 giridher-art

@Matt3o12 latest version of rustls is 0.23.31. if you mean tokio-rustls - v0.26.0 , its already updated.

giridher-art avatar Sep 09 '25 11:09 giridher-art

yes there's no need for any changes, just tag and push to crates.io. I am still depending on it by the git hash

MightyPork avatar Sep 09 '25 11:09 MightyPork

@MightyPork the new release has been pushed into crates.io

giridher-art avatar Sep 09 '25 17:09 giridher-art

@Matt3o12 latest version of rustls is 0.23.31. if you mean tokio-rustls - v0.26.0 , its already updated.

Yes sorry I meant just rustls.

Thanks for the new release, could you also maybe consider https://github.com/bytebeamio/rumqtt/pull/988 as well and create another release for that? One problem I have with the new release is that my rumqttc stopped building on some targets as rustls switch from ring to aws-lc-rs which supports fewer platforms and requires a c++ toolchain (cmake, etc). Defining adding the ring feature mysql doesn't fix this problem as cargo still tries to compile aws-lc-rs.

Matt3o12 avatar Sep 09 '25 20:09 Matt3o12

@Matt3o12 yeah , we are currently refactoring the some parts of rumqtt . we will review the PR's and include in the next release as soon as possible. Thanks

giridher-art avatar Sep 10 '25 04:09 giridher-art

stopped building on some targets as rustls switch from ring to aws-lc-rs which supports fewer platforms and requires a c++ toolchain

Having the same problem. Would be nice if this could be fixed soon as I can't use 0.25 for now as I rely on ring

WolfspiritM avatar Sep 10 '25 14:09 WolfspiritM

@Matt3o12 @WolfspiritM #988 has been successfully merged . now rumqttc supports a new feature "use-rustls-no-provider" which eliminates depending on aws-lc-rs crate . now can use your own crypto provider

giridher-art avatar Sep 14 '25 08:09 giridher-art