Sourced from pathspec's changelog.
1.1.1 (2026-04-26)
Improvements:
- Improved type checking with mypy and pyright.
Bug fixes:
- Fixed typing on
PathSpec[TPattern]toPathSpec[TPattern_co].- Added missing variant type-hint
type[Pattern]toPathSpec.from_lines()parameterpattern_factory.- Fixed possible type error when using
+and+=operators onPathSpec.
ecf71a9
Release v1.1.16727491
Improve type checking with mypy and pyrightSourced from cryptography's changelog.
47.0.0 - 2026-04-24
* Support for Python 3.8 is deprecated and will be removed in the next ``cryptography`` release. * **BACKWARDS INCOMPATIBLE:** Support for binary elliptic curves (``SECT*`` classes) has been removed. These curves are rarely used and have additional security considerations that make them undesirable. * **BACKWARDS INCOMPATIBLE:** Support for OpenSSL 1.1.x has been removed. OpenSSL 3.0.0 or later is now required. LibreSSL, BoringSSL, and AWS-LC continue to be supported. * **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL < 4.1. * **BACKWARDS INCOMPATIBLE:** Loading keys with unsupported algorithms or keys with unsupported explicit curve encodings now raises :class:`~cryptography.exceptions.UnsupportedAlgorithm` instead of ``ValueError``. This change affects :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key`, :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key`, :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key`, :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key`, and :meth:`~cryptography.x509.Certificate.public_key` when called on certificates with unsupported public key algorithms. * **BACKWARDS INCOMPATIBLE:** When parsing elliptic curve private keys, we now reject keys that incorrectly encode a private key of the wrong length because such keys are impossible to process in a constant-time manner. We do not believe keys with this problem are in wide use, however we may revert this change based on the feedback we receive. * Deprecated passing 64-bit (8-byte) and 128-bit (16-byte) keys to :class:`~cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES`. In a future release, only 192-bit (24-byte) keys will be accepted. Users should expand shorter keys themselves (e.g., for single DES: ``key + key + key``, for two-key: ``key + key[:8]``). * Updated the minimum supported Rust version (MSRV) to 1.83.0, from 1.74.0. * Support for ``x86_64`` macOS (including publishing wheels) is deprecated and will be removed in the next release. We will switch to publishing an ``arm64`` only wheel for macOS. * Support for 32-bit Windows (including publishing wheels) is deprecated and will be removed in the next release. Users should move to a 64-bit Python installation. * ``public_bytes`` and ``private_bytes`` methods on keys now raise ``TypeError`` (instead of ``ValueError``) if an invalid encoding is provided for the given ``format``. * Moved :class:`~cryptography.hazmat.decrepit.ciphers.modes.CFB`, :class:`~cryptography.hazmat.decrepit.ciphers.modes.OFB`, and :class:`~cryptography.hazmat.decrepit.ciphers.modes.CFB8` into :doc:`/hazmat/decrepit/index` and deprecated them in the ``modes`` module. They will be removed from the ``modes`` module in 49.0.0. * Moved :class:`~cryptography.hazmat.primitives.ciphers.algorithms.Camellia` into :doc:`/hazmat/decrepit/index` and deprecated it in the ``cipher`` module. It will be removed from the ``cipher`` module in 49.0.0. </tr></table>
... (truncated)
59c5f5e
bump for 47.0.0 release (#14730)9025578
Add MLKEM1024-P384 hybrid KEM support in HPKE (#14722)ef66de4
Recommend Argon2id over PBKDF2HMAC as KDF (#14724)d996a37
Add ubuntu-resolute to CI workflow (#14729)e86da41
chore(deps): bump libc from 0.2.185 to 0.2.186 (#14725)1c33c9a
Bump downstream dependencies in CI (#14728)67fb6be
Bump x509-limbo and/or wycheproof in CI (#14727)6cb20b3
Bump BoringSSL, OpenSSL, AWS-LC in CI (#14726)d6f372d
Update supported OpenSSL versions in installation docs (#14721)ebd2619
openssl 3.3 is out of upstream support (#14720)Sourced from pip's changelog.
26.1 (2026-04-26)
Deprecations and Removals
- Drop support for Python 3.9. (
[#13795](https://github.com/pypa/pip/issues/13795) <https://github.com/pypa/pip/issues/13795>_)Features
- Add experimental support to read requirements from standardized pylock.toml files (
-r pylock.toml). ([#13876](https://github.com/pypa/pip/issues/13876) <https://github.com/pypa/pip/issues/13876>_)- Allow
--uploaded-prior-toto accept a duration in days (e.g.,P3Dfor 3 days ago). ([#13674](https://github.com/pypa/pip/issues/13674) <https://github.com/pypa/pip/issues/13674>_)Enhancements
- Speed up dependency resolution when there are complex conflicts. (
[#13859](https://github.com/pypa/pip/issues/13859) <https://github.com/pypa/pip/issues/13859>_)- Reduce memory usage when resolving large dependency trees. (
[#13843](https://github.com/pypa/pip/issues/13843) <https://github.com/pypa/pip/issues/13843>_)- Emit a deprecation warning when pip imports an unexpected module after installation of a distribution has started. (
[#13912](https://github.com/pypa/pip/issues/13912) <https://github.com/pypa/pip/issues/13912>_)- Allow URL constraints to apply to requirements with extras. (
[#12018](https://github.com/pypa/pip/issues/12018) <https://github.com/pypa/pip/issues/12018>_)- Allow unpinned requirements to use hashes from constraints. Constraints like
{name}=={version} --hash=...feeds into hash verification for a corresponding requirement. ([#9243](https://github.com/pypa/pip/issues/9243) <https://github.com/pypa/pip/issues/9243>_)- Improve conflict reports that involve direct URLs. (
[#13932](https://github.com/pypa/pip/issues/13932) <https://github.com/pypa/pip/issues/13932>_)- Show all errors instead of first error for faulty
dependency_groupsdefinitions. ([#13917](https://github.com/pypa/pip/issues/13917) <https://github.com/pypa/pip/issues/13917>_)Bug Fixes
- Fix recovery hint for missing RECORD file to use
--ignore-installedinstead of--force-reinstall. ([#12645](https://github.com/pypa/pip/issues/12645) <https://github.com/pypa/pip/issues/12645>_)- Fix misleading error message when a constraint file cannot be opened. (
[#13226](https://github.com/pypa/pip/issues/13226) <https://github.com/pypa/pip/issues/13226>_)- Show the filename rather than the full URL when downloading files from non-PyPI indexes in non-verbose mode. (
[#13494](https://github.com/pypa/pip/issues/13494) <https://github.com/pypa/pip/issues/13494>_)- Remove the adjacent
__pycache__directory when a .py file is removed. ([#13725](https://github.com/pypa/pip/issues/13725) <https://github.com/pypa/pip/issues/13725>_)- Force UTF-8 encoding for :pep:
723metadata. ([#13861](https://github.com/pypa/pip/issues/13861) <https://github.com/pypa/pip/issues/13861>_)- Minor performance improvement when filtering candidates during resolution. (
[#13916](https://github.com/pypa/pip/issues/13916) <https://github.com/pypa/pip/issues/13916>_)- Fix a hang on Windows when stdout is closed during verbose output. (
[#13927](https://github.com/pypa/pip/issues/13927) <https://github.com/pypa/pip/issues/13927>_)- Common path prefixes are determined by path segment, not character by character. (
[#13847](https://github.com/pypa/pip/issues/13847) <https://github.com/pypa/pip/issues/13847>_)- Fix installing
.tar.gzsource distributions that look like a zip file. ([#13867](https://github.com/pypa/pip/issues/13867) <https://github.com/pypa/pip/issues/13867>_)Vendored Libraries
- Upgrade certifi to 2026.2.25
- Upgrade packaging to 26.2
- Upgrade requests to 2.33.1
- Upgrade tomli to 2.3.1
- Upgrade urllib3 to 2.6.3
... (truncated)
90b2b3e
Bump for release193f289
Update AUTHORS.txt63c3709
Merge pull request #13876 from
sbidoul/install-from-pylock-reqs-sbie5fe702
Merge pull request #13949 from
pypa/revert-13888-resolver-editable-links122a14a
Revert "Allow editable installs to satisfy direct-URL dependencies
(#13888)"c335252
-r pylock.toml: add pip-wheel -r pylock.toml testba2fc12
-r pylock.toml: proper error with remote pylock.toml containing
directory ent...747c4ae
Merge pull request #13948 from
ichard26/reword-news3517841
-r pylock: refine filename pylock-ness test2f7ad8c
-r pylock.toml: fix crash with pip wheel and pip lockSourced from click's releases.
8.3.3
This is the Click 8.3.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/click/8.3.3/ Changes: https://click.palletsprojects.com/page/changes/#version-8-3-3 Milestone: https://github.com/pallets/click/milestone/30
- Use :func:
shlex.splitto split pager and editor commands intoargvlists for :class:subprocess.Popen, removingshell=True. #1026 #1477 #2775- Fix
TypeErrorwhen rendering help for an option whose default value is an object that doesn't support equality comparison with strings, such assemver.Version. #3298 #3299- Fix pager test pollution under parallel execution by using pytest's
tmp_pathfixture instead of a shared temporary file path. #3238- Treat
Sentinel.UNSETvalues in adefault_mapas absent, so they fall through to the next default source instead of being used as the value. #3224 #3240- Patch
pdb.PdbinCliRunnerisolation sopdb.set_trace(),breakpoint(), and debuggers subclassingpdb.Pdb(ipdb, pdbpp) can interact with the real terminal instead of the captured I/O streams. #654 #824 #843 #951 #3235- Add optional randomized parallel test execution using
pytest-randomlyandpytest-xdistto detect test pollution and race conditions. #3151- Add contributor documentation for running stress tests, randomized parallel tests, and Flask smoke tests. #3151 #3177
- Show custom
show_defaultstring in prompts, matching the existing help text behavior. #2836 #2837 #3165 #3262 #3280 #3328- Fix
default=Truewith booleanflag_valuealways returning theflag_valueinstead ofTrue. Thedefault=Truetoflag_valuesubstitution now only applies to non-boolean flags, whereTrueacts as a sentinel meaning "activate this flag by default". For boolean flags,default=Trueis returned as a literal value. #3111 #3239- Mark
make_default_short_helpas private API. #3189 #3250CliRunner's redirected streams now expose the original file descriptor viafileno(), so thatfaulthandler,subprocess, and other C-level consumers no longer crash withio.UnsupportedOperation. #2865- Change :class:
ParameterSourceto an :class:~enum.IntEnumand reorder its members from most to least explicit, so values can be compared to check whether a parameter was explicitly provided. #2879 #3248
Sourced from click's changelog.
Version 8.3.3
Released 2026-04-20
- Use :func:
shlex.splitto split pager and editor commands intoargvlists for :class:subprocess.Popen, removingshell=True. :issue:1026:pr:1477:pr:2775- Fix
TypeErrorwhen rendering help for an option whose default value is an object that doesn't support equality comparison with strings, such assemver.Version. :issue:3298:pr:3299- Fix pager test pollution under parallel execution by using pytest's
tmp_pathfixture instead of a shared temporary file path. :pr:3238- Treat
Sentinel.UNSETvalues in adefault_mapas absent, so they fall through to the next default source instead of being used as the value. :issue:3224:pr:3240- Patch
pdb.PdbinCliRunnerisolation sopdb.set_trace(),breakpoint(), and debuggers subclassingpdb.Pdb(ipdb, pdbpp) can interact with the real terminal instead of the captured I/O streams. :issue:654:issue:824:issue:843:pr:951:pr:3235- Add optional randomized parallel test execution using
pytest-randomlyandpytest-xdistto detect test pollution and race conditions. :pr:3151- Add contributor documentation for running stress tests, randomized parallel tests, and Flask smoke tests. :pr:
3151:pr:3177- Show custom
show_defaultstring in prompts, matching the existing help text behavior. :issue:2836:pr:2837:pr:3165:pr:3262:pr:3280:pr:3328- Fix
default=Truewith booleanflag_valuealways returning theflag_valueinstead ofTrue. Thedefault=Truetoflag_valuesubstitution now only applies to non-boolean flags, whereTrueacts as a sentinel meaning "activate this flag by default". For boolean flags,default=Trueis returned as a literal value. :issue:3111:pr:3239- Mark
make_default_short_helpas private API. :issue:3189:pr:3250CliRunner's redirected streams now expose the original file descriptor viafileno(), so thatfaulthandler,subprocess, and other C-level consumers no longer crash withio.UnsupportedOperation. :issue:2865- Change :class:
ParameterSourceto an :class:~enum.IntEnumand reorder its members from most to least explicit, so values can be compared to check whether a parameter was explicitly provided. :issue:2879:pr:3248
c06d2d0
Release 8.3.3f1f191e
Apply format guidelines to commits since latest 8.3.2 release (#3343)bb59ba0
Apply format guidelines to commits since latest 8.3.2 release4a35225
Reduce blast-radius of UNSET in default_map
(#3240)c07bb93
Merge branch 'stable' into unset-in-default-mapc7e1ba8
Reorder ParameterSource (#3248)76552ff
Show default string in prompt (#3328)ac5cec5
Reorder ParameterSource from most to least explicit8c452e0
Merge branch 'stable' into show-default-string-in-prompt8c95c73
Reconcile default value passing and default activation (#3239)