82 lines
2.6 KiB
Markdown
82 lines
2.6 KiB
Markdown
|
<!--
|
||
|
.. title: Roadmap
|
||
|
.. slug: roadmap
|
||
|
.. date: 2018-11-09 10:53:50 UTC
|
||
|
.. tags:
|
||
|
.. category:
|
||
|
.. link:
|
||
|
.. description:
|
||
|
.. type: text
|
||
|
-->
|
||
|
|
||
|
# Roadmap
|
||
|
|
||
|
## Version 1.6
|
||
|
|
||
|
The next minor release. The focus of this release is on providing support for
|
||
|
version 5 of the MQTT protocol.
|
||
|
|
||
|
This release will provide a feature complete implementation, but does not
|
||
|
represent the final interface for all features. In particular, functions are
|
||
|
being added to libmosquitto to provide support for MQTT 5 features, but these
|
||
|
will be consolidated with the API changes planned for version 2.0.
|
||
|
|
||
|
### Deprecation notices
|
||
|
|
||
|
#### libmosquittopp
|
||
|
|
||
|
libmosquittopp, the C++ wrapper around libmosquitto is now deprecated and will
|
||
|
be removed in the next major release (2.0). The wrapper came about by an
|
||
|
external request and at the time it was created there were no other C++
|
||
|
solutions for MQTT. This has changed in the past years and this wrapper
|
||
|
provides no benefit over true C++ libraries or using the pure C libmosquitto.
|
||
|
|
||
|
#### libmosquitto API changes
|
||
|
|
||
|
The Mosquitto project has maintained API and ABI compatibility in libmosquitto
|
||
|
since version 1.0, and has dealt with the introduction of new specification
|
||
|
features by adding new functions which duplicate the behaviour of existing
|
||
|
functions, but with additional arguments to support the new features.
|
||
|
Particularly with regards to adding support for MQTT version 5, this has lead
|
||
|
to a proliferation of functions which offer small variations on a theme.
|
||
|
|
||
|
The libmosquitto functions listed below (which includes some new functions
|
||
|
included in 1.6) are going to be updated for version 2.0. Functions not listed
|
||
|
here should still be considered at risk of being updated.
|
||
|
|
||
|
* mosquitto\_will\_set
|
||
|
* mosquitto\_connect\*
|
||
|
* mosquitto\_reconnect\*
|
||
|
* mosquitto\_disconnect
|
||
|
* mosquitto\_publish\*
|
||
|
* mosquitto\_subscribe\*
|
||
|
* mosquitto\_unsubscribe\*
|
||
|
* mosquitto\_loop\*
|
||
|
* mosquitto\_\*\_callback\_set
|
||
|
* All callbacks
|
||
|
* mosquitto\_\*\_topic\_check\*
|
||
|
|
||
|
|
||
|
## Version 2.0
|
||
|
|
||
|
This is the next major release and includes breaking changes. Other features
|
||
|
planned include:
|
||
|
|
||
|
## Disk persistence improvements
|
||
|
|
||
|
A new disk persistence interface will be created to allow persistence to occur
|
||
|
immediately, rather than periodically. This will allow queued messages for
|
||
|
disconnected clients to be removed from memory, and reduce the periodic pause
|
||
|
caused when writing the persistence file.
|
||
|
|
||
|
## Breaking changes
|
||
|
|
||
|
### libmosquitto
|
||
|
|
||
|
The libmosquitto API is being consolidated to better support the new MQTT 5
|
||
|
features whilst reducing the number of function variants.
|
||
|
|
||
|
### libmosquittopp
|
||
|
|
||
|
The C++ wrapper around libmosquitto will be removed in this release.
|