What's New in Pylint 2.8.3?#
Release date: 2021-05-31
Astroid has been pinned to 2.5.6 for the 2.8 branch.
What's New in Pylint 2.8.2?#
Release date: 2021-04-26
__pkginfo__.numversiona tuple to avoid breaking pylint-django.
scm_setuptools has been added to the packaging.
Pylint's tags are now the standard form
New warning message
deprecated-class. This message is emitted if import or call deprecated class of the standard library (like
collections.Iterablethat will be removed in Python 3.10).
What's New in Pylint 2.8.1?#
Release date: 2021-04-25
Add numversion back (temporarily) in
__pkginfo__because it broke Pylama and revert the unnecessary
What's New in Pylint 2.8.0?#
Release date: 2021-04-24
New refactoring message
consider-using-with. This message is emitted if resource-allocating functions or methods of the standard library (like
threading.Lock.acquire()) that can be used as a context manager are called without a
Resolve false positives on unused variables in decorator functions
Add new extension
ConfusingConsecutiveElifChecker. This optional checker emits a refactoring message (R5601
confusing-consecutive-elif) if if/elif statements with different indentation levels follow directly one after the other.
--output=<file>to output result to a file rather than printing to stdout.
Use a prescriptive message for
const-naming-styleto module constants annotated with
The packaging is now done via setuptools exclusively.
Changelogare 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 with
pylint.__version__), other meta-information are still accessible with
from importlib import metadata;metadata.metadata('pylint').
COPYING has been renamed to LICENSE for standardization.
used-before-assignmentin function returns.
Closes #2822, #4206, #4284
consider-using-min-max-builtincheck for if statement which could be replaced by Python builtin min or max
Don't auto-enable postponed evaluation of type annotations with Python 3.10
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.
During detection of
assert Falseis a return node.
Run will not fail if score exactly equals
Functions that never returns may declare
NoReturnas type hints, so that
inconsistent-return-statementsis not emitted.
Closes #4122, #4188
Improved protected access checks to allow access inside class methods
Fix issue with PEP 585 syntax and the use of
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.
Continuous integration with read the doc has been added.
DuplicateBasesErrorfor attribute access
Fix crash when checking
setup.cfgfor pylint config when there are non-ascii characters in there
Allow code flanked in backticks to be skipped by spellchecker
Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker
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