Pylint

Latest version: v3.1.0

Safety actively analyzes 627711 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 19

2.17.6

Other Bug Fixes
---------------

- When parsing comma-separated lists of regular expressions in the config,
ignore commas that are inside braces since those indicate quantifiers, not
delineation between expressions.

Closes 7229

- ``sys.argv`` is now always correctly considered as impossible to infer
(instead of using the actual values given to pylint).

Closes 9047

- Don't show class fields more than once in Pyreverse diagrams.

Closes 8189

- Don't show arrows more than once in Pyreverse diagrams.

Closes 8522

- Don't show duplicate type annotations in Pyreverse diagrams.

Closes 8888

- Don't add `Optional` to `|` annotations with `None` in Pyreverse diagrams.

Closes 9014

2.17.5

----------------------------
Release date: 2023-07-26


False Positives Fixed
---------------------

- Fix a false positive for ``unused-variable`` when there is an import in a
``if TYPE_CHECKING:`` block and ``allow-global-unused-variables`` is set to
``no`` in the configuration.

Closes 8696

- Fix false positives generated when supplying arguments as ``**kwargs`` to IO
calls like open().

Closes 8719

- Fix a false positive where pylint was ignoring method calls annotated as
``NoReturn`` during the ``inconsistent-return-statements`` check.

Closes 8747

- Exempt parents with only type annotations from the ``invalid-enum-extension``
message.

Closes 8830



Other Bug Fixes
---------------

- Fixed crash when a call to ``super()`` was placed after an operator (e.g.
``not``).

Closes 8554

- Fix crash for ``modified-while-iterating`` checker when deleting
members of a dict returned from a call.

Closes 8598

- Fix crash in ``invalid-metaclass`` check when a metaclass had duplicate
bases.

Closes 8698

- Avoid ``consider-using-f-string`` on modulos with brackets in template.

Closes 8720.

- Fix a crash when ``__all__`` exists but cannot be inferred.

Closes 8740

- Fix crash when a variable is assigned to a class attribute of identical name.

Closes 8754

- Fixed a crash when calling ``copy.copy()`` without arguments.

Closes 8774



Other Changes
-------------

- Fix a crash when a ``nonlocal`` is defined at module-level.

Closes 8735

2.17.4

False Positives Fixed
---------------------

- Fix a false positive for ``bad-dunder-name`` when there is a user-defined
``__index__`` method.

Closes 8613



Other Bug Fixes
---------------

- ``pyreverse``: added escaping of vertical bar character in annotation labels
produced by DOT printer to ensure it is not treated as field separator of
record-based nodes.

Closes 8603

- Fixed a crash when generating a configuration file:
``tomlkit.exceptions.TOMLKitError: Can't add a table to a dotted key``
caused by tomlkit ``v0.11.8``.

Closes 8632

2.17.3

----------------------------
Release date: 2023-04-24


False Positives Fixed
---------------------

- Fix `unused-argument` false positive when `__new__` does not use all the
arguments of `__init__`.

Closes 3670

- Fix ``unused-import`` false positive for usage of ``six.with_metaclass``.

Closes 7506

- `logging-not-lazy` is not longer emitted for explicitly concatenated string
arguments.

Closes 8410

- Fix false positive for isinstance-second-argument-not-valid-type when union
types contains None.

Closes 8424

- Fixed `unused-import` so that it observes the `dummy-variables-rgx` option.

Closes 8500

- `Union` typed variables without assignment are no longer treated as
`TypeAlias`.

Closes 8540

- Fix false positive for ``positional-only-arguments-expected`` when a function
contains both a positional-only parameter that has a default value, and
``**kwargs``.

Closes 8555

- Fix false positive for ``keyword-arg-before-vararg`` when a positional-only
parameter with a default value precedes ``*args``.

Closes 8570



Other Bug Fixes
---------------

- Improve output of ``consider-using-generator`` message for ``min()` calls
with ``default`` keyword.

Closes 8563

2.17.2

False Positives Fixed
---------------------

- ``invalid-name`` now allows for integers in ``typealias`` names:
- now valid: ``Good2Name``, ``GoodName2``.
- still invalid: ``_1BadName``.

Closes 8485

- No longer consider ``Union`` as type annotation as type alias for naming
checks.

Closes 8487

- ``unnecessary-lambda`` no longer warns on lambdas which use its parameters in
their body (other than the final arguments), e.g.
``lambda foo: (bar if foo else baz)(foo)``.

Closes 8496



Other Bug Fixes
---------------

- Fix a crash in pyreverse when "/" characters are used in the output filename
e.g pyreverse -o png -p name/ path/to/project.

Closes 8504

2.17.1

False Positives Fixed
---------------------

- Adds ``asyncSetUp`` to the default ``defining-attr-methods`` list to silence
``attribute-defined-outside-init`` warning when using
``unittest.IsolatedAsyncioTestCase``.

Refs 8403


Other Bug Fixes
---------------

- ``--clear-cache-post-run`` now also clears LRU caches for pylint utilities
holding references to AST nodes.

Closes 8361

- Fix a crash when ``TYPE_CHECKING`` is used without importing it.

Closes 8434

- Fix a regression of ``preferred-modules`` where a partial match was used
instead of the required full match.

Closes 8453



Internal Changes
----------------

- The following utilities are deprecated in favor of the more robust
``in_type_checking_block``
and will be removed in pylint 3.0:

- ``is_node_in_guarded_import_block``
- ``is_node_in_typing_guarded_import_block``
- ``is_typing_guard``

``is_sys_guard`` is still available, which was part of
``is_node_in_guarded_import_block``.

Refs 8433

Page 3 of 19

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.