Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pylint to 2.13.7 #109

Open
wants to merge 1 commit into
base: production
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates pylint from 2.7.2 to 2.13.7.

Changelog

2.13.6

============================
Release date: 2022-04-20

* Fix a crash in the ``unsupported-membership-test`` checker when assigning
multiple constants to class attributes including ``__iter__`` via unpacking.

Closes 6366

* Asterisks are no longer required in Sphinx and Google style parameter documentation
for ``missing-param-doc`` and are parsed correctly.

Closes 5815
Closes 5406

* Fixed a false positive for ``unused-variable`` when a builtin specified in
``--additional-builtins`` is given a type annotation.

Closes 6388

* Fixed an ``AstroidError`` in 2.13.0 raised by the ``duplicate-code`` checker with
``ignore-imports`` or ``ignore-signatures`` enabled.

Closes 6301

2.13.5

============================
Release date: 2022-04-06

* Fix false positive regression in 2.13.0 for ``used-before-assignment`` for
homonyms between variable assignments in try/except blocks and variables in
subscripts in comprehensions.

Closes 6069
Closes 6136

* ``lru-cache-decorating-method`` has been renamed to ``cache-max-size-none`` and
will only be emitted when ``maxsize`` is ``None``.

Closes 6180

* Fix false positive for ``unused-import`` when disabling both ``used-before-assignment`` and ``undefined-variable``.

Closes 6089

* Narrow the scope of the ``unnecessary-ellipsis`` checker to:
* functions & classes which contain both a docstring and an ellipsis.
* A body which contains an ellipsis ``nodes.Expr`` node & at least one other statement.

* Fix false positive for ``used-before-assignment`` for assignments taking place via
nonlocal declarations after an earlier type annotation.

Closes 5394

* Fix crash for ``redefined-slots-in-subclass`` when the type of the slot is not a const or a string.

Closes 6100

* Only raise ``not-callable`` when all the inferred values of a property are not callable.

Closes 5931


* Fix a false negative for ``subclassed-final-class`` when a set of other messages were disabled.

2.13.4

============================
Release date: 2022-03-31

* Fix false positive regression in 2.13.0 for ``used-before-assignment`` for
homonyms between variable assignments in try/except blocks and variables in
a comprehension's filter.

Closes 6035

* Include ``testing_pylintrc`` in source and wheel distributions.

Closes 6028

* Fix crash in ``super-init-not-called`` checker when using ``ctypes.Union``.

Closes 6027


* Fix crash for ``unneccessary-ellipsis`` checker when an ellipsis is used inside of a container or a lambda expression.

Closes 6036
Closes 6037
Closes 6048

2.13.3

============================
Release date: 2022-03-29

* Fix false positive for ``unnecessary-ellipsis`` when using an ellipsis as a default argument.

Closes 5973

* Fix crash involving unbalanced tuple unpacking.

Closes 5998

* Fix false positive for 'nonexistent-operator' when repeated '-' are
separated (e.g. by parens).

Closes 5769

2.13.2

============================
Release date: 2022-03-27

* Fix crash when subclassing a ``namedtuple``.

Closes 5982

* Fix false positive for ``superfluous-parens`` for patterns like
"return (a or b) in iterable".

Closes 5803

* Fix a false negative regression in 2.13.0 where ``protected-access`` was not
raised on functions.

Fixes 5989

* Better error messages in case of crash if pylint can't write the issue template.

Refer to 5987

2.13.1

============================
Release date: 2022-03-26

* Fix a regression in 2.13.0 where ``used-before-assignment`` was emitted for
the usage of a nonlocal in a try block.

Fixes 5965

* Avoid emitting ``raising-bad-type`` when there is inference ambiguity on
the variable being raised.

Closes 2793

* Loosen TypeVar default name pattern a bit to allow names with multiple uppercase
characters. E.g. ``HVACModeT`` or ``IPAddressT``.

Closes 5981

* Fixed false positive for ``unused-argument`` when a ``nonlocal`` name is used
in a nested function that is returned without being called by its parent.

Closes 5187

* Fix program crash for ``modified_iterating-list/set/dict`` when the list/dict/set
being iterated through is a function call.

Closes 5969

* Don't emit ``broken-noreturn`` and ``broken-collections-callable`` errors
inside ``if TYPE_CHECKING`` blocks.

2.13.0

============================
Release date: 2022-03-24

* Add missing dunder methods to ``unexpected-special-method-signature`` check.

* No longer emit ``no-member`` in for loops that reference ``self`` if the binary operation that
started the for loop uses a ``self`` that is encapsulated in tuples or lists.

Ref PyCQA/astroid1360
Closes 4826

* Output better error message if unsupported file formats are used with ``pyreverse``.

Closes 5950

* Fix pyreverse diagrams type hinting for classmethods and staticmethods.

* Fix pyreverse diagrams type hinting for methods returning None.

* Fix matching ``--notes`` options that end in a non-word character.

Closes 5840

* Updated the position of messages for class and function defintions to no longer cover
the complete definition. Only the ``def`` or ``class`` + the name of the class/function
are covered.

Closes 5466

* ``using-f-string-in-unsupported-version`` and ``using-final-decorator-in-unsupported-version`` msgids
 were renamed from ``W1601`` and ``W1602`` to ``W2601`` and ``W2602``. Disabling using these msgids will break.
 This is done in order to restore consistency with the already existing msgids for ``apply-builtin`` and
 ``basestring-builtin`` from the now deleted python 3K+ checker. There is now a check that we're not using
 existing msgids or symbols from deleted checkers.

Closes 5729

* The line numbering for messages related to function arguments is now more accurate. This can
require some message disables to be relocated to updated positions.

* Add ``--recursive`` option to allow recursive discovery of all modules and packages in subtree. Running pylint with
``--recursive=y`` option will check all discovered ``.py`` files and packages found inside subtree of directory provided
as parameter to pylint.

Closes 352

* Add ``modified-iterating-list``, ``modified-iterating-dict`` and ``modified-iterating-set``,
emitted when items are added to or removed from respectively a list, dictionary or
set being iterated through.

Closes 5348

* Fix false-negative for ``assignment-from-none`` checker using list.sort() method.

closes 5722

* New extension ``import-private-name``: indicate imports of external private packages
and objects (prefixed with ``_``). It can be loaded using ``load-plugins=pylint.extensions.private_import``.

Closes 5463

* Fixed crash from ``arguments-differ`` and ``arguments-renamed`` when methods were
defined outside the top level of a class.

Closes 5648

