Skip to content

v3.2.1

Compare
Choose a tag to compare
@jacobtylerwalls jacobtylerwalls released this 18 May 16:14
· 258 commits to main since this release

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