File python-paho-mqtt.changes of Package python-paho-mqtt
-------------------------------------------------------------------
Thu Jul 3 08:52:17 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Add fix-tests.patch to keep tests working beyond 2026 (boo#1102840)
-------------------------------------------------------------------
Thu May 2 08:08:36 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 2.1.0:
* Make transition from 1.x to 2.x version smoother
* Fix "protocol" property
* Fix publish() a bytearray payload
* Fix some type annotations
* Fix loop_stop() not stopping thread when called from callback
* Fix some documentation errors
* Add support for Unix socket
* Fix flaky test
-------------------------------------------------------------------
Fri Mar 22 14:38:52 UTC 2024 - pgajdos@suse.com
- version update to 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.
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.
- Raise error on `publish.multiple()` when ``msgs`` is an empty list. Closes #684.
- Don't add port to Host: header for websockets connections when the port if the default port. Closes #666.
* does not require six
-------------------------------------------------------------------
Wed Dec 8 13:58:37 UTC 2021 - pgajdos@suse.com
- %check: test the package
-------------------------------------------------------------------
Tue Nov 9 07:04:35 UTC 2021 - Adrian Schröter <adrian@suse.de>
- update to version 1.6.1:
- Changed default TLS version to 1.2 instead of 1.0.
- Fix incoming MQTT v5 messages with overall property length > 127 bytes being
incorrectly decoded. Closes #541.
- MQTTMessageInfo.wait_for_publish() and MQTTMessageInfo.is_published() will
now raise exceptions if called when the publish call produced an error.
Closes #550.
- Remove periodic retry checks for outgoing messages with QoS>0. This means
that outgoing messages will only be retried on the client reconnecting to
the server. They will *not* be retried when the client is still connected.
- The `rc` parameter in the `on_disconnect` callback now has meaningful values
in the case of an error. Closes #441.
- Callbacks can now be applied to client instances using decorators.
- PUBACK messages are now sent to the broker only after the on_message
callback has returned.
- Raise exceptions when attempting to set MQTT v5 properties to forbidden
values. Closes #586.
- Callbacks can now be updated from within a callback.
- Remove _out_packet_mutex and _current_out_packet_mutex and convert the
_out_packet queue use to thread safe.
- Add basic MQTT v5 support to the subscribe and publish helper functions.
Closes #575.
- Fix on_disconnect() sometimes calling the MQTT v3.x callback when it should
call the MQTT v5 callback. Closes #570.
- Big performance improvement when receiving large payloads, particularly for
SSL. Closes #571,
- Fix connecting with MQTT v5 to a broker that doesn't support MQTT v5.
Closes #566.
- Removed ancient Mosquitto compatibility class.
- Fix exception on calling Client(client_id="", clean_session=False).
Closes #520.
- Experimental support for Websockets continuation frames. Closes #500.
Closes #89.
- `Properties.json()` now converts Correlation Data bytes() objects to hex.
Closes #555.
- Only use the internal sockpair wakeup when running with loop_start() or
loop(). This removes problems when running with an external event loop.
- Drain all of sockpairR bytes to avoid unnecessary wakeups and possible
timeouts. Closes #563.
- Add timeout to MQTTMessageInfo:wait_for_publish().
-------------------------------------------------------------------
Wed Sep 23 21:23:55 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.5.1:
* Exceptions that occur in callbacks are no longer suppressed
by default. They can optionally be suppressed by setting
`client.suppress_exceptions = True`.
* Fix PUBREL remaining length of > 2 not being accepted for
MQTT v5 message flows.
-------------------------------------------------------------------
Thu Oct 31 06:39:26 UTC 2019 - antoine.belvire@opensuse.org
- Update to version 1.5.0:
* Add support for clean_session on subscribe helper
(gh#eclipse/paho.mqtt.python#219).
* Add support for non-standard bridge connection
(gh#eclipse/paho.mqtt.python#282).
* Fix hang with QoS 2 message and clean_session = False. The fix
replace hang with message DROP. See README for known
limitation (gh#eclipse/paho.mqtt.python#284,
gh#eclipse/paho.mqtt.python#286).
* Fix connection establishement timeout
(gh#eclipse/paho.mqtt.python#291,
gh#eclipse/paho.mqtt.python#288).
* Add support for connecting through a proxy
(gh#eclipse/paho.mqtt.python#315).
* Add MQTT v5 support (gh#eclipse/paho.mqtt.python#334).
* Improve error message when sending queue is full
(gh#eclipse/paho.mqtt.python#378).
* Improve error handling during initialization on edge case
(gh#eclipse/paho.mqtt.python#387,
gh#eclipse/paho.mqtt.python#388).
* Allow to specify local client port used (similar to
bind_address) (gh#eclipse/paho.mqtt.python#390).
* Add method is_connected to know if MQTT connection is
established (gh#eclipse/paho.mqtt.python#414).
* Set connection timeout to keepalive
(gh#eclipse/paho.mqtt.python#425).
-------------------------------------------------------------------
Mon Dec 10 14:29:07 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
- Fix fdupes call
-------------------------------------------------------------------
Sun Sep 2 12:07:39 UTC 2018 - antoine.belvire@opensuse.org
- Update to version 1.4.0:
* Fix hang when client restarted and broker resumed a session
with Qos2 message.
* Fix reconnection loop when a clean_session=True client
reconnect while Qos2 message are being sent.
* Catch and log any exception raised by user callback.
* Improve support for external event loop (like asyncio).
* Fix order of message with publish.multiple helper.
* Fix hang on wait_for_published() on bad network.
* Fix issue with Websocket payload size between 127 and 65536.
* Closes socket in client destructor to avoid FD leak.
* Fix uncaught timeout exception during connection.
* Remove dup flag on PUBREL packet.
* Use secure entropy source for Websocket mask_key (urandom).
* Fix mid generation that was not thread-safe.
* Replace print() statements with proper logging.
* Allow insecure TLS on publish and subscribe helpers.
* Allow to remove authentication (reset username to None).
* Add support for the non-standard bridge mode.
-------------------------------------------------------------------
Sat Nov 18 19:08:26 UTC 2017 - antoine.belvire@opensuse.org
- Update to version 1.3.1:
* Fix reconnect_delay_set which ignored the max_delay.
* Fix crash when connection is lost while trying to send message.
* Fix issue with unicode topic when some character were
multi-bytes UTF-8.
* Fix issue with empty Client ID with broker that doesn't support
them.
* Fix issue with tls_set that did not allowed
cert_reqs=ssl.CERT_NONE.
-------------------------------------------------------------------
Sat Jul 8 12:06:38 UTC 2017 - antoine.belvire@opensuse.org
- Update to version 1.3.0:
* Requires Python 2.7 or 3.4+.
* Remove support for SSL without SSLContext (Requires Python
2.7.9+ or 3.2+).
* on_connect callback is now always called flags. Previously this
* callback could accepts 3 OR 4 arguments, now it must accepts 4.
* tls_insecure_set() must now be called *after* tls_set().
* Allow username and password to be zero length (as opposed to
* not being present).
* Allow zero length client ids when using MQTT v3.1.1.
* Add SSLContext support, including SNI.
* Improved support for unicode topic and binary payload.
* Allow arbitrary Websocket headers and path.
* Fix issue with large inbound payload over Websocket.
* Add exponential delay for reconnection.
* Move unit tests to pytest and tox.
* Add support for standard Python logging.
* Fix duplicate incoming QoS==2 message.
-------------------------------------------------------------------
Sat Apr 22 19:38:18 UTC 2017 - antoine.belvire@opensuse.org
- Update to version 1.2.3:
* Fix possible hang of TLS connection during handshake.
* Fix issue with publish helper with TLS connection.
* Fix installation issue on non-UTF-8 system.
* Fix non-working Websocket over TLS connection.
- Remove paho-mqtt-1.2.2-fix-readme-decoding.patch (fixed
upstream).
-------------------------------------------------------------------
Fri Apr 14 20:45:25 UTC 2017 - antoine.belvire@opensuse.org
- Update to version 1.2.2:
* Fix message lost when using paho.mqtt.publish helper with
QoS=0 message.
- Changes from version 1.2.1:
* Handle unicode username and passwords correctly.
* Fix handling of invalid UTF-8 topics on incoming messages - the
library now does not attempt to decode the topic - this will
happen when the user accesses msg.topic in the on_message
callback. If the topic is not valid UTF-8, an exception will be
raised.
* Fix issue with WebSocket connection in case of network issue
(timeout or connection broken).
* Fix issue with SSL connection, where latest incoming message
may be delayed or never processed.
* Fix possible message lost with publish.single and
publish.multiple.
- Add paho-mqtt-1.2.2-fix-readme-decoding.patch:
* Fix error at build when using non-UTF8 locale.
-------------------------------------------------------------------
Sat Mar 18 09:44:21 UTC 2017 - antoine.belvire@opensuse.org
- Convert package to python singlespec.
-------------------------------------------------------------------
Mon Feb 27 21:44:32 UTC 2017 - antoine.belvire@opensuse.org
- Initial package: python-paho-mqtt-1.2