This is the first official release of eMQTT5.
This library is being used in production for years. We were asked to create a official release for it and there it is.
This is the last version supporting synchronous publishing, the new v2 branch changes the way the publish packets are handled and asynchronous publishing will appear in this branch.
More work and changes is coming in v2:
- Better Quality of Service support (previously, v1 relied on the client to implement (automatic) reconnection and thus, resending packet). v2 brings this support in the library
- No global MQTT client lock (previously, v1 prevented multiple thread access to the client's method to avoid corrupting the state). v2 better tracks state and should allow reentrant calls (like publishing while receiving a packet) to succeed.
- Possibility to disable QoS in the build process (to limit physical binary size).
- Easier to support new architecture/OS with a larger common implementation instead of per-OS low level implementation
- Lower latency for publishing and reacting to a incoming publish packet (with, on our benchmark, as low as hundred of ns)
v1.0.0 will be supported for bugfixes until the official v2.0.0 branch replace master.