* Removed the deprecated ``check_docs`` extension. You can use the ``docparams`` checker
to get the checks previously included in ``check_docs``.

Closes 5322

* Added a ``testutil`` extra require to the packaging, as ``gitpython`` should not be a dependency
all the time but is still required to use the primer helper code in ``pylint.testutil``. You can
install it with ``pip install pylint[testutil]``.

Closes 5486

* Reinstated checks from the python3 checker that are still useful for python 3
(``eq-without-hash``). This is now in the ``pylint.extensions.eq_without_hash`` optional
extension.

Closes 5025

* Fixed an issue where ``ungrouped-imports`` could not be disabled without raising
``useless-suppression``.

Ref 2366

* Added several checkers to deal with unicode security issues
(see `Trojan Sources <https://trojansource.codes/>`_ and
`PEP 672 <https://peps.python.org/pep-0672/>`_ for details) that also
concern the readability of the code. In detail the following checks were added:

* ``bad-file-encoding`` checks that the file is encoded in UTF-8 as suggested by
 `PEP8 <https://peps.python.org/pep-0008/#source-file-encoding>`_.
 UTF-16 and UTF-32 are `not supported by Python <https://bugs.python.org/issue1503789>`_
 at the moment. If this ever changes
 ``invalid-unicode-codec`` checks that they aren't used, to allow for backwards
 compatibility.

* ``bidirectional-unicode`` checks for bidirectional unicode characters that
 could make code execution different than what the user expects.

* ``invalid-character-backspace``, ``invalid-character-carriage-return``,
 ``invalid-character-sub``, ``invalid-character-esc``,
 ``invalid-character-zero-width-space`` and ``invalid-character-nul``
 to check for possibly harmful unescaped characters.

Closes 5281

* Use the ``tomli`` package instead of ``toml`` to parse ``.toml`` files.

Closes 5885

* Fix false positive - Allow unpacking of ``self`` in a subclass of ``typing.NamedTuple``.

Closes 5312

* Fixed false negative ``unpacking-non-sequence`` when value is an empty list.

Closes 5707

* Better warning messages for useless else or elif when a function returns early.

Closes 5614

* Fixed false positive ``consider-using-dict-comprehension`` when creating a dict
using a list of tuples where key AND value vary depending on the same condition.

Closes 5588

* Fixed false positive for ``global-variable-undefined`` when ``global`` is used with a class name

Closes 3088

* Fixed false positive for ``unused-variable`` when a ``nonlocal`` name is assigned as part of a multi-name assignment.

Closes 3781

* Fixed a crash in ``unspecified-encoding`` checker when providing ``None``
to the ``mode`` argument of an ``open()`` call.

Closes 5731

* Fixed a crash involving a ``NewType`` named with an f-string.

Closes 5770
Ref PyCQA/astroid1400

* Improved ``bad-open-mode`` message when providing ``None`` to the ``mode``
argument of an ``open()`` call.

Closes 5733

* Added ``lru-cache-decorating-method`` checker with checks for the use of ``functools.lru_cache``
on class methods. This is unrecommended as it creates memory leaks by never letting the instance
getting garbage collected.

Closes 5670

* Fixed crash with recursion error for inference of class attributes that referenced
the class itself.

Closes 5408
Ref PyCQA/astroid1392

* Fixed false positive for ``unused-argument`` when a method overridden in a subclass
does nothing with the value of a keyword-only argument.

Closes 5771
Ref PyCQA/astroid1382

* The issue template for crashes is now created for crashes which were previously not covered
by this mechanism.

Closes 5668

* Rewrote checker for ``non-ascii-name``.
It now ensures __all__ Python names are ASCII and also properly
checks the names of imports (``non-ascii-module-import``) as
well as file names (``non-ascii-file-name``) and emits their respective new warnings.

Non ASCII characters could be homoglyphs (look alike characters) and hard to
enter on a non specialized keyboard.
See `Confusable Characters in PEP 672 <https://peps.python.org/pep-0672/#confusing-features>`_

* When run in parallel mode ``pylint`` now pickles the data passed to subprocesses with
the ``dill`` package. The ``dill`` package has therefore been added as a dependency.

* An astroid issue where symlinks were not being taken into account
was fixed

Closes 1470
Closes 3499
Closes 4302
Closes 4798
Closes 5081

* Fix a crash in ``unused-private-member`` checker when analyzing code using
``type(self)`` in bound methods.

Closes 5569

* Optimize parsing of long lines when ``missing-final-newline`` is enabled.

Closes 5724

* Fix false positives for ``used-before-assignment`` from using named
expressions in a ternary operator test and using that expression as
a call argument.

Closes 5177, 5212

* Fix false positive for ``undefined-variable`` when ``namedtuple`` class
attributes are used as return annotations.

Closes 5568

* Fix false negative for ``undefined-variable`` and related variable messages
when the same undefined variable is used as a type annotation and is
accessed multiple times, or is used as a default argument to a function.

Closes 5399

* Pyreverse - add output in mermaidjs format

* Emit ``used-before-assignment`` instead of ``undefined-variable`` when attempting
to access unused type annotations.

Closes 5713

* Added confidence level ``CONTROL_FLOW`` for warnings relying on assumptions
about control flow.

* ``used-before-assignment`` now considers that assignments in a try block
may not have occurred when the except or finally blocks are executed.

Closes 85, 2615

* Fixed false negative for ``used-before-assignment`` when a conditional
or context manager intervened before the try statement that suggested
it might fail.

Closes 4045

* Fixed false negative for ``used-before-assignment`` in finally blocks
if an except handler did not define the assignment that might have failed
in the try block.

* Fixed extremely long processing of long lines with comma's.

Closes 5483

* Fixed crash on properties and inherited class methods when comparing them for
equality against an empty dict.

Closes 5646

* Fixed a false positive for ``assigning-non-slot`` when the slotted class
defined ``__setattr__``.

Closes 3793

* Fixed a false positive for ``invalid-class-object`` when the object
being assigned to the ``__class__`` attribute is uninferable.

* Fixed false positive for ``used-before-assignment`` with self-referential type
annotation in conditional statements within class methods.

Closes 5499

* Add checker ``redefined-slots-in-subclass``: Emitted when a slot is redefined in a subclass.

Closes 5617

* Fixed false positive for ``global-variable-not-assigned`` when the ``del`` statement is used

Closes 5333

* By default, pylint does no longer take files starting with ``.`` into account. Those are
considered `emacs file locks`. See
https://www.gnu.org/software/emacs/manual/html_node/elisp/File-Locks.html.
This behavior can be reverted by redefining the ``ignore-patterns`` option.

