Changelog History
Page 2
-
v21.5.b2 Changes
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)
- 0๏ธโฃ
--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)
-
v21.5.b1 Changes
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)
- Refactor
-
v21.5.b0 Changes
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)
- Set
-
v21.4.b2 Changes
Black
๐ Fix crash if the user configuration directory is inaccessible. (#2158)
Clarify circumstances in which Black may change the AST (#2159)
๐ Allow
.gitignore
rules to be overridden by specifyingexclude
inpyproject.toml
or on the command line. (#2170)
Packaging
- 0๏ธโฃ Install
primer.json
(used byblack-primer
by default) with black. (#2154)
-
v21.4.b1 Changes
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
-
v21.4.b0 Changes
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
๐ PR #2053: Python 2 support is now optional, install with
python3 -m pip install black[python2]
to maintain support.0๏ธโฃ Exclude
venv
directory by default (#1683)๐ Fixed "Black produced code that is not equivalent to the source" when formatting Python 2 docstrings (#2037)
Packaging
- Self-contained native Black binaries are now provided for releases via GitHub Releases (#1743)
-
v20.8.b1 Changes
August 26, 2020Packaging
- explicitly depend on Click 7.1.2 or newer as
Black
no longer works with versions older than 7.0
- explicitly depend on Click 7.1.2 or newer as
-
v20.8.b0 Changes
August 26, 2020Black
๐ re-implemented support for explicit trailing commas: now it works consistently within any bracket pair, including nested structures (#1288 and duplicates)
๐
Black
now reindents docstrings when reindenting code around it (#1053)Black
now shows colored diffs (#1266)๐ฆ
Black
is now packaged using 'py3' tagged wheels (#1388)๐
Black
now supports Python 3.8 code, e.g. star expressions in return statements (#1121)๐
Black
no longer normalizes capital R-string prefixes as those have a community-accepted meaning (#1244)๐ง
Black
now uses exit code 2 when specified configuration file doesn't exit (#1361)Black
now works on AWS Lambda (#1141)โ added
--force-exclude
argument (#1032)โ removed deprecated
--py36
option (#1236)๐ fixed
--diff
output when EOF is encountered (#526)๐ fixed
# fmt: off
handling around decorators (#560)๐ fixed unstable formatting with some
# type: ignore
comments (#1113)๐ fixed invalid removal on organizing brackets followed by indexing (#1575)
๐ท introduced
black-primer
, a CI tool that allows us to run regression tests against existing open source users of Black (#1402)โ introduced property-based fuzzing to our test suite based on Hypothesis and Hypothersmith (#1566)
0๏ธโฃ implemented experimental and disabled by default long string rewrapping (#1132), hidden under a
--experimental-string-processing
flag while it's being worked on; this is an undocumented and unsupported feature, you lose Internet points for depending on it (#1609)
๐ Vim plugin
- ๐ฆ prefer virtualenv packages over global packages (#1383)
-
v19.10.b0 Changes
October 28, 2019โ added support for PEP 572 assignment expressions (#711)
โ added support for PEP 570 positional-only arguments (#943)
โ added support for async generators (#593)
โ added support for pre-splitting collections by putting an explicit trailing comma inside (#826)
โ added
black -c
as a way to format code passed from the command line (#761)--safe now works with Python 2 code (#840)
๐ fixed grammar selection for Python 2-specific code (#765)
๐ fixed feature detection for trailing commas in function definitions and call sites (#763)
# fmt: off
/# fmt: on
comment pairs placed multiple times within the same block of code now behave correctly (#1005)Black no longer crashes on Windows machines with more than 61 cores (#838)
Black no longer crashes on standalone comments prepended with a backslash (#767)
Black no longer crashes on
from
...import
blocks with comments (#829)Black no longer crashes on Python 3.7 on some platform configurations (#494)
Black no longer fails on comments in from-imports (#671)
Black no longer fails when the file starts with a backslash (#922)
Black no longer merges regular comments with type comments (#1027)
Black no longer splits long lines that contain type comments (#997)
โ removed unnecessary parentheses around
yield
expressions (#834)โ added parentheses around long tuples in unpacking assignments (#832)
โ added parentheses around complex powers when they are prefixed by a unary operator (#646)
fixed bug that led Black format some code with a line length target of 1 (#762)
Black no longer introduces quotes in f-string subexpressions on string boundaries (#863)
if Black puts parenthesis around a single expression, it moves comments to the wrapped expression instead of after the brackets (#872)
blackd
now returns the version of Black in the response headers (#1013)blackd
can now output the diff of formats on source code when theX-Diff
header is provided (#969)
-
v19.3.b0 Changes
March 14, 2019new option
--target-version
to control which Python versions Black-formatted code should target (#618)๐ deprecated
--py36
(use--target-version=py36
instead) (#724)Black no longer normalizes numeric literals to include
_
separators (#696)long
del
statements are now split into multiple lines (#698)type comments are no longer mangled in function signatures
๐ improved performance of formatting deeply nested data structures (#509)
Black now properly formats multiple files in parallel on Windows (#632)
Black now creates cache files atomically which allows it to be used in parallel pipelines (like
xargs -P8
) (#673)Black now correctly indents comments in files that were previously formatted with tabs (#262)
๐
blackd
now supports CORS (#622)