What's New in Pylint 2.7¶
- Release
2.7
- Date
2021-02-21
Summary -- Release highlights¶
Python 3.6+ is now required.
No more duplicate messages when using multiple jobs.
Handling of the new typing provided by mypy 0.8
Reduced the number of false positives in general
Reduced the occurrence of genuinely large recursion that went above system limit (See #3836, for a fix for pandas)
New checkers¶
Add nan-comparison check for comparison of NaN values
Add support to
ignored-argument-names
in DocstringParameterChecker and adds useless-param-doc and useless-type-doc messages.Add empty-comment check for empty comments.
Add simplifiable-condition check for extraneous constants in conditionals using and/or.
Add condition-evals-to-constant check for conditionals using and/or that evaluate to a constant.
Add consider-using-generator check for the use of list comprehension inside
any
orall
function.
Other Changes¶
Fix false positive for
builtin-not-iterating
whenzip
ormap
receives iterableFix linter multiprocessing pool shutdown which triggered warnings when runned in parallels with other pytest plugins.
Enums are now required to be named in UPPER_CASE by
invalid-name
.Fix bug that lead to duplicate messages when using
--jobs 2
or more.Adds option
check-protected-access-in-special-methods
in the ClassChecker to activate/deactivateprotected-access
message emission for single underscore prefixed attribute in special methods.inconsistent-return-statements
message is now emitted if one oftry/except
statement is not returning explicitly while the other do.Fix false positive message
useless-super-delegation
when default keyword argument is a dictionary.Fix vulnerable regular expressions in
pyreverse
. The ambiguities of vulnerable regular expressions are removed, making the repaired regular expressions safer and faster matching.len-as-conditions is now triggered only for classes that are inheriting directly from list, dict, or set and not implementing the __bool__ function, or from generators like range or list/dict/set comprehension. This should reduce the false positive for other classes, like pandas's DataFrame or numpy's Array.
Fixes duplicate code detection for --jobs=2+