github psf/black 23.3.0

latest releases: 24.4.2, 24.4.1, 24.4.0...
15 months ago

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, and async 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)

Don't miss a new black release

NewReleases is sending notifications on new releases.