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.
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 docs/migrations.rst or online version <https://eclipse.dev/paho/files/paho.mqtt.python/html/migrations.html>_ 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.
Emit a warning when [tools.setuptools] is present in pyproject.toml and will be ignored. -- by :user:SnoopJ (#4150)
Improved AttributeError error message if pkg_resources.EntryPoint.require is called without extras or distribution
Gracefully "do nothing" when trying to activate a pkg_resources.Distribution with a None location, rather than raising a TypeError
-- by :user:Avasam (#4262)
Typed the dynamically defined variables from pkg_resources -- by :user:Avasam (#4267)
Modernized and refactored VCS handling in package_index. (#4332)
Bugfixes
In install command, use super to call the superclass methods. Avoids race conditions when monkeypatching from _distutils_system_mod occurs late. (#4136)
Fix finder template for lenient editable installs of implicit nested namespaces
constructed by using package_dir to reorganise directory structure. (#4278)
Fix an error with UnicodeDecodeError handling in pkg_resources when trying to read files in UTF-8 with a fallback -- by :user:Avasam (#4348)
Improved Documentation
Uses RST substitution to put badges in 1 line. (#4312)
Deprecations and Removals
Further adoption of UTF-8 in setuptools.
This change regards mostly files produced and consumed during the build process
(e.g. metadata files, script wrappers, automatically updated config files, etc..)
Although precautions were taken to minimize disruptions, some edge cases might
be subject to backwards incompatibility.
Support for "locale" encoding is now deprecated. (#4309)
Remove setuptools.convert_path after long deprecation period.
This function was never defined by setuptools itself, but rather a
side-effect of an import for internal usage. (#4322)
Remove fallback for customisations of distutils' build.sub_command after long
deprecated period.
Users are advised to import build directly from setuptools.command.build. (#4322)
Removed typing_extensions from vendored dependencies -- by :user:Avasam (#4324)
Remove deprecated setuptools.dep_util.
The provided alternative is setuptools.modified. (#4360)
When config.ignore_errors is Falsey, failures to parse Python files or
look up file sources will now interrupt and early exit collection, which
matches default coverage behaviour. Previously, we had manually muted
these errors and/or only errored after collecting multiple failures.
When config.ignore_errors is Falsey, failures to parse Python files or
look up file sources will now interrupt and early exit collection, which
matches default coverage behaviour. Previously, we had manually muted
these errors and/or only errored after collecting multiple failures.
#12334: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
#12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
#12191: Keyboard interrupts and system exits are now properly handled during the test collection.
#12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
#12308: Fix a regression in pytest 8.2.0 where the permissions of automatically-created .pytest_cache directories became rwx------ instead of the expected rwxr-xr-x.
Trivial/Internal Changes
#12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
8.2.0
pytest 8.2.0 (2024-04-27)
Deprecations
#12069: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated py.path.local parameter instead of the pathlib.Path parameter which replaced it:
pytest_ignore_collect{.interpreted-text role="hook"} - the path parameter - use collection_path instead.
pytest_collect_file{.interpreted-text role="hook"} - the path parameter - use file_path instead.
pytest_pycollect_makemodule{.interpreted-text role="hook"} - the path parameter - use module_path instead.
pytest_report_header{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
pytest_report_collectionfinish{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
The replacement parameters are available since pytest 7.0.0.
The old parameters will be removed in pytest 9.0.0.
See legacy-path-hooks-deprecated{.interpreted-text role="ref"} for more details.
Features
#11871: Added support for reading command line arguments from a file using the prefix character @, like e.g.: pytest @tests.txt. The file must have one argument per line.
See Read arguments from file <args-from-file>{.interpreted-text role="ref"} for details.
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 major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the pip-all group with 6 updates:
1.6.1
2.1.0
69.2.0
70.0.0
3.3.1
4.0.1
7.0.0
7.1.0
3.7.0
3.7.1
8.1.1
8.2.1
Updates
paho-mqtt
from 1.6.1 to 2.1.0Release notes
Sourced from paho-mqtt's releases.
... (truncated)
Changelog
Sourced from paho-mqtt's changelog.
... (truncated)
Commits
af64a43
Bump version to 2.1.054e2e69
Update changelog0776a00
Merge pull request #839 from eclipse/fix-bytearray-payload7795dcd
Fix publish() a bytearray payload29c1d43
Merge pull request #838 from REX2626/master27bbdc3
Merge pull request #829 from akrpic77/ak_add_unix_transporta0554dd
Fix linter report8503635
Merge pull request #832 from eclipse/fix-link-to-migrationse96ff75
Try to fix testsd4d0715
Fix tests with msg.retain value checkUpdates
setuptools
from 69.2.0 to 70.0.0Changelog
Sourced from setuptools's changelog.
... (truncated)
Commits
5cbf12a
Workaround for release error in v709c1bcc3
Bump version: 69.5.1 → 70.0.04dc0c31
Remove deprecatedsetuptools.dep_util
(#4360)6c1ef57
Remove xfail now that test passes. Ref #4371.d14fa01
Add all site-packages dirs when creating simulated environment for test_edita...6b7f7a1
Preventbin
folders to be taken as extern packages when vendoring (#4370)69141f6
Add doctest for vendorised bin folder2a53cc1
Prevent 'bin' folders to be taken as extern packages7208628
Replace call to deprecatedvalidate_pyproject
command (#4363)96d681a
Remove call to deprecated validate_pyproject commandUpdates
coveralls
from 3.3.1 to 4.0.1Release notes
Sourced from coveralls's releases.
Changelog
Sourced from coveralls's changelog.
Commits
e20a8c8
chore(release): bump versionb566fc3
test(git): support running tests outside of gitdir (#443)f41dca5
feat(deps): add support for coverage v7.5+ (#442)afea549
docs(changelog): reference coverage.py config docsee0f09b
chore(deps): update pre-commit hook pycqa/pylint to v3.2.0f466374
chore(deps): update pre-commit hook pycqa/pylint to v3.1.1 (#438)6514a59
chore(deps): update pandoc/core docker tag to v3.2.0a30b404
chore(deps): update actions/checkout action to v4.1.5b274e07
chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0....33f0bea
chore(deps): lock file maintenanceUpdates
docker
from 7.0.0 to 7.1.0Release notes
Sourced from docker's releases.
Commits
a365202
Merge pull request #3264 from krissetto/rename-env-var-in-release-pipeline1ab40c8
Fix env var name in release pipeline to match hatch expectationsb33088e
Merge pull request #3263 from krissetto/fix-release-pipeline45488ac
Fix env var name in release pipeline20879ec
Merge pull request #3262 from krissetto/changelog-7.1.04f2a26d
Added 7.1.0 changelog7785ad9
Merge pull request #3257 from felixfontein/requests-hotfixd8e9bcb
requests 2.32.0 and 2.32.1 have been yanked.2a059a9
Extend fix to requests 2.32.2+.e33e0a4
Hotfix for requests 2.32.0.Updates
pre-commit
from 3.7.0 to 3.7.1Release notes
Sourced from pre-commit's releases.
Changelog
Sourced from pre-commit's changelog.
Commits
9ee0768
v3.7.1eeac061
Merge pull request #3201 from pre-commit/rust-default-language-version296f592
determine rust default language version independent of rust-toolchain.toml1602328
Merge pull request #3193 from pre-commit/pre-commit-ci-update-config0142f45
[pre-commit.ci] pre-commit autoupdated7e21cd
Merge pull request #3194 from pre-commit/handle-readonly-3-125c3d006
use a simpler gem for testing additional_dependencies0d4c6da
adjust _handle_readonly for typeshed updates85fe182
Merge pull request #3176 from pre-commit/pre-commit-ci-update-config74d05b4
[pre-commit.ci] pre-commit autoupdateUpdates
pytest
from 8.1.1 to 8.2.1Release notes
Sourced from pytest's releases.
... (truncated)
Commits
66ff8df
Prepare release version 8.2.13ffcfd1
Merge pull request #12340 from pytest-dev/backport-12334-to-8.2.x0b28313
[8.2.x] Add Python 3.13 (beta) supportf3dd93a
[8.2.x] Attest package provenance (#12335)bb5a125
[8.2.x] Spelling (#12331)f179bf2
Merge pull request #12327 from pytest-dev/backport-12325-to-8.2.x2b671b5
[8.2.x] cacheprovider: fix.pytest_cache
not being world-readable65ab7cb
Merge pull request #12324 from pytest-dev/backport-12320-to-8.2.x4d5fb7d
Merge pull request #12319 from pytest-dev/backport-12311-to-8.2.xcbe5996
[8.2.x] changelog: document unittest 8.2 change as breakingDependabot 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