Closes 367

* Fixed a false positive for ``used-before-assignment`` when a named expression
appears as the first value in a container.

Closes 5112

* ``used-before-assignment`` now assumes that assignments in except blocks
may not have occurred and warns accordingly.

Closes 4761

* When evaluating statements after an except block, ``used-before-assignment``
assumes that assignments in the except blocks took place if the
corresponding try block contained a return statement.

Closes 5500

* Fixed a false negative for ``used-before-assignment`` when some but not all
except handlers defined a name relied upon after an except block when the
corresponding try block contained a return statement.

Closes 5524

* When evaluating statements in the ``else`` clause of a loop, ``used-before-assignment``
assumes that assignments in the except blocks took place if the
except handlers constituted the only ways for the loop to finish without
breaking early.

Closes 5683

* ``used-before-assignment`` now checks names in try blocks.

* Fixed false positive with ``used-before-assignment`` for assignment expressions
in lambda statements.

Closes 5360, 3877

* Fixed a false positive (affecting unreleased development) for
``used-before-assignment`` involving homonyms between filtered comprehensions
and assignments in except blocks.

Closes 5586

* Fixed crash with slots assignments and annotated assignments.

Closes 5479

* Fixed crash on list comprehensions that used ``type`` as inner variable name.

Closes 5461

* Fixed crash in ``use-maxsplit-arg`` checker when providing the ``sep`` argument
to ``str.split()`` by keyword.

Closes 5737

* Fix false positive for ``unused-variable`` for a comprehension variable matching
an outer scope type annotation.

Closes 5326

* Fix false negative for ``undefined-variable`` for a variable used multiple times
in a comprehension matching an unused outer scope type annotation.

Closes 5654

* Some files in ``pylint.testutils`` were deprecated. In the future imports should be done from the
``pylint.testutils.functional`` namespace directly.

* Fixed false positives for ``no-value-for-parameter`` with variadic
positional arguments.

Closes 5416

* ``safe_infer`` no longer makes an inference when given two function
definitions with differing numbers of arguments.

Closes 3675

* Fix ``comparison-with-callable`` false positive for callables that raise, such
as typing constants.

Closes 5557

* Fixed a crash on ``__init__`` nodes when the attribute was previously uninferable due to a cache
limit size. This limit can be hit when the inheritance pattern of a class (and therefore of the ``__init__`` attribute) is very large.

Closes 5679

* Fix false positive for ``used-before-assignment`` from a class definition
nested under a function subclassing a class defined outside the function.

Closes 4590

* Fix ``unnecessary_dict_index_lookup`` false positive when deleting a dictionary's entry.

Closes 4716

* Fix false positive for ``used-before-assignment`` when an except handler
shares a name with a test in a filtered comprehension.

Closes 5817

* Fix crash in ``unnecessary-dict-index-lookup`` checker if the output of
``items()`` is assigned to a 1-tuple.

Closes 5504

* When invoking ``pylint``, ``epylint``, ``symilar`` or ``pyreverse`` by importing them in a python file
you can now pass an ``argv`` keyword besides patching ``sys.argv``.

Closes 5320

* The ``PyLinter`` class will now be initialized with a ``TextReporter``
as its reporter if none is provided.

* Fix ``super-init-not-called`` when parent or ``self`` is a ``Protocol``

Closes 4790

* Fix false positive ``not-callable`` with attributes that alias ``NamedTuple``

Partially closes 1730

* Emit ``redefined-outer-name`` when a nested except handler shadows an outer one.

Closes 4434
Closes 5370

* Fix false positive ``super-init-not-called`` for classes that inherit their ``init`` from
a parent.

Closes 4941

* ``encoding`` can now be supplied as a positional argument to calls that open
files without triggering ``unspecified-encoding``.

Closes 5638

* Fatal errors now emit a score of 0.0 regardless of whether the linted module
contained any statements

Closes 5451

* ``fatal`` was added to the variables permitted in score evaluation expressions.

* The default score evaluation now uses a floor of 0.

Closes 2399

* Fix false negative for ``consider-iterating-dictionary`` during membership checks encapsulated in iterables
or ``not in`` checks

Closes 5323

* Fixed crash on uninferable decorators on Python 3.6 and 3.7

* Add checker ``unnecessary-ellipsis``: Emitted when the ellipsis constant is used unnecessarily.

Closes 5460

* Disable checker ``bad-docstring-quotes`` for Python <= 3.7, because in these versions the line
numbers for decorated functions and classes are not reliable which interferes with the checker.

Closes 3077

* Fixed incorrect classification of Numpy-style docstring as Google-style docstring for
docstrings with property setter documentation.
Docstring classification is now based on the highest amount of matched sections instead
of the order in which the docstring styles were tried.

* Fixed detection of ``arguments-differ`` when superclass static
methods lacked a ``staticmethod`` decorator.

Closes 5371

* ``TypingChecker``

* Added new check ``broken-noreturn`` to detect broken uses of ``typing.NoReturn``
 if ``py-version`` is set to Python ``3.7.1`` or below.
 https://bugs.python.org/issue34921

* Added new check ``broken-collections-callable`` to detect broken uses of ``collections.abc.Callable``
 if ``py-version`` is set to Python ``3.9.1`` or below.
 https://bugs.python.org/issue42965

* The ``testutils`` for unittests now accept ``end_lineno`` and ``end_column``. Tests
without these will trigger a ``DeprecationWarning``.

* ``arguments-differ`` will no longer complain about method redefinitions with extra parameters
that have default values.

Closes 1556, 5338

* Fixed false positive ``unexpected-keyword-arg`` for decorators.

Closes 258

* Importing the deprecated stdlib module ``xml.etree.cElementTree`` now emits ``deprecated_module``.

Closes 5862

* Disables for ``deprecated-module`` and similar warnings for stdlib features deprecated
in newer versions of Python no longer raise ``useless-suppression`` when linting with
older Python interpreters where those features are not yet deprecated.

* Importing the deprecated stdlib module ``distutils`` now emits ``deprecated_module`` on Python 3.10+.

* ``missing-raises-doc`` will now check the class hierarchy of the raised exceptions

.. code-block:: python

 def my_function()
   """My function.

   Raises:
     Exception: if something fails
   """
   raise ValueError

Closes 4955

* Allow disabling ``duplicate-code`` with a disable comment when running through
pylint.

Closes 214

* Improve ``invalid-name`` check for ``TypeVar`` names.
The accepted pattern can be customized with ``--typevar-rgx``.

Closes 3401

