Blacksin

Latest version: v20.8b1.post0

Safety actively analyzes 706487 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

18.6b3

- typing stub files (`.pyi`) now have blank lines added after constants (340)

- ` fmt: off` and ` fmt: on` are now much more dependable:

- they now work also within bracket pairs (329)

- they now correctly work across function/class boundaries (335)

- they now work when an indentation block starts with empty lines or misaligned
comments (334)

- made Click not fail on invalid environments; note that Click is right but the
likelihood we'll need to access non-ASCII file paths when dealing with Python source
code is low (277)

- fixed improper formatting of f-strings with quotes inside interpolated expressions
(322)

- fixed unnecessary slowdown when long list literals where found in a file

- fixed unnecessary slowdown on AST nodes with very many siblings

- fixed cannibalizing backslashes during string normalization

- fixed a crash due to symbolic links pointing outside of the project directory (338)

18.6b2

- added `--config` (65)

- added `-h` equivalent to `--help` (316)

- fixed improper unmodified file caching when `-S` was used

- fixed extra space in string unpacking (305)

- fixed formatting of empty triple quoted strings (313)

- fixed unnecessary slowdown in comment placement calculation on lines without comments

18.6b1

- hotfix: don't output human-facing information on stdout (299)

- hotfix: don't output cake emoji on non-zero return code (300)

18.6b0

- added `--include` and `--exclude` (270)

- added `--skip-string-normalization` (118)

- added `--verbose` (283)

- the header output in `--diff` now actually conforms to the unified diff spec

- fixed long trivial assignments being wrapped in unnecessary parentheses (273)

- fixed unnecessary parentheses when a line contained multiline strings (232)

- fixed stdin handling not working correctly if an old version of Click was used (276)

- _Black_ now preserves line endings when formatting a file in place (258)

18.5b1

- added `--pyi` (249)

- added `--py36` (249)

- Python grammar pickle caches are stored with the formatting caches, making _Black_
work in environments where site-packages is not user-writable (192)

- _Black_ now enforces a PEP 257 empty line after a class-level docstring (and/or
fields) and the first method

- fixed invalid code produced when standalone comments were present in a trailer that
was omitted from line splitting on a large expression (237)

- fixed optional parentheses being removed within ` fmt: off` sections (224)

- fixed invalid code produced when stars in very long imports were incorrectly wrapped
in optional parentheses (234)

- fixed unstable formatting when inline comments were moved around in a trailer that was
omitted from line splitting on a large expression (238)

- fixed extra empty line between a class declaration and the first method if no class
docstring or fields are present (219)

- fixed extra empty line between a function signature and an inner function or inner
class (196)

18.5b0

- call chains are now formatted according to the
[fluent interfaces](https://en.wikipedia.org/wiki/Fluent_interface) style (67)

- data structure literals (tuples, lists, dictionaries, and sets) are now also always
exploded like imports when they don't fit in a single line (152)

- slices are now formatted according to PEP 8 (178)

- parentheses are now also managed automatically on the right-hand side of assignments
and return statements (140)

- math operators now use their respective priorities for delimiting multiline
expressions (148)

- optional parentheses are now omitted on expressions that start or end with a bracket
and only contain a single operator (177)

- empty parentheses in a class definition are now removed (145, 180)

- string prefixes are now standardized to lowercase and `u` is removed on Python 3.6+
only code and Python 2.7+ code with the `unicode_literals` future import (188, 198,
199)

- typing stub files (`.pyi`) are now formatted in a style that is consistent with PEP
484 (207, 210)

- progress when reformatting many files is now reported incrementally

- fixed trailers (content with brackets) being unnecessarily exploded into their own
lines after a dedented closing bracket (119)

- fixed an invalid trailing comma sometimes left in imports (185)

- fixed non-deterministic formatting when multiple pairs of removable parentheses were
used (183)

- fixed multiline strings being unnecessarily wrapped in optional parentheses in long
assignments (215)

- fixed not splitting long from-imports with only a single name

- fixed Python 3.6+ file discovery by also looking at function calls with unpacking.
This fixed non-deterministic formatting if trailing commas where used both in function
signatures with stars and function calls with stars but the former would be
reformatted to a single line.

- fixed crash on dealing with optional parentheses (193)

- fixed "is", "is not", "in", and "not in" not considered operators for splitting
purposes

- fixed crash when dead symlinks where encountered

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.