chore(deps): update dependency pylint to v3.2.6 #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.0.0
->3.2.6
Release Notes
pylint-dev/pylint (pylint)
v3.2.6
Compare Source
What's new in Pylint 3.2.6?
Release date: 2024-07-21
False Positives Fixed
Quiet false positives for
unexpected-keyword-arg
when pylint cannotdetermine which of two or more dynamically defined classes is being instantiated.
Closes #9672
Fix a false positive for
missing-param-doc
where a method which is decorated withtyping.overload
was expected to have a docstring specifying its parameters.Closes #9739
Fix a regression that raised
invalid-name
on class attributes merelyoverriding invalid names from an ancestor.
Closes #9765
Treat
assert_never()
the same way when imported fromtyping_extensions
.Closes #9780
Fix a false positive for
consider-using-min-max-builtin
when the assignment target is an attribute.Refs #9800
Other Bug Fixes
Fix an
AssertionError
arising from properties that return partial functions.Closes #9214
Fix a crash when a subclass extends
__slots__
.Closes #9814
v3.2.5
Compare Source
What's new in Pylint 3.2.5 ?
Release date: 2024-06-28
Other Bug Fixes
Fixed a false positive
unreachable-code
when usingtyping.Any
as return type in python3.8, the
typing.NoReturn
are not taken into account anymore for python 3.8 however.Closes #9751
v3.2.4
Compare Source
What's new in Pylint 3.2.4?
Release date: 2024-06-26
False Positives Fixed
Prevent emitting
possibly-used-before-assignment
when relying on namesonly potentially not defined in conditional blocks guarded by functions
annotated with
typing.Never
ortyping.NoReturn
.Closes #9674
Other Bug Fixes
Fixed a crash when the lineno of a variable used as an annotation wasn't available for
undefined-variable
.Closes #8866
Fixed a crash when the
start
value in anenumerate
was non-constant and impossible to infer(like in
enumerate(apples, start=int(random_apple_index)
) forunnecessary-list-index-lookup
.Closes #9078
Fixed a crash in
symilar
when the-d
or-i
short option were not properly recognized.It's still impossible to do
-d=1
(you must do-d 1
).Closes #9343
v3.2.3
Compare Source
False Positives Fixed
Classes with only an Ellipsis (
...
) in their body do not trigger 'multiple-statements'anymore if they are inlined (in accordance with black's 2024 style).
Closes #9398
Fix a false positive for
redefined-outer-name
when there is a name defined in an exception-handling block which shares the same name as a local variable that has been defined in a function body.Closes #9671
Fix a false positive for
use-yield-from
when using the return value from theyield
atom.Closes #9696
v3.2.2
Compare Source
What's new in Pylint 3.2.2?
Release date: 2024-05-20
False Positives Fixed
Fix multiple false positives for generic class syntax added in Python 3.12 (PEP 695).
Closes #9406
Exclude context manager without cleanup from
contextmanager-generator-missing-cleanup
checks.Closes #9625
v3.2.1
Compare Source
What's new in Pylint 3.2.1?
Release date: 2024-05-18
False Positives Fixed
Exclude if/else branches containing terminating functions (e.g.
sys.exit()
)from
possibly-used-before-assignment
checks.Closes #9627
Don't emit
typevar-name-incorrect-variance
warnings for PEP 695 style TypeVars.The variance is inferred automatically by the type checker.
Adding
_co
or_contra
suffix can help to reason about TypeVar.Refs #9638
Fix a false positive for
possibly-used-before-assignment
when usingtyping.assert_never()
(3.11+) to indicate exhaustiveness.Closes #9643
Other Bug Fixes
Fix a false negative for
--ignore-patterns
when the directory to be linted is specified using a dot(.
) and all files are ignored instead of only the files whose name begin with a dot.Closes #9273
Restore "errors / warnings by module" section to report output (with
-ry
).Closes #9145
trailing-comma-tuple
should now be correctly emitted when it was disabled globallybut enabled via local message control, after removal of an over-optimisation.
Refs #9608
Add
--prefer-stubs=yes
option to opt-in to the astroid 3.2 featurethat prefers
.pyi
stubs over same-named.py
files. This has thepotential to reduce
no-member
errors but at the cost of more errorssuch as
not-an-iterable
from function bodies appearing as...
.Defaults to
no
.Closes #9626
Closes #9623
Internal Changes
Update astroid version to 3.2.1. This solves some reports of
RecursionError
and also makes the prefer .pyi stubs feature in astroid 3.2.0 opt-in
with the aforementioned
--prefer-stubs=y
option.Refs #9139
v3.2.0
Compare Source
What's new in Pylint 3.2.0?
Release date: 2024-05-14
Of note: a
github
reporter, two new checks (possibly-used-before-assignment
andcontextmanager-generator-missing-cleanup
), performance improvements, and anastroid
upgrade providing support for@overload
and.pyi
stubs.New Features
Understand
six.PY2
andsix.PY3
for conditional imports.Closes #3501
A new
github
reporter has been added. This reporter returns the output ofpylint
in a format thatGithub can use to automatically annotate code. Use it with
pylint --output-format=github
on your Github Workflows.Closes #9443.
New Checks
Add check
possibly-used-before-assignment
when relying on names after anif/else
switch when one branch failed to define the name, raise, or return.
Closes #1727
Checks for generators that use contextmanagers that don't handle cleanup properly.
Is meant to raise visibilty on the case that a generator is not fully exhausted and the contextmanager is not cleaned up properly.
A contextmanager must yield a non-constant value and not handle cleanup for GeneratorExit.
The using generator must attempt to use the yielded context value
with x() as y
and not justwith x()
.Closes #2832
False Negatives Fixed
If and Try nodes are now checked for useless return statements as well.
Closes #9449.
Fix false negative for
property-with-parameters
in the case of parameters which arepositional-only
,keyword-only
,variadic positional
orvariadic keyword
.Closes #9584
False Positives Fixed
pylint now understands the
@overload
decorator return values better.Closes #4696
Refs #9606
Performance Improvements
Ignored modules are now not checked at all, instead of being checked and then
ignored. This should speed up the analysis of large codebases which have
ignored modules.
Closes #9442
ImportChecker's logic has been modified to avoid context files when possible. This makes it possible
to cache module searches on astroid and reduce execution times.
Refs #9310.
An internal check for
trailing-comma-tuple
being enabled for a file or not is nowdone once per file instead of once for each token.
Refs #9608.
v3.1.1
Compare Source
What's new in Pylint 3.1.1?
Release date: 2024-05-13
False Positives Fixed
Treat
attrs.define
andattrs.frozen
as dataclass decorators intoo-few-public-methods
check.Closes #9345
Fix a false positive with
singledispatchmethod-function
when a method is decorated with bothfunctools.singledispatchmethod
andstaticmethod
.Closes #9531
Fix a false positive for
consider-using-dict-items
when iterating usingkeys()
and then deleting an item using the key as a lookup.Closes #9554
v3.1.0
Compare Source
Two new checks--
use-yield-from
,deprecated-attribute
-- and a smattering of bug fixes.New Features
Skip
consider-using-join
check for non-empty separators if ansuggest-join-with-non-empty-separator
option is set tono
.Closes #8701
Discover
.pyi
files when linting.These can be ignored with the
ignore-patterns
setting.Closes #9097
Check
TypeAlias
andTypeVar
(PEP 695) nodes forinvalid-name
.Refs #9196
Support for resolving external toml files named pylintrc.toml and .pylintrc.toml.
Closes #9228
Check for
.clear
,.discard
,.pop
andremove
methods being called on a set while it is being iterated over.Closes #9334
New Checks
New message
use-yield-from
added to the refactoring checker. This message is emitted when yielding from a loop can be replaced byyield from
.Closes #9229.
Added a
deprecated-attribute
message to check deprecated attributes in the stdlib.Closes #8855
False Positives Fixed
Fixed false positive for
inherit-non-class
for generic Protocols.Closes #9106
Exempt
TypedDict
fromtyping_extensions
fromtoo-many-ancestor
checks.Refs #9167
False Negatives Fixed
Extend broad-exception-raised and broad-exception-caught to except*.
Closes #8827
Fix a false-negative for unnecessary if blocks using a different than expected ordering of arguments.
Closes #8947.
Other Bug Fixes
Improve the message provided for wrong-import-order check. Instead of the import statement ("import x"), the message now specifies the import that is out of order and which imports should come after it. As reported in the issue, this is particularly helpful if there are multiple imports on a single line that do not follow the PEP8 convention.
The message will report imports as follows:
For "import X", it will report "(standard/third party/first party/local) import X"
For "import X.Y" and "from X import Y", it will report "(standard/third party/first party/local) import X.Y"
The import category is specified to provide explanation as to why pylint has issued the message and guidence to the developer on how to fix the problem.
Closes #8808
Other Changes
Print how many files were checked in verbose mode.
Closes #8935
Fix a crash when an enum class which is also decorated with a
dataclasses.dataclass
decorator is defined.Closes #9100
Internal Changes
Update astroid version to 3.1.0.
Refs #9457
v3.0.4
Compare Source
False Positives Fixed
used-before-assignment
is no longer emitted when using a name in a loop anddepending on an earlier name assignment in an
except
block paired withelse: continue
.Closes #6804
Avoid false positives for
no-member
involving functionattributes supplied by decorators.
Closes #9246
Fixed false positive nested-min-max for nested lists.
Closes #9307
Fix false positive for
used-before-assignment
in afinally
blockwhen assignments took place in both the
try
block and each exception handler.Closes #9451
Other Bug Fixes
Catch incorrect ValueError
"generator already executing"
for Python 3.12.0 - 3.12.2.This is fixed upstream in Python 3.12.3.
Closes #9138
v3.0.3
Compare Source
What's new in Pylint 3.0.3?
Release date: 2023-12-11
False Positives Fixed
Fixed false positive for
unnecessary-lambda
when the call has keyword arguments but not the lambda.Closes #9148
Fixed incorrect suggestion for shallow copy in unnecessary-comprehension
Example of the suggestion:
#pylint: disable=missing-module-docstring
a = [1, 2, 3]
b = [x for x in a]
b[0] = 0
print(a) # [1, 2, 3]
After changing b = [x for x in a] to b = a based on the suggestion, the script now prints [0, 2, 3]. The correct suggestion should be use list(a) to preserve the original behavior.
Closes #9172
Fix false positives for
undefined-variable
andunused-argument
forclasses and functions using Python 3.12 generic type syntax.
Closes #9193
Fixed
pointless-string-statement
false positive for docstringson Python 3.12 type aliases.
Closes #9268
Fix false positive for
invalid-exception-operation
when concatenating tuplesof exception types.
Closes #9288
Other Bug Fixes
Fix a bug where pylint was unable to walk recursively through a directory if the
directory has an
__init__.py
file.Closes #9210
v3.0.2
Compare Source
False Positives Fixed
Fix
used-before-assignment
false positive for generic type syntax (PEP 695, Python 3.12).Closes #9110
Other Bug Fixes
Escape special symbols and newlines in messages.
Closes #7874
Fixes suggestion for
nested-min-max
for expressions with additive operators, list and dict comprehensions.Closes #8524
Fixes ignoring conditional imports with
ignore-imports=y
.Closes #8914
Emit
inconsistent-quotes
for f-strings with 3.12 interpreter only if targeting pre-3.12 versions.Closes #9113
v3.0.1
False Positives Fixed
Fixed false positive for
inherit-non-class
for generic Protocols.Closes #9106
Other Changes
Fix a crash when an enum class which is also decorated with a
dataclasses.dataclass
decorator is defined.Closes #9100
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.