Skip to content

Latest commit

 

History

History
320 lines (187 loc) · 16.2 KB

CHANGELOG.md

File metadata and controls

320 lines (187 loc) · 16.2 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Removed

Added

[0.16.1]

Fixed

[0.16.0]

Added

Changed

Fixed

  • Fix typo in description metadata. Contributed by (@pi-slh) in #162

[0.15.0]

Added

Changed

[0.14.0]

Added

Changed

Removed

Fixed

[0.13.0]

Added

Changed

Fixed

[0.12.1] - 2022-01-19

Fixed

  • Fix TypeError with the new _outgoing_call decorator.

[0.12.0] - 2022-01-19

Added

  • Add backpressure mechanism to limit the number of concurrent outgoing calls. Contributed by Aaron Bach (@bachya) in #101

[0.11.1] - 2022-01-10

Fixed

  • Fix race condition in the "advanced example" in README.md. Contributed by Steve Palmer (@steverpalmer) in #93

  • Make password keyword argument optional (as it always should have been). Contributed by @Shikoruma in #89

  • Fix false postive type error from Pyright regarding asynccontextmanager. Contributed by Shawn Wilsher (@sdwilsh) in #87

  • Fix type hints (mostly related to async_generator). Contributed by @laundmo in #86

[0.11.0] - 2021-11-04

Added

Changed

Fixed

[0.10.0] - 2021-07-13

Added

  • Add new parameter socket_options to Client.__init__. Contributed by @xydan83 in #71

  • Add new parameter message_retry_set to Client.__init__. Contributed by @xydan83 in #69

  • Export ProtocolVersion from the main module. Contributed by André (@tropxy) in #65 (1/2)

  • Add documentation about publishers, client arguments, etc. Contributed by André (@tropxy) in #65 (2/2)

Fixed

  • Fix race condition that caused InvalidStateError in force_disconnect(). Contributed by @functionpointer in #67

[0.9.1] - 2021-05-13

Fixed

[0.9.0] - 2021-05-03

Added

Fixed

[0.8.1] - 2021-02-23

Fixed

[0.8.0] - 2020-11-09

Added

  • Add transport argument to Client Contributed by @opengs in #21
  • Add clean_session argument to Client Contributed by @nadyka in #17

[0.7.0] - 2020-08-04

I've tested the library for production use at SBT Instruments. This uncovered a bunch of bugs and missing features that I've adressed in this release. We are approaching a 1.0.0 release. Let me know if you want something changed before that via the issue tracker on GitHub.

Added

  • Add support for MQTTv5.
  • Add will keyword argument to Client.
  • Add MqttConnectError with specific error messages for connection failures.
  • Add Client.id property that returns the client ID (or None if the client ID was not specified during construction).

Fixed

  • Fix unhandled exception error.
  • Fix "Task was destroyed but it is pending" error.
  • Fix compatibility with asyncqt's event loop.
  • Fix race condition in Client.connect that raised an AttributeError.
  • Fix "[asyncio] Future exception was never retrieved" debug message.
  • Fix support for python 3.6. Contributed by Derrick Lyndon Pallas (@pallas) in #12

[0.6.0] - 2020-06-26

Changed

  • No longer logs exception in Client.__aexit__. It's perfectly valid to exit due to, e.g., asyncio.CancelledError so let's not treat it as an error.

[0.5.0] - 2020-06-08

Added

  • Add support for python 3.6. Contributed by Derrick Lyndon Pallas (@pallas) in #7 (1/2).
  • Add client_id and tls_context keyword arguments to the Client constructor. Contributed by Derrick Lyndon Pallas (@pallas) in #7 (2/2).
  • Add timeout keyword argument to both Client.connect and Client.disconnect. Default value of 10 seconds (like the other functions).

Changed

  • Propagate disconnection errors to subscribers. This enables user code to detect if a disconnect occurs. E.g., due to network errors.

[0.4.0] - 2020-05-06

Changed

  • BREAKING CHANGE: Forward the MQTTMessage class from paho-mqtt instead of just the payload. This applies to both Client.filtered_messages and Client.unfiltered_messages.

    This way, user code not only gets the message payload but also the topic, qos level, retain flag, etc.

    Contributed by Matthew Bradbury (@MBradbury) in #3.

[0.3.0] - 2020-04-13

Added

  • Add username and password keyword arguments to the Client constructor. Contributed by @gluap in #1.

Fixed

  • Fix log message context for Client.filtered_messages.

[0.2.1] - 2020-04-07

Fixed

  • Fix regression with the Client._wait_for helper method introduced in the latest release.

[0.2.0] - 2020-04-07

Changed

  • BREAKING CHANGE: Replace all uses of asyncio.TimeoutError with MqttError.

    Calls to Client.subscribe/unsubscribe/publish will no longer raise asyncio.TimeoutError.

    The new behaviour makes it easier to reason about, which exceptions the library throws:

    • Wrong input parameters? Raise ValueError.
    • Network or protocol failures? MqttError.
    • Broken library state? RuntimeError.

[0.1.3] - 2020-04-07

Fixed

  • Fix how keyword arguments are forwarded in Client.publish and Client.subscribe.

[0.1.2] - 2020-04-06

Fixed

  • Remove log call that was erroneously put in while debugging the latest release.

[0.1.1] - 2020-04-06

Fixed

  • Add missing parameters to Client.publish.
  • Fix error in Client.publish when paho-mqtt publishes immediately.

[0.1.0] - 2020-04-06

Initial release.