dsmrreader / dsmr-reader

DSMR-telegram reader & data visualizer for hobbyists. Free for non-commercial use.
https://dsmr-reader.readthedocs.io
Other
459 stars 95 forks source link

Bump paho-mqtt from 1.6.1 to 2.0.0 #1969

Closed dependabot[bot] closed 4 months ago

dependabot[bot] commented 4 months ago

Bumps paho-mqtt from 1.6.1 to 2.0.0.

Release notes

Sourced from paho-mqtt's releases.

v2.0.0

This release include breaking change. See https://eclipse.dev/paho/files/paho.mqtt.python/html/migrations.html for more details on how to upgrade.

This release also introduce new documentation available online at https://eclipse.dev/paho/files/paho.mqtt.python/html/index.html

  • BREAKING Added callback_api_version. This break ALL users of paho-mqtt Client class. See migrations.rst for details on how to upgrade. tl; dr; add CallbackAPIVersion.VERSION1 to first argument of Client()
  • BREAKING Drop support for Python 2.7, Python 3.5 and Python 3.6 Minimum tested version is Python 3.7 Python version up to Python 3.12 are tested.
  • BREAKING connect_srv changed it signature to take an additional bind_port parameter. This is a breaking change, but in previous version connect_srv was broken anyway. Closes #493.
  • BREAKING Remove some deprecated argument and method:
    • max_packets argument in loop(), loop_write() and loop_forever() is removed
    • force argument in loop_stop() is removed
    • method message_retry_set() is removed
  • BREAKING Remove the base62, WebsocketWrapper and ConnectionState, as user shouldn't directly use them.
  • Possible breaking change: Add properties to access most Client attribute. Closes #764. Since this add new properties like logger, if a sub-class defined logger, the two logger will conflict.
  • Add version 2 of user-callback which allow to access MQTTv5 reason code & properties that were missing from on_publish callback. Also it's more consistent in parameter order or between MQTTv3 and MQTTv5.
  • Add types to Client class, which caused few change which should be compatible. Known risk of breaking changes:
    • Use enum for returned error code (like MQTT_ERR_SUCCESS). It use an IntEnum which should be a drop-in replacement. Excepted if someone is doing "rc is 0" instead of "rc == 0".
    • reason in on_connect callback when using MQTTv5 is now always a ReasonCode object. It used to possibly be an integer with the value 132.
    • MQTTMessage field "dup" and "retain" used to be integer with value 0 and 1. They are now boolean.
  • Add support for ALPN protocols on TLS connection. Closes #790 & #648.
  • Add on_pre_connect() callback, which is called immediately before a connection attempt is made.
  • Fix subscribe.simple with MQTTv5. Closes #707.
  • Use better name for thread started by loop_start. Closes #617.
  • Fix possible bug during disconnection where self._sock is unexpectedly None. Closes #686 & #505.
  • Fix loading too weak TLS CA file but setting allowed ciphers before loading CA. Closes #676.
  • Allow to manually ack QoS > 0 messages. Closes #753 & #348.
  • Improve tests & linters. Modernize build (drop setup.py, use pyproject.toml)
  • Fix is_connected property to correctly return False when connection is lost and loop_start/loop_forever isn't used. Closes #525.
  • Fix wait_for_publish that could hang with QoS == 0 message on reconnection or publish during connection. Closes #549.
  • Correctly mark connection as broken on SSL error and don't crash loop_forever. Closes #750.
  • Fix handling of MQTT v5.0 PUBREL messages with remaining length not equal to 2. Closes #696.
  • Raise error on subscribe() when topic is an empty list. Closes #690.

... (truncated)

Changelog

Sourced from paho-mqtt's changelog.

v2.0.0 - 2024-02-10

This release include breaking change. See migrations <https://eclipse.dev/paho/files/paho.mqtt.python/html/migrations.html>_ for more details on how to upgrade.

  • BREAKING Added callback_api_version. This break ALL users of paho-mqtt Client class. See migrations.md for details on how to upgrade. tl; dr; add CallbackAPIVersion.VERSION1 to first argument of Client()

  • BREAKING Drop support for Python 2.7, Python 3.5 and Python 3.6 Minimum tested version is Python 3.7 Python version up to Python 3.12 are tested.

  • BREAKING connect_srv changed it signature to take an additional bind_port parameter. This is a breaking change, but in previous version connect_srv was broken anyway. Closes #493.

  • BREAKING Remove some deprecated argument and method:

    • max_packets argument in loop(), loop_write() and loop_forever() is removed
    • force argument in loop_stop() is removed
    • method message_retry_set() is removed
  • BREAKING Remove the base62, WebsocketWrapper and ConnectionState, as user shouldn't directly use them.

  • Possible breaking change: Add properties to access most Client attribute. Closes #764. Since this add new properties like logger, if a sub-class defined logger, the two logger will conflict.

  • Add version 2 of user-callback which allow to access MQTTv5 reason code & properties that were missing from on_publish callback. Also it's more consistent in parameter order or between MQTTv3 and MQTTv5.

  • Add types to Client class, which caused few change which should be compatible. Known risk of breaking changes:

    • Use enum for returned error code (like MQTT_ERR_SUCCESS). It use an IntEnum which should be a drop-in replacement. Excepted if someone is doing "rc is 0" instead of "rc == 0".
    • reason in on_connect callback when using MQTTv5 is now always a ReasonCode object. It used to possibly be an integer with the value 132.
    • MQTTMessage field "dup" and "retain" used to be integer with value 0 and 1. They are now boolean.
  • Add support for ALPN protocols on TLS connection. Closes #790 & #648.

  • Add on_pre_connect() callback, which is called immediately before a connection attempt is made.

  • Fix subscribe.simple with MQTTv5. Closes #707.

  • Use better name for thread started by loop_start. Closes #617.

  • Fix possible bug during disconnection where self._sock is unexpectedly None. Closes #686 & #505.

  • Fix loading too weak TLS CA file but setting allowed ciphers before loading CA. Closes #676.

  • Allow to manually ack QoS > 0 messages. Closes #753 & #348.

  • Improve tests & linters. Modernize build (drop setup.py, use pyproject.toml)

  • Fix is_connected property to correctly return False when connection is lost and loop_start/loop_forever isn't used. Closes #525.

  • Fix wait_for_publish that could hang with QoS == 0 message on reconnection or publish during connection. Closes #549.

  • Correctly mark connection as broken on SSL error and don't crash loop_forever. Closes #750.

  • Fix handling of MQTT v5.0 PUBREL messages with remaining length not equal to

... (truncated)

Commits
  • ebffdc2 Bump version to 2.0.0
  • 70cc273 Add file py.typed
  • 8153db6 Catch connection reset in websocket handshake
  • 4c0d9aa Merge pull request #804 from eclipse/update-readme-and-example
  • 80667d2 Fix spelling
  • 8645d3b Add note that 2.0 is not yet released
  • 6f4ad37 Add links to online Sphinx documentation
  • a44e1c5 Include ChangeLog in Sphinx docs
  • a2d7534 Move migrations.md to docs (and convert to rst)
  • 87ce6f6 Drop markdown build from git repository
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 4 months ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.