blob: 6a22d5ba7a2e9f2b805b6a1cdb9b34f20ec438be [file] [log] [blame]
***************************
What's New in Pylint 2.11
***************************
:Release: 2.11
:Date: TBA
Summary -- Release highlights
=============================
New checkers
============
* Added ``consider-using-f-string``: Emitted when .format() or '%' is being used to format a string.
Closes #3592
Removed checkers
================
* The python3 porting mode checker and it's ``py3k`` option were removed. You can still find it in older pylint
versions.
Extensions
==========
* Added new extension ``SetMembershipChecker`` with ``use-set-for-membership`` check:
Emitted when using an in-place defined ``list`` or ``tuple`` to do a membership test. ``sets`` are better optimized for that.
Closes #4776
* ``CodeStyleChecker``
* Added ``consider-using-assignment-expr``: Emitted when an assignment is directly followed by an if statement
and both can be combined by using an assignment expression ``:=``. Requires Python 3.8
Closes #4862
Other Changes
=============
* Added ``py-version`` config key (if ``[MASTER]`` section). Used for version dependant checks.
Will default to whatever Python version pylint is executed with.
* The ``invalid-name`` message is now more detailed when using multiple naming style regexes.
* Fix false positive for ``consider-using-with`` if a context manager is assigned to a
variable in different paths of control flow (e. g. if-else clause).
Closes #4751
* Fix false positive for ``function-redefined`` for simple type annotations
Closes #4936
* Fix false positive for ``protected-access`` if a protected member is used in type hints of function definitions
* Fix false positive ``dict-iter-missing-items`` for dictionaries only using tuples as keys
Closes #3282
* The ``unspecified-encoding`` checker now also checks calls to ``pathlib.Path().read_text()``
and ``pathlib.Path().write_text()``
Closes #4945