Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented May 19, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pylint (changelog) 3.2.0 -> 3.3.7 age adoption passing confidence

Release Notes

pylint-dev/pylint (pylint)

v3.3.7

Compare Source

What's new in Pylint 3.3.7?

Release date: 2025-05-04

False Positives Fixed

  • Comparisons between two calls to type() won't raise an unidiomatic-typecheck warning anymore, consistent with the behavior applied only for == previously.

    Closes #​10161

Other Bug Fixes

  • Fixed a crash when importing a class decorator that did not exist with the same name as a class attribute after the class definition.

    Closes #​10105

  • Fix a crash caused by malformed format strings when using .format with keyword arguments.

    Closes #​10282

  • Using a slice as a class decorator now raises a not-callable message instead of crashing. A lot of checks that dealt with decorators (too many to list) are now shortcut if the decorator can't immediately be inferred to a function or class definition.

    Closes #​10334

Other Changes

  • The algorithm used for no-member suggestions is now more efficient and cuts the
    calculation when the distance score is already above the threshold.

    Refs #​10277

v3.3.6

Compare Source

What's new in Pylint 3.3.6?

Release date: 2025-03-20

False Positives Fixed

  • Fix a false positive for used-before-assignment when an inner function's return type
    annotation is a class defined at module scope.

    Closes #​9391

v3.3.5

Compare Source

What's new in Pylint 3.3.5?

Release date: 2025-03-09

False Positives Fixed

  • Fix false positives for use-implicit-booleaness-not-comparison, use-implicit-booleaness-not-comparison-to-string
    and use-implicit-booleaness-not-comparison-to-zero when chained comparisons are checked.

    Closes #​10065

  • Fix a false positive for invalid-getnewargs-ex-returned when the tuple or dict has been assigned to a name.

    Closes #​10208

  • Remove getopt and optparse from the list of deprecated modules.

    Closes #​10211

Other Bug Fixes

  • Fixed conditional import x.y causing false positive possibly-used-before-assignment.

    Closes #​10081

  • Fix a crash when something besides a class is found in an except handler.

    Closes #​10106

  • Fixed raising invalid-name when using camelCase for private methods with two leading underscores.

    Closes #​10189

Other Changes

  • Upload release assets to PyPI via Trusted Publishing.

    Closes #​10256

v3.3.4

Compare Source

Other Bug Fixes

  • Fixes "skipped files" count calculation; the previous method was displaying an arbitrary number.

    Closes #​10073

  • Fixes a crash that occurred when pylint was run in a container on a host with cgroupsv2 and restrictions on CPU usage.

    Closes #​10103

  • Relaxed the requirements for isort so pylint can benefit from isort 6.

    Closes #​10203

v3.3.3

Compare Source

What's new in Pylint 3.3.3?

Release date: 2024-12-23

False Positives Fixed

  • Fix false positives for undefined-variable for classes using Python 3.12
    generic type syntax.

    Closes #​9335

  • Fix a false positive for use-implicit-booleaness-not-len. No lint should be emitted for
    generators (len is not defined for generators).

    Refs #​10100

Other Bug Fixes

  • Fix Unable to import 'collections.abc' (import-error) on Python 3.13.1.

    Closes #​10112

v3.3.2

Compare Source

False Positives Fixed

  • Fix a false positive for potential-index-error when an indexed iterable
    contains a starred element that evaluates to more than one item.

    Closes #​10076

Other Bug Fixes

  • Fixes the issue with --source-root option not working when the source files are in a subdirectory of the source root (e.g. when using a /src layout).

    Closes #​10026

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

v3.2.2

Compare Source

What's new in Pylint 3.2.2?

Release date: 2024-05-20

False Positives Fixed

  • Fix multiple false positives for generic class syntax added in Python 3.12 (PEP 695).

    Closes #​9406

  • Exclude context manager without cleanup from
    contextmanager-generator-missing-cleanup checks.

    Closes #​9625

v3.2.1

Compare Source

What's new in Pylint 3.2.1?

Release date: 2024-05-18

False Positives Fixed

  • Exclude if/else branches containing terminating functions (e.g. sys.exit())
    from possibly-used-before-assignment checks.

    Closes #​9627

  • Don't emit typevar-name-incorrect-variance warnings for PEP 695 style TypeVars.
    The variance is inferred automatically by the type checker.
    Adding _co or _contra suffix can help to reason about TypeVar.

    Refs #​9638

  • Fix a false positive for possibly-used-before-assignment when using
    typing.assert_never() (3.11+) to indicate exhaustiveness.

    Closes #​9643

Other Bug Fixes

  • Fix a false negative for --ignore-patterns when the directory to be linted is specified using a dot(.) and all files are ignored instead of only the files whose name begin with a dot.

    Closes #​9273

  • Restore "errors / warnings by module" section to report output (with -ry).

    Closes #​9145

  • trailing-comma-tuple should now be correctly emitted when it was disabled globally
    but enabled via local message control, after removal of an over-optimisation.

    Refs #​9608

  • Add --prefer-stubs=yes option to opt-in to the astroid 3.2 feature
    that prefers .pyi stubs over same-named .py files. This has the
    potential to reduce no-member errors but at the cost of more errors
    such as not-an-iterable from function bodies appearing as ....

    Defaults to no.

    Closes #​9626
    Closes #​9623

Internal Changes

  • Update astroid version to 3.2.1. This solves some reports of RecursionError
    and also makes the prefer .pyi stubs feature in astroid 3.2.0 opt-in
    with the aforementioned --prefer-stubs=y option.

    Refs #​9139


Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) in timezone America/Chicago, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

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

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


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added dependencies Upgrade or downgrade of project dependencies. python labels May 19, 2024
@codecov
Copy link

codecov bot commented May 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.22%. Comparing base (f5438da) to head (54568ea).
Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #719   +/-   ##
=======================================
  Coverage   96.22%   96.22%           
=======================================
  Files           7        7           
  Lines         450      450           
  Branches       76       76           
=======================================
  Hits          433      433           
  Misses          4        4           
  Partials       13       13           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 9ee8bde to 382a41b Compare May 20, 2024 12:01
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.2.1 chore(deps): update dependency pylint to v3.2.2 May 20, 2024
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 382a41b to 2311380 Compare June 6, 2024 15:10
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.2.2 chore(deps): update dependency pylint to v3.2.3 Jun 6, 2024
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 2311380 to 6c99d4d Compare June 15, 2024 01:26
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 6c99d4d to eafcdde Compare June 26, 2024 08:21
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.2.3 chore(deps): update dependency pylint to v3.2.4 Jun 26, 2024
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from eafcdde to 2c74601 Compare June 28, 2024 13:48
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.2.4 chore(deps): update dependency pylint to v3.2.5 Jun 28, 2024
@renovate renovate bot force-pushed the renovate/pylint-3.x branch 2 times, most recently from 634d3d1 to ac893c0 Compare June 30, 2024 17:12
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from ac893c0 to a75c61a Compare July 21, 2024 23:30
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.2.5 chore(deps): update dependency pylint to v3.2.6 Jul 21, 2024
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.2.6 chore(deps): update dependency pylint to v3.2.7 Aug 31, 2024
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from a75c61a to 2e5a4e8 Compare September 4, 2024 21:26
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 2e5a4e8 to 3165a6b Compare September 20, 2024 13:50
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.2.7 chore(deps): update dependency pylint to v3.3.0 Sep 20, 2024
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.3.0 chore(deps): update dependency pylint to v3.3.1 Sep 24, 2024
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 3165a6b to 136c4c0 Compare September 24, 2024 12:44
@renovate renovate bot force-pushed the renovate/pylint-3.x branch 8 times, most recently from 59ec9e4 to 33b9135 Compare October 13, 2024 18:06
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from dbfa0cf to 48951d7 Compare December 24, 2024 03:30
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.3.2 chore(deps): update dependency pylint to v3.3.3 Dec 24, 2024
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 48951d7 to 6434594 Compare January 28, 2025 18:20
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.3.3 chore(deps): update dependency pylint to v3.3.4 Jan 28, 2025
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 6434594 to 97618b9 Compare March 9, 2025 09:51
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.3.4 chore(deps): update dependency pylint to v3.3.5 Mar 9, 2025
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 97618b9 to 4e61f6d Compare March 20, 2025 12:41
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.3.5 chore(deps): update dependency pylint to v3.3.6 Mar 20, 2025
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 4e61f6d to 07b243b Compare May 4, 2025 17:59
@renovate renovate bot changed the title chore(deps): update dependency pylint to v3.3.6 chore(deps): update dependency pylint to v3.3.7 May 4, 2025
@renovate renovate bot force-pushed the renovate/pylint-3.x branch 16 times, most recently from 7381252 to 806c825 Compare June 6, 2025 04:20
@renovate renovate bot force-pushed the renovate/pylint-3.x branch from 806c825 to 54568ea Compare June 6, 2025 04:25
@ctalkington ctalkington merged commit 45dc80a into main Jun 6, 2025
14 of 15 checks passed
@ctalkington ctalkington deleted the renovate/pylint-3.x branch June 6, 2025 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Upgrade or downgrade of project dependencies. python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants