mirror of
https://github.com/eclipse/mosquitto.git
synced 2025-05-09 01:01:11 +08:00
Web: Roadmap and MQTT 5 updates.
This commit is contained in:
parent
8960b1fe29
commit
44135bc680
3
www/README.md
Normal file
3
www/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
This is the mosquitto website, it can be built with `nikola`:
|
||||
|
||||
`nikola build`
|
@ -87,6 +87,7 @@ NAVIGATION_LINKS = {
|
||||
#("/sponsoring/", "Sponsoring"),
|
||||
(
|
||||
(
|
||||
("/roadmap/", "Roadmap"),
|
||||
("/api/", "API"),
|
||||
("/man/libmosquitto-3.html", "libmosquitto"),
|
||||
("/man/mosquitto-8.html", "mosquitto"),
|
||||
|
81
www/pages/roadmap.md
Normal file
81
www/pages/roadmap.md
Normal file
@ -0,0 +1,81 @@
|
||||
<!--
|
||||
.. 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.
|
59
www/posts/2018/11/mqtt5-progress.md
Normal file
59
www/posts/2018/11/mqtt5-progress.md
Normal file
@ -0,0 +1,59 @@
|
||||
<!--
|
||||
.. title: MQTT 5 progress
|
||||
.. slug: mqtt5-progress
|
||||
.. date: 2018-11-29 21:33:29 UTC+00:00
|
||||
.. tags: MQTT5
|
||||
.. category:
|
||||
.. link:
|
||||
.. description:
|
||||
.. type: text
|
||||
-->
|
||||
|
||||
Development of support for MQTT 5 is ongoing and making good progress, but has
|
||||
been substantially delayed due to other non-Mosquitto work having to take
|
||||
priority.
|
||||
|
||||
It is possible to test the current state of MQTT 5 support by using the `mqtt5`
|
||||
branch of the [repository]. Please note that this is very much a work in
|
||||
progress, so parts are incomplete and interfaces may yet change. The client
|
||||
library in particular has had to have an increase in functions available in
|
||||
order to provide the features needed whilst providing backwards compatibility.
|
||||
Part of the plan for the 2.0 release, which will follow after 1.6, is to
|
||||
consolidate the libmosquitto API with breaking changes. There are more details
|
||||
on the [roadmap].
|
||||
|
||||
Current features include:
|
||||
|
||||
* Support for all incoming and outgoing packets, although not everything is
|
||||
processed.
|
||||
* Support for sending and receiving all properties, with not all properties
|
||||
processed.
|
||||
* Client support for setting properties
|
||||
* Request/response support (client cannot process incoming correlation data)
|
||||
* Retain availability
|
||||
* Message expiry interval support
|
||||
* Server support for assigned client identifiers
|
||||
* Payload format indicator support
|
||||
* Content-type support
|
||||
* Basic topic alias support from client to broker
|
||||
* Lots of new tests
|
||||
|
||||
Both `mosquitto_pub` and `mosquitto_sub` support setting properties on the
|
||||
command line, for example:
|
||||
|
||||
```
|
||||
mosquitto_sub -t topic -v -D connect session-expiry-interval 60 -D connect user-property key value -D subscribe user-property sub-key sub-value
|
||||
```
|
||||
|
||||
```
|
||||
mosquitto_pub -t topic -m '{"key":"value"}' -D publish content-type "application/json"
|
||||
```
|
||||
|
||||
```
|
||||
./sensor_read.sh | mosquitto_pub -t topic -l -D publish topic-alias 1
|
||||
```
|
||||
|
||||
Further updates will be posted when more features are available.
|
||||
|
||||
[repository]: https://github.com/eclipse/mosquitto/tree/mqtt5
|
||||
[roadmap]: https://mosquitto.org/roadmap/
|
Loading…
x
Reference in New Issue
Block a user