Sourced 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)Sourced from pathspec's releases.
v1.1.1
Release v1.1.1. See CHANGES.rst.
v1.1.0
Release v1.1.0. See CHANGES.rst.
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.1.1.0 (2026-04-22)
New features:
Issue [#108](https://github.com/cpburnz/python-pathspec/issues/108)_: Specialize pattern type forPathSpecasPathSpec[TPattern]for better debugging ofPathSpec().patterns.Bug fixes:
Issue [#93](https://github.com/cpburnz/python-pathspec/issues/93)_: Git discards invalid range notation.GitIgnoreSpecPatternnow discards patterns with invalid range notation like Git.Pull [#106](https://github.com/cpburnz/python-pathspec/issues/106)_: Fix escape() not escaping backslash characters.Improvements:
Pull [#110](https://github.com/cpburnz/python-pathspec/issues/110)_: Nicer debug print outs (and str for regex pattern)... _
Pull [#106](https://github.com/cpburnz/python-pathspec/issues/106): cpburnz/python-pathspec#106 .. _Issue [#108](https://github.com/cpburnz/python-pathspec/issues/108): cpburnz/python-pathspec#108 .. _Pull [#110](https://github.com/cpburnz/python-pathspec/issues/110): cpburnz/python-pathspec#110
ecf71a9
Release v1.1.16727491
Improve type checking with mypy and pyrightc9249c8
Release v1.1.0a1abeba
Test Iron Proxy for CI0b04dae
Test Iron Proxy for CIccaedca
Test Iron Proxy for CI06391d8
Test Iron Proxy for CI45907bf
Test Iron Proxy for CI0d7c7de
Pin all Github actions36fadda
Specialize patternsSourced from ruff's releases.
0.15.12
Release Notes
Released on 2026-04-24.
Preview features
- Implement
#ruff:file-ignorefile-level suppressions (#23599)- Implement
#ruff:ignorelogical-line suppressions (#23404)- Revert preview changes to displayed diagnostic severity in LSP (#24789)
- [
airflow] Implementtask-branch-as-short-circuit(AIR004) (#23579)- [
flake8-bugbear] Fixbreak/continuehandling inloop-iterator-mutation(B909) (#24440)- [
pylint] FixPLC2701for type parameter scopes (#24576)Rule changes
- [
pandas-vet] Suggest.arrayas well inPD011(#24805)CLI
- Respect default Unix permissions for cache files (#24794)
Documentation
- [
pylint] FixPLR0124description not to claim self-comparison always returns the same value (#24749)- [
pyupgrade] Expand docs on reusableTypeVars and scoping (UP046) (#24153)- Improve rules table accessibility (#24711)
Contributors
@dylwil3@AlexWaygood@woodruffw@avasis-ai@Dev-iL@denyszhak@ShipItAndPray@anishgirianish@augustelalande@amyreese@majiayu000Install ruff 0.15.12
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.12/ruff-installer.sh | sh
... (truncated)
Sourced from ruff's changelog.
0.15.12
Released on 2026-04-24.
Preview features
- Implement
#ruff:file-ignorefile-level suppressions (#23599)- Implement
#ruff:ignorelogical-line suppressions (#23404)- Revert preview changes to displayed diagnostic severity in LSP (#24789)
- [
airflow] Implementtask-branch-as-short-circuit(AIR004) (#23579)- [
flake8-bugbear] Fixbreak/continuehandling inloop-iterator-mutation(B909) (#24440)- [
pylint] FixPLC2701for type parameter scopes (#24576)Rule changes
- [
pandas-vet] Suggest.arrayas well inPD011(#24805)CLI
- Respect default Unix permissions for cache files (#24794)
Documentation
- [
pylint] FixPLR0124description not to claim self-comparison always returns the same value (#24749)- [
pyupgrade] Expand docs on reusableTypeVars and scoping (UP046) (#24153)- Improve rules table accessibility (#24711)
Contributors
66f93cf
Bump 0.15.12 (#24815)476a4d0
[ty] Complete support for more detailed diagnostics on possibly unbound
error...ed669ea
Implement #ruff:file-ignore file-level suppressions (#23599)e73d952
[ty] Include inferred type in invalid-key concise
diagnostic for union/inte...80feb29
[ty] report only dead annotation-only locals as unused (#24811)0fbf2bc
Drop deprecated license classifier (#24808)43b174c
[ty] Infer lambda parameter types with Callable type
context (#24317)4f449ae
[ty] Add error context for intersection types (#24772)5b4e753
[ty] Add support for goto in literal enum member inlay hint (#24792)e7cc762
[ty] Add error context for TypedDict assignments (#24790)Sourced from mypy's changelog.
Mypy 1.20.1
- Always disable sync in SQLite cache (Ivan Levkivskyi, PR 21184)
- Temporarily skip few base64 tests (Ivan Levkivskyi, PR 21193)
- Revert
dict.__or__typeshed change (Ivan Levkivskyi, PR 21186)- Fix narrowing for match case with variadic tuples (Shantanu, PR 21192)
- Avoid narrowing
type[T]in type calls (Shantanu, PR 21174)- Fix regression for catching empty tuple in except (Shantanu, PR 21153)
- Fix reachability for frozenset and dict view narrowing (Shantanu, PR 21151)
- Fix narrowing with chained comparison (Shantanu, PR 21150)
- Avoid narrowing to unreachable at module level (Shantanu, PR 21144)
- Allow dangerous identity comparisons to
Anytyped variables (Shantanu, PR 21142)--warn-unused-configshould not be a strict flag (Ivan Levkivskyi, PR 21139)Mypy 1.20.2
- Use WAL with SQLite cache and fix close (Shantanu, PR 21154)
- Adjust SQLite journal mode (Ivan Levkivskyi, PR 21217)
- Correctly aggregate narrowing information on parent expressions (Shantanu, PR 21206)
- Fix regression related to generic callables (Shantanu, PR 21208)
- Fix regression by avoiding widening types in some contexts (Shantanu, PR 21242)
- Fix slicing in non-strict optional mode (Shantanu, PR 21282)
- mypyc: Fix match statement semantics for "or" pattern (Shantanu, PR 21156)
- mypyc: Fix issue with module dunder attributes (Piotr Sawicki, PR 21275)
- Initial support for Python 3.15.0a8 (Marc Mueller, PR 21255)
Acknowledgements
Thanks to all mypy contributors who contributed to this release:
- A5rocks
- Aaron Wieczorek
- Adam Turner
- Ali Hamdan
- asce
- BobTheBuidler
- Brent Westbrook
- Brian Schubert
- bzoracler
- Chris Burroughs
- Christoph Tyralla
- Colin Watson
- Donghoon Nam
- E. M. Bray
- Emma Smith
- Ethan Sarp
- George Ogden
- getzze
- grayjk
- Gregor Riepl
- Ivan Levkivskyi
... (truncated)
145a062
Bump version to 1.20.281cd492
Fix slicing with nonstrict optional (#21282)908d344
[mypyc] Set dunder attrs when adding module to sys.modules (#21275)ba28610
Initial support for Python 3.15.0a8 (#21255)7b0e09f
Fix match statement semantics for "or" pattern (#21156)92b74f2
Avoid widening types in conditional_types (#21242)0dcbfaa
Fix is_overlapping_types for generic callables (#21208)210f518
Correctly aggregate narrowing information on parent expressions (#21206)c34530e
Only set journal mode in coordinator (#21217)79a3ec6
Use WAL with SQLite cache, fix close (#21154)