Sourced from black's releases.
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
Added parsing support for unparenthesized tuples and yield expressions in annotated assignments (#1835)
use lowercase hex strings (#1692)
added
--extend-exclude
argument (PR #2005)speed up caching by avoiding pathlib (#1950)
--diff
correctly indicates when a file doesn't end in a newline (#1662)Added
--stdin-filename
argument to allow stdin to respect--force-exclude
rules (#1780)Lines ending with
fmt: skip
will now be not formatted (#1800)PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher
... (truncated)
Sourced from black's changelog.
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
Added parsing support for unparenthesized tuples and yield expressions in annotated assignments (#1835)
added
--extend-exclude
argument (PR #2005)speed up caching by avoiding pathlib (#1950)
--diff
correctly indicates when a file doesn't end in a newline (#1662)Added
--stdin-filename
argument to allow stdin to respect--force-exclude
rules (#1780)Lines ending with
fmt: skip
will now be not formatted (#1800)PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher
... (truncated)
Sourced from black's releases.
21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
... (truncated)
Sourced from black's changelog.
21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
... (truncated)
Sourced from black's releases.
21.4b2
Black
Fix crash if the user configuration directory is inaccessible. (#2158)
Clarify circumstances in which Black may change the AST (#2159)
Packaging
- Install
primer.json
(used byblack-primer
by default) with black. (#2154)21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
... (truncated)
Sourced from black's changelog.
21.4b2
Black
Fix crash if the user configuration directory is inaccessible. (#2158)
Clarify circumstances in which Black may change the AST (#2159)
Packaging
- Install
primer.json
(used byblack-primer
by default) with black. (#2154)21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
... (truncated)
Sourced from black's releases.
21.12b0
Black
- Fix determination of f-string expression spans (#2654)
- Fix bad formatting of error messages about EOF in multi-line statements (#2343)
- Functions and classes in blocks now have more consistent surrounding spacing (#2472)
Jupyter Notebook support
- Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with
%%writefile
. (#2630)- Fix assignment to environment variables in Jupyter Notebooks (#2642)
Python 3.10 support
- Point users to using
--target-version py310
if we detect 3.10-only syntax (#2668)- Fix
match
statements with open sequence subjects, likematch a, b:
ormatch a, *b:
(#2639) (#2659)- Fix
match
/case
statements that containmatch
/case
soft keywords multiple times, likematch re.match()
(#2661)- Fix
case
statements with an inline body (#2665)- Fix styling of starred expressions inside
match
subject (#2667)- Fix parser error location on invalid syntax in a
match
statement (#2649)- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
- Improve parsing performance on code that uses
match
under--target-version py310
up to ~50% (#2670)Packaging
Thank you!
@isidentical
for the polishing up 3.10 syntax support (which they contributed in the first place!)@MarcoGorelli
for their ever-continuing work on Black's jupyter support@jalaziz
for cleaning up our Pyinstaller CD workflow@hauntsaninja
for helping us drop theregex
dependencyAnd also congrats to first contributors!
@MatthewScholefield
made their first contribution in psf/black#2631@AshIsbitt
made their first contribution in psf/black#2632@kalbasit
made their first contribution in psf/black#2638@danieleades
made their first contribution in psf/black#2653@danielsparing
made their first contribution in psf/black#2630@tanvimoharir
made their first contribution in psf/black#2343
Sourced from black's changelog.
21.12b0
Black
- Fix determination of f-string expression spans (#2654)
- Fix bad formatting of error messages about EOF in multi-line statements (#2343)
- Functions and classes in blocks now have more consistent surrounding spacing (#2472)
Jupyter Notebook support
- Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with
%%writefile
. (#2630)- Fix assignment to environment variables in Jupyter Notebooks (#2642)
Python 3.10 support
- Point users to using
--target-version py310
if we detect 3.10-only syntax (#2668)- Fix
match
statements with open sequence subjects, likematch a, b:
ormatch a, *b:
(#2639) (#2659)- Fix
match
/case
statements that containmatch
/case
soft keywords multiple times, likematch re.match()
(#2661)- Fix
case
statements with an inline body (#2665)- Fix styling of starred expressions inside
match
subject (#2667)- Fix parser error location on invalid syntax in a
match
statement (#2649)- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
- Improve parsing performance on code that uses
match
under--target-version py310
up to ~50% (#2670)Packaging
Sourced from black's releases.
22.1.0
At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.
Highlights
Style
- Deprecate
--experimental-string-processing
and move the functionality under--preview
(#2789)- For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
- Black now normalizes string prefix order (#2297)
- Remove spaces around power operators if both operands are simple (#2726)
- Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
- Use parentheses for attribute access on decimal float and int literals (#2799)
- Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
- Treat blank lines in stubs the same inside top-level if statements (#2820)
- Fix unstable formatting with semicolons and arithmetic expressions (#2817)
- Fix unstable formatting around magic trailing comma (#2572)
Parser
- Fix mapping cases that contain as-expressions, like
case {"key": 1 | 2 as password}
(#2686)- Fix cases that contain multiple top-level as-expressions, like
case 1 as a, 2 as b
(#2716)- Fix call patterns that contain as-expressions with keyword arguments, like
case Foo(bar=baz as quux)
(#2749)- Tuple unpacking on
return
andyield
constructs now implies 3.8+ (#2700)- Unparenthesized tuples on annotated assignments (e.g
values: Tuple[int, ...] = 1, 2, 3
) now implies 3.8+ (#2708)- Fix handling of standalone
match()
orcase()
when there is a trailing newline or a comment inside of the parentheses. (#2760)from __future__ import annotations
statement now implies Python 3.7+ (#2690)Performance
- Speed-up the new backtracking parser about 4X in general (enabled when
--target-version
is set to 3.10 and higher). (#2728)- Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431)
Configuration
- Do not accept bare carriage return line endings in pyproject.toml (#2408)
- Add configuration option (
python-cell-magics
) to format cells with custom magics in Jupyter Notebooks (#2744)- Allow setting custom cache directory on all platforms with environment variable
BLACK_CACHE_DIR
(#2739).- Enable Python 3.10+ by default, without any extra need to specify -
-target-version=py310
. (#2758)- Make passing
SRC
or--code
mandatory and mutually exclusive (#2804)Output
- Improve error message for invalid regular expression (#2678)
- Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693)
- No longer color diff headers white as it's unreadable in light themed terminals (#2691)
- Text coloring added in the final statistics (#2712)
- Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526)
Packaging
... (truncated)
Sourced from black's changelog.
22.1.0
At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.
Highlights
Style
- Deprecate
--experimental-string-processing
and move the functionality under--preview
(#2789)- For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
- Black now normalizes string prefix order (#2297)
- Remove spaces around power operators if both operands are simple (#2726)
- Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
- Use parentheses for attribute access on decimal float and int literals (#2799)
- Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
- Treat blank lines in stubs the same inside top-level
if
statements (#2820)- Fix unstable formatting with semicolons and arithmetic expressions (#2817)
- Fix unstable formatting around magic trailing comma (#2572)
Parser
- Fix mapping cases that contain as-expressions, like
case {"key": 1 | 2 as password}
(#2686)- Fix cases that contain multiple top-level as-expressions, like
case 1 as a, 2 as b
(#2716)- Fix call patterns that contain as-expressions with keyword arguments, like
case Foo(bar=baz as quux)
(#2749)- Tuple unpacking on
return
andyield
constructs now implies 3.8+ (#2700)- Unparenthesized tuples on annotated assignments (e.g
values: Tuple[int, ...] = 1, 2, 3
) now implies 3.8+ (#2708)- Fix handling of standalone
match()
orcase()
when there is a trailing newline or a comment inside of the parentheses. (#2760)from __future__ import annotations
statement now implies Python 3.7+ (#2690)Performance
... (truncated)
Sourced from black's releases.
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from black's changelog.
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from black's releases.
21.5b1
Black
- Refactor
src/black/__init__.py
into many files (#2206)Documentation
- Replaced all remaining references to the
master
branch with themain
branch. Some additional changes in the source code were also made. (#2210)- Sigificantly reorganized the documentation to make much more sense. Check them out by heading over to the stable docs on RTD. (#2174)
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from black's changelog.
21.5b1
Black
- Refactor
src/black/__init__.py
into many files (#2206)Documentation
- Replaced all remaining references to the
master
branch with themain
branch. Some additional changes in the source code were also made. (#2210)- Sigificantly reorganized the documentation to make much more sense. Check them out by heading over to the stable docs on RTD. (#2174)
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from black's releases.
21.5b2
Black
- A space is no longer inserted into empty docstrings (#2249)
- Fix handling of .gitignore files containing non-ASCII characters on Windows (#2229)
- Respect
.gitignore
files in all levels, not onlyroot/.gitignore
file (apply.gitignore
rules likegit
does) (#2225)- Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227)
- Add extra uvloop install + import support if in python env (#2258)
- Fix --experimental-string-processing crash when matching parens are not found (#2283)
- Make sure to split lines that start with a string operator (#2286)
- Fix regular expression that black uses to identify f-expressions (#2287)
Blackd
- Add a lower bound for the
aiohttp-cors
dependency. Only 0.4.0 or higher is supported. (#2231)Packaging
- Release self-contained x86_64 MacOS binaries as part of the GitHub release pipeline (#2198)
- Always build binaries with the latest available Python (#2260)
Documentation
- Add discussion of magic comments to FAQ page (#2272)
--experimental-string-processing
will be enabled by default in the future (#2273)- Fix typos discovered by codespell (#2228)
- Fix Vim plugin installation instructions. (#2235)
- Add new Frequently Asked Questions page (#2247)
- Fix encoding + symlink issues preventing proper build on Windows (#2262)
Sourced from black's changelog.
21.5b2
Black
- A space is no longer inserted into empty docstrings (#2249)
- Fix handling of .gitignore files containing non-ASCII characters on Windows (#2229)
- Respect
.gitignore
files in all levels, not onlyroot/.gitignore
file (apply.gitignore
rules likegit
does) (#2225)- Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227)
- Add extra uvloop install + import support if in python env (#2258)
- Fix --experimental-string-processing crash when matching parens are not found (#2283)
- Make sure to split lines that start with a string operator (#2286)
- Fix regular expression that black uses to identify f-expressions (#2287)
Blackd
- Add a lower bound for the
aiohttp-cors
dependency. Only 0.4.0 or higher is supported. (#2231)Integrations
- The official Black action now supports choosing what version to use, and supports the major 3 OSes. (#1940)
Packaging
- Release self-contained x86_64 MacOS binaries as part of the GitHub release pipeline (#2198)
- Always build binaries with the latest available Python (#2260)
Documentation
- Add discussion of magic comments to FAQ page (#2272)
--experimental-string-processing
will be enabled by default in the future (#2273)- Fix typos discovered by codespell (#2228)
- Fix Vim plugin installation instructions. (#2235)
- Add new Frequently Asked Questions page (#2247)
- Fix encoding + symlink issues preventing proper build on Windows (#2262)
Sourced from black's releases.
21.6b0
Black
- Fix failure caused by
fmt: skip
and indentation (#2281)- Account for += assignment when deciding whether to split string (#2312)
- Correct max string length calculation when there are string operators (#2292)
- Fixed option usage when using the
--code
flag (#2259)- Do not call
uvloop.install()
when Black is used as a library (#2303)- Added
--required-version
option to require a specific version to be running (#2300)- Fix incorrect custom breakpoint indices when string group contains fake f-strings (#2311)
- Fix regression where
R
prefixes would be lowercased for docstrings (#2285)- Fix handling of named escapes (
\N{...}
) when--experimental-string-processing
is used (#2319)
Sourced from black's changelog.
21.6b0
Black
- Fix failure caused by
fmt: skip
and indentation (#2281)- Account for += assignment when deciding whether to split string (#2312)
- Correct max string length calculation when there are string operators (#2292)
- Fixed option usage when using the
--code
flag (#2259)- Do not call
uvloop.install()
when Black is used as a library (#2303)- Added
--required-version
option to require a specific version to be running (#2300)- Fix incorrect custom breakpoint indices when string group contains fake f-strings (#2311)
- Fix regression where
R
prefixes would be lowercased for docstrings (#2285)- Fix handling of named escapes (
\N{...}
) when--experimental-string-processing
is used (#2319)
Sourced from black's releases.
21.7b0
Black
- Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
- Add primer support and test for code piped into black via STDIN (#2315)
- Fix internal error when
FORCE_OPTIONAL_PARENTHESES
feature is enabled (#2332)- Accept empty stdin (#2346)
- Provide a more useful error when parsing fails during AST safety checks (#2304)
Docker
- Add new
latest_release
tag automation to follow latest black release on docker images (#2374)Integrations
- The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)
- The vim plugin now reads the correct string normalization option in pyproject.toml (#1869)
- The vim plugin no longer crashes Black when there's boolean values in pyproject.toml (#1869)
Sourced from black's changelog.
21.7b0
Black
- Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
- Add primer support and test for code piped into black via STDIN (#2315)
- Fix internal error when
FORCE_OPTIONAL_PARENTHESES
feature is enabled (#2332)- Accept empty stdin (#2346)
- Provide a more useful error when parsing fails during AST safety checks (#2304)
Docker
- Add new
latest_release
tag automation to follow latest black release on docker images (#2374)Integrations
- The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)
- The vim plugin now reads the correct string normalization option in pyproject.toml (#1869)
- The vim plugin no longer crashes Black when there's boolean values in pyproject.toml (#1869)
Sourced from black's releases.
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from black's changelog.
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from black's releases.
21.9b0
Packaging
- Fix missing modules in self-contained binaries (#2466)
- Fix missing toml extra used during installation (#2475)
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from black's changelog.
21.9b0
Packaging
- Fix missing modules in self-contained binaries (#2466)
- Fix missing toml extra used during installation (#2475)
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from black's releases.
21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's changelog.
21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's releases.
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's changelog.
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's releases.
21.11b1
Black
- Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's changelog.
21.11b1
Black
- Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's releases.
22.3.0
Preview style
- Code cell separators
#%%
are now standardised to# %%
(#2919)- Remove unnecessary parentheses from
except
statements (#2939)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945)- Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
- Do not format
__pypackages__
directories by default (#2836)- Add support for specifying stable version with
--required-version
(#2832).- Avoid crashing when the user has no homedir (#2814)
- Avoid crashing when md5 is not available (#2905)
- Fix handling of directory junctions on Windows (#2904)
Documentation
- Update pylint config documentation (#2931)
Integrations
- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
Output
- In verbose, mode, log when Black is using user-level config (#2861)
Packaging
- Fix Black to work with Click 8.1.0 (#2966)
- On Python 3.11 and newer, use the standard library's
tomllib
instead oftomli
(#2903)black-primer
, the deprecated internal devtool, has been removed and copied to a separate repository (#2924)Parser
- Black can now parse starred expressions in the target of
for
andasync for
statements, e.gfor item in *items_1, *items_2: pass
(#2879).
Sourced from black's changelog.
22.3.0
Preview style
- Code cell separators
#%%
are now standardised to# %%
(#2919)- Remove unnecessary parentheses from
except
statements (#2939)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945)- Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
- Do not format
__pypackages__
directories by default (#2836)- Add support for specifying stable version with
--required-version
(#2832).- Avoid crashing when the user has no homedir (#2814)
- Avoid crashing when md5 is not available (#2905)
- Fix handling of directory junctions on Windows (#2904)
Documentation
- Update pylint config documentation (#2931)
Integrations
- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
Output
- In verbose, mode, log when Black is using user-level config (#2861)
Packaging
- Fix Black to work with Click 8.1.0 (#2966)
- On Python 3.11 and newer, use the standard library's
tomllib
instead oftomli
(#2903)black-primer
, the deprecated internal devtool, has been removed and copied to a separate repository (#2924)Parser
- Black can now parse starred expressions in the target of
for
andasync for
statements, e.gfor item in *items_1, *items_2: pass
(#2879).
ae2c075
Prepare release 22.3.0 (#2968)e9681a4
Fix _unicodefun patch code for Click 8.1.0 (#2966)ac7402c
Bump sphinx from 4.4.0 to 4.5.0 in /docs (GH-2959)f239d22
Enforce no formatting changes for PRs via CI (GH-2951)bd1e980
Remove unnecessary parentheses from except
clauses (#2939)14d84ba
Resolve new flake8-bugbear errors (B020) (GH-2950)14e5ce5
Remove unnecessary parentheses from tuple unpacking in for
loops (#2945)3800ebd
Avoid magic-trailing-comma in single-element subscripts (#2942)062b549
Github now supports .git-blame-ignore-revs (GH-2948)5379d4f
stub style: remove some possible future changes (#2940)Sourced from black's releases.
22.6.0
Style
- Fix unstable formatting involving
#fmt: skip
and# fmt:skip
comments (notice the lack of spaces) (#2970)Preview style
- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
- Parentheses around return annotations are now managed (#2990)
- Remove unnecessary parentheses around awaited objects (#2991)
- Remove unnecessary parentheses in
with
statements (#2926)- Remove trailing newlines after code block open (#3035)
Integrations
- Add
scripts/migrate-black.py
script to ease introduction of Black to a Git project (#3038)Output
- Output Python version and implementation as part of
--version
flag (#2997)Packaging
- Use
tomli
instead oftomllib
on Python 3.11 builds wheretomllib
is not available (#2987)Parser
- PEP 654 syntax (for example,
except *ExceptionGroup:
) is now supported (#3016)- PEP 646 syntax (for example,
Array[Batch, *Shape]
ordef fn(*args: *T) -> None
) is now supported (#3071)Vim Plugin
- Fix
strtobool
function. It didn't parse true/on/false/off. (#3025)Full Changelog: https://github.com/psf/black/compare/22.3.0...22.6.0
Thank you!
@jpy-git
for improving our parentheses formatting significantly@siuryan
for fixing a fmt: skip bug, making it a little less annoying to use :)@isidentical
for implementing support for PEP 654 and 646 syntax@defntvdm
for fixing our vim plugin, especially as we (the maintainers) don't really know vim script sadly@idorrington92
for fixing the docstring bug where Black would move the closing quotes causing it to violate the line length limit (whoops!)@hbrunn
for contributing the migrate-black script@saroad2
for improving newline handling after code blocks and test infrastructure improvements... and everyone else who contributed documentation, tests, or other improvements to the Black project!
... (truncated)
Sourced from black's changelog.
22.6.0
Style
- Fix unstable formatting involving
#fmt: skip
and# fmt:skip
comments (notice the lack of spaces) (#2970)Preview style
- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
- Parentheses around return annotations are now managed (#2990)
- Remove unnecessary parentheses around awaited objects (#2991)
- Remove unnecessary parentheses in
with
statements (#2926)- Remove trailing newlines after code block open (#3035)
Integrations
- Add
scripts/migrate-black.py
script to ease introduction of Black to a Git project (#3038)Output
- Output Python version and implementation as part of
--version
flag (#2997)Packaging
- Use
tomli
instead oftomllib
on Python 3.11 builds wheretomllib
is not available (#2987)Parser
- PEP 654 syntax (for example,
except *ExceptionGroup:
) is now supported (#3016)- PEP 646 syntax (for example,
Array[Batch, *Shape]
ordef fn(*args: *T) -> None
) is now supported (#3071)Vim Plugin
- Fix
strtobool
function. It didn't parse true/on/false/off. (#3025)22.3.0
Preview style
- Code cell separators
#%%
are now standardised to# %%
(#2919)- Remove unnecessary parentheses from
except
statements (#2939)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945)- Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
... (truncated)
f6c139c
Prepare docs for release 22.6.0 (#3139)eb5d175
Update preview style docs to include recent changes (#3136)d848209
Bump furo from 2022.6.4.1 to 2022.6.21 in /docs (#3138)fa6caa6
Only call get_future_imports when needed (#3135)6463fb8
Bump sphinx from 5.0.1 to 5.0.2 in /docs (#3128)e3c9b04
Replace link to Requests documentation (#3125)6c1bd08
Test run black on self (#3114)799adb5
Bump actions/setup-python from 3 to 4 (#3121)162ecd1
Use is_number_token instead of assertion (#3069)8c8675c
Update documentation dependencies (#3118)Sourced from black's releases.
22.12.0
Preview style
- Enforce empty lines before classes and functions with sticky leading comments (#3302)
- Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
- Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
- Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)
Configuration
- Fix incorrectly applied
.gitignore
rules by considering the.gitignore
location and the relative path to the target file (#3338)- Fix incorrectly ignoring
.gitignore
presence when more than one source directory is specified (#3336)Parser
- Parsing support has been added for walruses inside generator expression that are passed as function args (for example,
any(match := my_re.match(text) for text in texts)
) (#3327).Integrations
- Vim plugin: Optionally allow using the system installation of Black via
let g:black_use_virtualenv = 0
(#3309)
Sourced from black's changelog.
22.12.0
Preview style
- Enforce empty lines before classes and functions with sticky leading comments (#3302)
- Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348)
- Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307)
- Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370)
Configuration
- Fix incorrectly applied
.gitignore
rules by considering the.gitignore
location and the relative path to the target file (#3338)- Fix incorrectly ignoring
.gitignore
presence when more than one source directory is specified (#3336)Parser
- Parsing support has been added for walruses inside generator expression that are passed as function args (for example,
any(match := my_re.match(text) for text in texts)
) (#3327).Integrations
- Vim plugin: Optionally allow using the system installation of Black via
let g:black_use_virtualenv = 0
(#3309)
2ddea29
Prepare release 22.12.0 (#3413)5b1443a
release: skip bad macos wheels for now (#3411)9ace064
Bump peter-evans/find-comment from 2.0.1 to 2.1.0 (#3404)19c5fe4
Fix CI with latest flake8-bugbear (#3412)d4a8564
Bump sphinx-copybutton from 0.5.0 to 0.5.1 in /docs (#3390)2793249
Wordsmith current_style.md (#3383)d97b789
Remove whitespaces of whitespace-only files (#3348)c23a5c1
Clarify that Black runs with --safe by default (#3378)8091b25
Correctly handle trailing commas that are inside a line's leading non-nested ...ffaaf48
Compare each .gitignore found with an appropiate relative path (#3338)Sourced from black's releases.
23.1.0
Highlights
This is the first release of 2023, and following our stability policy, it comes with a number of improvements to our stable style, notably improvements to empty line handling and the removal of redundant parentheses in several contexts.
There are also many changes to the preview style; try out
black --preview
and give us feedback to help us set the stable style for next year.In addition to style changes, Black now automatically infers the supported Python versions from your
pyproject.toml
file, removing the need to set Black's target versions separately.Stable style
- Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). Specific changes:
- Enforce empty lines before classes and functions with sticky leading comments (#3302) (22.12.0)
- Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) (22.12.0)
- Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370) (22.12.0)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168) (since 22.8.0)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209) (22.8.0)- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227) (22.8.0)
- Docstring quotes are no longer moved if it would violate the line length limit (#3044, #3430) (22.6.0)
- Parentheses around return annotations are now managed (#2990) (22.6.0)
- Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
- Remove unnecessary parentheses in
with
statements (#2926) (22.6.0)- Remove trailing newlines after code block open (#3035) (22.6.0)
- Code cell separators
#%%
are now standardised to# %%
(#2919) (22.3.0)- Remove unnecessary parentheses from
except
statements (#2939) (22.3.0)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945) (22.3.0)- Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)
- Fix a crash when a colon line is marked between
# fmt: off
and# fmt: on
(#3439)Preview style
- Format hex codes in unicode escape sequences in string literals (#2916)
- Add parentheses around
if
-else
expressions (#2278)- Improve performance on large expressions that contain many strings (#3467)
- Fix a crash in preview style with assert + parenthesized string (#3415)
- Fix crashes in preview style with walrus operators used in function return annotations and except clauses (#3423)
- Fix a crash in preview advanced string processing where mixed implicitly concatenated regular and f-strings start with an empty span (#3463)
- Fix a crash in preview advanced string processing where a standalone comment is placed before a dict's value (#3469)
- Fix an issue where extra empty lines are added when a decorator has
# fmt: skip
applied or there is a standalone comment between decorators (#3470)- Do not put the closing quotes in a docstring on a separate line, even if the line is too long (#3430)
- Long values in dict literals are now wrapped in parentheses; correspondingly unnecessary parentheses around short values in dict literals are now removed; long string lambda values are now wrapped in parentheses (#3440)
- Fix two crashes in preview style involving edge cases with docstrings (#3451)
- Exclude string type annotations from improved string processing; fix crash when the return type annotation is stringified and spans across multiple lines (#3462)
- Wrap multiple context managers in parentheses when targeting Python 3.9+ (#3489)
- Fix several crashes in preview style with walrus operators used in
with
statements or tuples (#3473)- Fix an invalid quote escaping bug in f-string expressions where it produced invalid code. Implicitly concatenated f-strings with different quotes can now be merged or quote-normalized by changing the quotes used in expressions. (#3509)
... (truncated)
Sourced from black's changelog.
23.1.0
Highlights
This is the first release of 2023, and following our stability policy, it comes with a number of improvements to our stable style, including improvements to empty line handling, removal of redundant parentheses in several contexts, and output that highlights implicitly concatenated strings better.
There are also many changes to the preview style; try out
black --preview
and give us feedback to help us set the stable style for next year.In addition to style changes, Black now automatically infers the supported Python versions from your
pyproject.toml
file, removing the need to set Black's target versions separately.Stable style
- Introduce the 2023 stable style, which incorporates most aspects of last year's preview style (#3418). Specific changes:
- Enforce empty lines before classes and functions with sticky leading comments (#3302) (22.12.0)
- Reformat empty and whitespace-only files as either an empty file (if no newline is present) or as a single newline character (if a newline is present) (#3348) (22.12.0)
- Implicitly concatenated strings used as function args are now wrapped inside parentheses (#3307) (22.12.0)
- Correctly handle trailing commas that are inside a line's leading non-nested parens (#3370) (22.12.0)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168) (since 22.8.0)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209) (22.8.0)- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162) (22.8.0)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227) (22.8.0)
- Docstring quotes are no longer moved if it would violate the line length limit (#3044, #3430) (22.6.0)
- Parentheses around return annotations are now managed (#2990) (22.6.0)
- Remove unnecessary parentheses around awaited objects (#2991) (22.6.0)
- Remove unnecessary parentheses in
with
statements (#2926) (22.6.0)- Remove trailing newlines after code block open (#3035) (22.6.0)
- Code cell separators
#%%
are now standardised to# %%
(#2919) (22.3.0)- Remove unnecessary parentheses from
except
statements (#2939) (22.3.0)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945) (22.3.0)- Avoid magic-trailing-comma in single-element subscripts (#2942) (22.3.0)
... (truncated)
b0d1fba
Prepare release 23.1.0 (#3536)69ca0a4
Infer target version based on project metadata (#3219)c4bd2e3
Draft for Black 2023 stable style (#3418)226cbf0
Fix unsafe cast in linegen.py w/ await yield handling (#3533)f4ebc68
Upgrade isort (#3534)6407ebb
Remove Python version in the_basics.md (#3528)196b1f3
Fix black --help
output for --python-cell-magics
option to be reproducibl...d950f15
Update document now that paren wrapping CMs on Python 3.9+ is implemented (#3...a36878e
Fix an invalid quote escaping bug in f-string expressions (#3509)eabff67
Format hex code in unicode escape sequences in string literals (#2916)Sourced from black's releases.
23.3.0
Highlights
This release fixes a longstanding confusing behavior in Black's GitHub action, where the version of the action did not determine the version of Black being run (issue #3382). In addition, there is a small bug fix around imports and a number of improvements to the preview style.
Please try out the preview style with
black --preview
and tell us your feedback. All changes in the preview style are expected to become part of Black's stable style in January 2024.Stable style
- Import lines with
# fmt: skip
and# fmt: off
no longer have an extra blank line added when they are right after another import line (#3610)Preview style
- Add trailing commas to collection literals even if there's a comment after the last entry (#3393)
async def
,async for
, andasync with
statements are now formatted consistently compared to their non-async version. (#3609)with
statements that contain two context managers will be consistently wrapped in parentheses (#3589)- Let string splitters respect East Asian Width (#3445)
- Now long string literals can be split after East Asian commas and periods (
、
U+3001 IDEOGRAPHIC COMMA,。
U+3002 IDEOGRAPHIC FULL STOP, &,
U+FF0C FULLWIDTH COMMA) besides before spaces (#3445)- For stubs, enforce one blank line after a nested class with a body other than just
...
(#3564)- Improve handling of multiline strings by changing line split behavior (#1879)
Parser
- Added support for formatting files with invalid type comments (#3594)
Integrations
- Update GitHub Action to use the version of Black equivalent to action's version if version input is not specified (#3543)
- Fix missing Python binary path in autoload script for vim (#3508)
Documentation
- Document that only the most recent release is supported for security issues; vulnerabilities should be reported through Tidelift (#3612)
... (truncated)
Sourced from black's changelog.
23.3.0
Highlights
This release fixes a longstanding confusing behavior in Black's GitHub action, where the version of the action did not determine the version of Black being run (issue #3382). In addition, there is a small bug fix around imports and a number of improvements to the preview style.
Please try out the preview style with
black --preview
and tell us your feedback. All changes in the preview style are expected to become part of Black's stable style in January 2024.Stable style
- Import lines with
# fmt: skip
and# fmt: off
no longer have an extra blank line added when they are right after another import line (#3610)Preview style
- Add trailing commas to collection literals even if there's a comment after the last entry (#3393)
async def
,async for
, andasync with
statements are now formatted consistently compared to their non-async version. (#3609)with
statements that contain two context managers will be consistently wrapped in parentheses (#3589)- Let string splitters respect East Asian Width (#3445)
- Now long string literals can be split after East Asian commas and periods (
、
U+3001 IDEOGRAPHIC COMMA,。
U+3002 IDEOGRAPHIC FULL STOP, &,
U+FF0C FULLWIDTH COMMA) besides before spaces (#3445)- For stubs, enforce one blank line after a nested class with a body other than just
...
(#3564)- Improve handling of multiline strings by changing line split behavior (#1879)
Parser
- Added support for formatting files with invalid type comments (#3594)
Integrations
- Update GitHub Action to use the version of Black equivalent to action's version if version input is not specified (#3543)
- Fix missing Python binary path in autoload script for vim (#3508)
Documentation
- Document that only the most recent release is supported for security issues; vulnerabilities should be reported through Tidelift (#3612)
... (truncated)
bf7a162
Fixup the changelog (#3628)9b2b048
Prepare release 23.3.0 (#3625)bf5abdb
Specify Python exec path with minor version if available (#3508)b542f58
Use GH action version when version argument not specified (#3543)f3b1a3b
Bump furo from 2022.12.7 to 2023.3.23 in /docs (#3624)ef6e079
Let string splitters respect East_Asian_Width
property (#3445)5c064a9
Bump sphinx from 5.3.0 to 6.1.3 in /docs (#3499)3a9d6f0
Bump myst-parser from 0.18.1 to 1.0.0 in /docs (#3601)53c23e6
Support files with type comment syntax errors (#3594)dba3c26
Fix bug introduced in #3564. (#3615)Sourced from black's releases.
22.8.0
Highlights
- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
Stable style
- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code block (#3158)- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148)- Comments are no longer deleted when a line had spaces removed around power operators (#2874)
Preview style
- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209)- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
Blackd
blackd
now supports enabling the preview style via theX-Preview
header (#3217)Configuration
- Black now uses the presence of debug f-strings to detect target version (#3215)
- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename
(#3216)- Immediate
.gitignore
files in source directories given on the command line are now also respected, previously only.gitignore
files in the project root and automatically discovered directories were respected (#3237)Documentation
- Recommend using BlackConnect in IntelliJ IDEs (#3150)
Integrations
- Vim plugin: prefix messages with
Black:
so it's clear they come from Black (#3194)- Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)
Output
- Change from deprecated
asyncio.get_event_loop()
to create our event loop which removes DeprecationWarning (#3164)- Remove logging from internal
blib2to3
library since it regularly emits error logs about failed caching that can and should be ignored (#3193)Parser
- Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)
Performance
... (truncated)
Sourced from black's changelog.
22.8.0
Highlights
- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
Stable style
- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code block (#3158)- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148)- Comments are no longer deleted when a line had spaces removed around power operators (#2874)
Preview style
- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209)- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
Blackd
blackd
now supports enabling the preview style via theX-Preview
header (#3217)Configuration
- Black now uses the presence of debug f-strings to detect target version (#3215)
- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename
(#3216)- Immediate
.gitignore
files in source directories given on the command line are now also respected, previously only.gitignore
files in the project root and automatically discovered directories were respected (#3237)Documentation
- Recommend using BlackConnect in IntelliJ IDEs (#3150)
Integrations
... (truncated)
2018e66
Prepare docs for release 22.8.0 (#3248)0019261
Update stable branch after publishing to PyPI (#3223)7757078
Improve & update release process to reflect recent changes (#3242)767604e
Use .gitignore files in the initial source directories (#3237)2c90480
Use strict mypy checking (#3222)ba618a3
Add parens around implicit string concatenations where it increases readabili...c0cc19b
Delay worker count determinationafed2c0
Load .gitignore and exclude regex at time of usee269f44
Lazily import parallelized format modulesc47b91f
Fix misdetection of project root with --stdin-filename
(#3216)Sourced from black's releases.
22.10.0
Highlights
- Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.
Stable style
- Fix a crash when
# fmt: on
is used on a different block level than# fmt: off
(#3281)Preview style
- Fix a crash when formatting some dicts with parenthesis-wrapped long string keys (#3262)
Configuration
.ipynb_checkpoints
directories are now excluded by default (#3293)- Add
--skip-source-first-line
/-x
option to ignore the first line of source code while formatting (#3299)Packaging
- Executables made with PyInstaller will no longer crash when formatting several files at once on macOS. Native x86-64 executables for macOS are available once again. (#3275)
- Hatchling is now used as the build backend. This will not have any effect for users who install Black with its wheels from PyPI. (#3233)
- Faster compiled wheels are now available for CPython 3.11 (#3276)
Blackd
- Windows style (CRLF) newlines will be preserved (#3257).
Integrations
Sourced from black's changelog.
22.10.0
Highlights
- Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be supported until further notice.
Stable style
- Fix a crash when
# fmt: on
is used on a different block level than# fmt: off
(#3281)Preview style
- Fix a crash when formatting some dicts with parenthesis-wrapped long string keys (#3262)
Configuration
.ipynb_checkpoints
directories are now excluded by default (#3293)- Add
--skip-source-first-line
/-x
option to ignore the first line of source code while formatting (#3299)Packaging
- Executables made with PyInstaller will no longer crash when formatting several files at once on macOS. Native x86-64 executables for macOS are available once again. (#3275)
- Hatchling is now used as the build backend. This will not have any effect for users who install Black with its wheels from PyPI. (#3233)
- Faster compiled wheels are now available for CPython 3.11 (#3276)
Blackd
- Windows style (CRLF) newlines will be preserved (#3257).
Integrations
27d2014
Prepare release 22.10.0 (#3311)4da0851
Add option to skip the first line of source code (#3299)0359b85
Preserve crlf line endings in blackd (#3257)27d7ea4
Bump docutils from 0.18.1 to 0.19 in /docs (#3161)1a20c4d
Bump sphinx from 5.2.1 to 5.2.3 in /docs (#3305)980997f
Bump furo from 2022.9.15 to 2022.9.29 in /docs (#3304)b1077aa
Bump myst-parser from 0.18.0 to 0.18.1 in /docs (#3303)956bf39
Add .ipynb_checkpoints to DEFAULT_EXCLUDES (#3293)141291a
Enable build isolation under CIWB (#3297)ddb9924
Bump pypa/cibuildwheel from 2.10.0 to 2.10.2 (#3290)Sourced from black's releases.
23.7.0
Highlights
- Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be supported until further notice (#3765)
Stable style
- Fix a bug where an illegal trailing comma was added to return type annotations using PEP 604 unions (#3735)
- Fix several bugs and crashes where comments in stub files were removed or mishandled under some circumstances (#3745)
- Fix a crash with multi-line magic comments like
type: ignore
within parentheses (#3740)- Fix error in AST validation when Black removes trailing whitespace in a type comment (#3773)
Preview style
- Implicitly concatenated strings used as function args are no longer wrapped inside parentheses (#3640)
- Remove blank lines between a class definition and its docstring (#3692)
Configuration
- The
--workers
argument to Black can now be specified via theBLACK_NUM_WORKERS
environment variable (#3743).pytest_cache
,.ruff_cache
and.vscode
are now excluded by default (#3691)- Fix Black not honouring
pyproject.toml
settings when running--stdin-filename
and thepyproject.toml
found isn't in the current working directory (#3719)- Black will now error if
exclude
andextend-exclude
have invalid data types inpyproject.toml
, instead of silently doing the wrong thing (#3764)Packaging
- Upgrade mypyc from 0.991 to 1.3 (#3697)
- Remove patching of Click that mitigated errors on Python 3.6 with
LANG=C
(#3768)Parser
- Add support for the new PEP 695 syntax in Python 3.12 (#3703)
Performance
- Speed up Black significantly when the cache is full (#3751)
- Avoid importing
IPython
in a case where we wouldn't need it (#3748)Output
... (truncated)
Sourced from black's changelog.
23.7.0
Highlights
- Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be supported until further notice (#3765)
Stable style
- Fix a bug where an illegal trailing comma was added to return type annotations using PEP 604 unions (#3735)
- Fix several bugs and crashes where comments in stub files were removed or mishandled under some circumstances (#3745)
- Fix a crash with multi-line magic comments like
type: ignore
within parentheses (#3740)- Fix error in AST validation when Black removes trailing whitespace in a type comment (#3773)
Preview style
- Implicitly concatenated strings used as function args are no longer wrapped inside parentheses (#3640)
- Remove blank lines between a class definition and its docstring (#3692)
Configuration
- The
--workers
argument to Black can now be specified via theBLACK_NUM_WORKERS
environment variable (#3743).pytest_cache
,.ruff_cache
and.vscode
are now excluded by default (#3691)- Fix Black not honouring
pyproject.toml
settings when running--stdin-filename
and thepyproject.toml
found isn't in the current working directory (#3719)- Black will now error if
exclude
andextend-exclude
have invalid data types inpyproject.toml
, instead of silently doing the wrong thing (#3764)Packaging
- Upgrade mypyc from 0.991 to 1.3 (#3697)
- Remove patching of Click that mitigated errors on Python 3.6 with
LANG=C
(#3768)Parser
- Add support for the new PEP 695 syntax in Python 3.12 (#3703)
Performance
- Speed up Black significantly when the cache is full (#3751)
- Avoid importing
IPython
in a case where we wouldn't need it (#3748)Output
... (truncated)
193ee76
Prepare release 23.7.0 (#3776)38723bb
Unpin pytest-xdist (#3772)138769a
Disable coverage on pypy tests (#3777)ad3724b
Upgrade to latest mypy (#3775)b8e2ec7
Fix crash on type comment with trailing space (#3773)257d392
Fix removed comments in stub files (#3745)2593af2
Improve performance by skipping unnecessary normalisation (#3751)f3b50e4
Add CITATION.cff file (#3723)0b4d7d5
Run pyupgrade on blib2to3 and src (#3771)114e835
Remove click patch (#3768)Sourced from blacken-docs's changelog.
1.13.0 (2023-01-16)
Note Adam Johnson is new maintainer.
Require Black 22.1.0+.
Add
--rst-literal-blocks
option, to also format text in reStructuredText literal blocks, starting with::
. Sphinx highlights these with the project’s default language, which defaults to Python.
1238e1d
Version 1.13.04e6dc07
Fix setup.cfg long_description_content_type579a71a
Standardize setup.cfg (#212)a6b2ba0
Changelog entry about change in maintenance3cf8b9a
Standard pre-commit config (#211)bcd3669
Standardize test file name (#210)6d1771d
Remove setup.py (#209)4e5ab6e
Improve README (#208)c19c57f
Add support for reStructuredText literal blocks (#196)6af8099
Move from tmpdir pytest fixture to tmp_path (#206)4b94add
Version 1.14.0292cb18
Support Python 3.12 (#251)72ecf2c
[pre-commit.ci] pre-commit autoupdate (#249)ea8f1ca
Upgrade requirements (#248)9979d7a
Upgrade requirements (#247)7b71075
[pre-commit.ci] pre-commit autoupdate (#245)6280868
[pre-commit.ci] pre-commit autoupdate (#244)83efc37
Upgrade requirements (#243)7aedc23
[pre-commit.ci] pre-commit autoupdate (#242)d78d593
[pre-commit.ci] pre-commit autoupdate (#241)2e74dc4
Version 1.15.08ddb2f1
[pre-commit.ci] pre-commit autoupdate (#257)64fbca6
Drop Python 3.7 support (#256)f6a0817
[pre-commit.ci] pre-commit autoupdate (#255)cbdcb50
[pre-commit.ci] pre-commit autoupdate (#254)37fc70e
Upgrade requirements (#253)7bbe434
[pre-commit.ci] pre-commit autoupdate (#250)Sourced from sphinx's releases.
Sphinx 7.1.2
Changelog: https://www.sphinx-doc.org/en/master/changes.html
Sphinx 7.1.1
Changelog: https://www.sphinx-doc.org/en/master/changes.html
Sphinx 7.1.0
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v7.0.1
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v7.0.0
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v7.0.0rc1
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v6.2.1
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v6.2.0
Changelog: https://www.sphinx-doc.org/en/master/changes.html
Sourced from sphinx's changelog.
Release 7.1.2 (released Aug 02, 2023)
Bugs fixed
- #11542: linkcheck: Properly respect :confval:
linkcheck_anchors
and do not spuriously report failures to validate anchors. Patch by James Addison.Release 7.1.1 (released Jul 27, 2023)
Bugs fixed
- #11514: Fix
SOURCE_DATE_EPOCH
in multi-line copyright footer. Patch by Bénédikt Tran.Release 7.1.0 (released Jul 24, 2023)
Incompatible changes
Releases are no longer signed, given the
change in PyPI policy
_... _change in PyPI policy: https://blog.pypi.org/posts/2023-05-23-removing-pgp/
Deprecated
- #11412: Emit warnings on using a deprecated Python-specific index entry type (namely,
module
,keyword
,operator
,object
,exception
,statement
, andbuiltin
) in the :rst:dir:index
directive, and set the removal version to Sphinx 9. Patch by Adam Turner.Features added
- #11415: Add a checksum to JavaScript and CSS asset URIs included within generated HTML, using the CRC32 algorithm.
- :meth:
~sphinx.application.Sphinx.require_sphinx
now allows the version requirement to be specified as(major, minor)
.- #11011: Allow configuring a line-length limit for object signatures, via :confval:
maximum_signature_line_length
and the domain-specific variants. If the length of the signature (in characters) is greater than the configured limit, each parameter in the signature will be split to its own logical line. This behaviour may also be controlled by options on object description directives, for example :rst:dir:py:function:single-line-parameter-list
.
... (truncated)
320d0b6
Bump to 7.1.2 final06c1339
Ensure that linkcheck_anchors
is properly respected (#11544)89808c6
Emend attribution for GH-11431 in CHANGES (#11547)4958d2a
Fix flake8 E231 reported linting failure4862da8
Bump versiond8d73c1
Bump to 7.1.1 finala54e630
[internationalisation] Update message catalogues8452300
Fix multi-line copyright when SOURCE_DATE_EPOCH
is set (#11524)fe08cec
bump versione560f63
Bump to 7.1.0 finalSourced from furo's changelog.
Changelog
2023.07.26 -- Vigilant Volt
- Fix compatiblity with Sphinx 7.1.
- Improve how content overflow is handled.
- Improve how literal blocks containing inline code are handled.
2023.05.20 -- Unassuming Ultramarine
- ✨ Add support for Sphinx 7.
- Drop support for Sphinx 5.
- Improve the screen-reader label for sidebar collapse.
- Make it easier to create derived themes from Furo.
- Bump all JS dependencies (NodeJS and npm packages).
2023.03.27 -- Tasty Tangerine
- Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
- Add missing class to Font Awesome examples
2023.03.23 -- Sassy Saffron
- Update Python version classifiers.
- Increase the icon size in mobile header.
- Increase admonition title bg opacity.
- Change the default API background to transparent.
- Transition the API background change.
- Remove the "indent" of API entries which have a background.
- Break long inline code literals.
2022.12.07 -- Reverent Raspberry
- ✨ Add support for Sphinx 6.
- ✨ Improve footnote presentation with docutils 0.18+.
- Drop support for Sphinx 4.
- Improve documentation about what the edit button does.
- Improve handling of empty-flexboxes for better print experience on Chrome.
- Improve styling for inline signatures.
... (truncated)
35f5307
Prepare release: 2023.07.260a8bedc
Update changeloga92dd0c
Make _add_asset_hashes
a no-op with Sphinx 7.1f8db95b
Improve literals with inline code are handled1680dbe
Document the use of figclass
with figure
directivebeebd7e
Increase the specificity of the admonition title selector834e951
Setup uploads to Percy27bf2c0
[pre-commit.ci] pre-commit autoupdate (#672)c8b51d0
Fix how content overflow is handled80afa27
[pre-commit.ci] pre-commit autoupdate (#652)2e74dc4
Version 1.15.08ddb2f1
[pre-commit.ci] pre-commit autoupdate (#257)64fbca6
Drop Python 3.7 support (#256)f6a0817
[pre-commit.ci] pre-commit autoupdate (#255)cbdcb50
[pre-commit.ci] pre-commit autoupdate (#254)37fc70e
Upgrade requirements (#253)7bbe434
[pre-commit.ci] pre-commit autoupdate (#250)Sourced from furo's changelog.
Changelog
2023.03.23 -- Sassy Saffron
- Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
- Update Python version classifiers.
- Increase the icon size in mobile header.
- Increase admonition title bg opacity.
- Change the default API background to transparent.
- Transition the API background change.
- Remove the "indent" of API entries which have a background.
- Break long inline code literals.
2022.12.07 -- Reverent Raspberry
- ✨ Add support for Sphinx 6.
- ✨ Improve footnote presentation with docutils 0.18+.
- Drop support for Sphinx 4.
- Improve documentation about what the edit button does.
- Improve handling of empty-flexboxes for better print experience on Chrome.
- Improve styling for inline signatures.
- Replace the
meta
generator tag with a comment.- Tweak labels with icons to prevent users selecting icons as text on touch.
2022.09.29 -- Quaint Quartz
- Add ability to set arbitrary URLs for edit button.
- Add support for aligning text in MyST-parser generated tables.
2022.09.15 -- Pragmatic Pistachio
- Add a minimum version constraint on pygments.
- Add an explicit dependency on
sass
.- Change right sidebar title from "Contents" to "On this page".
- Correctly position sidebars on small screens.
- Correctly select only Furo's own
svg
in related pagesnav
.- Make numpy-style documentation headers consistent.
- Retitle the reference section.
- Update npm dependencies.
... (truncated)
81139dd
Prepare release: 2023.03.23dafa73a
Update changelog82591ef
Allow all pre
tags to have overflows55b32f0
Update Python version classifiers (#626)cd6ecdd
Update linters82a1cec
Drop the black pin in blacken-docs483b05c
Increase the icon size in mobile headerab3ca77
Revert "Increase icon sizes (#554)"82376d2
Supply encoding. Fixes #621. (#622)193643f
Increase admonition title bg opacity (#555)Sourced from furo's changelog.
Changelog
2023.03.27 -- Tasty Tangerine
- Regenerate with newer version of sphinx-theme-builder, to fix RECORD hashes.
- Add missing class to Font Awesome examples
2023.03.23 -- Sassy Saffron
- Update Python version classifiers.
- Increase the icon size in mobile header.
- Increase admonition title bg opacity.
- Change the default API background to transparent.
- Transition the API background change.
- Remove the "indent" of API entries which have a background.
- Break long inline code literals.
2022.12.07 -- Reverent Raspberry
- ✨ Add support for Sphinx 6.
- ✨ Improve footnote presentation with docutils 0.18+.
- Drop support for Sphinx 4.
- Improve documentation about what the edit button does.
- Improve handling of empty-flexboxes for better print experience on Chrome.
- Improve styling for inline signatures.
- Replace the
meta
generator tag with a comment.- Tweak labels with icons to prevent users selecting icons as text on touch.
2022.09.29 -- Quaint Quartz
- Add ability to set arbitrary URLs for edit button.
- Add support for aligning text in MyST-parser generated tables.
2022.09.15 -- Pragmatic Pistachio
- Add a minimum version constraint on pygments.
- Add an explicit dependency on
sass
.- Change right sidebar title from "Contents" to "On this page".
- Correctly position sidebars on small screens.
... (truncated)
2f61e10
Prepare release: 2023.03.275c7aedd
Update changelog0535011
Add missing class to Font Awesome examples (#629)811f1e7
Remove unused templates_path
(#627)961d4e9
Add a inline-code as an example heading48af8eb
Back to development81139dd
Prepare release: 2023.03.23dafa73a
Update changelog82591ef
Allow all pre
tags to have overflows55b32f0
Update Python version classifiers (#626)Sourced from furo's changelog.
Changelog
2022.06.21 -- Opulent Opal
- Fix
docutils <= 0.17.x
compatibility- Bump to the latest Node.js LTS
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
- ✨ Advertise Sphinx 5 compatibility.
- ✨ Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
).- Document site-wide announcement banners.
- Drop the pin on pygments.
- Improve edit button, using
basic-ng
'sedit-this-page
component.- Tweak headings to better match what users expect.
- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
2022.04.07 -- Magical Mauve
- ✨ Make sphinx-copybutton look better.
- Add margin to indentations in line blocks.
- Add styling for non-arabic list styles
- Add support for
html_baseurl
.- Improve "Edit this page" icon to be more accessible.
- Improve
html_sidebars
example.- Tweak positioning of back to top on desktop.
2022.03.04 -- Lucent Lilac
- Improve support for print media.
- Reduce heading sizes for h3 and below.
- Don't allow selecting headerlink content.
- Improve how overflow wrapping is handled.
- Add a reference from the configuration variables to the color customisation page.
2022.02.23 -- Keen Kobi
... (truncated)
a2e8f42
Prepare release: 2022.06.21d4967e5
Update changelog2969c23
[pre-commit.ci] pre-commit autoupdate (#455)2365493
Use findall from docutils only if it's availablebb3c355
Merge pull request #450 from polyzen/patch-14fb1a74
Bump to the latest Node.js LTS9970aac
Back to development1142fad
Prepare release: 2022.06.04.1211abb4
Update changelog06cdba6
Fix the edit this page URLSourced from furo's changelog.
Changelog
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
- ✨ Advertise Sphinx 5 compatibility.
- ✨ Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
).- Document site-wide announcement banners.
- Drop the pin on pygments.
- Improve edit button, using
basic-ng
'sedit-this-page
component.- Tweak headings to better match what users expect.
- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
2022.04.07 -- Magical Mauve
- ✨ Make sphinx-copybutton look better.
- Add margin to indentations in line blocks.
- Add styling for non-arabic list styles
- Add support for
html_baseurl
.- Improve "Edit this page" icon to be more accessible.
- Improve
html_sidebars
example.- Tweak positioning of back to top on desktop.
2022.03.04 -- Lucent Lilac
- Improve support for print media.
- Reduce heading sizes for h3 and below.
- Don't allow selecting headerlink content.
- Improve how overflow wrapping is handled.
- Add a reference from the configuration variables to the color customisation page.
2022.02.23 -- Keen Kobi
- ✨ Add a "Back to Top" button that shows up when scrolling up.
- Add a URL to GitHub in Project-URLs.
- Break long words in the prev/next buttons.
- Fix includes in Kitchen sink.
... (truncated)
1142fad
Prepare release: 2022.06.04.1211abb4
Update changelog06cdba6
Fix the edit this page URL43ce491
Back to developmentfb6e486
Prepare release: 2022.06.04090b02e
Update changelog098d51d
Fix the Just the Docs link7fa8d08
Change to a post-transform for wrapping math blocks and table51f1e52
Speed up determining if there's multiple toc entries99a6ff8
Update caniuse-lite NPM packageSourced from furo's changelog.
Changelog
2022.09.15 -- Pragmatic Pistachio
- Add a minimum version constraint on pygments.
- Add an explicit dependency on
sass
.- Change right sidebar title from "Contents" to "On this page".
- Correctly position sidebars on small screens.
- Correctly select only Furo's own
svg
in related pagesnav
.- Make numpy-style documentation headers consistent.
- Retitle the reference section.
- Update npm dependencies.
2022.06.21 -- Opulent Opal
- Fix
docutils <= 0.17.x
compatibility.- Bump to the latest Node.js LTS.
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
- ✨ Advertise Sphinx 5 compatibility.
- ✨ Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
).- Document site-wide announcement banners.
- Drop the pin on pygments.
- Improve edit button, using
basic-ng
'sedit-this-page
component.- Tweak headings to better match what users expect.
- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
2022.04.07 -- Magical Mauve
- ✨ Make sphinx-copybutton look better.
- Add margin to indentations in line blocks.
- Add styling for non-arabic list styles
- Add support for
html_baseurl
.
... (truncated)
08e6b38
Prepare release: 2022.09.159de7613
Update changeloga064929
Tweak changelog content style46f4adc
Revert "Add initial theme.conf content for eventual ablog support"45b839b
Set a minimum constraint on pygmentsa4af988
[pre-commit.ci] pre-commit autoupdate (#518)a72186f
[pre-commit.ci] pre-commit autoupdate (#504)9f41ee6
Add initial theme.conf content for eventual ablog support75e0361
Make numpy-style documentation headers consistent9d280e6
[pre-commit.ci] pre-commit autoupdate (#487)Sourced from furo's changelog.
Changelog
2022.09.29 -- Quaint Quartz
- Add ability to set arbitrary URLs for edit button.
- Add support for aligning text in MyST-parser generated tables.
2022.09.15 -- Pragmatic Pistachio
- Add a minimum version constraint on pygments.
- Add an explicit dependency on
sass
.- Change right sidebar title from "Contents" to "On this page".
- Correctly position sidebars on small screens.
- Correctly select only Furo's own
svg
in related pagesnav
.- Make numpy-style documentation headers consistent.
- Retitle the reference section.
- Update npm dependencies.
2022.06.21 -- Opulent Opal
- Fix
docutils <= 0.17.x
compatibility.- Bump to the latest Node.js LTS.
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
- ✨ Advertise Sphinx 5 compatibility.
- ✨ Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
).- Document site-wide announcement banners.
- Drop the pin on pygments.
- Improve edit button, using
basic-ng
'sedit-this-page
component.- Tweak headings to better match what users expect.
- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
2022.04.07 -- Magical Mauve
... (truncated)
1375f9d
Prepare release: 2022.09.29af43607
Update changelogbc0fe52
Update user-facing documentation for edit button509c558
Modernise the edit-this-page.html
template5a0ceca
Add source_edit_link
as a theme configuration parameter (#510)52fc32f
Build documentation in pull requests149f77b
Fix stylesheet for MyST tables9af2e44
Support MyST table column alignment (#531)82dd61c
Back to developmentSourced from furo's changelog.
Changelog
2022.12.07 -- Reverent Raspberry
- ✨ Add support for Sphinx 6.
- ✨ Improve footnote presentation with docutils 0.18+.
- Drop support for Sphinx 4.
- Improve documentation about what the edit button does.
- Improve handling of empty-flexboxes for better print experience on Chrome.
- Improve styling for inline signatures.
- Replace the
meta
generator tag with a comment.- Tweak labels with icons to prevent users selecting icons as text on touch.
2022.09.29 -- Quaint Quartz
- Add ability to set arbitrary URLs for edit button.
- Add support for aligning text in MyST-parser generated tables.
2022.09.15 -- Pragmatic Pistachio
- Add a minimum version constraint on pygments.
- Add an explicit dependency on
sass
.- Change right sidebar title from "Contents" to "On this page".
- Correctly position sidebars on small screens.
- Correctly select only Furo's own
svg
in related pagesnav
.- Make numpy-style documentation headers consistent.
- Retitle the reference section.
- Update npm dependencies.
2022.06.21 -- Opulent Opal
- Fix
docutils <= 0.17.x
compatibility.- Bump to the latest Node.js LTS.
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
... (truncated)
1034267
Prepare release: 2022.12.07239e69f
Update changelog8faac34
Remove the no-longer-useful gh-pages workflowfaa27fb
Fix the hyperlink warning9849ec0
Forward the arguments to stb serve
e0dc9b8
[pre-commit.ci] pre-commit autoupdate (#588)9842e25
Clarify what the edit button does (#587)0d2cf0b
[pre-commit.ci] pre-commit autoupdate (#578)b7d8866
Revert "Document that GCC is using Furo! (#575)" (#577)0ab12bb
Improve footnote presentation with docutils 0.18+ (#576)