* Added new checker ``typevar-name-missing-variance``. Emitted when a covariant
or contravariant ``TypeVar`` does not end with  ``_co`` or ``_contra`` respectively or
when a ``TypeVar`` is not either but has a suffix.

* Allow usage of mccabe 0.7.x release

Closes 5878

* Fix ``unused-private-member`` false positive when accessing private methods through ``property``.

Closes 4756

2.12.2

============================
Release date: 2021-11-25

* Fixed a false positive for ``unused-import`` where everything
was not analyzed properly inside typing guards.

* Fixed a false-positive regression for ``used-before-assignment`` for
typed variables in the body of class methods that reference the same class

Closes 5342

* Specified that the ``ignore-paths`` option considers "\" to represent a
windows directory delimiter instead of a regular expression escape
character.

* Fixed a crash with the ``ignore-paths`` option when invoking the option
via the command line.

Closes 5437

* Fixed handling of Sphinx-style parameter docstrings with asterisks. These
should be escaped with by prepending a "\".

Closes 5406

* Add ``endLine`` and ``endColumn`` keys to output of ``JSONReporter``.

Closes 5380

* Fixed handling of Google-style parameter specifications where descriptions
are on the line following the parameter name. These were generating
false positives for ``missing-param-doc``.

Closes 5452

* Fix false negative for ``consider-iterating-dictionary`` during membership checks encapsulated in iterables
or ``not in`` checks

Closes 5323

* ``unused-import`` now check all ancestors for typing guards

Closes 5316

2.12.1

============================
Release date: 2021-11-25

* Require Python ``3.6.2`` to run pylint.

Closes 5065

2.12.0

============================
Release date: 2021-11-24

* Upgrade astroid to 2.9.0

Closes 4982

* Add ability to add ``end_line`` and ``end_column`` to the ``--msg-template`` option.
With the standard ``TextReporter`` this will add the line and column number of the
end of a node to the output of Pylint. If these numbers are unknown, they are represented
by an empty string.

* Introduced primer tests and a configuration tests framework. The helper classes available in
``pylint/testutil/`` are still unstable and might be modified in the near future.

Closes 4412 5287

* Fix ``install graphiz`` message which isn't needed for puml output format.

* ``MessageTest`` of the unittest ``testutil`` now requires the ``confidence`` attribute
to match the expected value. If none is provided it is set to ``UNDEFINED``.

* ``add_message`` of the unittest ``testutil`` now actually handles the ``col_offset`` parameter
and allows it to be checked against actual output in a test.

* Fix a crash in the ``check_elif`` extensions where an undetected if in a comprehension
with an if statement within a f-string resulted in an out of range error. The checker no
longer relies on counting if statements anymore and uses known if statements locations instead.
It should not crash on badly parsed if statements anymore.

* Fix ``simplify-boolean-expression`` when condition can be inferred as False.

Closes 5200

* Fix exception when pyreverse parses ``property function`` of a class.

* The functional ``testutils`` now accept ``end_lineno`` and ``end_column``. Expected
output files without these will trigger a ``DeprecationWarning``. Expected output files
can be easily updated with the ``python tests/test_functional.py --update-functional-output`` command.

* The functional ``testutils`` now correctly check the distinction between ``HIGH`` and
``UNDEFINED`` confidence. Expected output files without defined ``confidence`` levels will now
trigger a ``DeprecationWarning``. Expected output files can be easily updated with the
``python tests/test_functional.py --update-functional-output`` command.

* The functional test runner now supports the option ``min_pyver_end_position`` to control on which python
versions the ``end_lineno`` and ``end_column`` attributes should be checked. The default value is 3.8.

* Fix ``accept-no-yields-doc`` and ``accept-no-return-doc`` not allowing missing ``yield`` or
``return`` documentation when a docstring is partially correct

Closes 5223

* Add an optional extension ``consider-using-any-or-all`` : Emitted when a ``for`` loop only
produces a boolean and could be replaced by ``any`` or ``all`` using a generator. Also suggests
a suitable any or all statement.

Closes 5008

* Properly identify parameters with no documentation and add new message called ``missing-any-param-doc``

Closes 3799

* Add checkers ``overridden-final-method`` & ``subclassed-final-class``

Closes 3197

* Fixed ``protected-access`` for accessing of attributes and methods of inner classes

Closes 3066

* Added support for ``ModuleNotFoundError`` (``import-error`` and ``no-name-in-module``).
``ModuleNotFoundError`` inherits from ``ImportError`` and was added in Python ``3.6``

* ``undefined-variable`` now correctly flags variables which only receive a type annotations
and never get assigned a value

Closes 5140

* ``undefined-variable`` now correctly considers the line numbering and order of classes
used in metaclass declarations

Closes 4031

* ``used-before-assignment`` now correctly considers references to classes as type annotation
or default values in first-level methods

Closes 3771

* ``undefined-variable`` and ``unused-variable`` now correctly trigger for assignment expressions
in functions defaults

Fixes part of 3688

* ``undefined-variable`` now correctly triggers for assignment expressions in if ... else statements
This includes a basic form of control flow inference for if ... else statements using
constant boolean values

Closes 3688

* Added the ``--enable-all-extensions`` command line option. It will load all available extensions
which can be listed by running ``--list-extensions``

* Fix bug with importing namespace packages with relative imports

Closes 2967 and 5131

* Improve and flatten ``unused-wildcard-import`` message

Closes 3859

* In length checker, ``len-as-condition`` has been renamed as
``use-implicit-booleaness-not-len`` in order to be consistent with
``use-implicit-booleaness-not-comparison``.

* Created new ``UnsupportedVersionChecker`` checker class that includes checks for features
not supported by all versions indicated by a ``py-version``.

* Added ``using-f-string-in-unsupported-version`` checker. Issued when ``py-version``
 is set to a version that does not support f-strings (< 3.6)

* Fix ``useless-super-delegation`` false positive when default keyword argument is a variable.

* Properly emit ``duplicate-key`` when Enum members are duplicate dictionary keys

Closes 5150

* Use ``py-version`` setting for alternative union syntax check (PEP 604),
instead of the Python interpreter version.

* Subclasses of ``dict`` are regarded as reversible by the ``bad-reversed-sequence`` checker
(Python 3.8 onwards).

Closes 4981

* Support configuring mixin class pattern via ``mixin-class-rgx``

* Added new checker ``use-implicit-booleaness-not-comparison``: Emitted when
collection literal comparison is being used to check for emptiness.

Closes 4774

* ``mising-param-doc`` now correctly parses asterisks for variable length and
keyword parameters

Closes 3733

