Sourced from click's releases.
8.4.2
This is the Click 8.4.1 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.4.2/ Changes: https://click.palletsprojects.com/page/changes/#version-8-4-2 Milestone: https://github.com/pallets/click/milestone/34
- Fix Fish shell completion broken in
8.4.0by #3126. Newlines and tabs in option help text are now escaped, keeping the original completion format while still supporting multi-line help. #3502 #3043 #3504 #3508- Deprecated commands and options with empty or missing help text no longer render a stray leading space before the
(DEPRECATED)label. #3509- A {class}
Groupwithinvoke_without_command=Truemarks its subcommand as optional in the usage help, showing[COMMAND]instead ofCOMMAND. #3059 #3507echo_via_pagerflushes after each write, so passing a generator streams output to the pager incrementally instead of staying hidden until the pipe buffer fills. #3242 #2542 #3534echo_via_pagerandget_pager_fileno longer close a borrowed stdout stream when no external pager runs, completing the partialI/O operation on closed filefix from #3482. #3449 #3533- Fix CLI usage symopsis for optional arguments producing double square brackets
[[a|b|c]]...whose type already brackets their metavar. #3578- {func}
version_optionresolves apackage_namethat does not match an installed distribution as an import (top-level module) name via {func}importlib.metadata.packages_distributions. Packages whose top-level module name differs from their distribution name (PILvsPillow,jwtvsPyJWT) no longer raiseRuntimeErrorout of the box. #2331 #1884 #3125 #3582
Sourced from click's changelog.
Version 8.4.2
Released 2026-06-24
- Fix Fish shell completion broken in
8.4.0by {pr}3126. Newlines and tabs in option help text are now escaped, keeping the original completion format while still supporting multi-line help. {issue}3502{issue}3043{pr}3504{pr}3508- Deprecated commands and options with empty or missing help text no longer render a stray leading space before the
(DEPRECATED)label. {pr}3509- A {class}
Groupwithinvoke_without_command=Truemarks its subcommand as optional in the usage help, showing[COMMAND]instead ofCOMMAND. {issue}3059{pr}3507echo_via_pagerflushes after each write, so passing a generator streams output to the pager incrementally instead of staying hidden until the pipe buffer fills. {issue}3242{issue}2542{pr}3534echo_via_pagerandget_pager_fileno longer close a borrowed stdout stream when no external pager runs, completing the partialI/O operation on closed filefix from {pr}3482. {issue}3449{pr}3533- Fix CLI usage symopsis for optional arguments producing double square brackets
[[a|b|c]]...whose type already brackets their metavar. {pr}3578- {func}
version_optionresolves apackage_namethat does not match an installed distribution as an import (top-level module) name via {func}importlib.metadata.packages_distributions. Packages whose top-level module name differs from their distribution name (PILvsPillow,jwtvsPyJWT) no longer raiseRuntimeErrorout of the box. {issue}2331{issue}1884{issue}3125{pr}3582
b2e30a1
Release version 8.4.27a16b20
Fix package_name resolution when module differs from
distribution name (#3582)bec5928
Fix package_name resolution when top-level module differs
from distribution...916883a
Fix tests to not rely on -Wdefault option (#3591)09195f6
Fix double-bracketing of choices in synopsis (#3578)1557e26
Check for warning exception with idiomatic context managerd9ff133
Static typing improvements in click.shell_completion (#3460)762c97e
Fix double-bracketing of choices in synopsis8929d39
Convert changes to markdown. (#3559)237be50
Move changes headings down a level.Sourced from pytest's releases.
9.1.1
pytest 9.1.1 (2026-06-19)
Bug fixes
- #14220: Fixed a logic bug in
pytest.RaisesGroupwhich would might cause it to display incorrect "It matches FooError() which was paired with BarError" messages.- #14591: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect
@pytest.mark.parametrize to fail with "duplicate parametrization of '<fixture name>'".- #14606: Fixed
list-itemtyping errors from mypy in@pytest.mark.parametrize <pytest.mark.parametrize ref>argvaluesparameter.- #14608: Fixed a regression in pytest 9.1.0 where
conftest.pyfiles located in<invocation dir>/test*were no longer loaded as initial conftests when invoked without arguments. This could cause certain hooks (likepytest_addoption) in these files to not fire.9.1.0
pytest 9.1.0 (2026-06-13)
Removals and backward incompatible breaking changes
#14533: When using
--doctest-modules, autouse fixtures withmodule,packageorsessionscope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.If this is undesirable, move the fixture definition to a
conftest.pyfile if possible.Technical explanation for those interested: When using --doctest-modules, pytest possibly collects Python modules twice, once as
pytest.Moduleand once as aDoctestModule(depending on the configuration). Due to improvements in pytest's fixture implementation, if e.g. theDoctestModulecollects a fixture, it is now visible to it only, and not to theModule. This means that both need to register the fixtures independently.Deprecations (removal in next major release)
#10819: Added a deprecation warning for class-scoped fixtures defined as instance methods (without
@classmethod). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use@classmethoddecorator instead -- byyastcher.See
10819and14011.#12882: Calling
request.getfixturevalue() <pytest.FixtureRequest.getfixturevalue>during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.See
dynamic-fixture-request-during-teardownfor details.#13409: Using non-
~collections.abc.Collectioniterables (such as generators, iterators, or custom iterable objects) for theargvaluesparameter in@pytest.mark.parametrize <pytest.mark.parametrize ref>andmetafunc.parametrize <pytest.Metafunc.parametrize>is now deprecated.These iterables get exhausted after the first iteration, leading to tests getting unexpectedly skipped in cases such as running
pytest.main()multiple times, using class-level parametrize decorators, or collecting tests multiple times.See
parametrize-iteratorsfor details and suggestions.#13946: The private
config.inicfgattribute is now deprecated. Useconfig.getini() <pytest.Config.getini>to access configuration values instead.See
config-inicfgfor more details.#14004: Passing
baseidto~pytest.FixtureDefornodeidstrings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.
... (truncated)
cf470ec
Prepare release version 9.1.1e0c8ce6
Merge pull request #14625
from pytest-dev/patchback/backports/9.1.x/a07c31a97...1b82d16
Merge pull request #14624
from pytest-dev/patchback/backports/9.1.x/b375b79ec...501c4bc
Merge pull request #14596
from bluetech/doc-classmethodb61f588
Merge pull request #14622
from chrisburr/fix-14608-initial-conftest-test-subdir9a567e0
[automated] Update plugin list (#14617)
(#14618)ef8b299
Merge pull request #14620
from pytest-dev/patchback/backports/9.1.x/680f9f3ed...66abd07
Merge pull request #14220
from bysiber/fix-stale-iexp-raisesgroup79fbf93
Merge pull request #14612
from pytest-dev/patchback/backports/9.1.x/974ed48b6...0d312eb
Merge pull request #14611
from bluetech/parametrize-argvalues-typingSourced from ruff's releases.
0.15.20
Release Notes
Released on 2026-06-25.
Preview features
- Allow human-readable names in rule selectors (#25887)
- Emit a warning instead of an error for unknown rule selectors (#26113)
- Match
noqashebang handling inruff:ignorecomments (#26286)- [
ruff] Removepytest-fixture-autouse(RUF076) (#26240, #26371)Documentation
- Add versioning sections to custom crate READMEs (#26317)
- Update
ruff_python_parserREADME for crates.io (#26315)- [
perflint] Clarify thatPERF402applies to any iterable (#26242)Contributors
Install ruff 0.15.20
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.ps1 | iex"Download ruff 0.15.20
File Platform Checksum ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum ruff-i686-pc-windows-msvc.zip x86 Windows checksum ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
... (truncated)
Sourced from ruff's changelog.
0.15.20
Released on 2026-06-25.
Preview features
- Allow human-readable names in rule selectors (#25887)
- Emit a warning instead of an error for unknown rule selectors (#26113)
- Match
noqashebang handling inruff:ignorecomments (#26286)- [
ruff] Removepytest-fixture-autouse(RUF076) (#26240, #26371)Documentation
- Add versioning sections to custom crate READMEs (#26317)
- Update
ruff_python_parserREADME for crates.io (#26315)- [
perflint] Clarify thatPERF402applies to any iterable (#26242)Contributors
0.15.19
Released on 2026-06-23.
Preview features
- Support human-readable names when hovering suppression comments and in code actions (#26114)
Bug fixes
- Fall back to default settings when editor-only settings are invalid (#26244)
- Fix panic when inserting text at a notebook cell boundary (#26111)
Rule changes
- [
pylint] Update fix suggestions for__floor__,__trunc__,__length_hint__, and__matmul__variants (PLC2801) (#26239)Performance
- Avoid allocating when parsing single string literals (#26200)
- Avoid reallocating singleton call arguments (#26223)
- Lazily create source files for lint diagnostics (#26226)
- Optimize formatter text width and indentation (#26236)
- Reserve capacity for builtin bindings (#26229)
- Skip repeated-key checks for singleton dictionaries (#26228)
- Use ArrayVec for qualified name segments (#26224)
... (truncated)
f82a36b
Bump 0.15.20 (#26376)af32943
Improve the summarise-ecosystem-results skill (#26378)485ebab
Remove RUF076 name from schema (#26371)ef81835
[ty] Implement rust-analyzer's "Click for full compiler
diagnostic" feature (...572b31e
[ruff] Remove pytest-fixture-autouse
(RUF076) (#26240)f703f21
Allow human-readable names in rule selectors (#25887)0d726b2
[ty] Reuse equality semantics for membership compatibility (#25955)dbe6e98
[ty] Infer definite equality comparison results (#26337)e700ea3
[ty] Prove TypedDict structural patterns exhaustive (#26285)6a0d2ec
[ty] Widen inferred class-valued instance attributes (#26338)Sourced from ty's releases.
0.0.55
Release Notes
Released on 2026-06-26.
LSP server
- Render full diagnostics in color (#26384)
Documentation
- Document colored diagnostic output (#3858)
Performance
- Improve vendored filesystem concurrency (#26408)
- Optimize enum comparisons in equality evaluation (#26340)
- Remove redundant semantic index shrinks (#26392)
- Use never-change durability for one-shot checks (#26359)
Core type checking
- Correct enum alias detection and scalar constructors (#26345)
- Fix structural pattern binding inference (#26411)
- Improve variable-length tuple slicing (#26151)
- Infer class and mapping pattern bindings (#25941)
- Infer empty collection constructors from later uses (#26389)
- Skip shadowed submodule bindings during import analysis (#26385)
- Sync vendored typeshed stubs (#26406). Typeshed diff
- Track literal iterable emptiness for reachability (#25222)
- Validate positional class patterns against
__match_args__(#26195)Contributors
Install ty 0.0.55
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.55/ty-installer.sh | shInstall prebuilt binaries via powershell script
... (truncated)
Sourced from ty's changelog.
0.0.55
Released on 2026-06-26.
LSP server
- Render full diagnostics in color (#26384)
Documentation
- Document colored diagnostic output (#3858)
Performance
- Improve vendored filesystem concurrency (#26408)
- Optimize enum comparisons in equality evaluation (#26340)
- Remove redundant semantic index shrinks (#26392)
- Use never-change durability for one-shot checks (#26359)
Core type checking
- Correct enum alias detection and scalar constructors (#26345)
- Fix structural pattern binding inference (#26411)
- Improve variable-length tuple slicing (#26151)
- Infer class and mapping pattern bindings (#25941)
- Infer empty collection constructors from later uses (#26389)
- Skip shadowed submodule bindings during import analysis (#26385)
- Sync vendored typeshed stubs (#26406). Typeshed diff
- Track literal iterable emptiness for reachability (#25222)
- Validate positional class patterns against
__match_args__(#26195)Contributors
0.0.54
Released on 2026-06-25.
Bug fixes
... (truncated)
4286940
Bump version to 0.0.55 (#3866)5374b30
Update benchmarks for ty 0.0.54 (#3865)3ed874d
Document colored diagnostic output (#3858)bf8a7dd
Bump version to 0.0.5478e094d
Document the fullDiagnosticOutput extension to the Language
Server Protocol...7bda89e
Document ty's @Todo type in the typing FAQ (#3847)66a94cd
Update maturin to v1.14.0 (#3840)dc2b39d
Update prek dependencies (#3839)23f26f9
Bump version to 0.0.53 (#3841)13f91b0
Bump version to 0.0.52 (#3828)Sourced from hatch's releases.
Hatchling v1.17.0
Added:
- The
appbuild target now embeds the project version in the name of binariesHatch v1.17.0
Changed:
- The
hatch fmtcommand is now deprecated in favor of the newhatch checkcommand group- Migrate HTTP client from
httpxtohttpx2Added:
- Add
hatch checkcommand group with subcommands forcheck code(linting),check fmt(formatting), andcheck types(type checking)- Add
hatch check typescommand for type checking using Pyrefly, with--summarizeand--coverflags- Add
hatch env lockcommand to generate PEP 751 compliant lockfiles (pylock.toml) for environments- Add
hatch dep lockandhatch lockcommands as shortcuts for locking the active environment- Add
hatch dep synccommand for syncing dependencies from a lockfile- Add pluggable dependency locker interface with built-in UV and pip implementations
- Add
--cover-xmland--cover-xml-outputflags to thehatch testcommand for generating XML coverage reports- Add linehaul telemetry data to User-Agent header for PyPI download statistics
- Auto-create environment when locking if it doesn't exist
Fixed:
- Fix help output formatting for the
runcommand
37b00c3
release Hatchling v1.30.1 (#2298)0446d99
Update history for new patch release of hatchling after fixing default
metada...4f5cdf0
Make 2.4 metadata default until other tools support it. (#2296)0497be0
Fix draft release uploads. (#2293)3aae0fa
Fix hatchling to use Metadata 2.4 (#2291)5ee4189
release Hatch v1.17.0 (#2290)6109ee7
release Hatchling v1.30.0 (#2289)246e22b
Block duplicate files in wheel archives (closes #2066) (#2269)d2afcb6
Update docs as pre-release for 1.17.0 (#2287)818d284
Feat hatch check command with new sub command for types (#2278)