In Python 3.12 and above, you can try an experimental core based on the new
:mod:sys.monitoring <python:sys.monitoring> module by defining a
COVERAGE_CORE=sysmon environment variable. This should be faster for
line coverage, but not for branch coverage, and plugins and dynamic contexts
are not yet supported with it. I am very interested to hear how it works (or
doesn't!) for you.
.. _changes_7-3-4:
Version 7.3.4 — 2023-12-20
Fix: the change for multi-line signature exclusions in 7.3.3 broke other
forms of nested clauses being excluded properly. This is now fixed, closing
issue 1713_.
Fix: in the HTML report, selecting code for copying won't select the line
numbers also. Thanks, Robert Harris <pull 1717_>_.
Fix: function definitions with multi-line signatures can now be excluded by
matching any of the lines, closing issue 684. Thanks, Jan Rusak, Maciej Kowalczyk and Joanna Ejzel <pull 1705_>.
Fix: XML reports could fail with a TypeError if files had numeric components
[#463](https://github.com/pytest-dev/pluggy/issues/463) <https://github.com/pytest-dev/pluggy/issues/463>_: A warning :class:~pluggy.PluggyTeardownRaisedWarning is now issued when an old-style hookwrapper raises an exception during teardown.
See the warning documentation for more details.
[#471](https://github.com/pytest-dev/pluggy/issues/471) <https://github.com/pytest-dev/pluggy/issues/471>_: Add :func:PluginManager.unblock <pluggy.PluginManager.unblock> method to unblock a plugin by plugin name.
Bug Fixes
[#441](https://github.com/pytest-dev/pluggy/issues/441) <https://github.com/pytest-dev/pluggy/issues/441>_: Fix :func:~pluggy.HookCaller.call_extra() extra methods getting ordered before everything else in some circumstances. Regressed in pluggy 1.1.0.
[#438](https://github.com/pytest-dev/pluggy/issues/438) <https://github.com/pytest-dev/pluggy/issues/438>_: Fix plugins registering other plugins in a hook when the other plugins implement the same hook itself. Regressed in pluggy 1.1.0.
See 8.0.0rc1 and 8.0.0rc2 for the full changes since pytest 7.4!
Bug Fixes
#11842: Properly escape the reason of a skip <pytest.mark.skip ref>{.interpreted-text role="ref"} mark when writing JUnit XML files.
#11861: Avoid microsecond exceeds 1_000_000 when using log-date-format with %f specifier, which might cause the test suite to crash.
8.0.0rc2
pytest 8.0.0rc2 (2024-01-17)
Improvements
#11233: Improvements to -r for xfailures and xpasses:
Report tracebacks for xfailures when -rx is set.
Report captured output for xpasses when -rX is set.
For xpasses, add - in summary between test name and reason, to match how xfail is displayed.
#11825: The pytest_plugin_registered{.interpreted-text role="hook"} hook has a new plugin_name parameter containing the name by which plugin is registered.
Bug Fixes
#11706: Fix reporting of teardown errors in higher-scoped fixtures when using [--maxfail]{.title-ref} or [--stepwise]{.title-ref}.
#11758: Fixed IndexError: string index out of range crash in if highlighted[-1] == "\n" and source[-1] != "\n".
This bug was introduced in pytest 8.0.0rc1.
#9765, #11816: Fixed a frustrating bug that afflicted some users with the only error being assert mod not in mods. The issue was caused by the fact that str(Path(mod)) and mod.__file__ don't necessarily produce the same string, and was being erroneously used interchangably in some places in the code.
This fix also broke the internal API of PytestPluginManager.consider_conftest by introducing a new parameter -- we mention this in case it is being used by external code, even if marked as private.
#7363: PytestRemovedIn8Warning deprecation warnings are now errors by default.
Following our plan to remove deprecated features with as little disruption as possible, all warnings of type PytestRemovedIn8Warning now generate errors instead of warning messages by default.
The affected features will be effectively removed in pytest 8.1, so please consult the deprecations{.interpreted-text role="ref"} section in the docs for directions on how to update existing code.
In the pytest 8.0.X series, it is possible to change the errors back into warnings as a stopgap measure by adding this to your pytest.ini file:
Thanks to Joe Marshall (@joemarshall) for contributing this feature. This change was possible thanks to work done in urllib3 v2.0 to detach our API from http.client. Please report all bugs to the urllib3 issue tracker.
🚀 urllib3 is fundraising for HTTP/2 support
urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support for 2023. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects please consider contributing financially to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.
Thank you for your support.
Changes
Added support for Emscripten and Pyodide, including streaming support in cross-origin isolated browser environments where threading is enabled. (#2951)
Added support for HTTPResponse.read1() method. (#3186)
Fixed issue where requests against urls with trailing dots were failing due to SSL errors
when using proxy. (#2244)
Fixed HTTPConnection.proxy_is_verified and HTTPSConnection.proxy_is_verified to be always set to a boolean after connecting to a proxy. It could be None in some cases previously. (#3130)
Fixed an issue where headers passed in a request with json= would be mutated (#3203)
Fixed HTTPSConnection.is_verified to be set to False when connecting from a HTTPS proxy to an HTTP target. It was set to True previously. (#3267)
Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (#3268)
Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (#3325)
Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the --integration pytest flag. (#3181)
2.1.0
Read the v2 migration guide for help upgrading to the latest version of urllib3.
Removals
Removed support for the deprecated urllib3[secure] extra. (#2680)
Removed support for the deprecated SecureTransport TLS implementation. (#2681)
Removed support for the end-of-life Python 3.7. (#3143)
Bugfixes
Allowed loading CA certificates from memory for proxies. (#3065)
Fixed decoding Gzip-encoded responses which specified x-gzip content-encoding. (#3174)
Added support for Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html>, including streaming support in cross-origin isolated browser environments where threading is enabled. ([#2951](https://github.com/urllib3/urllib3/issues/2951) <https://github.com/urllib3/urllib3/issues/2951>)
Added support for HTTPResponse.read1() method. ([#3186](https://github.com/urllib3/urllib3/issues/3186) <https://github.com/urllib3/urllib3/issues/3186>__)
Added rudimentary support for HTTP/2. ([#3284](https://github.com/urllib3/urllib3/issues/3284) <https://github.com/urllib3/urllib3/issues/3284>__)
Fixed issue where requests against urls with trailing dots were failing due to SSL errors
when using proxy. ([#2244](https://github.com/urllib3/urllib3/issues/2244) <https://github.com/urllib3/urllib3/issues/2244>__)
Fixed HTTPConnection.proxy_is_verified and HTTPSConnection.proxy_is_verified
to be always set to a boolean after connecting to a proxy. It could be
None in some cases previously. ([#3130](https://github.com/urllib3/urllib3/issues/3130) <https://github.com/urllib3/urllib3/issues/3130>__)
Fixed an issue where headers passed in a request with json= would be mutated ([#3203](https://github.com/urllib3/urllib3/issues/3203) <https://github.com/urllib3/urllib3/issues/3203>__)
Fixed HTTPSConnection.is_verified to be set to False when connecting
from a HTTPS proxy to an HTTP target. It was set to True previously. ([#3267](https://github.com/urllib3/urllib3/issues/3267) <https://github.com/urllib3/urllib3/issues/3267>__)
Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS ([#3268](https://github.com/urllib3/urllib3/issues/3268) <https://github.com/urllib3/urllib3/issues/3268>__)
Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled ([#3325](https://github.com/urllib3/urllib3/issues/3325) <https://github.com/urllib3/urllib3/issues/3325>__)
Note for downstream distributors: To run integration tests, you now need to run the tests a second
time with the --integration pytest flag. ([#3181](https://github.com/urllib3/urllib3/issues/3181) <https://github.com/urllib3/urllib3/issues/3181>__)
2.1.0 (2023-11-13)
Removed support for the deprecated urllib3[secure] extra. ([#2680](https://github.com/urllib3/urllib3/issues/2680) <https://github.com/urllib3/urllib3/issues/2680>__)
Removed support for the deprecated SecureTransport TLS implementation. ([#2681](https://github.com/urllib3/urllib3/issues/2681) <https://github.com/urllib3/urllib3/issues/2681>__)
Removed support for the end-of-life Python 3.7. ([#3143](https://github.com/urllib3/urllib3/issues/3143) <https://github.com/urllib3/urllib3/issues/3143>__)
Allowed loading CA certificates from memory for proxies. ([#3065](https://github.com/urllib3/urllib3/issues/3065) <https://github.com/urllib3/urllib3/issues/3065>__)
Fixed decoding Gzip-encoded responses which specified x-gzip content-encoding. ([#3174](https://github.com/urllib3/urllib3/issues/3174) <https://github.com/urllib3/urllib3/issues/3174>__)
Retry on HTTP status code 502 ([#11843](https://github.com/pypa/pip/issues/11843) <https://github.com/pypa/pip/issues/11843>_)
Automatically use the setuptools PEP 517 build backend when --config-settings is
used for projects without pyproject.toml. ([#11915](https://github.com/pypa/pip/issues/11915) <https://github.com/pypa/pip/issues/11915>_)
Make pip freeze and pip uninstall of legacy editable installs of packages whose name
contains _ compatible with setuptools>=69.0.3. ([#12477](https://github.com/pypa/pip/issues/12477) <https://github.com/pypa/pip/issues/12477>_)
Support per requirement --config-settings for editable installs. ([#12480](https://github.com/pypa/pip/issues/12480) <https://github.com/pypa/pip/issues/12480>_)
Bug Fixes
Optimized usage of --find-links=<path-to-dir>, by only scanning the relevant directory once, only considering file names that are valid wheel or sdist names, and only considering files in the directory that are related to the install. ([#12327](https://github.com/pypa/pip/issues/12327) <https://github.com/pypa/pip/issues/12327>_)
Removed wheel from the [build-system].requires list fallback
that is used when pyproject.toml is absent. ([#12449](https://github.com/pypa/pip/issues/12449) <https://github.com/pypa/pip/issues/12449>_)
Vendored Libraries
Upgrade distlib to 0.3.8
Improved Documentation
Fix explanation of how PIP_CONFIG_FILE works ([#11815](https://github.com/pypa/pip/issues/11815) <https://github.com/pypa/pip/issues/11815>_)
Fix outdated pip install argument description in documentation. ([#12417](https://github.com/pypa/pip/issues/12417) <https://github.com/pypa/pip/issues/12417>_)
Replace some links to PEPs with links to the canonical specifications on the :doc:pypug:index ([#12434](https://github.com/pypa/pip/issues/12434) <https://github.com/pypa/pip/issues/12434>_)
Updated the pyproject.toml document to stop suggesting
to depend on wheel as a build dependency directly. ([#12449](https://github.com/pypa/pip/issues/12449) <https://github.com/pypa/pip/issues/12449>_)
Update supported interpreters in development docs ([#12475](https://github.com/pypa/pip/issues/12475) <https://github.com/pypa/pip/issues/12475>_)
Process
Most project metadata is now defined statically via pip's pyproject.toml file.
23.3.2 (2023-12-17)
Bug Fixes
Fix a bug in extras handling for link requirements ([#12372](https://github.com/pypa/pip/issues/12372) <https://github.com/pypa/pip/issues/12372>_)
Fix mercurial revision "parse error": use --rev={ref} instead of -r={ref} ([#12373](https://github.com/pypa/pip/issues/12373) <https://github.com/pypa/pip/issues/12373>_)
api-change:batch: [botocore] This feature allows Batch to support configuration of repository credentials for jobs running on ECS
api-change:braket: [botocore] Creating a job will result in DeviceOfflineException when using an offline device, and DeviceRetiredException when using a retired device.
api-change:cost-optimization-hub: [botocore] Adding includeMemberAccounts field to the response of ListEnrollmentStatuses API.
api-change:ecs: [botocore] Documentation only update for Amazon ECS.
api-change:iot: [botocore] This release allows AWS IoT Core users to enable Online Certificate Status Protocol (OCSP) Stapling for TLS X.509 Server Certificates when creating and updating AWS IoT Domain Configurations with Custom Domain.
api-change:pricing: [botocore] Add Throttling Exception to all APIs.
1.34.38
api-change:codepipeline: [botocore] Add ability to execute pipelines with new parallel & queued execution modes and add support for triggers with filtering on branches and file paths.
api-change:quicksight: [botocore] General Interactions for Visuals; Waterfall Chart Color Configuration; Documentation Update
api-change:workspaces: [botocore] This release introduces User-Decoupling feature. This feature allows Workspaces Core customers to provision workspaces without providing users. CreateWorkspaces and DescribeWorkspaces APIs will now take a new optional parameter "WorkspaceName".
1.34.37
api-change:datasync: [botocore] AWS DataSync now supports manifests for specifying files or objects to transfer.
api-change:lexv2-models: [botocore] Update lexv2-models client to latest version
api-change:redshift: [botocore] LisRecommendations API to fetch Amazon Redshift Advisor recommendations.
1.34.36
api-change:appsync: [botocore] Support for environment variables in AppSync GraphQL APIs
api-change:ecs: [botocore] This release is a documentation only update to address customer issues.
api-change:es: [botocore] This release adds clear visibility to the customers on the changes that they make on the domain.
api-change:logs: [botocore] This release adds a new field, logGroupArn, to the response of the logs:DescribeLogGroups action.
api-change:opensearch: [botocore] This release adds clear visibility to the customers on the changes that they make on the domain.
api-change:wafv2: [botocore] You can now delete an API key that you've created for use with your CAPTCHA JavaScript integration API.
1.34.35
api-change:glue: [botocore] Introduce Catalog Encryption Role within Glue Data Catalog Settings. Introduce SASL/PLAIN as an authentication method for Glue Kafka connections
api-change:workspaces: [botocore] Added definitions of various WorkSpace states
1.34.34
api-change:dynamodb: [botocore] Any number of users can execute up to 50 concurrent restores (any type of restore) in a given account.
This is a fix release for the 3.0.x feature release branch. It fixes bugs but does not otherwise change behavior and should not result in breaking changes.
This is a fix release for the 3.0.x feature release branch.
Fixes an issue where using other JSON providers, such as flask-orjson, previously caused loaded session data to have an incorrect format in some cases.
Bumps the all-dependencies group in /api with 24 updates:
2023.11.17
2024.2.2
7.3.2
7.4.1
0.3.7
0.3.8
2.5.32
2.5.34
4.1.0
4.2.0
1.3.0
1.4.0
3.5.0
3.6.1
7.4.3
8.0.0
4.11.4
4.12.1
2.0.7
2.2.0
23.3.1
24.0
1.33.6
1.34.39
3.0.0
3.0.2
2.5.2
2.6.1
2023.3.post1
2024.1
1.33.6
1.34.39
3.0.1
3.0.3
7.0.0
7.0.1
3.1.2
3.1.3
2.1.3
2.1.5
2.14.5
2.16.2
0.8.2
0.10.0
2.0.23
2.0.26
4.8.0
4.9.0
Updates
certifi
from 2023.11.17 to 2024.2.2Commits
45eb611
2024.02.02 (#266)83f4f04
fix leaking certificate issue (#265)bbf2208
Bump actions/upload-artifact from 4.2.0 to 4.3.0 (#264)9e837a5
Bump actions/upload-artifact from 4.1.0 to 4.2.0 (#262)05d071b
Bump actions/upload-artifact from 4.0.0 to 4.1.0 (#261)2a3088a
Bump actions/download-artifact from 4.1.0 to 4.1.1 (#260)d4ca66e
Bump actions/upload-artifact from 3.1.3 to 4.0.0 (#258)5d15663
Bump actions/download-artifact from 3.0.2 to 4.1.0 (#257)d66ef9d
Bump actions/setup-python from 4.7.1 to 5.0.0 (#256)8f0d412
Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#255)Updates
coverage
from 7.3.2 to 7.4.1Changelog
Sourced from coverage's changelog.
... (truncated)
Commits
07588ea
test: give hypothesis a little more time2c96518
build: tags should be signed8d1857f
docs: sample HTML for 7.4.1ddc88f7
docs: prep for 7.4.198cd671
docs: correct two library urls498b8c9
build: coverage runs have to skip windows pypy too75b22f0
test: ignore color in tracebacksb7c41a2
build: show action environment variables for debuggingf8be865
build: run actions on 3.13 since a3 came out.de60a6d
build(deps): bump actions/dependency-review-action from 3 to 4Updates
distlib
from 0.3.7 to 0.3.8Changelog
Sourced from distlib's changelog.
Commits
ab5f8e7
Changes for 0.3.8.86bb212
Update change log.488599f
Updates based on flake8 checks.0e261af
Use legacy version implementation for Python itself.8242f39
Update copyright years.e27569b
Fix #208: Handle deprecation removals in Python 3.13.65a014b
Update requirements and CI matrix.124108a
Skip test for non-final Python versions.ff48e09
Fix #206: include tox.ini in sdist.eeaa18d
Fix #204: Use symlinks in venv creation during test.Updates
identify
from 2.5.32 to 2.5.34Commits
edc8045
v2.5.343544de9
Merge pull request #442 from KORraNpl/add-xctestplan-filetype7bdc800
Recognize .xctestplan files as JSONe90a0b9
Merge pull request #439 from pre-commit/pre-commit-ci-update-config1ab97d6
[pre-commit.ci] pre-commit autoupdatead69bf9
Merge pull request #438 from pre-commit/pre-commit-ci-update-configa8c8347
[pre-commit.ci] pre-commit autoupdate3d4672c
v2.5.3369fcae7
Merge pull request #433 from om-henners/patch-18dfb002
Addpyt
extensionUpdates
platformdirs
from 4.1.0 to 4.2.0Release notes
Sourced from platformdirs's releases.
Changelog
Sourced from platformdirs's changelog.
Commits
bc4d114
Add convenience methods toPlatformDirsAPI
that allow iterating over both u...0d8beea
[pre-commit.ci] pre-commit autoupdate (#260)0dcc051
[pre-commit.ci] pre-commit autoupdate (#257)3ce2035
Fix 2 typos about XDG_DATA_DIR (#256)783376b
[pre-commit.ci] pre-commit autoupdate (#255)f86cfb8
[pre-commit.ci] pre-commit autoupdate (#254)5cbfd8d
[pre-commit.ci] pre-commit autoupdate (#253)9f684a6
[pre-commit.ci] pre-commit autoupdate (#251)1db2522
Bump actions/setup-python from 4 to 5 (#248)4b68392
[pre-commit.ci] pre-commit autoupdate (#247)Updates
pluggy
from 1.3.0 to 1.4.0Changelog
Sourced from pluggy's changelog.
Commits
2efd28e
Preparing release 1.4.0ebeb2f2
Merge pull request #471 from bluetech/unblock3a28b4d
Merge pull request #464 from bluetech/hookwrapper-teardown-warning4331b7a
Merge pull request #473 from bluetech/iterator-invalidation7aef3e6
hooks: fix plugins registering other plugins in a hookcc36605
Merge pull request #472 from bluetech/call-extra-ordering-fix443fee6
hooks: fixcall_extra
extra methods getting ordered before everything else4577b45
hooks: add comment describing_hookimpls
's format/invariants.13b3661
AddPluginManager.unblock
method to unblock a name4b5b2d4
CHANGELOG: fix errors in 1.0.0 entryUpdates
pre-commit
from 3.5.0 to 3.6.1Release notes
Sourced from pre-commit's releases.
Changelog
Sourced from pre-commit's changelog.
Commits
15bd0c7
v3.6.192678c3
Merge pull request #3126 from pre-commit/crlf-only-diff032d8e2
staged_files_only can handle a crlf-only diff7384838
Merge pull request #3110 from untitaker/pythonexecutable96e0712
[pre-commit.ci] auto fixes from pre-commit.com hooks3388e2d
Pop PYTHONEXECUTABLE10f8853
Merge pull request #3107 from pre-commit/pre-commit-ci-update-config9682f93
[pre-commit.ci] pre-commit autoupdate5f8ebae
Merge pull request #3102 from pre-commit/pre-commit-ci-update-config9cce283
[pre-commit.ci] pre-commit autoupdateUpdates
pytest
from 7.4.3 to 8.0.0Release notes
Sourced from pytest's releases.
... (truncated)
Commits
478f823
Prepare release version 8.0.06085900
[8.0.x] fix: avoid rounding microsecond to1_000_000
(#11863)3b41c65
[8.0.x] Escape skip reason in junitxml (#11845)747072a
[8.0.x] Update docstring of scripts/generate-gh-release-notes.py (#11768)011a475
Properly attach packages to the GH release notes (#11839) (#11840)97960bd
Merge pull request #11835 from pytest-dev/release-8.0.0rc26be0a3c
Prepare release version 8.0.0rc244ffe07
Merge pull request #11837 from pytest-dev/backport-11836-to-8.0.x14ecb04
[8.0.x] testing: temporarily disable test due to hypothesis issue41c8dab
Merge pull request #11831 from bluetech/backport-11825-to-8.0.xUpdates
tox
from 4.11.4 to 4.12.1Release notes
Sourced from tox's releases.
Changelog
Sourced from tox's changelog.
Commits
8eaf09f
release 4.12.137b11d4
#3165 fixed Tox failing with --installpkg and multi testenvs (#3186)fa390ce
[pre-commit.ci] pre-commit autoupdate (#3185)3b403bc
Fix tox version requirement in docs (#3184)776718c
release 4.12.0fc80080
Always pass FORCE_COLOR & NO_COLOR to the environment (#3172)659f714
Fix the CI (#3183)8406971
[pre-commit.ci] pre-commit autoupdate (#3182)3f8f53d
[pre-commit.ci] pre-commit autoupdate (#3177)61547b0
Fix 'open an issue' link in development.rst (#3179)Updates
urllib3
from 2.0.7 to 2.2.0Release notes
Sourced from urllib3's releases.
Changelog
Sourced from urllib3's changelog.
Commits
04df048
Release 2.2.02aec09f
Add documentation for Emscripten support6d2f0f6
Annotate response attributelength_remaining
in BaseHTTPResponse (#3317)d7bb83b
Fix TLS 1.3 post-handshake auth8c8e26d
Hide H2Connection inside _LockedObject (#3318)26a07db
Make BaseHTTPResponse a base class of HTTP2Response (#3311)71e7c35
Allow testing HTTP/1.1 and HTTP/2 in the same test (#3310)89ed0d6
Add test-pypy 3.8 3.9 3.10 nox sessions (#3304)fb6cf2d
Pin to pypy-3.9-v7.3.13 to not timeout CI03f7b65
Skip memray on pypy (#3286)Updates
pip
from 23.3.1 to 24.0Changelog
Sourced from pip's changelog.
Commits
ef78c12
Tweak NEWS.rst6681c02
Bump for releaseef56d47
Update AUTHORS.txt53e5f19
Tweak news before release456db06
Merge pull request #12507 from jeanas/mailmap0b93dfc
Add mailmap entry for@jeanas
c0801ef
Merge pull request #12500 from bdraco/add_502aa930c4
Update src/pip/_internal/network/session.py99a82b7
Merge pull request #12494 from sbidoul/pass-config-settings-to-editable-in-re...ff30ba8
Merge pull request #12501 from VladimirFokow/fix-small-typoUpdates
boto3
from 1.33.6 to 1.34.39Changelog
Sourced from boto3's changelog.
... (truncated)
Commits
7857384
Merge branch 'release-1.34.39'6b67463
Bumping version to 1.34.391242e19
Add changelog entries from botocore45aee66
Merge branch 'release-1.34.38'92042b1
Merge branch 'release-1.34.38' into develop347c1d6
Bumping version to 1.34.381ab7307
Add changelog entries from botocore9ca4f44
Merge branch 'release-1.34.37'f0d692d
Merge branch 'release-1.34.37' into develop490fd40
Bumping version to 1.34.37Updates
flask
from 3.0.0 to 3.0.2Release notes
Sourced from flask's releases.
Looks like these dependencies are updatable in another way, so this is no longer needed.