* ``mising-param-doc`` now correctly handles Numpy parameter documentation without
explicit typing

Closes 5222

* ``pylint`` no longer crashes when checking assignment expressions within if-statements

Closes 5178

* Update ``literal-comparison checker to ignore tuple literals

Closes 3031

* Normalize the input to the ``ignore-paths`` option to allow both Posix and
Windows paths

Closes 5194

* Fix double emitting of ``not-callable`` on inferable ``properties``

Closes 4426

* ``self-cls-assignment`` now also considers tuple assignment

* Fix ``missing-function-docstring`` not being able to check ``__init__`` and other
magic methods even if the ``no-docstring-rgx`` setting was set to do so

* Added ``using-final-decorator-in-unsupported-version`` checker. Issued when ``py-version``
is set to a version that does not support ``typing.final`` (< 3.8)

* Added configuration option ``exclude-too-few-public-methods`` to allow excluding
classes from the ``min-public-methods`` checker.

Closes 3370

* The ``--jobs`` parameter now fallbacks to 1 if the host operating system does not
have functioning shared semaphore implementation.

Closes 5216

* Fix crash for ``unused-private-member`` when checking private members on ``__class__``

Closes 5261

* Crashes when a list is encountered in a toml configuration do not happen anymore.

Closes 4580

* Moved ``misplaced-comparison-constant`` to its own extension ``comparison_placement``.
This checker was opinionated and now no longer a default. It can be reactived by adding
``pylint.extensions.comparison_placement`` to ``load-plugins`` in your config.

Closes 1064

* A new ``bad-configuration-section`` checker was added that will emit for misplaced option
in pylint's top level namespace for toml configuration. Top-level dictionaries or option defined
in the wrong section will still silently not be taken into account, which is tracked in a
follow-up issue.

Follow-up in 5259

* Fix crash for ``protected-access`` on (outer) class traversal

* Added new checker ``useless-with-lock`` to find incorrect usage of with statement and threading module locks.
Emitted when ``with threading.Lock():`` is used instead of ``with lock_instance:``.

Closes 5208

* Make yn validator case insensitive, to allow for ``True`` and ``False`` in config files.

* Fix crash on ``open()`` calls when the ``mode`` argument is not a simple string.

Partially closes 5321

* Inheriting from a class that implements ``__class_getitem__`` no longer raises ``inherit-non-class``.

* Pyreverse - Add the project root directory to sys.path

Closes 2479

* Don't emit ``consider-using-f-string`` if ``py-version`` is set to Python < ``3.6``.
``f-strings`` were added in Python ``3.6``

Closes 5019

* Fix regression for ``unspecified-encoding`` with ``pathlib.Path.read_text()``

Closes 5029

* Don't emit ``consider-using-f-string`` if the variables to be interpolated include a backslash

* Fixed false positive for ``cell-var-from-loop`` when variable is used as the default
value for a keyword-only parameter.

Closes 5012

* Fix false-positive ``undefined-variable`` with ``Lambda``, ``IfExp``, and
assignment expression.

* Fix false-positive ``useless-suppression`` for ``wrong-import-order``

Closes 2366

* Fixed ``toml`` dependency issue

Closes 5066

* Fix false-positive ``useless-suppression`` for ``line-too-long``

Closes 4212

* Fixed ``invalid-name`` not checking parameters of overwritten base ``object`` methods

Closes 3614

* Fixed crash in ``consider-using-f-string`` if ``format`` is not called

Closes 5058

* Fix crash with ``AssignAttr`` in ``if TYPE_CHECKING`` blocks.

Closes 5111

* Improve node information for ``invalid-name`` on function argument.

* Prevent return type checkers being called on functions with ellipses as body

Closes 4736

* Add ``is_sys_guard`` and ``is_typing_guard`` helper functions from astroid
to ``pylint.checkers.utils``.

* Fix regression on ClassDef inference

Closes 5030
Closes 5036

* Fix regression on Compare node inference

Closes 5048

* Fix false-positive ``isinstance-second-argument-not-valid-type`` with ``typing.Callable``.

Closes 3507
Closes 5087

* It is now recommended to do ``pylint`` development on ``Python`` 3.8 or higher. This
allows using the latest ``ast`` parser.

* All standard jobs in the ``pylint`` CI now run on ``Python`` 3.8 by default. We still
support python 3.6 and 3.7 and run tests for those interpreters.

* ``TypingChecker``

* Fix false-negative for ``deprecated-typing-alias`` and ``consider-using-alias``
 with ``typing.Type`` + ``typing.Callable``.

2.11.1

============================
Release date: 2021-09-16

* ``unspecified-encoding`` now checks the encoding of ``pathlib.Path()`` correctly

Closes 5017

2.11.0

============================
Release date: 2021-09-16

* The python3 porting mode checker and it's ``py3k`` option were removed. You can still find it in older pylint
versions.

* ``raising-bad-type`` is now properly emitted when  raising a string

* 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


* Added ``py-version`` config key (if ``[MASTER]`` section). Used for version dependent checks.
Will default to whatever Python version pylint is executed with.

* ``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

* Added ``consider-using-f-string``: Emitted when .format() or '%' is being used to format a string.

Closes 3592

* 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

* https is now preferred in the documentation and http://pylint.pycqa.org correctly redirect to https://pylint.pycqa.org

Closes 3802

* 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

* Fix false positive ``superfluous-parens`` for tuples created with inner tuples

Closes 4907

* Fix false positive ``unused-private-member`` for accessing attributes in a class using ``cls``

Closes 4849

* Fix false positive ``unused-private-member`` for private staticmethods accessed in classmethods.

Closes 4849

* Extended ``consider-using-in`` check to work for attribute access.

* Setting ``min-similarity-lines`` to 0 now makes the similarty checker stop checking for duplicate code

Closes 4901

* Fix a bug where pylint complained if the cache's parent directory does not exist

Closes 4900

* The ``global-variable-not-assigned`` checker now catches global variables that are never reassigned in a
local scope and catches (reassigned) functions

Closes 1375
Closes 330

* Fix false positives for invalid-all-format that are lists or tuples at runtime

Closes 4711

* Fix ``no-self-use`` and ``docparams extension`` for async functions and methods.

* Add documentation for ``pyreverse`` and ``symilar``

Closes 4616

* Non symbolic messages with the wrong capitalisation now correctly trigger ``use-symbolic-message-instead``

Closes 5000

* The ``consider-iterating-dictionary`` checker now also considers membership checks

Closes 4069

* The ``invalid-name`` message is now more detailed when using multiple naming style regexes.

2.10.2

