2019-02-13 09:41:38 +00:00
|
|
|
**************************
|
2019-02-27 09:51:26 +00:00
|
|
|
What's New in Pylint 2.3
|
2019-02-13 09:41:38 +00:00
|
|
|
**************************
|
|
|
|
|
|
|
|
:Release: 2.3
|
2019-02-27 09:51:26 +00:00
|
|
|
:Date: 2019-02-27
|
2019-02-13 09:41:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
Summary -- Release highlights
|
|
|
|
=============================
|
|
|
|
|
2019-02-13 10:11:57 +00:00
|
|
|
* This release improves the performance of the 2.X series after it was affected by a performance regression a couple of releases ago.
|
2019-02-13 09:41:38 +00:00
|
|
|
|
|
|
|
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-raise`` warning similar to ``no-else-return``
|
|
|
|
|
|
|
|
Closes #2558
|
|
|
|
|
|
|
|
* We added a new option ``check-str-concat-over-line-jumps`` to check
|
|
|
|
``implicit-str-concat-in-sequence`` over multiple lines.
|
|
|
|
|
|
|
|
|
|
|
|
Other Changes
|
|
|
|
=============
|
|
|
|
|
2019-02-27 09:53:31 +00:00
|
|
|
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.
|
2019-02-13 09:41:38 +00:00
|
|
|
|
|
|
|
* We no longer emit ``*-not-iterating`` checks for builtins consumed by ``itertools``
|
|
|
|
|
|
|
|
* We fixed some false positives for ``no-self-argument`` and ``unsubscriptable-object``
|
|
|
|
when using ``__class_getitem__`` (new in Python 3.7)
|
|
|
|
|
2019-03-01 00:38:02 +00:00
|
|
|
* ``pylint`` now supports ``Ellipsis`` as a synonym for ``pass`` statements.
|
2019-02-13 09:41:38 +00:00
|
|
|
|
|
|
|
* ``fixme`` gets triggered only on comments.
|
|
|
|
|
|
|
|
* ``pylint`` exempts starred unpacking from ``*-not-iterating`` Python 3 checks.
|
|
|
|
|
|
|
|
* ``compare-to-zero`` is 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-manager`` caused by not understanding
|
|
|
|
``contextlib.asynccontextmanager`` was fixed.
|
|
|
|
|
|
|
|
* We refactored ``bad-reversed-sequence`` to account for more objects that can define ``__reversed__``.
|
|
|
|
|
|
|
|
* ``no-member`` is 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.
|
2019-02-13 09:57:21 +00:00
|
|
|
|
|
|
|
* There's a new command line option ``list-groups`` for listing all the check groups
|
|
|
|
``pylint`` knows about. This is useful to know what groups you can disable or enable
|
|
|
|
individually.
|
2019-03-02 13:28:31 +00:00
|
|
|
|
|
|
|
* A file is now read from stdin if the ``--from-stdin`` flag is used on the
|
|
|
|
command line. In addition to the ``--from-stdin`` flag a (single) file
|
|
|
|
name needs to be specified on the command line, which is needed for the
|
|
|
|
report.
|