Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update paho-mqtt requirement from <2 to <3 #12

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 29, 2024

Updates the requirements on paho-mqtt to permit the latest version.

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 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 <dependency name> 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)

Updates the requirements on [paho-mqtt](https://github.com/eclipse/paho.mqtt.python) to permit the latest version.
- [Release notes](https://github.com/eclipse/paho.mqtt.python/releases)
- [Changelog](https://github.com/eclipse/paho.mqtt.python/blob/master/ChangeLog.txt)
- [Commits](eclipse-paho/paho.mqtt.python@v0.9...v2.0.0)

---
updated-dependencies:
- dependency-name: paho-mqtt
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Mar 29, 2024
@amotl
Copy link
Member

amotl commented Mar 29, 2024

Updating to paho-mqtt 2.0 needs manual interventions, because it introduced breaking changes.

Copy link
Contributor Author

dependabot bot commented on behalf of github Mar 29, 2024

Looks like paho-mqtt is up-to-date now, so this is no longer needed.

@dependabot dependabot bot closed this Mar 29, 2024
@dependabot dependabot bot deleted the dependabot/pip/paho-mqtt-lt-3 branch March 29, 2024 03:49
@amotl
Copy link
Member

amotl commented Mar 29, 2024

This patch made pytest-mqtt compatible with paho-mqtt 2.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant