* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.3.2.
.. _v43-0-0:
43.0.0 - 2024-07-20
BACKWARDS INCOMPATIBLE: Support for OpenSSL less than 1.1.1e has been
removed. Users on older version of OpenSSL will need to upgrade.
BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.8.
Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.3.1.
Updated the minimum supported Rust version (MSRV) to 1.65.0, from 1.63.0.
:func:~cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
now enforces a minimum RSA key size of 1024-bit. Note that 1024-bit is still
considered insecure, users should generally use a key size of 2048-bits.
:func:~cryptography.hazmat.primitives.serialization.pkcs7.serialize_certificates
now emits ASN.1 that more closely follows the recommendations in :rfc:2315.
Added new :doc:/hazmat/decrepit/index module which contains outdated and
insecure cryptographic primitives.
:class:~cryptography.hazmat.primitives.ciphers.algorithms.CAST5,
:class:~cryptography.hazmat.primitives.ciphers.algorithms.SEED,
:class:~cryptography.hazmat.primitives.ciphers.algorithms.IDEA, and
:class:~cryptography.hazmat.primitives.ciphers.algorithms.Blowfish, which were
deprecated in 37.0.0, have been added to this module. They will be removed
from the cipher module in 45.0.0.
Moved :class:~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES
and :class:~cryptography.hazmat.primitives.ciphers.algorithms.ARC4 into
:doc:/hazmat/decrepit/index and deprecated them in the cipher module.
They will be removed from the cipher module in 48.0.0.
Added support for deterministic
:class:~cryptography.hazmat.primitives.asymmetric.ec.ECDSA (:rfc:6979)
Added support for client certificate verification to the
:mod:X.509 path validation <cryptography.x509.verification> APIs in the
form of :class:~cryptography.x509.verification.ClientVerifier,
:class:~cryptography.x509.verification.VerifiedClient, and
PolicyBuilder
:meth:~cryptography.x509.verification.PolicyBuilder.build_client_verifier.
Added Certificate
:attr:~cryptography.x509.Certificate.public_key_algorithm_oid
and Certificate Signing Request
:attr:~cryptography.x509.CertificateSigningRequest.public_key_algorithm_oid
to determine the :class:~cryptography.hazmat._oid.PublicKeyAlgorithmOID
Object Identifier of the public key found inside the certificate.
Added :attr:~cryptography.x509.InvalidityDate.invalidity_date_utc, a
timezone-aware alternative to the naïve datetime attribute
:attr:~cryptography.x509.InvalidityDate.invalidity_date.
You can restrict form fields to only include those declared in a Pydantic model and forbid any extra field sent in the request using Pydantic's model_config = {"extra": "forbid"}:
from typing import Annotated
from fastapi import FastAPI, Form
from pydantic import BaseModel
- Drop support for Python 3.7 (EOL) by @hugovk in `[#910](https://github.com/jpadilla/pyjwt/issues/910) <https://github.com/jpadilla/pyjwt/pull/910>`__
- Allow JWT issuer claim validation to accept a list of strings too by @mattpollak in `[#913](https://github.com/jpadilla/pyjwt/issues/913) <https://github.com/jpadilla/pyjwt/pull/913>`__
Fixed
- Fix unnecessary string concatenation by @sirosen in `[#904](https://github.com/jpadilla/pyjwt/issues/904) <https://github.com/jpadilla/pyjwt/pull/904>`__
- Fix docs for ``jwt.decode_complete`` to include ``strict_aud`` option by @woodruffw in `[#923](https://github.com/jpadilla/pyjwt/issues/923) <https://github.com/jpadilla/pyjwt/pull/923>`__
- Fix docs step by @jpadilla in `[#950](https://github.com/jpadilla/pyjwt/issues/950) <https://github.com/jpadilla/pyjwt/pull/950>`__
- Fix: Remove an unused variable from example code block by @kenkoooo in `[#958](https://github.com/jpadilla/pyjwt/issues/958) <https://github.com/jpadilla/pyjwt/pull/958>`__
Added
Add support for Python 3.12 by @hugovk in [#910](https://github.com/jpadilla/pyjwt/issues/910) <https://github.com/jpadilla/pyjwt/pull/910>__
Improve performance of is_ssh_key + add unit test by @bdraco in [#940](https://github.com/jpadilla/pyjwt/issues/940) <https://github.com/jpadilla/pyjwt/pull/940>__
Allow jwt.decode() to accept a PyJWK object by @luhn in [#886](https://github.com/jpadilla/pyjwt/issues/886) <https://github.com/jpadilla/pyjwt/pull/886>__
Make algorithm_name attribute available on PyJWK by @luhn in [#886](https://github.com/jpadilla/pyjwt/issues/886) <https://github.com/jpadilla/pyjwt/pull/886>__
Raise InvalidKeyError on invalid PEM keys to be compatible with cryptography 42.x.x by @CollinEMac in [#952](https://github.com/jpadilla/pyjwt/issues/952) <https://github.com/jpadilla/pyjwt/pull/952>__
Raise an exception when required cryptography dependency is missing by @tobloef in <https://github.com/jpadilla/pyjwt/pull/963>__
#12446: Avoid calling @property (and other instance descriptors) during fixture discovery -- by asottile{.interpreted-text role="user"}
#12659: Fixed the issue of not displaying assertion failure differences when using the parameter --import-mode=importlib in pytest>=8.1.
#12667: Fixed a regression where type change in [ExceptionInfo.errisinstance]{.title-ref} caused [mypy]{.title-ref} to fail.
#12744: Fixed typing compatibility with Python 3.9 or less -- replaced [typing.Self]{.title-ref} with [typing_extensions.Self]{.title-ref} -- by Avasam{.interpreted-text role="user"}
#12745: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
#6682: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in assert condition, msg).
#9422: Fix bug where disabling the terminal plugin via -p no:terminal would cause crashes related to missing the verbose option.
-- by GTowers1{.interpreted-text role="user"}
Improved documentation
#12663: Clarify that the [pytest_deselected]{.title-ref} hook should be called from [pytest_collection_modifyitems]{.title-ref} hook implementations when items are deselected.
#12678: Remove erroneous quotes from [tmp_path_retention_policy]{.title-ref} example in docs.
Miscellaneous internal changes
#12769: Fix typos discovered by codespell and add codespell to pre-commit hooks.
8.3.2
pytest 8.3.2 (2024-07-24)
Bug fixes
#12652: Resolve regression [conda]{.title-ref} environments where no longer being automatically detected.
-- by RonnyPfannschmidt{.interpreted-text role="user"}
8.3.1
pytest 8.3.1 (2024-07-20)
The 8.3.0 release failed to include the change notes and docs for the release. This patch release remedies this. There are no other changes.
... (truncated)
Commits
d0f136f build(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)
BREAKING: Updated minimum supported pytest version to v8.2.0
Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.
Raises an error when passing scope or loop_scope as a positional argument to @pytest.mark.asyncio. #812
Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #862#668
pytest-asyncio 0.24.0a1
0.24.0 (UNRELEASED)
BREAKING: Updated minimum supported pytest version to v8.2.0
Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.
Raises an error when passing scope or loop_scope as a positional argument to @pytest.mark.asyncio. #812
Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #862#668
pytest-asyncio 0.24.0a0
0.24.0 (UNRELEASED)
Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.
Raises an error when passing scope or loop_scope as a positional argument to @pytest.mark.asyncio. #812
pytest-asyncio 0.23.8
0.23.8 (2024-07-17)
Fixes a bug that caused duplicate markers in async tests #813
Known issues
As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.
Commits
fb5422f docs: Set release date for v0.24 in changelog.
6dc7f58 docs: Add migration guides for pytest-asyncio v0.21 and v0.23.
1bfc181 Wire Sphinx builds into the RTD config via tox
f03cf13 Build(deps): Bump hypothesis in /dependencies/default
69540bf Build(deps): Bump attrs from 24.1.0 to 24.2.0 in /dependencies/default
b0ccfc5 Build(deps): Bump hypothesis in /dependencies/default
574f1db Build(deps): Bump babel from 2.15.0 to 2.16.0 in /dependencies/docs
ae30dac Update .readthedocs.yaml to install pytest-asyncio
Bumps the pip group with 10 updates in the / directory:
42.0.8
43.0.1
0.111.0
0.114.2
2.8.0
2.9.0
0.30.1
0.30.6
3.2.5
3.2.7
24.4.2
24.8.0
8.2.2
8.3.3
0.23.7
0.24.0
1.1.3
1.1.4
26.0.0
28.4.1
Updates
cryptography
from 42.0.8 to 43.0.1Changelog
Sourced from cryptography's changelog.
... (truncated)
Commits
a773387
bump for 43.0.1 (#11533)0393fef
Backport setuptools version ban (#11526)6687bab
Bump openssl from 0.10.65 to 0.10.66 in /src/rust (#11320) (#11324)ebf14f2
bump for 43.0.0 and update changelog (#11311)42788a0
Fix exchange with keys that had Q automatically computed (#11309)2dbdfb8
don't assign unused name (#11310)ccc66e6
Bump openssl from 0.10.64 to 0.10.65 in /src/rust (#11308)4310c87
Bump sphinxcontrib-qthelp from 1.0.7 to 1.0.8 (#11307)f66a9c4
Bump sphinxcontrib-htmlhelp from 2.0.5 to 2.0.6 (#11306)a8fcf18
Bump openssl-sys from 0.9.102 to 0.9.103 in /src/rust (#11305)Updates
fastapi[all]
from 0.111.0 to 0.114.2Release notes
Sourced from fastapi[all]'s releases.
... (truncated)
Commits
2ada161
🔖 Release version 0.114.23a5fd71
📝 Update release notes88d4f2c
🐛 Fix form field regression (#12194)0fc6e34
📝 Update release notes2a43511
💡 Add comments with instructions for Playwright screenshot scripts (#12193)ed66d70
📝 Update release notese50faca
🌐 Add Portuguese translation for `docs/pt/docs/tutorial/request-form-models.m...93e50e3
📝 Update release notes4a94fe3
🌐 Add Chinese translation fordocs/zh/docs/project-generation.md
(#12170)492943f
📝 Update release notesUpdates
pyjwt
from 2.8.0 to 2.9.0Release notes
Sourced from pyjwt's releases.
Changelog
Sourced from pyjwt's changelog.
Commits
868cf4a
Add 2.9.0 changelog. Fixes #949 (#967)304a3df
[pre-commit.ci] pre-commit autoupdate (#965)527fec2
Raise exception when required cryptography dependency is missing (#963)18a50be
[pre-commit.ci] pre-commit autoupdate (#960)4703f87
Handle load_pem_public_key ValueError (#952)9dc732f
Update usage.rst (#958)ab8176a
Decode with PyJWK (#886)c0a071d
chore: update actions/download-artifact2afbe32
Add coverage and improve performance of is_ssh_key (#940)97345a7
[pre-commit.ci] pre-commit autoupdate (#953)Updates
uvicorn
from 0.30.1 to 0.30.6Release notes
Sourced from uvicorn's releases.
Changelog
Sourced from uvicorn's changelog.
Commits
7dc027d
Version 0.30.6 (#2428)587a1cc
fix: upgrade is not websocket and dependencies are installed, should not warn...cee31a6
test(signal): add sleep to ensure shutdown completion (#2427)eba64ef
ci: timeout for test suite runs to 30 minutes (#2426)0f513d2
Remove signal testing order dependency (#2382)ff54b02
Version 0.30.5 (#2409)2f25107
Fix 0.30.4 issue with connection close header (#2408)8efa41c
Version 0.30.4 (#2403)b492349
Addpragma: full coverage
toProcess.is_alive
(#2402)ce999aa
close request connection if h11 sets client state as MUST_CLOSE (#2375)Updates
pylint
from 3.2.5 to 3.2.7Commits
a98215b
Bump pylint to 3.2.7, update changelog1deaffa
Fix to maintain order of package paths (#9887) (#9897)b4c2951
[Backport maintenance/3.2.x] Fix a crash inundefined-loop-variable
with `e...f1925f4
Fix crash in refactoring checker when calling bound lambda (#9867)7d1626c
Fix a false positiveunreachable
forNoReturn
coroutine functions (#9844)...da19566
Bump pylint to 3.2.6, update changelog (#9825)810c59c
Update setuptools to >=71.0.4 (#9812) (#9824)5f19cd5
Fix a crash when a subclass extends__slots__
(#9817) (#9822)c0b1d22
Bump astroid to 3.2.4 (#9816) (#9821)1d877de
Fix consider-using-min-max-builtin (#9802) (#9803)Updates
black
from 24.4.2 to 24.8.0Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
Commits
b965c2a
Prepare release 24.8.0 (#4426)9ccf279
Documentfind_project_root
ignoringpyproject.toml
without[tool.black]
...14b6e61
fix: Enhace black efficiently to skip directories listed in .gitignore (#4415)b1c4dd9
fix: respect braces better in f-string parsing (#4422)4b4ae43
Fix incorrect linenos on fstring tokens with escaped newlines (#4423)7fa1faf
docs: fix the installation command of extra for blackd (#4413)8827acc
Bump sphinx from 7.3.7 to 7.4.0 in /docs (#4404)b0da11d
Bump furo from 2024.5.6 to 2024.7.18 in /docs (#4409)721dff5
fix: avoid formatting backslash strings inside f-strings (#4401)7e2afc9
Updateactions/checkout
to v4 to stop node deprecation warnings (#4379)Updates
pytest
from 8.2.2 to 8.3.3Release notes
Sourced from pytest's releases.
... (truncated)
Commits
d0f136f
build(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)972f307
Prepare release version 8.3.30dabdcf
Include co-authors in release announcement (#12795) (#12797)a9910a4
Do not discover properties when iterating fixtures (#12781) (#12788)0f10b6b
Fix issue with slashes being turned into backslashes on Windows (#12760) (#12...300d13d
Merge pull request #12785 from pytest-dev/patchback/backports/8.3.x/57cccf7f4...e5d32c7
Merge pull request #12784 from svenevs/fix/docs-example-parametrize-minor-typobc913d1
Streamline checks for verbose option (#12706) (#12778)01cfcc9
Fix typos and introduce codespell pre-commit hook (#12769) (#12774)4873394
doc: Remove past training (#12772) (#12773)Updates
pytest-asyncio
from 0.23.7 to 0.24.0Release notes
Sourced from pytest-asyncio's releases.
Commits
fb5422f
docs: Set release date for v0.24 in changelog.6dc7f58
docs: Add migration guides for pytest-asyncio v0.21 and v0.23.1bfc181
Wire Sphinx builds into the RTD config via toxf03cf13
Build(deps): Bump hypothesis in /dependencies/default69540bf
Build(deps): Bump attrs from 24.1.0 to 24.2.0 in /dependencies/defaultb0ccfc5
Build(deps): Bump hypothesis in /dependencies/default574f1db
Build(deps): Bump babel from 2.15.0 to 2.16.0 in /dependencies/docsae30dac
Update .readthedocs.yaml to install pytest-asyncio972a704
Derive project version using importlibd587a52
[pre-commit.ci] pre-commit autoupdateUpdates
pytest-env
from 1.1.3 to 1.1.4Release notes
Sourced from pytest-env's releases.
Commits
4d5015b
Bump tools and dependencies and support 3.13e95bd81
Bump tools and dependencies and support 3.13880f318
[pre-commit.ci] pre-commit autoupdate (#96)da9b992
Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1 (#98)b398758
[pre-commit.ci] pre-commit autoupdate (#95)edf092e
[pre-commit.ci] pre-commit autoupdate (#94)476f5e2
[pre-commit.ci] pre-commit autoupdate (#93)8413e95
[pre-commit.ci] pre-commit autoupdate (#92)7af6ff8
[pre-commit.ci] pre-commit autoupdate (#91)66a96b1
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#90)Updates
faker
from 26.0.0 to 28.4.1Release notes
Sourced from faker's releases.
Changelog
Sourced from faker's changelog.
... (truncated)
Commits
4240ef8
Bump version: 28.4.0 → 28.4.1935a89a
:pencil: Update CHANGELOG.mdcd6e847
Fix issue where Faker does not properly convert min/max value to decimal (#2101)3a75ddb
Bump version: 28.3.0 → 28.4.0This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.
To ignore these dependencies, configure ignore rules in dependabot.yml
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Additional details and impacted files
```diff @@ Coverage Diff @@ ## develop #375 +/- ## ======================================== Coverage 97.86% 97.86% ======================================== Files 41 41 Lines 1502 1502 ======================================== Hits 1470 1470 Misses 32 32 ```:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.