Summary -- Release highlights#
This release improves the performance of the 2.X series after it was affected by a performance regression a couple of releases ago.
We added a new check message
wrong-exception-operation. This is emitted when an operation is done against an exception, but the operation is not valid for the exception in question. Usually emitted when having binary operations between exceptions in except handlers.
We added a new
no-else-raisewarning similar to
We added a new option
implicit-str-concat-in-sequenceover multiple lines.
Quite a lot of bug fixes and improvements went into this release, here's a handful of them. For the full changes, check the full changelog.
We no longer emit
*-not-iteratingchecks for builtins consumed by
We fixed some false positives for
__class_getitem__(new in Python 3.7)
Ellipsisas a synonym for
fixmegets triggered only on comments.
pylintexempts starred unpacking from
*-not-iteratingPython 3 checks.
compare-to-zerois now less zealous by checking against equality and identity.
``yield from`` is exempted from ``-not-iterating`` Python 3 checks.
A false positive with
not-async-context-managercaused by not understanding
bad-reversed-sequenceto account for more objects that can define
no-memberis now emitted for enums when they lack a member.
Plugins can now use the
load_configuration()hook. This hook is executed after configuration is loaded to prevent overwriting plugin specific configuration via user-based configuration.
There's a new command line option
list-groupsfor listing all the check groups
pylintknows about. This is useful to know what groups you can disable or enable individually.