Skip to content

23.12.0

Compare
Choose a tag to compare
@JelleZijlstra JelleZijlstra released this 12 Dec 06:27
· 115 commits to main since this release
d9ad09a

Highlights

It's almost 2024, which means it's time for a new edition of Black's stable style!
Together with this release, we'll put out an alpha release 24.1a1 showcasing the draft
2024 stable style, which we'll finalize in the January release. Please try it out and
share your feedback.

This release (23.12.0) will still produce the 2023 style. Most but not all of the
changes in --preview mode will be in the 2024 stable style.

Stable style

  • Fix bug where # fmt: off automatically dedents when used with the --line-ranges
    option, even when it is not within the specified line range. (#4084)
  • Fix feature detection for parenthesized context managers (#4104)

Preview style

  • Prefer more equal signs before a break when splitting chained assignments (#4010)
  • Standalone form feed characters at the module level are no longer removed (#4021)
  • Additional cases of immediately nested tuples, lists, and dictionaries are now
    indented less (#4012)
  • Allow empty lines at the beginning of all blocks, except immediately before a
    docstring (#4060)
  • Fix crash in preview mode when using a short --line-length (#4086)
  • Keep suites consisting of only an ellipsis on their own lines if they are not
    functions or class definitions (#4066) (#4103)

Configuration

  • --line-ranges now skips Black's internal stability check in --safe mode. This
    avoids a crash on rare inputs that have many unformatted same-content lines. (#4034)

Packaging

  • Upgrade to mypy 1.7.1 (#4049) (#4069)
  • Faster compiled wheels are now available for CPython 3.12 (#4070)

Integrations

  • Enable 3.12 CI (#4035)
  • Build docker images in parallel (#4054)
  • Build docker images with 3.12 (#4055)