Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

This PR updates pylint from 2.7.3 to 2.10.2.

Changelog

2.10.2

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

..
Put bug fixes that should not wait for a new minor version here

* 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 postive 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 a 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
Links

@pyup-bot pyup-bot mentioned this pull request Aug 21, 2021
@avara1986 avara1986 closed this Sep 12, 2021
@avara1986 avara1986 deleted the pyup-update-pylint-2.7.3-to-2.10.2 branch September 12, 2021 17:17
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.

3 participants