pylint-2.8.0
-
New refactoring message
consider-using-with. This message is emitted if resource-allocating functions or methods of the
standard library (likeopen()orthreading.Lock.acquire()) that can be used as a context manager are called without
awithblock.Closes #3413
-
Resolve false positives on unused variables in decorator functions
Closes #4252
-
Add new extension
ConfusingConsecutiveElifChecker. This optional checker emits a refactoring message (R5601confusing-consecutive-elif)
if if/elif statements with different indentation levels follow directly one after the other. -
New option
--output=<file>to output result to a file rather than printing to stdout.Closes #1070
-
Use a prescriptive message for
unidiomatic-typecheckCloses #3891
-
Apply
const-naming-styleto module constants annotated with
typing.Final -
The packaging is now done via setuptools exclusively.
doc,tests,man,elispandChangelogare
not packaged anymore - reducing the size of the package by 75%. -
Debian packaging is now (officially) done in https://salsa.debian.org/python-team/packages/pylint.
-
The 'doc' extra-require has been removed.
-
__pkginfo__now only contain__version__(also accessible withpylint.__version__), other meta-information are still
accessible withimport importlib;metadata.metadata('pylint'). -
COPYING has been renamed to LICENSE for standardization.
-
Fix false-positive
used-before-assignmentin function returns.Closes #4301
-
Updated
astroidto 2.5.3 -
Add
consider-using-min-max-builtincheck for if statement which could be replaced by Python builtin min or maxCloses #3406
-
Don't auto-enable postponed evaluation of type annotations with Python 3.10
-
Update
astroidto 2.5.4 -
Add new extension
TypingChecker. This optional checker can detect the use of deprecated typing aliases
and can suggest the use of the alternative union syntax where possible.
(For example, 'typing.Dict' can be replaced by 'dict', and 'typing.Unions' by '|', etc.)
Make sure to check the config options if you plan on using it! -
Reactivates old counts in report mode.
Closes #3819
-
During detection of
inconsistent-return-statementsconsider thatassert Falseis a return node.Closes #4019
-
Run will not fail if score exactly equals
config.fail_under. -
Functions that never returns may declare
NoReturnas type hints, so that
inconsistent-return-statementsis not emitted. -
Improved protected access checks to allow access inside class methods
Closes #1159
-
Fix issue with PEP 585 syntax and the use of
collections.abc.Set -
Fix issue that caused class variables annotated with
typing.ClassVarto be
identified as class constants. Now, class variables annotated with
typing.Finalare identified as such.Closes #4277
-
Continuous integration with read the doc has been added.
Closes #3850
-
Don't show
DuplicateBasesErrorfor attribute access -
Fix crash when checking
setup.cfgfor pylint config when there are non-ascii characters in thereCloses #4328
-
Allow code flanked in backticks to be skipped by spellchecker
Closes #4319
-
Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker
Closes #4320
-
Fix issue that caused emacs pylint to fail when used with tramp
-
Improve check for invalid PEP 585 syntax inside functions
if postponed evaluation of type annotations is enabled -
Improve check for invalid PEP 585 syntax as default function arguments