What's New in Pylint 2.3¶
- Release
2.3
- Date
2019-02-27
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.
New checkers¶
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.Closes #2494
We added a new
no-else-raisewarning similar tono-else-returnCloses #2558
We added a new option
check-str-concat-over-line-jumpsto checkimplicit-str-concat-in-sequenceover multiple lines.
Other Changes¶
Quite a lot of bug fixes and improvements went into this release, here's a handful of them. For the full changes, check the Changelog.
We no longer emit
*-not-iteratingchecks for builtins consumed byitertoolsWe fixed some false positives for
no-self-argumentandunsubscriptable-objectwhen using__class_getitem__(new in Python 3.7)pylintnow supportsEllipsisas a synonym forpassstatements.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 understandingcontextlib.asynccontextmanagerwas fixed.We refactored
bad-reversed-sequenceto account for more objects that can define__reversed__.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 groupspylintknows about. This is useful to know what groups you can disable or enable individually.
