./devel/py-black, Uncompromising Python code formatter

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 24.3.0, Package name: py311-black-24.3.0, Maintainer: root

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
matters.


Required to run:
[devel/py-click] [devel/py-pathspec] [www/py-aiohttp] [lang/py-mypy_extensions] [misc/py-platformdirs] [lang/python310] [textproc/py-tomli]

Required to build:
[devel/py-setuptools_scm] [devel/py-hatchling] [devel/py-hatch-vcs] [devel/py-hatch-fancy-pypi-readme]

Master sites:

Filesize: 619.426 KB

Version history: (Expand)


CVS history: (Expand)


   2024-03-16 18:46:08 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
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) | Package updated
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) | Package updated
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) | Package updated
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) | Package updated
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)
   2023-12-17 23:20:04 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
py-black: update to 23.12.0.

## 23.12.0

### Highlights

It's almost 2024, which means it's time for a new edition of _Black_'s stable style!
Together with this release, we'll put out an alpha release 24.1a1 showcasing the \ 
draft
2024 stable style, which we'll finalize in the January release. Please try it out and
[share your feedback](https://github.com/psf/black/issues/4042).

This release (23.12.0) will still produce the 2023 style. Most but not all of the
changes in `--preview` mode will be in the 2024 stable style.

### Stable style

- Fix bug where `# fmt: off` automatically dedents when used with the `--line-ranges`
  option, even when it is not within the specified line range. (#4084)
- Fix feature detection for parenthesized context managers (#4104)

### Preview style

- Prefer more equal signs before a break when splitting chained assignments (#4010)
- Standalone form feed characters at the module level are no longer removed (#4021)
- Additional cases of immediately nested tuples, lists, and dictionaries are now
  indented less (#4012)
- Allow empty lines at the beginning of all blocks, except immediately before a
  docstring (#4060)
- Fix crash in preview mode when using a short `--line-length` (#4086)
- Keep suites consisting of only an ellipsis on their own lines if they are not
  functions or class definitions (#4066) (#4103)

### Configuration

- `--line-ranges` now skips _Black_'s internal stability check in `--safe` mode. This
  avoids a crash on rare inputs that have many unformatted same-content lines. \ 
(#4034)

### Packaging

- Upgrade to mypy 1.7.1 (#4049) (#4069)
- Faster compiled wheels are now available for CPython 3.12 (#4070)

### Integrations

- Enable 3.12 CI (#4035)
- Build docker images in parallel (#4054)
- Build docker images with 3.12 (#4055)
   2023-11-08 10:43:11 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-black: updated to 23.11.0

23.11.0

Highlights

- Support formatting ranges of lines with the new `--line-ranges` command-line option

Stable style

- Fix crash on formatting bytes strings that look like docstrings
- Fix crash when whitespace followed a backslash before newline in a docstring
- Fix standalone comments inside complex blocks crashing Black
- Fix crash on formatting code like `await (a ** b)`
- No longer treat leading f-strings as docstrings. This matches Python's \ 
behaviour and
 fixes a crash

Preview style

- Multiline dicts and lists that are the sole argument to a function are now indented
 less
- Multiline unpacked dicts and lists as the sole argument to a function are now also
 indented less
- In f-string debug expressions, quote types that are visible in the final string are
 now preserved
- Fix a bug where long `case` blocks were not split into multiple lines. Also enable
 general trailing comma rules on `case` blocks
- Keep requiring two empty lines between module-level docstring and first function or
 class definition
- Add support for single-line format skip with other comments on the same line

Configuration

- Consistently apply force exclusion logic before resolving symlinks
- Fix a bug in the matching of absolute path names in `--include`

Performance

- Fix mypyc builds on arm64 on macOS

Integrations

- Black's pre-commit integration will now run only on git hooks appropriate for \ 
a code
 formatter
   2023-10-28 22:09:12 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-black: bump PKGREVISION for PLIST change