In the last months a lot of people asked me if the M2Mqtt and GnatMQ projects are dead because there were no commits for a long time.
I can say … no ! They are not absolutely dead !
I was very busy in the last months, starting my new exciting Red Hat career in the messaging and IoT team, but I want to continue to support the projects as lead and main committer. Of course, I’ll be still busy with my new job but my commitment is to continue to improve the libraries, fixing bugs and adding new features. Just remember that I’ll do it in my spare time so I could not be so quick to reply your suggestions; of course your help with useful pull requests will be great !
As you now, today the M2Mqtt client library is under the official Paho GitHub repo and I have finally deleted the repo on my personal GitHub account.
The GnatMQ, based on M2Mqtt, will continue to live where it’s now here.
I’ll do my best to check the issues and the pull requests provided by the community, happy to know that my projects have a lot of followers and there are a lot of professional solutions using them out there !
As always I invite you to share with me your experience using my libraries in order to mention your solution in the “case studies” section of the official web site.
Today, the new M2Mqtt 18.104.22.168 version was released !
It has “only one” great improvement … the TLS client authentication support !
Now, you can use a client certificate to authenticate the client itself during the SSL/TLS handshake with the broker. A big IoT platform like the Amazon AWS IoT uses it and for this reason, we support this authentication now !
You can connect your IoT device MQTT based to AWS IoT thanks to the new TLS client authentication feature.
The release is available as source code under the Eclipse Paho project, on GitHub and as binaries on Nuget.
In the latest release of GnatMQ broker, the SSL/TLS support was added and now it’s so simple to have the broker up and running with this security layer.
If you’d like to know what are the main steps to execute for enabling SSL/TLS in GnatMQ you have to read the Paolo’s blog post here !
Enjoy the blog post !
Using M2Mqtt on Windows IoT Core ? It’s possible !
The compiled package available on Nuget with latest 22.214.171.124 release include the WinRT version that can be used on Windows 8.1, Windows Phone 8.1 and of course on Windows 10 following the UWP (Universal Windows Platform) model : one application for all platforms from PC to smartphone and IoT.
On Paolo Patierno’s blog you can find a simple walkthrough to use M2Mqtt on a Raspberry Pi 2 with latest release of Windows IoT Core. As Paolo said … it’s a simple marriage !
M2Mqtt 4.2 and GnatMQ 1.1 … new releases … out !!
The real big changes are related to GnatMQ that supports SSL/TLS connections now !
Now you can instantiate the broker class passing it the server X509 certificate to accept only encrypted connections from clients (SSL 3.0 to TLS 1.2). However, this feature works only on .Net Framework version because WinRT APIs doesn’t support SSL/TLS connections on server side (only on client side).
Due to the shared code between GnatMQ and M2Mqtt, on the client side the above changes mean that now you can select the SSL/TLS protocol version you want to use to connect to an MQTT broker (from SSL 3.0 to TLS 1.2 but, of course, it depends on the framework and for example with .Net Micro Framework you have TLS 1.0 as higher version).
Last but not least, the projects have a new home on GitHub (moved from CodePlex) but remember that M2Mqtt is always part of Eclipse Paho project, the bigger project with all MQTT client implementations in all main different languages !
Of course … both new packages are on Nuget !
In summary …
The M2Mqtt client library is available :
The GnatMQ broker is available :
As open source project on GitHub
- As compiled assemblies on Nuget;
Today … is a good day for M2Mqtt project !
Some weeks ago the HiveMQ team asked me to write an article on M2Mqtt library for their post series “MQTT Client Library Encyclopedia” focused on all the main MQTT protocol implementations on client side. Of course, I accepted to write it and today it’s online at following link.
I hope you’ll enjoy and find it useful to understand better how to use the most famous Microsoft based MQTT client !
Finally GnatMQ was out of beta and released as stable with it’s first version !
In the last period I received a lot of good feedbacks on GnatMQ by more companies that are using it with good results. For me, it was a very good test on this product so I decided to release it as stable first release on CodePlex but of course on Nuget as “cooked” package that you can add in your project and use as .Net/WinRT based MQTT broker.
One of the great usage of the broker is the XSockets plugin that provides the possibility for each XSockets client to interact with MQTT clients using GnatMQ as broker. It’s a great implementation by XSockets team and especially by Uffe Bjorklund ! Of course it’s open source and available on GitHub.
I hope you enjoy the gnat !
Finally the new M2Mqtt 4.1 version is out !
After about a month of work, it’s finally time to release the new version of the M2Mqtt library (126.96.36.199) and the related GnatMQ broker (0.9.3.0 Beta) with the MQTT OASIS 3.1.1 specification support (in addition to some bug fixes).
Who knows the MQTT protocol, used in the Internet of Things market, also knows that the reference project for it is Paho of the Eclipse Foundation.
In this large list, until a few days ago, an implementation in C# usable on .Net and WinRT platforms was missing . This gap was filled with my M2Mqtt project that is now officially under Paho umbrella for which I’m officially a committer !
It’s a great honor for me and I could not imagine that after few more than one year (M2Mqtt was born in April 2013), the core members of the Eclipse Foundation and all those who work on the MQTT protocol could ask me to be part of this project . Among them are Benjamin Cabè (IoT Community Evangelist of the Eclipse Foundation), Ian Craggs (Software Engineer at IBM and project lead of Paho), Andy Piper (Developer Advocat Twitter and project lead of Paho), Ian Skerrett (Vice President of Marketing at the Eclipse Foundation). To these people I have to add Nicholas O’Leary (Emerging Technology Specialist at IBM, committers on Paho and father of Node-RED), Roger Light (creator of the mosquitto broker and committers on Paho) and all other Paho committers (Al Stockdill-Mander, Andy Gelme, Dave Locke) who voted unanimously on M2Mqtt.
These are the people who believed that M2Mqtt was worthy of being part of the Paho project adding all those who use the library in their professional or hobbistic projects.
As Microsoft MVP (on Windows Embedded and IoT), I’m very happy that C# and .Net/WinRT platforms, thanks to my M2Mqtt project, are now part of a great open source project like Paho. It means that M2Mqtt could be considered the reference implementation of MQTT on Microsoft platforms.
Of course, all those people who until now have been using CodePlex as a repository will continue to do so (the same goes for Nuget). It will always be aligned with the updates and improvements to the library in the Paho project.