Sourced from ruff's releases.
0.9.1
Release Notes
Preview features
- [
pycodestyle
] Runtoo-many-newlines-at-end-of-file
on each cell in notebooks (W391
) (#15308)- [
ruff
] Omit diagnostic for shadowed private function parameters inused-dummy-variable
(RUF052
) (#15376)Rule changes
- [
flake8-bugbear
] Improveassert-raises-exception
message (B017
) (#15389)Formatter
- Preserve trailing end-of line comments for the last string literal in implicitly concatenated strings (#15378)
Server
- Fix a bug where the server and client notebooks were out of sync after reordering cells (#15398)
Bug fixes
- [
flake8-pie
] Correctly remove wrapping parentheses (PIE800
) (#15394)- [
pyupgrade
] Handle comments and multiline expressions correctly (UP037
) (#15337)Contributors
@AntoineD
@InSyncWithFoo
@MichaReiser
@calumy
@dcreager
@dhruvmanila
@dylwil3
@sharkdp
@tjkuson
Install ruff 0.9.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.9.1/ruff-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/ruff/releases/download/0.9.1/ruff-installer.ps1 | iex"
... (truncated)
Sourced from ruff's changelog.
0.9.1
Preview features
- [
pycodestyle
] Runtoo-many-newlines-at-end-of-file
on each cell in notebooks (W391
) (#15308)- [
ruff
] Omit diagnostic for shadowed private function parameters inused-dummy-variable
(RUF052
) (#15376)Rule changes
- [
flake8-bugbear
] Improveassert-raises-exception
message (B017
) (#15389)Formatter
- Preserve trailing end-of line comments for the last string literal in implicitly concatenated strings (#15378)
Server
- Fix a bug where the server and client notebooks were out of sync after reordering cells (#15398)
Bug fixes
- [
flake8-pie
] Correctly remove wrapping parentheses (PIE800
) (#15394)- [
pyupgrade
] Handle comments and multiline expressions correctly (UP037
) (#15337)0.9.0
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
Ruff now formats your code according to the 2025 style guide. As a result, your code might now get formatted differently. See the formatter section for a detailed list of changes.
This release doesn’t remove or remap any existing stable rules.
Stabilization
The following rules have been stabilized and are no longer in preview:
stdlib-module-shadowing
(A005
). This rule has also been renamed: previously, it was calledbuiltin-module-shadowing
.builtin-lambda-argument-shadowing
(A006
)slice-to-remove-prefix-or-suffix
(FURB188
)boolean-chained-comparison
(PLR1716
)decimal-from-float-literal
(RUF032
)post-init-default
(RUF033
)useless-if-else
(RUF034
)The following behaviors have been stabilized:
pytest-parametrize-names-wrong-type
(PT006
): Detectpytest.parametrize
calls outside decorators and calls with keyword arguments.
... (truncated)
12f86f3
Ruff 0.9.1 (#15407)2b28d56
Associate a trailing end-of-line comment in a parenthesized implicit
concaten...adca7bd
Remove pygments pin (#15404)6b98a26
[red-knot] Support assert_type
(#15194)c874638
[red-knot] Move tuple-containing-Never tests to Markdown (#15402)c364b58
[flake8-pie
] Correctly remove wrapping parentheses
(PIE800
) (#15394)73d424e
Fix outdated doc for handling the default file types with the pre-commit
hook...6e9ff44
Insert the cells from the start
position (#15398)f2c3ddc
[red-knot] Move intersection type tests to Markdown (#15396)b861551
Remove unnecessary backticks (#15393)