black v22.3.0 Release Notes

  • ๐Ÿ’… 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 of tomli (#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 and async for statements, e.g for item in *items_1, *items_2: pass (#2879).