Sourced from coverage's changelog.
Version 7.6.8 — 2024-11-23
Fix: the LCOV report code assumed that a branch line that took no branches meant that the entire line was unexecuted. This isn't true in a few cases: the line might always raise an exception, or might have been optimized away. Fixes
issue 1896
_.Fix: similarly, the HTML report will now explain that a line that jumps to none of its expected destinations must have always raised an exception. Previously, it would say something nonsensical like, "line 4 didn't jump to line 5 because line 4 was never true, and it didn't jump to line 7 because line 4 was always true." This was also shown in
issue 1896
_... _issue 1896: nedbat/coveragepy#1896
.. _changes_7-6-7:
6134266
docs: sample HTML for 7.6.8041f963
docs: prep for 7.6.87fe48b6
build: don't search generated report filesf219144
docs: start changelog entries with capital lettersd1a916a
fix: a line that branches nowhere must always raise an exception2ace7a2
fix: don't assume 'no branches' means 'not executed' #18963ed5915
style: all of ci should use underscores0db86f2
build: automate updating readthedocs2a89551
chore: make upgrade (not sure why files became absolute)ba9c157
chore: make doc_upgradeSourced 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)