============================
Release date: 2021-08-21

* We now use platformdirs instead of appdirs since the latter is not maintained.

Closes 4886

* Fix a crash in the checker raising ``shallow-copy-environ`` when failing to infer
on ``copy.copy``

Closes 4891

2.10.1

============================
Release date: 2021-08-20

* pylint does not crash when PYLINT_HOME does not exist.

Closes 4883

2.10.0

============================
Release date: 2021-08-20

* pyreverse: add option to produce colored output.

Closes 4488

* pyreverse: add output in PlantUML format.

Closes 4498

* ``consider-using-with`` is no longer triggered if a context manager is returned from a function.

Closes 4748

* pylint does not crash with a traceback anymore when a file is problematic. It
creates a template text file for opening an issue on the bug tracker instead.
The linting can go on for other non problematic files instead of being impossible.

* pyreverse: Show class has-a relationships inferred from the type-hint

Closes 4744

* Fixed a crash when importing beyond the top level package during ``import-error``
message creation

Closes 4775

* Added ``ignored-parents`` option to the design checker to ignore specific
classes from the ``too-many-ancestors`` check (R0901).

Partially closes 3057

* Added ``unspecified-encoding``: Emitted when open() is called without specifying an encoding

Closes 3826

* Improved the Similarity checker performance. Fix issue with ``--min-similarity-lines`` used with ``--jobs``.

Close 4120
Close 4118

* Don't emit ``no-member`` error if guarded behind if statement.

Ref 1162
Closes 1990
Closes 4168

* The default for ``PYLINTHOME`` is now the standard ``XDG_CACHE_HOME``, and pylint now uses ``appdirs``.

Closes 3878

* Added ``use-list-literal``: Emitted when ``list()`` is called with no arguments instead of using ``[]``

Closes 4365

* Added ``use-dict-literal``: Emitted when ``dict()`` is called with no arguments instead of using ``{}``

Closes 4365

* Added optional extension ``consider-ternary-expression``: Emitted whenever a variable is assigned in both branches of an if/else block.

Closes  4366

* Added optional extension ``while-used``: Emitted whenever a ``while`` loop is used.

Closes  4367

* Added ``forgotten-debug-statement``: Emitted when ``breakpoint``, ``pdb.set_trace`` or ``sys.breakpointhook`` calls are found

Closes 3692

* Fix false-positive of ``unused-private-member`` when using nested functions in a class

Closes 4673

* Fix crash for ``unused-private-member`` that occurred with nested attributes.

Closes 4755

* Fix a false positive for ``unused-private-member`` with class names

Closes 4681

* Fix false positives for ``superfluous-parens`` with walrus operator, ternary operator and inside list comprehension.

Closes 2818
Closes 3249
Closes 3608
Closes 4346

* Added ``format-string-without-interpolation`` checker: Emitted when formatting is applied to a string without any variables to be replaced

Closes 4042

* Refactor of ``--list-msgs`` & ``--list-msgs-enabled``: both options now show whether messages are emittable with the current interpreter.

Closes 4778

* Fix false negative for ``used-before-assignment`` when the variable is assigned
in an exception handler, but used outside of the handler.

Closes 626

* Added ``disable-next`` option: allows using ` pylint: disable-next=msgid` to disable a message for the following line

Closes 1682

* Added ``redundant-u-string-prefix`` checker: Emitted when the u prefix is added to a string

Closes 4102

* Fixed ``cell-var-from-loop`` checker: handle cell variables in comprehensions within functions,
and function default argument expressions. Also handle basic variable shadowing.

Closes 2846
Closes 3107

* Fixed bug with ``cell-var-from-loop`` checker: it no longer has false negatives when
both ``unused-variable`` and ``used-before-assignment`` are disabled.

* Fix false positive for ``invalid-all-format`` if the list or tuple builtin functions are used

Closes 4711

* Config files can now contain environment variables

Closes 3839

* Fix false-positive ``used-before-assignment`` with an assignment expression in a ``Return`` node

Closes 4828

* Added ``use-sequence-for-iteration``: Emitted when iterating over an in-place defined ``set``.

* ``CodeStyleChecker``

* Limit ``consider-using-tuple`` to be emitted only for in-place defined ``lists``.

* Emit ``consider-using-tuple`` even if list contains a ``starred`` expression.

* Ignore decorators lines by similarities checker when ignore signatures flag enabled

Closes 4839

* Allow ``true`` and ``false`` values in ``pylintrc`` for better compatibility with ``toml`` config.

* Class methods' signatures are ignored the same way as functions' with similarities "ignore-signatures" option enabled

Closes 4653

* Improve performance when inferring ``Call`` nodes, by utilizing caching.

* Improve error message for invalid-metaclass when the node is an Instance.

2.9.6

===========================
Release date: 2021-07-28

* Fix a false positive ``undefined-variable`` when variable name in decoration
matches function argument

Closes 3791

2.9.5

===========================
Release date: 2021-07-21

* Fix a crash when there would be a 'TypeError object does not support
item assignment' in the code we parse.

Closes 4439

* Fix crash if a callable returning a context manager was assigned to a list or dict item

Closes 4732

* Fix a crash when an AttributeInferenceError was not handled properly when
failing to infer the real name of an import in astroid.

Closes 4692

2.9.4

===========================
Release date: 2021-07-20

* Added ``time.clock`` to deprecated functions/methods for python 3.3

* Fix bug in which --fail-on can return a zero exit code even when the specified issue is present

Closes 4296
Closes 3363

* Fix hard failure when handling missing attribute in a class with duplicated bases

Closes 4687

* Fix false-positive ``consider-using-with`` (R1732) if a ternary conditional is used together with ``with``

Closes 4676

* Fix false-positive ``deprecated-module`` when relative import uses deprecated module name.

Closes 4629

* Fix false-positive ``consider-using-with`` (R1732) if ``contextlib.ExitStack`` takes care of calling the ``__exit__`` method

Closes 4654

* Fix a false positive for ``unused-private-member`` when mutating a private attribute
with ``cls``

Closes 4657

* Fix ignored empty functions by similarities checker with "ignore-signatures" option enabled

Closes 4652

* Fix false-positive of ``use-maxsplit-arg`` when index is incremented in
a loop

Closes 4664

* Don't emit ``cyclic-import`` message if import is guarded by ``typing.TYPE_CHECKING``.

Closes 3525

* Fix false-positive ``not-callable`` with alternative ``TypedDict`` syntax

Closes 4715

* Clarify documentation for consider-using-from-import

* Don't emit ``unreachable`` warning for empty generator functions

