Skip to content

Releases: psf/black

21.8b0

29 Aug 21:37
a8b4665
Compare
Choose a tag to compare

Black

  • Add support for formatting Jupyter Notebook files (#2357)
  • Move from appdirs dependency to platformdirs (#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 overriding default_language_version (#2430)

21.7b0

16 Jul 14:44
e3000ac
Compare
Choose a tag to compare

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)

21.6b0

10 Jun 22:26
93c10bf
Compare
Choose a tag to compare

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)

21.5b2

31 May 14:27
cf75673
Compare
Choose a tag to compare

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 only root/.gitignore file (apply
    .gitignore rules like git 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)

21.5b1

10 May 15:10
2f52e4b
Compare
Choose a tag to compare

Black

  • Refactor src/black/__init__.py into many files (#2206)

Documentation

  • Replaced all remaining references to the master branch with the main 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

04 May 19:55
14c76e8
Compare
Choose a tag to compare

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)

21.4b2

28 Apr 15:32
b39999d
Compare
Choose a tag to compare

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 by black-primer by default) with black. (#2154)

21.4b1

27 Apr 14:42
1728bb4
Compare
Choose a tag to compare

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

25 Apr 22:13
67d5532
Compare
Choose a tag to compare

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. Now Black 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

  • PR #2053: Python 2 support is now optional, install with
    python3 -m pip install black[python2] to maintain support.

  • 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)

20.8b1

26 Aug 15:56
20.8b1
2354126
Compare
Choose a tag to compare
v20.8b1 - now with Click 7