Skip to content

Update dependency pylint to v3.3.1

Renovate Bot requested to merge renovate/pylint-3.x-lockfile into master

This MR contains the following updates:

Package Type Update Change
pylint (changelog) dev-dependencies minor 3.2.2 -> 3.3.1

Release Notes

pylint-dev/pylint (pylint)

v3.3.1

Compare Source

What's new in Pylint 3.3.1?

Release date: 2024-09-24

False Positives Fixed

  • Fix regression causing some f-strings to not be inferred as strings.

    Closes #​9947

v3.3.0

Compare Source

Release date: 2024-09-20

Changes requiring user actions

  • We migrated symilar to argparse, from getopt, so the error and help output changed (for the better). We exit with 2 instead of sometime 1, sometime 2. The error output is not captured by the runner anymore. It's not possible to use a value for the boolean options anymore (--ignore-comments 1 should become --ignore-comments).

    Refs #​9731

New Features

  • Add new declare-non-slot error which reports when a class has a __slots__ member and a type hint on the class is not present in __slots__.

    Refs #​9499

New Checks

  • Added too-many-positional-arguments to allow distinguishing the configuration for too many total arguments (with keyword-only params specified after *) from the configuration for too many positional-or-keyword or positional-only arguments.

    As part of evaluating whether this check makes sense for your project, ensure you adjust the value of --max-positional-arguments.

    Closes #​9099

  • Add using-exception-groups-in-unsupported-version and using-generic-type-syntax-in-unsupported-version for uses of Python 3.11+ or 3.12+ features on lower supported versions provided with --py-version.

    Closes #​9791

  • Add using-assignment-expression-in-unsupported-version for uses of := (walrus operator) on Python versions below 3.8 provided with --py-version.

    Closes #​9820

  • Add using-positional-only-args-in-unsupported-version for uses of positional-only args on Python versions below 3.8 provided with --py-version.

    Closes #​9823

  • Add unnecessary-default-type-args to the typing extension to detect the use of unnecessary default type args for typing.Generator and typing.AsyncGenerator.

    Refs #​9938

False Negatives Fixed

  • Fix computation of never-returning function: Never is handled in addition to NoReturn, and priority is given to the explicit --never-returning-functions option.

    Closes #​7565.

  • Fix a false negative for await-outside-async when await is inside Lambda.

    Refs #​9653

  • Fix a false negative for duplicate-argument-name by including positional-only, *args and **kwargs arguments in the check.

    Closes #​9669

  • Fix false negative for multiple-statements when multiple statements are present on else and finally lines of try.

    Refs #​9759

  • Fix false negatives when isinstance does not have exactly two arguments. pylint now emits a too-many-function-args or no-value-for-parameter appropriately for isinstance calls.

    Closes #​9847

Other Bug Fixes

  • --enable with --disable=all now produces an error, when an unknown msg code is used. Internal pylint messages are no longer affected by --disable=all.

    Closes #​9403

  • Impossible to compile regexes for paths in the configuration or argument given to pylint won't crash anymore but raise an argparse error and display the error message from re.compile instead.

    Closes #​9680

  • Fix a bug where a tox.ini file with pylint configuration was ignored and it exists in the current directory.

    .cfg and .ini files containing a Pylint configuration may now use a section named [pylint]. This enhancement impacts the scenario where these file types are used as defaults when they are present and have not been explicitly referred to, using the --rcfile option.

    Closes #​9727

  • Improve file discovery for directories that are not python packages.

    Closes #​9764

Other Changes

  • Remove support for launching pylint with Python 3.8. Code that supports Python 3.8 can still be linted with the --py-version=3.8 setting.

    Refs #​9774

  • Add support for Python 3.13.

    Refs #​9852

Internal Changes

  • All variables, classes, functions and file names containing the word 'similar', when it was, in fact, referring to 'symilar' (the standalone program for the duplicate-code check) were renamed to 'symilar'.

    Closes #​9734

  • Remove old-style classes (Python 2) code and remove check for new-style class since everything is new-style in Python 3. Updated doc for exception checker to remove reference to new style class.

    Refs #​9925

v3.2.7

Compare Source

What's new in Pylint 3.2.7?

Release date: 2024-08-31

False Positives Fixed

  • Fixed a false positive unreachable for NoReturn coroutine functions.

    Closes #​9840

Other Bug Fixes

  • Fix crash in refactoring checker when calling a lambda bound as a method.

    Closes #​9865

  • Fix a crash in undefined-loop-variable when providing the iterable argument to enumerate().

    Closes #​9875

  • Fix to address indeterminacy of error message in case a module name is same as another in a separate namespace.

    Refs #​9883

v3.2.6

Compare Source

What's new in Pylint 3.2.6?

Release date: 2024-07-21

False Positives Fixed

  • Quiet false positives for unexpected-keyword-arg when pylint cannot determine which of two or more dynamically defined classes is being instantiated.

    Closes #​9672

  • Fix a false positive for missing-param-doc where a method which is decorated with typing.overload was expected to have a docstring specifying its parameters.

    Closes #​9739

  • Fix a regression that raised invalid-name on class attributes merely overriding invalid names from an ancestor.

    Closes #​9765

  • Treat assert_never() the same way when imported from typing_extensions.

    Closes #​9780

  • Fix a false positive for consider-using-min-max-builtin when the assignment target is an attribute.

    Refs #​9800

Other Bug Fixes

  • Fix an AssertionError arising from properties that return partial functions.

    Closes #​9214

  • Fix a crash when a subclass extends __slots__.

    Closes #​9814

v3.2.5

Compare Source

What's new in Pylint 3.2.5 ?

Release date: 2024-06-28

Other Bug Fixes

  • Fixed a false positive unreachable-code when using typing.Any as return type in python 3.8, the typing.NoReturn are not taken into account anymore for python 3.8 however.

    Closes #​9751

v3.2.4

Compare Source

What's new in Pylint 3.2.4?

Release date: 2024-06-26

False Positives Fixed

  • Prevent emitting possibly-used-before-assignment when relying on names only potentially not defined in conditional blocks guarded by functions annotated with typing.Never or typing.NoReturn.

    Closes #​9674

Other Bug Fixes

  • Fixed a crash when the lineno of a variable used as an annotation wasn't available for undefined-variable.

    Closes #​8866

  • Fixed a crash when the start value in an enumerate was non-constant and impossible to infer (like inenumerate(apples, start=int(random_apple_index)) for unnecessary-list-index-lookup.

    Closes #​9078

  • Fixed a crash in symilar when the -d or -i short option were not properly recognized. It's still impossible to do -d=1 (you must do -d 1).

    Closes #​9343

v3.2.3

Compare Source

False Positives Fixed

  • Classes with only an Ellipsis (...) in their body do not trigger 'multiple-statements' anymore if they are inlined (in accordance with black's 2024 style).

    Closes #​9398

  • Fix a false positive for redefined-outer-name when there is a name defined in an exception-handling block which shares the same name as a local variable that has been defined in a function body.

    Closes #​9671

  • Fix a false positive for use-yield-from when using the return value from the yield atom.

    Closes #​9696


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Renovate Bot

Merge request reports