By using Black, you agree to cede control over minutiae of hand-formatting. In
return, Black gives you speed, determinism, and freedom from pycodestyle nagging
about formatting. You will save time and mental energy for more important
2024-04-26 09:22:20 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-black: updated to 24.4.2
24.4.2
This is a bugfix release to fix two regressions in the new f-string parser \
introduced in
24.4.1.
|
2024-04-25 09:23:29 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-black: updated to 24.4.1
24.4.1
Highlights
- Add support for the new Python 3.12 f-string syntax introduced by PEP 701
Stable style
- Fix crash involving indented dummy functions containing newlines
Parser
- Add support for type parameter defaults, a new syntactic feature added to \
Python 3.13
by PEP 696
Integrations
- Github Action now works even when `git archive` is skipped
|
2024-04-13 07:14:49 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-black: updated to 24.4.0
24.4.0
Stable style
- Fix unwanted crashes caused by AST equivalency check
Preview style
- `if` guards in `case` blocks are now wrapped in parentheses when the line is \
too long.
- Stop moving multiline strings to a new line unless inside brackets
Integrations
- Add a new option `use_pyproject` to the GitHub Action `psf/black`. This will \
read the
Black version from `pyproject.toml`.
|
2024-03-16 18:46:08 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-black: updated to 24.3.0
24.3.0
Highlights
This release is a milestone: it fixes Black's first CVE security vulnerability. \
If you
run Black on untrusted input, or if you habitually put thousands of leading tab
characters in your docstrings, you are strongly encouraged to upgrade \
immediately to fix
[CVE-2024-21503](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-21503).
This release also fixes a bug in Black's AST safety check that allowed Black to make
incorrect changes to certain f-strings that are valid in Python 3.12 and higher.
Stable style
- Don't move comments along with delimiters, which could cause crashes
- Strengthen AST safety check to catch more unsafe changes to strings. Previous \
versions
of Black would incorrectly format the contents of certain unusual f-strings \
containing
nested strings with the same quote type. Now, Black will crash on such strings until
support for the new f-string syntax is implemented.
- Fix a bug where line-ranges exceeding the last code line would not work as expected
Performance
- Fix catastrophic performance on docstrings that contain large numbers of \
leading tab
characters. This fixes
[CVE-2024-21503](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-21503).
Documentation
- Note what happens when `--check` is used with `--quiet`
|
2024-02-13 06:06:49 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-black: updated to 24.2.0
24.2.0
Stable style
- Fixed a bug where comments where mistakenly removed along with redundant \
parentheses
Preview style
- Move the `hug_parens_with_braces_and_square_brackets` feature to the unstable style
due to an outstanding crash and proposed formatting tweaks
- Fixed a bug where base expressions caused inconsistent formatting of \*\* in tenary
expression
- Checking for newline before adding one on docstring that is almost at the line \
limit
- Remove redundant parentheses in `case` statement `if` guards
Configuration
- Fix issue where _Black_ would ignore input files in the presence of symlinks
- _Black_ now ignores `pyproject.toml` that is missing a `tool.black` section when
discovering project root and configuration. Since _Black_ continues to use version
control as an indicator of project root, this is expected to primarily change \
behavior
for users in a monorepo setup (desirably). If you wish to preserve previous \
behavior,
simply add an empty `[tool.black]` to the previously discovered `pyproject.toml`
Output
- Black will swallow any `SyntaxWarning`s or `DeprecationWarning`s produced by \
the `ast`
module when performing equivalence checks
Integrations
- Add a JSONSchema and provide a validate-pyproject entry-point
|
2024-01-28 18:25:22 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-black: updated to 24.1.1
24.1.1
Bugfix release to fix a bug that made Black unusable on certain file systems \
with strict
limits on path length.
Preview style
- Consistently add trailing comma on typed parameters
Configuration
- Shorten the length of the name of the cache file to fix crashes on file \
systems that
do not support long paths
|
2024-01-28 14:04:01 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
py-black: update to 24.1.0.
## 24.1.0
### Highlights
This release introduces the new 2024 stable style (#4106), stabilizing the following
changes:
- Add parentheses around `if`-`else` expressions (#2278)
- Dummy class and function implementations consisting only of `...` are \
formatted more
compactly (#3796)
- If an assignment statement is too long, we now prefer splitting on the \
right-hand side
(#3368)
- Hex codes in Unicode escape sequences are now standardized to lowercase (#2916)
- Allow empty first lines at the beginning of most blocks (#3967, #4061)
- Add parentheses around long type annotations (#3899)
- Enforce newline after module docstrings (#3932, #4028)
- Fix incorrect magic trailing comma handling in return types (#3916)
- Remove blank lines before class docstrings (#3692)
- Wrap multiple context managers in parentheses if combined in a single `with` \
statement
(#3489)
- Fix bug in line length calculations for power operations (#3942)
- Add trailing commas to collection literals even if there's a comment after the last
entry (#3393)
- When using `--skip-magic-trailing-comma` or `-C`, trailing commas are stripped from
subscript expressions with more than 1 element (#3209)
- Add extra blank lines in stubs in a few cases (#3564, #3862)
- Accept raw strings as docstrings (#3947)
- Split long lines in case blocks (#4024)
- Stop removing spaces from walrus operators within subscripts (#3823)
- Fix incorrect formatting of certain async statements (#3609)
- Allow combining `# fmt: skip` with other comments (#3959)
There are already a few improvements in the `--preview` style, which are slated \
for the
2025 stable style. Try them out and
[share your feedback](https://github.com/psf/black/issues). In the past, the preview
style has included some features that we were not able to stabilize. This year, we're
adding a separate `--unstable` style for features with known problems. Now, the
`--preview` style only includes features that we actually expect to make it into next
year's stable style.
### Stable style
Several bug fixes were made in features that are moved to the stable style in this
release:
- Fix comment handling when parenthesising conditional expressions (#4134)
- Fix bug where spaces were not added around parenthesized walruses in subscripts,
unlike other binary operators (#4109)
- Remove empty lines before docstrings in async functions (#4132)
- Address a missing case in the change to allow empty lines at the beginning of all
blocks, except immediately before a docstring (#4130)
- For stubs, fix logic to enforce empty line after nested classes with bodies (#4141)
### Preview style
- Add `--unstable` style, covering preview features that have known problems \
that would
block them from going into the stable style. Also add the \
`--enable-unstable-feature`
flag; for example, use
`--enable-unstable-feature hug_parens_with_braces_and_square_brackets` to \
apply this
preview feature throughout 2024, even if a later Black release downgrades the \
feature
to unstable (#4096)
- Format module docstrings the same as class and function docstrings (#4095)
- Fix crash when using a walrus in a dictionary (#4155)
- Fix unnecessary parentheses when wrapping long dicts (#4135)
- Stop normalizing spaces before `# fmt: skip` comments (#4146)
### Configuration
- Print warning when configuration in `pyproject.toml` contains an invalid key \
(#4165)
- Fix symlink handling, properly ignoring symlinks that point outside of root (#4161)
- Fix cache mtime logic that resulted in false positive cache hits (#4128)
- Remove the long-deprecated `--experimental-string-processing` flag. This \
feature can
currently be enabled with `--preview --enable-unstable-feature string_processing`.
(#4096)
### Integrations
- Revert the change to run Black's pre-commit integration only on specific git hooks
(#3940) for better compatibility with older versions of pre-commit (#4137)
|
2023-12-30 11:25:22 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
py-black: update to 23.12.1.
## 23.12.1
### Packaging
- Fixed a bug that included dependencies from the `d` extra by default (#4108)
|