All Versions
36
Latest Version
Avg Release Cycle
82 days
Latest Release
-

Changelog History
Page 1

  • v21.12.b0 Changes

    Black

    • ๐Ÿ›  Fix determination of f-string expression spans (#2654)
    • ๐Ÿ›  Fix bad formatting of error messages about EOF in multi-line statements (#2343)
    • Functions and classes in blocks now have more consistent surrounding spacing (#2472)
    • from __future__ import annotations statement now implies Python 3.7+ (#2690)

    ๐Ÿ‘ Jupyter Notebook support

    • Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with %%writefile. (#2630)
    • ๐Ÿ›  Fix assignment to environment variables in Jupyter Notebooks (#2642)

    ๐Ÿ‘ Python 3.10 support

    • Point users to using --target-version py310 if we detect 3.10-only syntax (#2668)
    • ๐Ÿ›  Fix match statements with open sequence subjects, like match a, b: or match a, *b: (#2639) (#2659)
    • ๐Ÿ›  Fix match/case statements that contain match/case soft keywords multiple times, like match re.match() (#2661)
    • ๐Ÿ›  Fix case statements with an inline body (#2665)
    • ๐Ÿ›  Fix styling of starred expressions inside match subject (#2667)
    • ๐Ÿ›  Fix parser error location on invalid syntax in a match statement (#2649)
    • ๐Ÿ›  Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
    • ๐Ÿ‘Œ Improve parsing performance on code that uses match under --target-version py310 up to ~50% (#2670)

    Packaging

    • โœ‚ Remove dependency on regex (#2644) (#2663)
  • v21.11.b1 Changes

    Black

    • โฌ†๏ธ Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
  • v21.11.b0 Changes

    Black

    • ๐Ÿ—„ Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
    • โž• Add experimental PyPy support (#2559)
    • โž• Add partial support for the match statement. As it's experimental, it's only enabled when --target-version py310 is explicitly specified (#2586)
    • โž• Add support for parenthesized with (#2586)
    • ๐Ÿ‘ Declare support for Python 3.10 for running Black (#2562)

    Integrations

    • ๐Ÿ›  Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
    • The vim plugin now parses skip_magic_trailing_comma from pyproject.toml (#2613)
  • v21.10.b0 Changes

    Black

    • ๐Ÿš€ Document stability policy, that will apply for non-beta releases (#2529)
    • โž• Add new --workers parameter (#2514)
    • ๐Ÿ›  Fixed feature detection for positional-only arguments in lambdas (#2532)
    • โฌ†๏ธ Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
    • ๐Ÿ›  Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
    • ๐Ÿ—„ Deprecate Python 2 formatting support (#2523)

    Blackd

    • โœ‚ Remove dependency on aiohttp-cors (#2500)
    • โฌ†๏ธ Bump required aiohttp version to 3.7.4 (#2509)

    Black-Primer

    • โž• Add primer support for --projects (#2555)
    • ๐Ÿ–จ Print primer summary after individual failures (#2570)

    Integrations

    • ๐Ÿ‘ Allow to pass target_version in the vim plugin (#1319)
    • ๐Ÿ— Install build tools in docker file and use multi-stage build to keep the image size down (#2582)
  • v21.9.b0 Changes

    Packaging

    • ๐Ÿ›  Fix missing modules in self-contained binaries (#2466)
    • ๐Ÿ›  Fix missing toml extra used during installation (#2475)
  • v21.8.b0 Changes

    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)
  • v21.7.b0 Changes

    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)
  • v21.6.b0 Changes

    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)

    Integrations

    • ๐Ÿ”Œ The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)

    Integrations

    • ๐Ÿ”Œ 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)
  • 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 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)

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