Releases: pylint-dev/pylint
v2.16.0b1
New beta release following a performance fix in the new pointless exception statement checks in #8073 and a false positive fixed in the unreleased consider-using-augmented-assign check in #8088. We're also using the latest version of astroid (2.13.3).
The complete changelog will be published when the actual 2.16.0 is released.
v2.16.0b0
This is the beta version of 2.16.0 the complete changelog will be published when the actual 2.16.0 is released.
In 2.16.0 we added aggregation and composition understanding in pyreverse
, and a way to clear the cache in between run in server mode (originally for the VS Code integration). Apart from the bug fixes there's also a lot of new checks, and new extensions that have been asked for for a long time that were implemented.
If you want to benefit from all the new checks load the following plugins:
pylint.extensions.dict_init_mutate,
pylint.extensions.dunder,
pylint.extensions.typing,
pylint.extensions.magic_value,
We still welcome any community effort to help review, integrate, and add good/bad examples to the doc for #5953. This should be doable without any pylint
or astroid
knowledge, so this is the perfect entrypoint if you want to contribute to pylint
or open source without any experience with our code!
Last but not least @clavedeluna and @nickdrozd became triagers, welcome to the team !
v2.15.10
False Positives Fixed
-
Fix
use-sequence-for-iteration
when unpacking a set with*
.Closes #5788
-
Fix false positive
assigning-non-slot
when a class attribute is
re-assigned.Closes #6001
-
Fixes
used-before-assignment
false positive when the walrus operator
is used in a ternary operator.Closes #7779
-
Prevent
used-before-assignment
when imports guarded byif TYPE_CHECKING
are guarded again when used.Closes #7979
Other Bug Fixes
-
Using custom braces in
msg-template
will now work properly.Closes #5636
v2.15.9
False Positives Fixed
-
Fix false-positive for
used-before-assignment
in pattern matching with a guard.Closes #5327
Other Bug Fixes
-
Pylint will no longer deadlock if a parallel job is killed but fail immediately instead.
Closes #3899
-
When pylint exit due to bad arguments being provided the exit code will now be the expected
32
.Refs #7931
-
Fixes a
ModuleNotFound
exception when running pylint on a Django project with thepylint_django
plugin enabled.Closes #7938
v2.15.8
False Positives Fixed
-
Document a known false positive for
useless-suppression
when disabling
line-too-long
in a module with only comments and no code.Closes #3368
-
Fix
logging-fstring-interpolation
false positive raised when logging and f-string with%s
formatting.Closes #4984
-
Fixes false positive
abstract-method
on Protocol classes.Closes #7209
-
Fix
missing-param-doc
false positive when function parameter has an escaped underscore.Closes #7827
-
multiple-statements
no longer triggers for function stubs using inlined...
.Closes #7860
v2.15.7
v2.15.6
False Positives Fixed
-
Fix false positive for
unhashable-member
when subclassingdict
and
using the subclass as a dictionary key.Closes #7501
-
unnecessary-list-index-lookup
will not be wrongly emitted if
enumerate
is called withstart
.Closes #7682
-
Don't warn about
stop-iteration-return
when usingnext()
over
itertools.cycle
.Closes #7765
Other Bug Fixes
-
Messages sent to reporter are now copied so a reporter cannot modify the
message sent to other reporters.Closes #7214
-
Fixes edge case of custom method named
next
raised an astroid error.Closes #7610
-
Fix crash that happened when parsing files with unexpected encoding starting
with 'utf' likeutf13
.Closes #7661
-
Fix a crash when a child class with an
__init__
method inherits from a
parent class with an__init__
class attribute.Closes #7742
v2.15.5
What's new in Pylint 2.15.5?
Release date: 2022-10-21
False Positives Fixed
-
Fix a false positive for
simplify-boolean-expression
when multiple values
are inferred for a constant.Closes #7626
Other Bug Fixes
-
Remove
__index__
dunder method call fromunnecessary-dunder-call
check.Closes #6795
-
Fixed a multi-processing crash that prevents using any more than 1 thread on
MacOS.The returned module objects and errors that were cached by the linter plugin loader cannot be reliably pickled. This means that
dill
would throw an error when attempting to serialise the linter object for multi-processing use.Closes #7635.
Other Changes
v2.15.4
False Positives Fixed
-
Fix the message for
unnecessary-dunder-call
for__aiter__
and
__anext__
. Also
only emit the warning whenpy-version
>= 3.10.Closes #7529
Other Bug Fixes
-
Fix bug in detecting
unused-variable
when iterating on variable.Closes #3044
-
Fixed handling of
--
as separator between positional arguments and flags.
This was not actually fixed in 2.14.5. -
Report
no-self-argument
rather thanno-method-argument
for methods
with variadic arguments.Closes #7507
-
Fixed an issue where
syntax-error
couldn't be raised on files with
invalid encodings.Closes #7522
-
Fix false positive for
redefined-outer-name
when aliasingtyping
e.g. ast
and guarding imports undert.TYPE_CHECKING
.Closes #7524
-
Fixed a crash of the
modified_iterating
checker when iterating on a set
defined as a class attribute.Closes #7528
-
Fix bug in scanning of names inside arguments to
typing.Literal
.
See https://peps.python.org/pep-0586/#literals-enums-and-forward-references
for details.Refs #3299
Other Changes
-
Add method name to the error messages of
no-method-argument
and
no-self-argument
.Closes #7507
v2.15.3
-
Fixed a crash in the
unhashable-member
checker when using alambda
as a dict key.Closes #7453
-
Fix a crash in the
modified-iterating-dict
checker involving instance attributes.Closes #7461
-
invalid-class-object
does not crash anymore when__class__
is assigned alongside another variable.Closes #7467
-
Fix false positive for
global-variable-not-assigned
when a global variable is re-assigned via anImportFrom
node.Closes #4809
-
Fix false positive for
undefined-loop-variable
infor-else
loops that use a function
having a return type annotation ofNoReturn
orNever
.Closes #7311
-
--help-msg
now accepts a comma-separated list of message IDs again.Closes #7471