<!-- Include any especially major or disruptive changes here -->
-- Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be
- supported until further notice.
-
### Stable style
<!-- Changes that affect Black's stable style -->
-- Fix a crash when `# fmt: on` is used on a different block level than `# fmt: off`
- (#3281)
-
### Preview style
<!-- Changes that affect Black's preview style -->
-- Fix a crash when formatting some dicts with parenthesis-wrapped long string keys
- (#3262)
+- 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)
+- Implicitly concatenated strings used as function args are now wrapped inside
+ parentheses (#3307)
+- Correctly handle trailing commas that are inside a line's leading non-nested parens
+ (#3370)
### Configuration
<!-- Changes to how Black can be configured -->
-- `.ipynb_checkpoints` directories are now excluded by default (#3293)
+- 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)
### Packaging
<!-- Changes to how Black is packaged, such as dependency requirements -->
-- Executables made with PyInstaller will no longer crash when formatting several files
- at once on macOS. Native x86-64 executables for macOS are available once again.
- (#3275)
-- Hatchling is now used as the build backend. This will not have any effect for users
- who install Black with its wheels from PyPI. (#3233)
-- Faster compiled wheels are now available for CPython 3.11 (#3276)
-
### 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).
+
### Performance
<!-- Changes that improve Black's performance. -->
<!-- For example, Docker, GitHub Actions, pre-commit, editors -->
-- Update GitHub Action to support formatting of Jupyter Notebook files via a `jupyter`
- option (#3282)
-- Update GitHub Action to support use of version specifiers (e.g. `<23`) for Black
- version (#3265)
+- Vim plugin: Optionally allow using the system installation of Black via
+ `let g:black_use_virtualenv = 0`(#3309)
### Documentation
<!-- Major changes to documentation and policies. Small docs changes
don't need a changelog entry. -->
+## 22.10.0
+
+### Highlights
+
+- Runtime support for Python 3.6 has been removed. Formatting 3.6 code will still be
+ supported until further notice.
+
+### Stable style
+
+- Fix a crash when `# fmt: on` is used on a different block level than `# fmt: off`
+ (#3281)
+
+### Preview style
+
+- Fix a crash when formatting some dicts with parenthesis-wrapped long string keys
+ (#3262)
+
+### Configuration
+
+- `.ipynb_checkpoints` directories are now excluded by default (#3293)
+- Add `--skip-source-first-line` / `-x` option to ignore the first line of source code
+ while formatting (#3299)
+
+### Packaging
+
+- Executables made with PyInstaller will no longer crash when formatting several files
+ at once on macOS. Native x86-64 executables for macOS are available once again.
+ (#3275)
+- Hatchling is now used as the build backend. This will not have any effect for users
+ who install Black with its wheels from PyPI. (#3233)
+- Faster compiled wheels are now available for CPython 3.11 (#3276)
+
+### _Blackd_
+
+- Windows style (CRLF) newlines will be preserved (#3257).
+
+### Integrations
+
+- Vim plugin: add flag (`g:black_preview`) to enable/disable the preview style (#3246)
+- Update GitHub Action to support formatting of Jupyter Notebook files via a `jupyter`
+ option (#3282)
+- Update GitHub Action to support use of version specifiers (e.g. `<23`) for Black
+ version (#3265)
+
## 22.8.0
### Highlights
- Vim plugin: prefix messages with `Black: ` so it's clear they come from Black (#3194)
- Docker: changed to a /opt/venv installation + added to PATH to be available to
non-root users (#3202)
-- Vim plugin: add flag (`g:black_preview`) to enable/disable the preview style (#3246)
### Output