Skip to content
Takatoshi Kondo edited this page Jun 25, 2021 · 11 revisions

News

v7.0.1 has been released

  • Fixed packet_id leak on QoS2 publish. (backported) (#541, #542, #543)

v6.0.7 has been released

  • Fixed packet_id leak on QoS2 publish. (backported) (#541, #542, #543)

The master branch is now heading to v8.0.0.

  • The meaning of connect() is changed.

v7.0.0 has been released

  • QoS, Reason code, and other std::uint8_t types are replaced with enum class.

v6.0.3 ~ v6.0.6 has been released

  • Fixed bugs.

v6.0.2 has been released

This release contains memory error fix. I strongly recommend updating.

  • Fixed moved from object access problem.
  • Fixed unexpected copy fallback of move operations.

v6.0.1 has been released

Fixed acquired_async_publish_dup() compile error.

v6.0.0 has been released

Zero copy receiving functionality has been added.

v5.0.0 has been released

It contains many bug fixes and some breaking changes. See https://github.com/redboltz/mqtt_cpp/releases/tag/v5.0.0.

I strongly recommend that preparing the type alias of mqtt::string_view. It could change the next major release. see https://github.com/redboltz/mqtt_cpp/issues/320.

See https://github.com/redboltz/mqtt_cpp/blob/v5.0.0/include/mqtt/endpoint.hpp#L165

Here is a definition of the connect_handler.

    using connect_handler = std::function<
        bool(mqtt::string_view client_id,
             mqtt::optional<mqtt::string_view> username,
             mqtt::optional<mqtt::string_view> password,
             mqtt::optional<will> will,
             bool clean_session,
             std::uint16_t keep_alive)>;

When you call set_connect_handler(), use the type alias as follows:

// client code

// define type alias
using your_string_view = mqtt::string_view;

set_connect_handler(
    []
    (
        your_string_view client_id,
        mqtt::optional<your_string_view> username,
        mqtt::optional<your_string_view> password,
        mqtt::optional<will> will,
        bool clean_session,
        std::uint16_t keep_alive)>;    ) {
        // ... implementation
    }
);

v4.0.0 has been released

It supports MQTT v5 protocol.