Closes 4698

* Don't emit ``import-error``, ``no-name-in-module``, and ``ungrouped-imports``
for imports guarded by ``sys.version_info`` or ``typing.TYPE_CHECKING``.

Closes 3285
Closes 3382

* Fix ``invalid-overridden-method`` with nested property

Closes 4368

* Fix false-positive of ``unused-private-member`` when using ``__new__`` in a class

Closes 4668

* No longer emit ``consider-using-with`` for ``ThreadPoolExecutor`` and ``ProcessPoolExecutor``
as they have legitimate use cases without a ``with`` block.

Closes 4689

* Fix crash when inferring variables assigned in match patterns

Closes 4685

* Fix a crash when a StopIteration was raised when inferring
a faulty function in a context manager.

Closes 4723

2.9.3

===========================
Release date: 2021-07-01


* Fix a crash that happened when analysing empty function with docstring
in the ``similarity`` checker.

Closes 4648

* The ``similarity`` checker no longer add three trailing whitespaces for
empty lines in its report.

2.9.2

===========================
Release date: 2021-07-01

* Fix a crash that happened when analysing code using ``type(self)`` to access
a class attribute in the ``unused-private-member`` checker.

Closes 4638

* Fix a false positive for ``unused-private-member`` when accessing a private variable
with ``self``

Closes 4644

* Fix false-positive of ``unnecessary-dict-index-lookup`` and ``consider-using-dict-items``
for reassigned dict index lookups

Closes 4630

2.9.1

===========================
Release date: 2021-06-30

* Upgrade astroid to 2.6.2

Closes 4631
Closes 4633

2.9.0

===========================
Release date: 2021-06-29

* Python 3.10 is now supported.

* Add type annotations to pyreverse dot files

Closes 1548

* Fix missing support for detecting deprecated aliases to existing
functions/methods.

Closes 4618

* astroid has been upgraded to 2.6.1

* Added various deprecated functions/methods for python 3.10, 3.7, 3.6 and 3.3

* Fix false positive ``useless-type-doc`` on ignored argument using ``pylint.extensions.docparams``
when a function was typed using pep484 but not inside the docstring.

Closes 4117
Closes 4593

* ``setuptools_scm`` has been removed and replaced by ``tbump`` in order to not
have hidden runtime dependencies to setuptools

* Fix a crash when a test function is decorated with ``pytest.fixture`` and astroid can't
infer the name of the decorator when using ``open`` without ``with``.

Closes 4612

* Added ``deprecated-decorator``: Emitted when deprecated decorator is used.

Closes 4429

* Added ``ignore-paths`` behaviour. Defined regex patterns are matched against full file path.

Close 2541

* Fix false negative for ``consider-using-with`` if calls like ``open()`` were used outside of assignment expressions.

* The warning for ``arguments-differ`` now signals explicitly the difference it detected
by naming the argument or arguments that changed and the type of change that occurred.

* Suppress ``consider-using-with`` inside context managers.

Closes 4430

* Added ``--fail-on`` option to return non-zero exit codes regardless of ``--fail-under`` value.

* numversion tuple contains integers again to fix multiple pylint's plugins that relied on it

Closes 4420

* Fix false-positive ``too-many-ancestors`` when inheriting from builtin classes,
especially from the ``collections.abc`` module

Closes 4166
Closes 4415

* Stdlib deprecated modules check is moved to stdlib checker. New deprecated
modules are added.

* Fix raising false-positive ``no-member`` on abstract properties

* Created new error message called ``arguments-renamed`` which identifies any changes at the parameter
names of overridden functions.

Closes 3536

* New checker ``consider-using-dict-items``. Emitted  when iterating over dictionary keys and then
indexing the same dictionary with the key within loop body.

Closes 3389

* Don't emit ``import-error`` if import guarded behind ``if sys.version_info >= (x, x)``

* Fix incompatibility with Python 3.6.0 caused by ``typing.Counter`` and ``typing.NoReturn`` usage

Closes 4412

* New checker ``use-maxsplit-arg``. Emitted either when accessing only the first or last
element of ``str.split()``.

Closes 4440

* Add ignore_signatures to duplicate code checker

Closes 3619

* Fix documentation errors in "Block disables" paragraph of User Guide.

* New checker ``unnecessary-dict-index-lookup``. Emitted when iterating over dictionary items
(key-value pairs) and accessing the value by index lookup.

Closes 4470

* New checker``consider-using-from-import``. Emitted when a submodule/member of a package is imported and aliased
with the same name.

Closes 2309

* Allow comma-separated list in ``output-format`` and separate output files for
each specified format.

Closes 1798

* Make ``using-constant-test`` detect constant tests consisting of list literals like ``[]`` and
``[1, 2, 3]``.

* Improved error message of ``unnecessary-comprehension`` checker by providing code suggestion.

Closes 4499

* New checker ``unused-private-member``. Emitted when a private member (i.e., starts with ``__``) of a class
is defined but not used.

Closes 4483

* Fix false negative of ``consider-using-enumerate`` when iterating over an attribute.

Closes 3657

* New checker ``invalid-class-object``. Emitted when a non-class is assigned to a ``__class__`` attribute.

Closes 585

* Fix a crash when a plugin from the configuration could not be loaded and raise an error
'bad-plugin-value' instead

Closes 4555

* Added handling of floating point values when parsing configuration from pyproject.toml

Closes 4518

* ``invalid-length-returned``, now also works when nothing at all is returned
following an upgrade in astroid.

* ``logging-format-interpolation`` and ``logging-not-lazy``, now works on logger
class created from renamed logging import following an upgrade in astroid.

* Fix false-positive ``no-member`` with generic base class

Closes PyCQA/astroid942

* Fix ``assigning-non-slot`` false-positive with base that inherits from ``typing.Generic``

Closes 4509
Closes PyCQA/astroid999

* New checker ``invalid-all-format``. Emitted when ``__all__`` has an invalid format,
i.e. isn't a ``tuple`` or ``list``.

* Fix false positive ``unused-variable`` and ``undefined-variable`` with
Pattern Matching in Python 3.10

* New checker ``await-outside-async``. Emitted when await is used outside an async function.

* Clarify documentation for ``typing`` extension.

Closes 4545

* Add new extension ``CodeStyleChecker``. It includes checkers that can improve code
consistency. As such they don't necessarily provide a performance benefit
and are often times opinionated.

* New checker ``consider-using-tuple``. Emitted when an in-place defined
list or set can be replaced by a tuple.

* New checker ``consider-using-namedtuple-or-dataclass``. Emitted when dictionary values
can be replaced by namedtuples or dataclass instances.

