+- Set `--pyi` mode if `--stdin-filename` ends in `.pyi` (#2169)
+- Add `--no-diff` to black-primer to suppress formatting changes (#2187)
+
+- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are
+ being called but with no arguments (#2182)
+
+### 21.4b2
+
+#### _Black_
+
+- Fix crash if the user configuration directory is inaccessible. (#2158)
+
+- Clarify
+ [circumstances](https://github.com/psf/black/blob/master/docs/the_black_code_style.md#pragmatism)
+ in which _Black_ may change the AST (#2159)
+
+#### _Packaging_
+
+- Install `primer.json` (used by `black-primer` by default) with black. (#2154)
+
+### 21.4b1
+
+#### _Black_
+
+- Fix crash on docstrings ending with "\ ". (#2142)
+
+- Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
+
+- Reflect the `--skip-magic-trailing-comma` and `--experimental-string-processing` flags
+ in the name of the cache file. Without this fix, changes in these flags would not take
+ effect if the cache had already been populated. (#2131)
+
+- Don't remove necessary parentheses from assignment expression containing assert /
+ return statements. (#2143)
+
+#### _Packaging_
+
+- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
+
+### 21.4b0
+
+#### _Black_
+
+- Fixed a rare but annoying formatting instability created by the combination of
+ optional trailing commas inserted by `Black` and optional parentheses looking at
+ pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many
+ duplicates. (#2126)
+
+- `Black` now processes one-line docstrings by stripping leading and trailing spaces,
+ and adding a padding space when needed to break up """". (#1740)
+
+- `Black` now cleans up leading non-breaking spaces in comments (#2092)
+
+- `Black` now respects `--skip-string-normalization` when normalizing multiline
+ docstring quotes (#1637)
+
+- `Black` no longer removes all empty lines between non-function code and decorators
+ when formatting typing stubs. Now `Black` enforces a single empty line. (#1646)
+
+- `Black` no longer adds an incorrect space after a parenthesized assignment expression
+ in if/while statements (#1655)
+
+- Added `--skip-magic-trailing-comma` / `-C` to avoid using trailing commas as a reason
+ to split lines (#1824)
+
+- fixed a crash when PWD=/ on POSIX (#1631)
+
+- fixed "I/O operation on closed file" when using --diff (#1664)
+
+- Prevent coloured diff output being interleaved with multiple files (#1673)
+
+- Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
+
+- Added parsing support for unparenthesized tuples and yield expressions in annotated
+ assignments (#1835)
+
+- added `--extend-exclude` argument (PR #2005)
+
+- speed up caching by avoiding pathlib (#1950)
+
+- `--diff` correctly indicates when a file doesn't end in a newline (#1662)
+
+- Added `--stdin-filename` argument to allow stdin to respect `--force-exclude` rules
+ (#1780)
+
+- Lines ending with `fmt: skip` will now be not formatted (#1800)
+
+- PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher
+
+- PR #2053: Python 2 support is now optional, install with
+ `python3 -m pip install black[python2]` to maintain support.
+
+- Exclude `venv` directory by default (#1683)
+
+- Fixed "Black produced code that is not equivalent to the source" when formatting
+ Python 2 docstrings (#2037)
+
+#### _Packaging_
+
+- Self-contained native _Black_ binaries are now provided for releases via GitHub
+ Releases (#1743)
+
+### 20.8b1
+
+#### _Packaging_
+
+- explicitly depend on Click 7.1.2 or newer as `Black` no longer works with versions
+ older than 7.0
+
+### 20.8b0
+
+#### _Black_
+