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)
nan-comparisoncheck for comparison of NaN values
Add support to
ignored-argument-namesin DocstringParameterChecker and adds
empty-commentcheck for empty comments.
simplifiable-conditioncheck for extraneous constants in conditionals using and/or.
condition-evals-to-constantcheck for conditionals using and/or that evaluate to a constant.
consider-using-generatorcheck for the use of list comprehension inside
Fix false positive for
Fix linter multiprocessing pool shutdown which triggered warnings when ran in parallels with other pytest plugins.
Enums are now required to be named in UPPER_CASE by
Fix bug that lead to duplicate messages when using
--jobs 2or more.
check-protected-access-in-special-methodsin the ClassChecker to activate/deactivate
protected-accessmessage emission for single underscore prefixed attribute in special methods.
inconsistent-return-statementsmessage is now emitted if one of
try/exceptstatement is not returning explicitly while the other do.
Fix false positive message
useless-super-delegationwhen 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-conditionsis 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+
allowed-redefined-builtinsdefines variable names allowed to shadow builtins.
Improved protected access checks to allow access inside class methods