* Fix error that occurred when using ``slice`` as subscript for dict.

* Reduce false-positives around inference of ``.value`` and ``.name``
properties on ``Enum`` subclasses, following an upgrade in astroid

Closes 1932
Closes 2062

* Fix issue with ``cached_property`` that caused ``invalid-overridden-method`` error
when overriding a ``property``.

Closes 4023

* Fix ``unused-import`` false positive for imported modules referenced in
attribute lookups in type comments.

Closes 4603

2.8.3

===========================
Release date: 2021-05-31

* Astroid has been pinned to 2.5.6 for the 2.8 branch see 4527.

2.8.2

===========================
Release date: 2021-04-26

* Keep ``__pkginfo__.numversion`` a tuple to avoid breaking pylint-django.

Closes 4405

* scm_setuptools has been added to the packaging.

* Pylint's tags are now the standard form ``vX.Y.Z`` and not ``pylint-X.Y.Z`` anymore.

* New warning message ``deprecated-class``. This message is emitted if import or call deprecated class of the
standard library (like ``collections.Iterable`` that will be removed in Python 3.10).

Closes 4388

2.8.1

===========================
Release date: 2021-04-25

* Add numversion back (temporarily) in ``__pkginfo__`` because it broke Pylama and revert the unnecessary
``pylint.version`` breaking change.

Closes 4399

2.8.0

===========================
Release date: 2021-04-24

* New refactoring message ``consider-using-with``. This message is emitted if resource-allocating functions or methods of the
standard library (like ``open()`` or ``threading.Lock.acquire()``) that can be used as a context manager are called without
a ``with`` block.

Closes 3413

* Resolve false positives on unused variables in decorator functions

Closes 4252

* 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.

* New option ``--output=<file>`` to output result to a file rather than printing to stdout.

Closes 1070

* Use a prescriptive message for ``unidiomatic-typecheck``

Closes 3891

* Apply ``const-naming-style`` to module constants annotated with
``typing.Final``

* The packaging is now done via setuptools exclusively. ``doc``, ``tests``, ``man``, ``elisp`` and ``Changelog`` are
not packaged anymore - reducing the size of the package by 75%.

* Debian packaging is now  (officially) done in https://salsa.debian.org/python-team/packages/pylint.

* The 'doc' extra-require has been removed.

* ``__pkginfo__`` now only contain ``__version__`` (also accessible with ``pylint.__version__``), other meta-information are still
accessible with ``from importlib import metadata;metadata.metadata('pylint')``.

* COPYING has been renamed to LICENSE for standardization.

* Fix false-positive ``used-before-assignment`` in function returns.

Closes 4301

* Updated ``astroid`` to 2.5.3

Closes 2822, 4206, 4284

* Add ``consider-using-min-max-builtin`` check for if statement which could be replaced by Python builtin min or max

Closes 3406

* Don't auto-enable postponed evaluation of type annotations with Python 3.10

* Update ``astroid`` to 2.5.4

* 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!

* Reactivates old counts in report mode.

Closes 3819

* During detection of ``inconsistent-return-statements`` consider that ``assert False`` is a return node.

Closes 4019

* Run will not fail if score exactly equals ``config.fail_under``.

* Functions that never returns may declare ``NoReturn`` as type hints, so that
``inconsistent-return-statements`` is not emitted.

Closes 4122, 4188

* Improved protected access checks to allow access inside class methods

Closes 1159

* Fix issue with PEP 585 syntax and the use of ``collections.abc.Set``

* Fix issue that caused class variables annotated with ``typing.ClassVar`` to be
identified as class constants. Now, class variables annotated with
``typing.Final`` are identified as such.

Closes 4277

* Continuous integration with read the doc has been added.

Closes 3850

* Don't show ``DuplicateBasesError`` for attribute access

* Fix crash when checking ``setup.cfg`` for pylint config when there are non-ascii characters in there

Closes 4328

* Allow code flanked in backticks to be skipped by spellchecker

Closes 4319

* Allow Python tool directives (for black, flake8, zimports, isort, mypy, bandit, pycharm) at beginning of comments to be skipped by spellchecker

Closes 4320

* Fix issue that caused emacs pylint to fail when used with tramp

* Improve check for invalid PEP 585 syntax inside functions
if postponed evaluation of type annotations is enabled

* Improve check for invalid PEP 585 syntax as default function arguments

2.7.4

===========================
Release date: 2021-03-30


* Fix a problem with disabled msgid not being ignored

Closes 4265

* Fix issue with annotated class constants

Closes 4264

2.7.3

===========================
Release date: 2021-03-29

* Introduce logic for checking deprecated attributes in DeprecationMixin.

* Reduce usage of blacklist/whitelist terminology. Notably, ``extension-pkg-allow-list`` is an
alternative to ``extension-pkg-whitelist`` and the message ``blacklisted-name`` is now emitted as
``disallowed-name``. The previous names are accepted to maintain backward compatibility.

* Move deprecated checker to ``DeprecatedMixin``

Closes 4086

* Bump ``astroid`` version to ``2.5.2``

* Fix false positive for ``method-hidden`` when using private attribute and method

Closes 3936

* ``use-symbolic-message-instead`` now also works on legacy messages like ``C0111`` (``missing-docstring``).

* Remove unwanted print to stdout from ``_emit_no_member``

* Introduce a command-line option to specify pyreverse output directory

Closes 4159

* Fix issue with Enums and ``class-attribute-naming-style=snake_case``

Closes 4149

* Add ``allowed-redefined-builtins`` option for fine tuning ``redefined-builtin`` check.

Close 3263

* Fix issue when executing with ``python -m pylint``

Closes 4161

* Exempt ``typing.TypedDict`` from ``too-few-public-methods`` check.

Closes 4180

* Fix false-positive ``no-member`` for typed annotations without default value.

Closes 3167

* Add ``--class-const-naming-style`` for Enum constants and class variables annotated
with ``typing.ClassVar``

Closes 4181

* Fix astroid.Inference error for undefined-variables with ``len()

Closes 4215

* Fix column index on FIXME warning messages

Closes 4218

* Improve handling of assignment expressions, better edge case handling

Closes 3763, 4238

* Improve check if class is subscriptable PEP585

* Fix documentation and filename handling of --import-graph

* Fix false-positive for ``unused-import`` on class keyword arguments

Closes 3202

* Fix regression with plugins on PYTHONPATH if latter is cwd

Closes 4252
Links

@pyup-bot pyup-bot mentioned this pull request Apr 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant