python3-paho-mqtt: Upgrade 1.6.1 -> 2.0.0

Upgrade to version 2.0.0:

- **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.
- **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. 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.
- Add on_pre_connect() callback, which is called immediately before
  a connection attempt is made.
- Fix subscribe.simple with MQTTv5.
- Use better name for thread started by loop_start.
- Fix possible bug during disconnection where self._sock is
  unexpectedly None.
- Fix loading too weak TLS CA file but setting allowed ciphers
  before loading CA.
- Allow to manually ack QoS > 0 messages.
- 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.
- Fix wait_for_publish that could hang with QoS == 0 message on
  reconnection or publish during connection.
- Correctly mark connection as broken on SSL error and don't crash
  loop_forever.
- Fix handling of MQTT v5.0 PUBREL messages with remaining length
  not equal to 2.
- Raise error on ``subscribe()`` when `topic` is an empty list.
- Raise error on `publish.multiple()` when ``msgs`` is an empty
  list.
- Don't add port to Host: header for websockets connections when
  the port if the default port.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Leon Anavi 2024-03-25 21:58:14 +02:00 committed by Khem Raj
parent 0bae674232
commit ff59eced7c
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -5,9 +5,13 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8e5f264c6988aec56808a3a11e77b913 \
"
SRCNAME = "paho-mqtt"
inherit pypi setuptools3
inherit pypi python_hatchling python_setuptools_build_meta
SRC_URI[sha256sum] = "2a8291c81623aec00372b5a85558a372c747cbca8e9934dfe218638b8eefc26f"
SRC_URI[sha256sum] = "13b205f29251e4f2c66a6c923c31fc4fd780561e03b2d775cff8e4f2915cf947"
PYPI_SRC_URI = "https://files.pythonhosted.org/packages/73/b7/a4df0f93bbdae237e16ba402752151eceee576cbe80c235a2475fbf81eea/paho_mqtt-${PV}.tar.gz"
S = "${WORKDIR}/paho_mqtt-${PV}"
DEPENDS += "python3-pytest-runner-native"