This repository was archived by the owner on Sep 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 43
chore(deps): update dependency pylint to <2.18 #319
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/pylint-2.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e26cca1 to
0ea7fe7
Compare
0ea7fe7 to
6d64f15
Compare
6d64f15 to
4b480e0
Compare
4b480e0 to
8ca3423
Compare
8ca3423 to
87013b3
Compare
87013b3 to
564b0ca
Compare
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #319 +/- ##
==========================================
+ Coverage 86.09% 86.17% +0.07%
==========================================
Files 107 107
Lines 9733 9705 -28
==========================================
- Hits 8380 8363 -17
+ Misses 1353 1342 -11
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
564b0ca to
4f8153e
Compare
4f8153e to
d56b251
Compare
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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:
<2.14-><2.18Release Notes
pylint-dev/pylint (pylint)
v2.17.5Compare Source
What's new in Pylint 2.17.5?
Release date: 2023-07-26
False Positives Fixed
Fix a false positive for
unused-variablewhen there is an import in aif TYPE_CHECKING:block andallow-global-unused-variablesis set tonoin the configuration.Closes #8696
Fix false positives generated when supplying arguments as
**kwargsto IOcalls like open().
Closes #8719
Fix a false positive where pylint was ignoring method calls annotated as
NoReturnduring theinconsistent-return-statementscheck.Closes #8747
Exempt parents with only type annotations from the
invalid-enum-extensionmessage.
Closes #8830
Other Bug Fixes
Fixed crash when a call to
super()was placed after an operator (e.g.not).Closes #8554
Fix crash for
modified-while-iteratingchecker when deletingmembers of a dict returned from a call.
Closes #8598
Fix crash in
invalid-metaclasscheck when a metaclass had duplicatebases.
Closes #8698
Avoid
consider-using-f-stringon modulos with brackets in template.Closes #8720.
Fix a crash when
__all__exists but cannot be inferred.Closes #8740
Fix crash when a variable is assigned to a class attribute of identical name.
Closes #8754
Fixed a crash when calling
copy.copy()without arguments.Closes #8774
Other Changes
Fix a crash when a
nonlocalis defined at module-level.Closes #8735
v2.17.4Compare Source
False Positives Fixed
Fix a false positive for
bad-dunder-namewhen there is a user-defined__index__method.Closes #8613
Other Bug Fixes
pyreverse: added escaping of vertical bar character in annotation labelsproduced by DOT printer to ensure it is not treated as field separator of
record-based nodes.
Closes #8603
Fixed a crash when generating a configuration file:
tomlkit.exceptions.TOMLKitError: Can't add a table to a dotted keycaused by tomlkit
v0.11.8.Closes #8632
v2.17.3Compare Source
What's new in Pylint 2.17.3?
Release date: 2023-04-24
False Positives Fixed
Fix
unused-argumentfalse positive when__new__does not use all thearguments of
__init__.Closes #3670
Fix
unused-importfalse positive for usage ofsix.with_metaclass.Closes #7506
logging-not-lazyis not longer emitted for explicitly concatenated stringarguments.
Closes #8410
Fix false positive for isinstance-second-argument-not-valid-type when union
types contains None.
Closes #8424
Fixed
unused-importso that it observes thedummy-variables-rgxoption.Closes #8500
Uniontyped variables without assignment are no longer treated asTypeAlias.Closes #8540
Fix false positive for
positional-only-arguments-expectedwhen a functioncontains both a positional-only parameter that has a default value, and
**kwargs.Closes #8555
Fix false positive for
keyword-arg-before-varargwhen a positional-onlyparameter with a default value precedes
*args.Closes #8570
Other Bug Fixes
Improve output of
consider-using-generatormessage formin()` calls withdefault`` keyword.Closes #8563
v2.17.2Compare Source
False Positives Fixed
invalid-namenow allows for integers intypealiasnames:Good2Name,GoodName2._1BadName.Closes #8485
No longer consider
Unionas type annotation as type alias for namingchecks.
Closes #8487
unnecessary-lambdano longer warns on lambdas which use its parameters intheir body (other than the final arguments), e.g.
lambda foo: (bar if foo else baz)(foo).Closes #8496
Other Bug Fixes
Fix a crash in pyreverse when "/" characters are used in the output filename
e.g pyreverse -o png -p name/ path/to/project.
Closes #8504
v2.17.1Compare Source
False Positives Fixed
Adds
asyncSetUpto the defaultdefining-attr-methodslist to silenceattribute-defined-outside-initwarning when usingunittest.IsolatedAsyncioTestCase.Refs #8403
Other Bug Fixes
--clear-cache-post-runnow also clears LRU caches for pylint utilitiesholding references to AST nodes.
Closes #8361
Fix a crash when
TYPE_CHECKINGis used without importing it.Closes #8434
Fix a regression of
preferred-moduleswhere a partial match was usedinstead of the required full match.
Closes #8453
Internal Changes
The following utilities are deprecated in favor of the more robust
in_type_checking_blockand will be removed in pylint 3.0:
is_node_in_guarded_import_blockis_node_in_typing_guarded_import_blockis_typing_guardis_sys_guardis still available, which was part ofis_node_in_guarded_import_block.Refs #8433
v2.17.0Compare Source
2.17 is a small release that is the first to support python 3.11 officially
with the addition of TryStar nodes.
There's still two new default checks:
bad-chained-comparisonandimplicit-flag-alias, one of them already fixed a previously undetectedbug in sentry.
Thanks to the community effort our documentation is almost complete,
and almost all messages should have a proper documentation now.
A big thank you to everyone who participated !
The next release is going to be
3.0.0, bring breaking changes andenact long announced deprecations. There's going to be frequent beta
releases, before the official releases, everyone is welcome to try the betas
so we find problems before the actual release.
What's new in Pylint 2.17.0?
Release date: 2023-03-08
New Features
pyreversenow supports custom color palettes with the--color-paletteoption.
Closes #6738
Add
invalid-namecheck forTypeAliasnames.Closes #7081
Accept values of the form
<class name>.<attribute name>for theexclude-protectedlist.Closes #7343
Add
--versionoption topyreverse.Refs #7851
Adds new functionality with preferred-modules configuration to detect
submodules.
Refs #7957
Support implicit namespace packages (PEP 420).
Closes #8154
Add globbing pattern support for
--source-roots.Closes #8290
Support globbing pattern when defining which file/directory/module to lint.
Closes #8310
pylint now supports
TryStarnodes from Python 3.11 and should be fullycompatible with Python 3.11.
Closes #8387
New Checks
Add a
bad-chained-comparisoncheck that emits a warning whenthere is a chained comparison where one expression is semantically
incompatible with the other.
Closes #6559
Adds an
implicit-flag-aliascheck that emits a warning when a classderived from
enum.IntFlagassigns distinct integer values that sharecommon bit positions.
Refs #8102
False Positives Fixed
Fix various false positives for functions that return directly from
structural pattern matching cases.
Closes #5288
Fix false positive for
used-before-assignmentwhentyping.TYPE_CHECKINGis used with if/elif/else blocks.Closes #7574
Fix false positive for isinstance-second-argument-not-valid-type with union
types.
Closes #8205
Fix false positive for
used-before-assignmentfor named expressionsappearing after the first element in a list, tuple, or set.
Closes #8252
Fix false positive for
wrong-spelling-in-commentwith class names in apython 2 type comment.
Closes #8370
False Negatives Fixed
Fix a false negative for 'missing-parentheses-for-call-in-test' when
inference
failed for the internal of the call as we did not need that information to
raise
correctly.
Refs #8185
Fix false negative for inconsistent-returns with while-loops.
Closes #8280
Other Bug Fixes
Fix
used-before-assignmentfalse positive when the walrus operatoris used with a ternary operator in dictionary key/value initialization.
Closes #8125
Fix
no-name-in-modulefalse positive raised when a package defines avariable with the
same name as one of its submodules.
Closes #8148
Fix a crash happening for python interpreter < 3.9 following a failed typing
update.
Closes #8161
Fix
nested-min-maxsuggestion message to indicate it's possible to splatiterable objects.
Closes #8168
Fix a crash happening when a class attribute was negated in the start
argument of an enumerate.
Closes #8207
Prevent emitting
invalid-namefor the line on which aglobalstatement is declared.
Closes #8307
Other Changes
Update explanation for
global-variable-not-assignedand add confidence.Closes #5073
The governance model and the path to become a maintainer have been documented
as part of our effort to guarantee that the software supply chain in which pylint is included is secure.
Refs #8329
v2.16.4Compare Source
False Positives Fixed
Fix false positive for isinstance-second-argument-not-valid-type with union
types.
Closes #8205
v2.16.3Compare Source
False Positives Fixed
Fix false positive for
wrong-spelling-in-commentwith class names in apython 2 type comment.
Closes #8370
Other Bug Fixes
Prevent emitting
invalid-namefor the line on which aglobalstatement is declared.
Closes #8307
v2.16.2Compare Source
New Features
Add
--versionoption topyreverse.Refs #7851
False Positives Fixed
Fix false positive for
used-before-assignmentwhentyping.TYPE_CHECKINGis used with if/elif/else blocks.Closes #7574
Fix false positive for
used-before-assignmentfor named expressionsappearing after the first element in a list, tuple, or set.
Closes #8252
Other Bug Fixes
Fix
used-before-assignmentfalse positive when the walrus operatoris used with a ternary operator in dictionary key/value initialization.
Closes #8125
Fix
no-name-in-modulefalse positive raised when a package defines avariable with the same name as one of its submodules.
Closes #8148
Fix
nested-min-maxsuggestion message to indicate it's possible to splatiterable objects.
Closes #8168
Fix a crash happening when a class attribute was negated in the start
argument of an enumerate.
Closes #8207
v2.16.1Compare Source
Other Bug Fixes
Fix a crash happening for python interpreter < 3.9 following a failed typing
update.
Closes #8161
v2.16.0Compare Source
Summary -- Release highlights
In 2.16.0 we added aggregation and composition understanding in
pyreverse, and a way to clearthe 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::
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
pylintorastroidknowledge, so this is the perfect entrypoint if you want to contribute to
pylintor open source withoutany experience with our code!
Last but not least @clavedeluna and @nickdrozd became triagers, welcome to the team !
What's new in Pylint 2.16.0?
Changes requiring user actions
The
accept-no-raise-docoption related tomissing-raises-docwill nowbe correctly taken into account all the time.
Pylint will no longer raise missing-raises-doc (W9006) when no exceptions are
documented and accept-no-raise-doc is true (issue #7208).
If you were expecting missing-raises-doc errors to be raised in that case,
you
will now have to add
accept-no-raise-doc=noin your configuration to keepthe same behavior.
Closes #7208
New Features
Added the
no-headeroutput format. If enabled with--output-format=no-header, it will not include the module name in theoutput.
Closes #5362
Added configuration option
clear-cache-post-runto support server-likeusage.
Use this flag if you expect the linted files to be altered between runs.
Refs #5401
Add
--allow-reexport-from-packageoption to configure theuseless-import-aliascheck not to emit a warning if a nameis reexported from a package.
Closes #6006
Update
pyreverseto differentiate between aggregations and compositions.pyreversechecks if it's an Instance or a Call of an object via methodparameters (via type hints)
to decide if it's a composition or an aggregation.
Refs #6543
New Checks
Adds a
pointless-exception-statementcheck that emits a warning when anException is created and not assigned, raised or returned.
Refs #3110
Add a
shadowed-importmessage for aliased imports.Closes #4836
Add new check called
unbalanced-dict-unpackingto check for unbalanceddict unpacking
in assignment and for loops.
Closes #5797
Add new checker
positional-only-arguments-expectedto check for caseswhen
positional-only arguments have been passed as keyword arguments.
Closes #6489
Added
singledispatch-methodwhich informs that@singledispatchshoulddecorate functions and not class/instance methods.
Added
singledispatchmethod-functionwhich informs that@singledispatchmethodshould decorate class/instance methods and notfunctions.
Closes #6917
Rename
broad-excepttobroad-exception-caughtand add new checkerbroad-exception-raisedwhich will warn if general exceptions
BaseExceptionorExceptionareraised.
Closes #7494
Added
nested-min-maxwhich flagsmin(1, min(2, 3))to simplify tomin(1, 2, 3).Closes #7546
Extended
use-dict-literalto also warn about call todict()whenpassing keyword arguments.
Closes #7690
Add
named-expr-without-contextcheck to emit a warning if a namedexpression is used outside a context like
if,for,while, ora comprehension.
Refs #7760
Add
invalid-slice-stepcheck to warn about a slice step value of0for common builtin sequences.
Refs #7762
Add
consider-refactoring-into-while-conditioncheck to recommendrefactoring when
a while loop is defined with a constant condition with an immediate
ifstatement to check for
breakcondition as a first statement.Closes #8015
Extensions
Add new extension checker
dict-init-mutatethat flags mutating adictionary immediately
after the dictionary was created.
Closes #2876
Added
bad-dunder-nameextension check, which flags bad or misspelleddunder methods.
You can use the
good-dunder-namesoption to allow specific dunder names.Closes #3038
Added
consider-using-augmented-assigncheck forCodeStyleextensionwhich flags
x = x + 1to simplify tox += 1.This check is disabled by default. To use it, load the code style extension
with
load-plugins=pylint.extensions.code_styleand addconsider-using-augmented-assignin theenableoption.Closes #3391
Add
magic-numberplugin checker for comparison with constants instead ofnamed constants or enums.
You can use it with
--load-plugins=pylint.extensions.magic_value.Closes #7281
Add
redundant-typehint-argumentmessage fortypingplugin for duplicateassign typehints.
Enable the plugin to enable the message with:
--load-plugins=pylint.extensions.typing.Closes #7636
False Positives Fixed
Fix false positive for
unused-variableandunused-importwhen a nameis only used in a string literal type annotation.
Closes #3299
Document a known false positive for
useless-suppressionwhen disablingline-too-longin a module with only comments and no code.Closes #3368
trailing-whitespacesis no longer reported within strings.Closes #3822
Fix false positive for
global-variable-not-assignedwhen a globalvariable is re-assigned via an
ImportFromnode.Closes #4809
Fix false positive for
use-maxsplit-argwith custom split method.Closes #4857
Fix
logging-fstring-interpolationfalse positive raised when logging andf-string with
%sformatting.Closes #4984
Fix false-positive for
used-before-assignmentin pattern matchingwith a guard.
Closes #5327
Fix
use-sequence-for-iterationwhen unpacking a set with*.Closes #5788
Fix
deprecated-methodfalse positive when alias for method is similar toname of deprecated method.
Closes #5886
Fix false positive
assigning-non-slotwhen a class attribute isre-assigned.
Closes #6001
Fix false positive for
too-many-function-argswhen a function call isassigned to a class attribute inside the class where the function is defined.
Closes #6592
Fixes false positive
abstract-methodon Protocol classes.Closes #7209
Pylint now understands the
kw_onlykeyword argument fordataclass.Closes #7290, closes #6550, closes #5857
Fix false positive for
undefined-loop-variableinfor-elseloops thatuse a function
having a return type annotation of
NoReturnorNever.Closes #7311
Fix
used-before-assignmentfor functions/classes defined in type checkingguard.
Closes #7368
Fix false positive for
unhashable-memberwhen subclassingdictandusing the subclass as a dictionary key.
Closes #7501
Fix the message for
unnecessary-dunder-callfor__aiter__and__aneext__. Alsoonly emit the warning when
py-version>= 3.10.Closes #7529
Fix
used-before-assignmentfalse positive when else branch callssys.exitor similar terminating functions.Closes #7563
Fix a false positive for
used-before-assignmentfor imports guarded bytyping.TYPE_CHECKINGlater used in variable annotations.Closes #7609
Fix a false positive for
simplify-boolean-expressionwhen multiple valuesare inferred for a constant.
Closes #7626
unnecessary-list-index-lookupwill not be wrongly emitted ifenumerateis called withstart.Closes #7682
Don't warn about
stop-iteration-returnwhen usingnext()overitertools.cycle.Closes #7765
Fixes
used-before-assignmentfalse positive when the walrus operatoris used in a ternary operator.
Closes #7779
Fix
missing-param-docfalse positive when function parameter has anescaped underscore.
Closes #7827
Fixes
method-cache-max-size-nonefalse positive for methods inheritingfrom
Enum.Closes #7857
multiple-statementsno longer triggers for function stubs using inlined....Closes #7860
Fix a false positive for
used-before-assignmentwhen a name guarded byif TYPE_CHECKING:is used as a type annotation in a function body andlater re-imported in the same scope.
Closes #7882
Prevent
used-before-assignmentwhen imports guarded byif TYPE_CHECKINGare guarded again when used.
Closes #7979
Fixes false positive for
try-except-raisewith multiple exceptions in oneexcept statement if exception are in different namespace.
Closes #8051
Fix
invalid-nameerrors fortyping_extension.TypeVar.Refs #8089
Fix
no-kwoafalse positive for context managers.Closes #8100
Fix a false positive for
redefined-variable-typewhenasyncmethodsare present.
Closes #8120
False Negatives Fixed
Code following a call to
quit,exit,sys.exitoros._exitwill be marked as
unreachable.Refs #519
Emit
used-before-assignmentwhen function arguments are redefined insidean inner function and accessed there before assignment.
Closes #2374
Fix a false negative for
unused-importwhen one module used an import ina type annotation that was also used in another module.
Closes #4150
Flag
superfluous-parensif parentheses are used during stringconcatenation.
Closes #4792
Emit
used-before-assignmentwhen relying on names only defined underconditions always testing false.
Closes #4913
consider-using-joincan now be emitted for non-empty string separators.Closes #6639
Emit
used-before-assignmentfor further imports guarded byTYPE_CHECKINGPreviously, this message was only emitted for imports guarded directly under
TYPE_CHECKING, not guarded two if-branches deep, nor whenTYPE_CHECKINGwas imported from
typingunder an alias.Closes #7539
Fix a false negative for
unused-importwhen a constant insidetyping.Annotatedwas treated as a reference to an import.Closes #7547
consider-using-any-or-allmessage will now be raised in cases whenboolean is initialized, reassigned during loop, and immediately returned.
Closes #7699
Extend
invalid-slice-indexto emit an warning for invalid slice indicesused with string and byte sequences, and range objects.
Refs #7762
Fixes
unnecessary-list-index-lookupfalse negative whenenumerateiscalled with
iterableas a kwarg.Closes #7770
no-else-returnorno-else-raisewill be emitted ifexceptblockalways returns or raises.
Closes #7788
Fix
dangerous-default-valuefalse negative when*is used.Closes #7818
consider-using-withnow triggers forpathlib.Path.open.Closes #7964
Other Bug Fixes
Fix bug in detecting
unused-variablewhen iterating on variable.Closes #3044
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
Update
disallowed-namecheck to flag module-level variables.Closes #3701
Pylint will no longer deadlock if a parallel job is killed but fail
immediately instead.
Closes #3899
Fix ignored files being linted when passed on stdin.
Closes #4354
Fix
no-memberfalse negative when augmented assign is done manually,without
+=.Closes #4562
Any assertion on a populated tuple will now receive a
assert-on-tuplewarning.
Closes #4655
missing-return-doc,missing-raises-docandmissing-yields-docnowrespect
the
no-docstring-rgxoption.Closes #4743
Update
reimportedhelp message for clarity.Closes #4836
consider-iterating-dictionarywill no longer be raised if bitwiseoperations are used.
Closes #5478
Using custom braces in
msg-templatewill now work properly.Closes #5636
Pylint will now filter duplicates given to it before linting. The output
should
be the same whether a file is given/discovered multiple times or not.
Closes #6242, #4053
Remove
__index__dunder method call fromunnecessary-dunder-callcheck.
Closes #6795
Fixed handling of
--as separator between positional arguments and flags.This was not actually fixed in 2.14.5.
Closes #7003, Refs #7096
Don't crash on
OSErrorin config file discovery.Closes #7169
Messages sent to reporter are now copied so a reporter cannot modify the
message sent to other reporters.
Closes #7214
Fixed a case where custom plugins specified by command line could silently
fail.
Specifically, if a plugin relies on the
init-hookoption changingsys.pathbeforeit can be imported, this will now emit a
bad-plugin-valuemessage. Beforethis
change, it would silently fail to register the plugin for use, but would load
any configuration, which could have unintended effects.
Fixes part of #7264.
Update
modified_iteratingchecker to fix a crash withforloops onempty list.
Closes #7380
Update wording for
arguments-differandarguments-renamedto clarifyoverriding object.
Closes #7390
disable-nextis now correctly scoped to only the succeeding line.Closes #7401
Fixed a crash in the
unhashable-memberchecker when using alambdaasa dict key.
Closes #7453
Add
mailcapto deprecated modules list.Closes #7457
Fix a crash in the
modified-iterating-dictchecker involving instanceattributes.
Closes #7461
invalid-class-objectdoes not crash anymore when__class__isassigned alongside another variable.
Closes #7467
--help-msgnow accepts a comma-separated list of message IDs again.Closes #7471
Allow specifying non-builtin exceptions in the
overgeneral-exceptionoption
using an exception's qualified name.
Closes #7495
Report
no-self-argumentrather thanno-method-argumentfor methodswith variadic arguments.
Closes #7507
Fixed an issue where
syntax-errorcouldn't be raised on files withinvalid encodings.
Closes #7522
Fix false positive for
redefined-outer-namewhen aliasingtypinge.g. as
tand guarding imports undert.TYPE_CHECKING.Closes #7524
Fixed a crash of the
modified_iteratingchecker when iterating on a setdefined as a class attribute.
Closes #7528
Use
py-versionto determine if a message should be emitted for messagesdefined with
max-versionormin-version.Closes #7569
Improve
bad-thread-instantiationcheck to warn iftargetis notpassed in as a keyword argument
or as a second argument.
Closes #7570
Fixes edge case of custom method named
nextraised an astroid error.Closes #7610
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
dillwould throw an errorwhen
attempting to serialise the linter object for multi-processing use.
Closes #7635.
Fix crash that happened when parsing files with unexpected encoding starting
with 'utf' like
utf13.Closes #7661
Fix a crash when a child class with an
__init__method inherits from aparent class with an
__init__class attribute.Closes #7742
Fix
valid-metaclass-classmethod-first-argdefault config value from "cls"to "mcs"
which would cause both a false-positive and false-negative.
Closes #7782
Fixes a crash in the
unnecessary_list_index_lookupcheck when usingenumeratewithstartand a class attribute.Closes #7821
Fixes a crash in
stop-iteration-returnwhen thenextbuiltin iscalled without arguments.
Closes #7828
When pylint exit due to bad arguments being provided the exit code will now
be the expected
32.Refs #7931
Fixes a
ModuleNotFoundexception when running pylint on a Django projectwith the
pylint_djangoplugin enabled.Closes #7938
Fixed a crash when inferring a value and using its qname on a slice that was
being incorrectly called.
Closes #8067
Use better regex to check for private attributes.
Refs #8081
Fix issue with new typing Union syntax in runtime context for Python 3.10+.
Closes #8119
Other Changes
Pylint now provides basic support for Python 3.11.
Closes #5920
Update message for
abstract-methodto include child class name.Closes #7124
Update Pyreverse's dot and plantuml printers to detect when class methods are
abstract and show them with italic font.
For the dot printer update the label to use html-like syntax.
Closes #7346
The
docparamsextension now considers typing in Numpy style docstringsas "documentation" for the
missing-param-docmessage.Refs #7398
Relevant
DeprecationWarningsare now raised withstacklevel=2, sothey have the callsite attached in the message.
Closes #7463
Add a
minimaloption topylint-configand its toml generator.Closes #7485
Add method name to the error messages of
no-method-argumentandno-self-argument.Closes #7507
Prevent leaving the pip install cache in the Docker image.
Refs #7544
Add a keyword-only
compare_constantsargument tosafe_infer.Refs #7626
Add
default_enabledoption to optional message dict. Provides an optionto disable a checker message by default.
To use a disabled message, the user must enable it explicitly by adding the
message to the
enableoption.Refs #7629
Sort
--generated-rcfileoutput.Refs #7655
epylint is now deprecated and will be removed in pylint 3.0.0. All emacs and
flymake related
files were removed and their support will now happen in an external
repository :
https://github.com/emacsorphanage/pylint.
Closes #7737
Adds test for existing preferred-modules configuration functionality.
Refs #7957
Internal Changes
This shores up the tests that cover the loading of custom plugins as affected
by any changes made to the
sys.pathduring execution of aninit-hook.Given the existing contract of allowing plugins to be loaded by fiddling with
the path in this way, this is now the last bit of work needed to close Github
issue #7264.
Closes #7264
v2.15.10Compare Source
False Positives Fixed
Fix
use-sequence-for-iterationwhen unpacking a set with*.Closes #5788
Fix false positive
assigning-non-slotwhen a class attribute isre-assigned.
Closes #6001
Fixes
used-before-assignmentfalse positive when the walrus operatoris used in a ternary operator.
Closes #7779
Prevent
used-before-assignmentwhen imports guarded byif TYPE_CHECKINGare guarded again when used.
Closes #7979
Other Bug Fixes
Using custom braces in
msg-templatewill now work properly.Closes #5636
v2.15.9Compare Source
False Positives Fixed
Fix false-positive for
used-before-assignmentin 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
ModuleNotFoundexception when running pylint on a Django project with thepylint_djangoplugin enabled.Closes #7938
v2.15.8Compare Source
False Positives Fixed
Document a known false positive for
useless-suppressionwhen disablingline-too-longin a module with only comments and no code.Closes #3368
Fix
logging-fstring-interpolationfalse positive raised when logging and f-string with%sformatting.Closes #4984
Fixes false positive
abstract-methodon Protocol classes.Closes #7209
Fix
missing-param-docfalse positive when function parameter has an escaped underscore.Closes #7827
multiple-statementsno longer triggers for function stubs using inlined....Closes #7860
v2.15.7Compare Source
False Positives Fixed
Fix
deprecated-methodfalse positive when alias for method is similar toname of deprecated method.
Closes #5886
Fix a false positive for
used-before-assignmentfor imports guarded bytyping.TYPE_CHECKINGlater used in variable annotations.Closes #7609
Other Bug Fixes
Pylint will now filter duplicates given to it before linting. The output
should be the same whether a file is given/discovered multiple times or not.
Closes #6242, #4053
Fixes a crash in
stop-iteration-returnwhen thenextbuiltin iscalled without arguments.
Closes #7828
v2.15.6Compare Source
False Positives Fixed
Fix false positive for
unhashable-memberwhen subclassingdictandusing the subclass as a dictionary key.
Closes #7501
unnecessary-list-index-lookupwill not be wrongly emitted ifenumerateis called withstart.Closes #7682
Don't warn about
stop-iteration-returnwhen usingnext()overitertools.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
nextraised an astroid error.Closes #7610
Fix crash that happened when parsing files with unexpected encoding starting
with 'utf' like
utf13.Closes #7661
Fix a crash when a child class with an
__init__method inherits from aparent class with an
__init__class attribute.Closes #7742
v2.15.5Compare Source
What's new in Pylint 2.15.5?
Release date: 2022-10-21
False Positives Fixed
Fix a false positive for
simplify-boolean-expressionwhen multiple valuesare inferred for a constant.
Closes #7626
Other Bug Fixes
Remove
__index__dunder method call fromunnecessary-dunder-callcheck.
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
dillwould throw an error when attempting to serialise the linter object for multi-processing use.Closes #7635.
Other Changes
Add a keyword-only
compare_constantsargument tosafe_infer.Refs #7626
Sort
--generated-rcfileoutput.Refs #7655
v2.15.4Compare Source
False Positives Fixed
Fix the message for
unnecessary-dunder-callfor__aiter__and__anext__. Alsoonly emit the warning when
py-version>= 3.10.Closes #7529
Other Bug Fixes
Fix bug in detecting
unused-variablewhen iterating on variable.Closes #3044
Fixed handling of
--as separator between positional arguments and flags.This was not actually fixed in 2.14.5.
Closes #7003, Refs #7096
Report
no-self-argumentrather thanno-method-argumentfor methodswith variadic arguments.
Closes #7507
Fixed an issue where
syntax-errorcouldn't be raised on files withinvalid encodings.
Closes #7522
Fix false positive for
redefined-outer-namewhen aliasingtypinge.g. as
tand guarding imports undert.TYPE_CHECKING.Closes #7524
Fixed a crash of the
modified_iteratingchecker when iterating on a setdefined 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-argumentandno-self-argument.Closes #7507
v2.15.3Compare Source
Fixed a crash in the
unhashable-memberchecker when using alambdaas a dict key.Closes #7453
Fix a crash in the
modified-iterating-dictchecker involving instance attributes.Closes #7461
invalid-class-objectdoes not crash anymore when__class__is assigned alongside another variable.Closes #7467
Fix false positive for
global-variable-not-assignedwhen a global variable is re-assigned via anImportFromnode.Closes #4809
Fix false positive for
undefined-loop-variableinfor-elseloops that use a functionhaving a return type annotation of
NoReturnorNever.Closes #7311
--help-msgnow accepts a comma-separated list of message IDs again.Closes #7471
v2.15.2Compare Source
Fixed a case where custom plugins specified by command line could silently fail.
Specifically, if a plugin relies on the
init-hookoption changingsys.pathbeforeit can be imported, this will now emit a
bad-plugin-valuemessage. Before thischange, it would silently fail to register the plugin for use, but would load
any configuration, which could have unintended effects.
Fixes part of #7264.
Fix
used-before-assignmentfor functions/classes defined in type checking guard.Closes #7368
Update
modified_iteratingchecker to fix a crash withforloops on empty list.Closes #7380
The
docparamsextension now considers typing in Numpy style docstringsas "documentation" for the
missing-param-docmessage.Refs #7398
Fix false positive for
unused-variableandunused-importwhen a name is only used in a string literal type annotation.Closes #3299
Fix false positive for
too-many-function-argswhen a function call is assigned to a class attribute inside the class where the function is defined.Closes #6592
Fix
used-before-assignmentfor functions/classes defined in type checking guard.Closes #7368
Fix ignored files being linted when passed on stdin.
Closes #4354
missing-return-doc,missing-raises-docandmissing-yields-docnow respectthe
no-docstring-rgxoption.Closes #4743
Don't crash on
OSErrorin config file discovery.Closes #7169
disable-nextis now correctly scoped to only the succeeding line.Closes #7401
Update
modified_iteratingchecker to fix a crash withforloops on empty list.Closes #7380
v2.15.0Compare Source
In pylint 2.15.0, we added a new check
missing-timeoutto warn of default timeout values that could cause a program to be hanging indefinitely.We improved
pylint's handling of namespace packages. More packages should be linted without resorting to using the--recursive=yoption.We still welcome any community effort to help review, integrate, and add good/bad examples to the doc for https://github.com/PyCQA/pylint/issues/5953. This should be doable without any
pylintorastroidknowledge, so this is the perfect entrypoint if you want to contribute topylintor open source without any experience with our code!Internally, we changed the way we generate the release notes, thanks to DudeNr33. There will be no more conflict resolution to do in the changelog, and every contributor rejoice.
Marc Byrne became a maintainer, welcome to the team !
New Chec
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.