Skip to content

Commit

Permalink
Prepare release 23.11.0 (#4032)
Browse files Browse the repository at this point in the history
  • Loading branch information
JelleZijlstra authored Nov 8, 2023
1 parent 72e7a2e commit 2a1c67e
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 66 deletions.
70 changes: 9 additions & 61 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,78 +1,49 @@
# Change Log

## Unreleased
## 23.11.0

### Highlights

<!-- Include any especially major or disruptive changes here -->

- Support formatting ranges of lines with the new `--line-ranges` command-line option
(#4020).
(#4020)

### Stable style

- Fix crash on formatting bytes strings that look like docstrings (#4003)
- Fix crash when whitespace followed a backslash before newline in a docstring (#4008)
- Fix standalone comments inside complex blocks crashing Black (#4016)

- Fix crash on formatting code like `await (a ** b)` (#3994)

- No longer treat leading f-strings as docstrings. This matches Python's behaviour and
fixes a crash (#4019)

### Preview style

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

### Configuration

- Add support for single-line format skip with other comments on the same line (#3959)
- Consistently apply force exclusion logic before resolving symlinks (#4015)
- Fix a bug in the matching of absolute path names in `--include` (#3976)

### Packaging

<!-- Changes to how Black is packaged, such as dependency requirements -->

### Parser

<!-- Changes to the parser or to version autodetection -->

### Performance

<!-- Changes that improve Black's performance. -->

- Fix mypyc builds on arm64 on macOS (#4017)

### Output

<!-- Changes to Black's terminal output and error messages -->

### _Blackd_

<!-- Changes to blackd -->

### Integrations

<!-- For example, Docker, GitHub Actions, pre-commit, editors -->

- Black's pre-commit integration will now run only on git hooks appropriate for a code
formatter (#3940)

### Documentation

<!-- Major changes to documentation and policies. Small docs changes
don't need a changelog entry. -->

## 23.10.1

### Highlights
Expand Down Expand Up @@ -327,8 +298,6 @@ versions separately.

### Stable style

<!-- Changes that affect Black's stable style -->

- Introduce the 2023 stable style, which incorporates most aspects of last year's
preview style (#3418). Specific changes:
- Enforce empty lines before classes and functions with sticky leading comments
Expand Down Expand Up @@ -362,8 +331,6 @@ versions separately.

### Preview style

<!-- Changes that affect Black's preview style -->

- Format hex codes in unicode escape sequences in string literals (#2916)
- Add parentheses around `if`-`else` expressions (#2278)
- Improve performance on large expressions that contain many strings (#3467)
Expand Down Expand Up @@ -394,15 +361,11 @@ versions separately.

### Configuration

<!-- Changes to how Black can be configured -->

- Black now tries to infer its `--target-version` from the project metadata specified in
`pyproject.toml` (#3219)

### Packaging

<!-- Changes to how Black is packaged, such as dependency requirements -->

- Upgrade mypyc from `0.971` to `0.991` so mypycified _Black_ can be built on armv7
(#3380)
- This also fixes some crashes while using compiled Black with a debug build of
Expand All @@ -415,8 +378,6 @@ versions separately.

### Output

<!-- Changes to Black's terminal output and error messages -->

- Calling `black --help` multiple times will return the same help contents each time
(#3516)
- Verbose logging now shows the values of `pyproject.toml` configuration variables
Expand All @@ -426,25 +387,18 @@ versions separately.

### Integrations

<!-- For example, Docker, GitHub Actions, pre-commit, editors -->

- 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)

### Documentation

<!-- Major changes to documentation and policies. Small docs changes
don't need a changelog entry. -->

- Expand `vim-plug` installation instructions to offer more explicit options (#3468)

## 22.12.0

### Preview style

<!-- Changes that affect Black's preview style -->

- Enforce empty lines before classes and functions with sticky leading comments (#3302)
- Reformat empty and whitespace-only files as either an empty file (if no newline is
present) or as a single newline character (if a newline is present) (#3348)
Expand All @@ -457,25 +411,19 @@ versions separately.

### Configuration

<!-- Changes to how Black can be configured -->

- Fix incorrectly applied `.gitignore` rules by considering the `.gitignore` location
and the relative path to the target file (#3338)
- Fix incorrectly ignoring `.gitignore` presence when more than one source directory is
specified (#3336)

### Parser

<!-- Changes to the parser or to version autodetection -->

- Parsing support has been added for walruses inside generator expression that are
passed as function args (for example,
`any(match := my_re.match(text) for text in texts)`) (#3327).

### Integrations

<!-- For example, Docker, GitHub Actions, pre-commit, editors -->

- Vim plugin: Optionally allow using the system installation of Black via
`let g:black_use_virtualenv = 0`(#3309)

Expand Down
4 changes: 2 additions & 2 deletions docs/integrations/source_version_control.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Use [pre-commit](https://pre-commit.com/). Once you
repos:
# Using this mirror lets us use mypyc-compiled black, which is about 2x faster
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 23.10.1
rev: 23.11.0
hooks:
- id: black
# It is recommended to specify the latest version of Python
Expand All @@ -35,7 +35,7 @@ include Jupyter Notebooks. To use this hook, simply replace the hook's `id: blac
repos:
# Using this mirror lets us use mypyc-compiled black, which is about 2x faster
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 23.10.1
rev: 23.11.0
hooks:
- id: black-jupyter
# It is recommended to specify the latest version of Python
Expand Down
6 changes: 3 additions & 3 deletions docs/usage_and_configuration/the_basics.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,8 +211,8 @@ configuration file for consistent results across environments.

```console
$ black --version
black, 23.10.1 (compiled: yes)
$ black --required-version 23.10.1 -c "format = 'this'"
black, 23.11.0 (compiled: yes)
$ black --required-version 23.11.0 -c "format = 'this'"
format = "this"
$ black --required-version 31.5b2 -c "still = 'beta?!'"
Oh no! 💥 💔 💥 The required version does not match the running version!
Expand Down Expand Up @@ -303,7 +303,7 @@ You can check the version of _Black_ you have installed using the `--version` fl

```console
$ black --version
black, 23.10.1
black, 23.11.0
```

#### `--config`
Expand Down

0 comments on commit 2a1c67e

Please sign in to comment.