Sourced from ruff's releases.
0.8.0
Release Notes
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
See also, the "Remapped rules" section which may result in disabled rules.
Default to Python 3.9
Ruff now defaults to Python 3.9 instead of 3.8 if no explicit Python version is configured using
ruff.target-version
orproject.requires-python
(#13896)Changed location of
pydoclint
diagnostics
pydoclint
diagnostics now point to the first-line of the problematic docstring. Previously, this was not the case.If you've opted into these preview rules but have them suppressed using
noqa
comments in some places, this change may mean that you need to move thenoqa
suppression comments. Most users should be unaffected by this change.Use XDG (i.e.
~/.local/bin
) instead of the Cargo home directory in the standalone installerPreviously, Ruff's installer used
$CARGO_HOME
or~/.cargo/bin
for its target install directory. Now, Ruff will be installed into$XDG_BIN_HOME
,$XDG_DATA_HOME/../bin
, or~/.local/bin
(in that order).This change is only relevant to users of the standalone Ruff installer (using the shell or PowerShell script). If you installed Ruff using uv or pip, you should be unaffected.
Changes to the line width calculation
Ruff now uses a new version of the unicode-width Rust crate to calculate the line width. In very rare cases, this may lead to lines containing Unicode characters being reformatted, or being considered too long when they were not before (
E501
).Removed Rules
The following deprecated rules have been removed:
missing-type-self
(ANN101
)missing-type-cls
(ANN102
)syntax-error
(E999
)pytest-missing-fixture-name-underscore
(PT004
)pytest-incorrect-fixture-name-underscore
(PT005
)unpacked-list-comprehension
(UP027
)Remapped rules
The following rules have been remapped to new rule codes:
flake8-type-checking
:TCH
toTC
Stabilization
... (truncated)
Sourced from ruff's changelog.
0.8.0
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
See also, the "Remapped rules" section which may result in disabled rules.
Default to Python 3.9
Ruff now defaults to Python 3.9 instead of 3.8 if no explicit Python version is configured using
ruff.target-version
orproject.requires-python
(#13896)Changed location of
pydoclint
diagnostics
pydoclint
diagnostics now point to the first-line of the problematic docstring. Previously, this was not the case.If you've opted into these preview rules but have them suppressed using
noqa
comments in some places, this change may mean that you need to move thenoqa
suppression comments. Most users should be unaffected by this change.Use XDG (i.e.
~/.local/bin
) instead of the Cargo home directory in the standalone installerPreviously, Ruff's installer used
$CARGO_HOME
or~/.cargo/bin
for its target install directory. Now, Ruff will be installed into$XDG_BIN_HOME
,$XDG_DATA_HOME/../bin
, or~/.local/bin
(in that order).This change is only relevant to users of the standalone Ruff installer (using the shell or PowerShell script). If you installed Ruff using uv or pip, you should be unaffected.
Changes to the line width calculation
Ruff now uses a new version of the unicode-width Rust crate to calculate the line width. In very rare cases, this may lead to lines containing Unicode characters being reformatted, or being considered too long when they were not before (
E501
).Removed Rules
The following deprecated rules have been removed:
missing-type-self
(ANN101
)missing-type-cls
(ANN102
)syntax-error
(E999
)pytest-missing-fixture-name-underscore
(PT004
)pytest-incorrect-fixture-name-underscore
(PT005
)unpacked-list-comprehension
(UP027
)Remapped rules
The following rules have been remapped to new rule codes:
flake8-type-checking
:TCH
toTC
Stabilization
... (truncated)
a90e404
[red-knot] PEP 695 type aliases (#14357)8358ad8
Ruff 0.8 release (#14486)2b8b1ef
Improve docs for some pycodestyle rules (#14517)2efa3fb
[flake8-import-conventions
] Syntax check aliases supplied
in configuration ...b9da430
doc(B024): #14455
add annotated but unassgined class variables (#14502)87043a2
Limit type size assertion to 64bit (#14514)f684b6f
[red-knot] Fix: Infer type for typing.Union[..] tuple expression (#14510)47f39ed
[red-knot] Meta data for Type::Todo
(#14500)aecdb8c
[red-knot] support typing.Union
in type annotations (#14499)3c52d2d
Improve the performance of the formatter instability check job (#14471)Sourced from tomli's changelog.
2.1.0
- Deprecated
- Instantiating
TOMLDecodeError
with free-form arguments.msg
,doc
andpos
arguments should be given.- Added
msg
,doc
,pos
,lineno
andcolno
attributes toTOMLDecodeError
d6e045b
Bump version: 2.0.2 → 2.1.0d1d6a85
Add attributes to TOMLDecodeError. Deprecate free-form
__init__
args (#238)59ed9ef
Add a comment about implicit lru_cache bound9d25b3f
Test against Python 3.13 final (#237)f57fb66
Add test coverage for text mode error (#231)4be816b
Convert tox config to native TOMLe2f8d2d
Merge pull request #233 from
hukkin/version-2.0.2