-
Notifications
You must be signed in to change notification settings - Fork 3
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
[paho-mqtt] DeprecationWarning: Callback API version 1 is deprecated, update to latest version #24
Comments
Hi. It looks like compatibility with paho-mqtt version 2 has been addressed already. However, support for version 2 might be incomplete, or not thorough, yet. |
/usr/local/lib/python3.11/site-packages/pytest_mqtt/capmqtt.py:38: DeprecationWarning: Callback API version 1 is deprecated, update to latest version
self.client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1) I see. Line 38 instructs the library to use pytest-mqtt/pytest_mqtt/capmqtt.py Lines 37 to 38 in 7a9ebb8
So, I guess you are already using paho-mqtt version 2, but still the "Callback API version 1". I think you can do nothing about the situation, other than silencing the warning messages. This, on the other hand, may also be conducted on behalf of pytest-mqtt already. In the mid-term, pytest-mqtt must update how it uses the callback api of paho-mqtt, in order to adhere to the convention/specification of the "Callback API version 2". |
Hi again. bea0d52 makes the procedure ignore the deprecation warning, until the transition to Callback API v2 has been concluded. Do you think this will help you already? pytest-mqtt 0.4.3 has just been released and published to PyPI, including this update. |
As I see in Paho Migrations Doc the new callback uses reason_code (inst of ReasonCode) istead of an integer rc. An update to VERSION2 should be as simple as updating the callback functions on_connect and on_subscribe. on_connect: pytest-mqtt/pytest_mqtt/capmqtt.py Line 71 in de19691
would change to def on_connect(self, client, userdata, flags, reason_code, properties):
on_subscribe: pytest-mqtt/pytest_mqtt/capmqtt.py Line 74 in de19691
would change to def on_subscribe(self, client, userdata, mid, reason_codes, properties):
As I see it this would be a minor change as rc granted_qos are not actually used in those callbacks. Any reason why not to migrate to VERSION2 now? |
Would be great if the default was VERSION2 failing that an argument to set it. |
Thanks for sharing your investigations. Would you be up for submitting a patch based on your observations, @hyperspacex2? It will be well appreciated. |
Sure. See PR #28 |
Given the following test
running with:
The test passes but I get the following warning:
Sorry if this is a silly question, but how do I tell
capmqtt
to use the paho-mqtt Version 2 for the tests?The text was updated successfully, but these errors were encountered: