#%% are now standardised to # %% (#2919)except statements (#2939)for loops (#2945)__pypackages__ directories by default (#2836)--required-version (#2832).tomllib instead of tomli
(#2903)black-primer, the deprecated internal devtool, has been removed and copied to a
separate repository (#2924)for and async for
statements, e.g for item in *items_1, *items_2: pass (#2879).At long last, Black is no longer a beta product! This is the first non-beta release π and the first release covered by our new stability policy.
--preview flag (#2752)--experimental-string-processing and move the functionality under
--preview (#2789)if statements (#2820)case {"key": 1 | 2 as password}
(#2686)case 1 as a, 2 as b
(#2716)case Foo(bar=baz as quux) (#2749)return and yield constructs now implies 3.8+ (#2700)values: Tuple[int, ...] = 1, 2, 3) now implies 3.8+ (#2708)match() or case() when there is a trailing newline or a
comment inside of the parentheses. (#2760)from __future__ import annotations statement now implies Python 3.7+ (#2690)--target-version is set to 3.10 and higher). (#2728)python-cell-magics) to format cells with custom magics in
Jupyter Notebooks (#2744)BLACK_CACHE_DIR (#2739).--target-version=py310. (#2758)SRC or --code mandatory and mutually exclusive (#2804)typing-extensions is no longer a required dependency in Python 3.10+ (#2772)click lower bound to 8.0.0 (#2791)https:// (#2761)black-primer tool (#2809)from __future__ import annotations statement now implies Python 3.7+ (#2690)%%writefile. (#2630)--target-version py310 if we detect 3.10-only syntax (#2668)match statements with open sequence subjects, like match a, b: or
match a, *b: (#2639) (#2659)match/case statements that contain match/case soft keywords multiple
times, like match re.match() (#2661)case statements with an inline body (#2665)match subject (#2667)match statement (#2649)match under --target-version py310
up to ~50% (#2670)regex (#2644) (#2663)--target-version py310 is explicitly specified (#2586)skip_magic_trailing_comma from pyproject.toml (#2613)--workers parameter (#2514)target_version in the vim plugin (#1319)appdirs dependency to platformdirs (#2375)setuptools-scm build-time dependency version (#2457)language_version to avoid overriding
default_language_version (#2430)FORCE_OPTIONAL_PARENTHESES feature is enabled (#2332)latest_release tag automation to follow latest black release on docker
images (#2374)fmt: skip and indentation (#2281)--code flag (#2259)uvloop.install() when Black is used as a library (#2303)--required-version option to require a specific version to be running (#2300)R prefixes would be lowercased for docstrings (#2285)\N{...}) when --experimental-string-processing is
used (#2319)