Stable style
- Don't double-decode input, causing non-UTF-8 files to be corrupted (#4964)
- Fix crash on standalone comment in lambda default arguments (#4993)
- Preserve parentheses when
# type: ignorecomments would be merged with other
comments on the same line, preventing AST equivalence failures (#4888)
Preview style
- Fix bug where
ifguards incaseblocks were incorrectly split when the pattern had
a trailing comma (#4884) - Fix
string_processingcrashing on unassigned long string literals with trailing
commas (one-item tuples) (#4929) - Simplify implementation of the power operator "hugging" logic (#4918)
Packaging
- Fix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in
frozen environments (#4930)
Performance
- Introduce winloop for windows as an alternative to uvloop (#4996)
- Remove deprecated function
uvloop.install()in favor ofuvloop.new_event_loop()
(#4996) - Rename
maybe_install_uvloopfunction tomaybe_use_uvloopto simplify loop
installation and creation of either a uvloop/winloop evenloop or default eventloop
(#4996)
Output
- Emit a clear warning when the target Python version is newer than the running Python
version, since AST safety checks cannot parse newer syntax. Also replace the
misleading "INTERNAL ERROR" message with an actionable error explaining the version
mismatch (#4983)
Blackd
- Introduce winloop to be used when windows in use which enables blackd to run faster on
windows when winloop is installed. (#4996)
Integrations
- Remove unused gallery script (#5030)
- Harden parsing of
blackrequirements in the GitHub Action whenuse_pyprojectis
enabled so that only version specifiers are accepted and direct references such as
black @ https://...are rejected. Users should upgrade to the latest version of the
action as soon as possible. This update is received automatically when using
psf/black@stable, and is independent of the version of Black installed by the
action. (#5031)