Summary -- Release highlights#
The 'doc' extra-require has been removed. __pkginfo__` does not contain the package metadata anymore (except
numversion, until 3.0). Meta-information are accessible with
from importlib import metadata
Prefer that to an import from
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
deprecated-argumentcheck for deprecated arguments.
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.
consider-using-min-max-builtincheck for if statement which could be replaced by Python builtin min or max.
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!
deprecated-classcheck for deprecated classes.
--output=<file>to output result to a file rather than printing to stdout.
Reduce usage of blacklist/whitelist terminology. Notably,
extension-pkg-allow-listis an alternative to
extension-pkg-whitelistand the message
blacklisted-nameis now emitted as
disallowed-name. The previous names are accepted to maintain backward compatibility.
The packaging is now done via setuptools exclusively.
Changelogare not packaged anymore - reducing the size of the package by 75%.
COPYING has been renamed to LICENSE for standardization.