X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/bf5abdb0b6cf6644628977230736a0a6478c1bff..38723bb7787d50f8751fad2eaa48b52c9e94c18d:/CHANGES.md?ds=sidebyside diff --git a/CHANGES.md b/CHANGES.md index 25710b1..c7389ce 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,69 +6,146 @@ +- Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be + supported until further notice (#3765) + ### Stable style -- Import lines with `# fmt: skip` and `# fmt: off` no longer have an extra blank line - added when they are right after another import line (#3610) +- Fix a bug where an illegal trailing comma was added to return type annotations using + PEP 604 unions (#3735) +- Fix several bugs and crashes where comments in stub files were removed or mishandled + under some circumstances. (#3745) +- Fix a bug where multi-line open parenthesis magic comment like `type: ignore` were not + correctly parsed (#3740) +- Fix error in AST validation when Black removes trailing whitespace in a type comment + (#3773) ### Preview style -- Add trailing commas to collection literals even if there's a comment after the last - entry (#3393) -- `async def`, `async for`, and `async with` statements are now formatted consistently - compared to their non-async version. (#3609) -- `with` statements that contain two context managers will be consistently wrapped in - parentheses (#3589) -- Let string splitters respect [East Asian Width](https://www.unicode.org/reports/tr11/) - (#3445) -- Now long string literals can be split after East Asian commas and periods (`、` U+3001 - IDEOGRAPHIC COMMA, `。` U+3002 IDEOGRAPHIC FULL STOP, & `,` U+FF0C FULLWIDTH COMMA) - besides before spaces (#3445) -- For stubs, enforce one blank line after a nested class with a body other than just - `...` (#3564) +- Implicitly concatenated strings used as function args are no longer wrapped inside + parentheses (#3640) +- Remove blank lines between a class definition and its docstring (#3692) ### Configuration +- The `--workers` argument to Black can now be specified via the `BLACK_NUM_WORKERS` + environment variable (#3743) +- `.pytest_cache`, `.ruff_cache` and `.vscode` are now excluded by default (#3691) +- Fix black not honouring `pyproject.toml` settings when running `--stdin-filename` and + the `pyproject.toml` found isn't in the current working directory (#3719) +- Black will now error if `exclude` and `extend-exclude` have invalid data types in + `pyproject.toml`, instead of silently doing the wrong thing (#3764) + ### Packaging +- Upgrade mypyc from 0.991 to 1.3 (#3697) +- Remove patching of Click that mitigated errors on Python 3.6 with `LANG=C` (#3768) + ### Parser -- Added support for formatting files with invalid type comments (#3594) +- Add support for the new PEP 695 syntax in Python 3.12 (#3703) ### Performance +- Speed up _Black_ significantly when the cache is full (#3751) +- Avoid importing `IPython` in a case where we wouldn't need it (#3748) + ### Output +- Use aware UTC datetimes internally, avoids deprecation warning on Python 3.12 (#3728) +- Change verbose logging to exactly mirror _Black_'s logic for source discovery (#3749) + ### _Blackd_ +- The `blackd` argument parser now shows the default values for options in their help + text (#3712) + ### Integrations -- Update GitHub Action to use the version of Black equivalent to action's version if - version input is not specified (#3543) +- Black is now tested with + [`PYTHONWARNDEFAULTENCODING = 1`](https://docs.python.org/3/library/io.html#io-encoding-warning) + (#3763) +- Update GitHub Action to display black output in the job summary (#3688) +- Deprecated `set-output` command in CI test to keep up to date with GitHub's + deprecation announcement (#3757) ### Documentation +- Add a CITATION.cff file to the root of the repository, containing metadata on how to + cite this software (#3723) + +- Updated the _classes_ and _exceptions_ documentation in Developer reference to match + the latest ccode base. (#3755) + +## 23.3.0 + +### Highlights + +This release fixes a longstanding confusing behavior in Black's GitHub action, where the +version of the action did not determine the version of Black being run (issue #3382). In +addition, there is a small bug fix around imports and a number of improvements to the +preview style. + +Please try out the +[preview style](https://black.readthedocs.io/en/stable/the_black_code_style/future_style.html#preview-style) +with `black --preview` and tell us your feedback. All changes in the preview style are +expected to become part of Black's stable style in January 2024. + +### Stable style + +- Import lines with `# fmt: skip` and `# fmt: off` no longer have an extra blank line + added when they are right after another import line (#3610) + +### Preview style + +- Add trailing commas to collection literals even if there's a comment after the last + entry (#3393) +- `async def`, `async for`, and `async with` statements are now formatted consistently + compared to their non-async version. (#3609) +- `with` statements that contain two context managers will be consistently wrapped in + parentheses (#3589) +- Let string splitters respect [East Asian Width](https://www.unicode.org/reports/tr11/) + (#3445) +- Now long string literals can be split after East Asian commas and periods (`、` U+3001 + IDEOGRAPHIC COMMA, `。` U+3002 IDEOGRAPHIC FULL STOP, & `,` U+FF0C FULLWIDTH COMMA) + besides before spaces (#3445) +- For stubs, enforce one blank line after a nested class with a body other than just + `...` (#3564) +- Improve handling of multiline strings by changing line split behavior (#1879) + +### Parser + +- Added support for formatting files with invalid type comments (#3594) + +### Integrations + +- Update GitHub Action to use the version of Black equivalent to action's version if + version input is not specified (#3543) +- Fix missing Python binary path in autoload script for vim (#3508) + +### Documentation + - Document that only the most recent release is supported for security issues; vulnerabilities should be reported through Tidelift (#3612) @@ -155,7 +232,6 @@ versions separately. code. Implicitly concatenated f-strings with different quotes can now be merged or quote-normalized by changing the quotes used in expressions. (#3509) - Fix crash on `await (yield)` when Black is compiled with mypyc (#3533) -- Improve handling of multiline strings by changing line split behavior (#1879) ### Configuration @@ -196,7 +272,6 @@ versions separately. - Move 3.11 CI to normal flow now that all dependencies support 3.11 (#3446) - Docker: Add new `latest_prerelease` tag automation to follow latest black alpha release on docker images (#3465) -- Fixed missing python binary path in autoload script for vim (#3508) ### Documentation