Is it time to upgrade to MQTT 5 yet?
Written by The HiveMQ Team
Category: MQTT MQTT5 Features and Hidden Gems
Published: July 16, 2019
Is it time to upgrade to MQTT 5 yet?
Welcome to this week’s blog post! After last week’s Introduction to MQTT 5, many readers wondered when the successor to MQTT 3.1.1 is ready for prime time and can be used in future and existing projects.
Before we try to answer the question in more detail, we’d love to hear your thoughts about upgrading to MQTT 5. We prepared a small survey below. Let us know how your MQTT 5 upgrading plans are!
The MQTT 5 OASIS Standard
As of late December 2017, the MQTT 5 specification is not available as an official “Committee Specification” yet. In other words: MQTT 5 is not available yet officially. The foundation for every implementation of the standard is, that the Technical Committee at OASIS officially releases the standard.
The good news: Although no official version of the standard is available yet, fundamental changes to the current state of the specification are not expected. The Public Review phase of the “Committee Specification Draft 2” finished without any major comments or issues. We at HiveMQ expect the MQTT 5 standard to be released in very late December 2017 or January 2018.
Current state of client libraries
To start using MQTT 5, you need two participants: An MQTT 5 client library implementation in your programming language(s) of choice and an MQTT 5 broker implementation (like HiveMQ). If both components support the new standard, you are good to go and can use the new version in your projects.
When it comes to MQTT libraries, Eclipse Paho is the one-stop shop for MQTT clients in most programming languages. A recent Paho mailing list entry stated that Paho plans to release MQTT 5 client libraries end of June 2018 for the following programming languages:
- C (+ embedded C)
If you’re feeling adventurous, at least the Java Paho client has preliminary MQTT 5 support available. You can play around with the API and get a feel about the upcoming Paho version. Just build the library from source and test it, but be aware that this is not safe for production use.
There is also a very basic test broker implementation available at Eclipse Paho which can be used for playing around. This is of course only for very basic tests and does not support all MQTT 5 features yet. If you’re planning to write your own library, this may be a good tool to test your implementation against.
There are of other individual MQTT library projects which may be worth to check out. As of December 2017 most of these libraries don’t have an MQTT 5 roadmap published yet.
HiveMQ and MQTT 5
You can’t use the new version of the MQTT protocol only by having a client that is ready for MQTT 5. The counterpart, the MQTT broker, also needs to fully support the new protocol version. At the time of writing, no broker is MQTT 5 ready yet.
HiveMQ was the first broker to fully support version 3.1.1 of MQTT and of course here at HiveMQ we are committed to give our customers the advantage of the new features of version 5 of the protocol as soon as possible and viable.
We are going to provide an _Early Access version of the upcoming HiveMQ generation with MQTT 5 support. If you’re a library developer or want to go live with the new protocol version as soon as possible: The Early Access version is for you. Add yourself to the Early Access Notification List and we’ll notify you when the Early Access version is available.
We expect to release the upcoming HiveMQ generation in the fourth quarter of 2018 with full support of ALL MQTT 5 features at scale in an interoperable way with previous MQTT versions.
When is MQTT 5 ready for prime time?
MQTT is typically used in mission critical environments where it’s not acceptable that parts of the infrastructure, broker or client, are unreliable or have some rough edges. So it’s typically not advisable to be the very first to try out new things in a critical production environment.
Here at HiveMQ we expect that the first users will go live to production in Q4 2018 and in the subsequent months. After the releases of the Paho library in June and the HiveMQ Early Access version, the adoption of MQTT 5 is expected to increase rapidly.
So, is MQTT 5 ready for prime time yet (as of December 2017)? No.
Will the new version of the protocol be suitable for production environments in late 2018: _Yes, definitely.
Upcoming topics in this series
We will continue this blog post series in January after the European Christmas Holidays. To kick-off the technical part of the series, we will take a look at the foundational changes of the MQTT protocol. And after that, we will release one blog post per week that will thoroughly review and inspect one new feature in detail together with best practices and fun trivia.
If you want us to send the next and all upcoming articles directly into your inbox, just use the newsletter subscribe form below.
P.S. Don’t forget to let us know if MQTT 5 is of interest for you by participating in this quick poll.
Have an awesome week, The HiveMQ Team