github pylint-dev/pylint pylint-2.7.0

latest releases: v3.1.0, v3.0.4, v3.0.3...
3 years ago
  • Introduce DeprecationMixin for reusable deprecation checks.

    Closes #4049

  • Fix false positive for builtin-not-iterating when map receives iterable

    Closes #4078

  • Python 3.6+ is now required.

  • Fix false positive for builtin-not-iterating when zip receives iterable

  • Add nan-comparison check for NaN comparisons

  • Bug fix for empty-comment message line number.

    Closes #4009

  • Only emit bad-reversed-sequence on dictionaries if below py3.8

    Closes #3940

  • Handle class decorators applied to function.

    Closes #3882

  • Add check for empty comments

  • Fix minor documentation issue in contribute.rst

  • Enums are now required to be named in UPPER_CASE by invalid-name.

    Close #3834

  • Add missing checks for deprecated functions.

  • Postponed evaluation of annotations are now recognized by default if python version is above 3.10

    Closes #3992

  • Fix column metadata for anomalous backslash lints

  • Drop support for Python 3.5

  • Add support for pep585 with postponed evaluation

    Closes #3320

  • Check alternative union syntax - PEP 604

    Closes #4065

  • Fix multiple false positives with assignment expressions

    Closes #3347, #3953, #3865, #3275

  • Fix TypedDict inherit-non-class false-positive Python 3.9+

    Closes #1927

  • Fix issue with nested PEP 585 syntax

  • Fix issue with nested PEP 604 syntax

  • Fix a crash in undefined-variable caused by chained attributes in metaclass

    Close #3742

  • Fix false positive for not-async-context-manager when contextlib.asynccontextmanager is used

    Close #3862

  • Fix linter multiprocessing pool shutdown (triggered warnings when runned in parallels with other pytest plugins)

    Closes #3779

  • Fix a false-positive emission of no-self-use and unused-argument for methods
    of generic structural types (Protocol[T])

    Closes #3885

  • Fix bug that lead to duplicate messages when using --jobs 2 or more.

    Close #3584

  • Adds option check-protected-access-in-special-methods in the ClassChecker to activate/deactivate
    protected-access message emission for single underscore prefixed attribute in special methods.

    Close #3120

  • Fix vulnerable regular expressions in pyreverse

    Close #3811

  • inconsistent-return-statements message is now emitted if one of try/except statement
    is not returning explicitly while the other do.

    Closes #3468

  • Fix useless-super-delegation false positive when default keyword argument is a dictionnary.

    Close #3773

  • Fix a crash when a specified config file does not exist

  • Add support to ignored-argument-names in DocstringParameterChecker and adds useless-param-doc and useless-type-doc messages.

    Close #3800

  • Enforce docparams consistently when docstring is not present

    Close #2738

  • Fix duplicate-code false positive when lines only contain whitespace and non-alphanumeric characters (e.g. parentheses, bracket, comman, etc.)

  • Improve lint message for singleton-comparison with bools

  • Fix spell-checker crash on indented docstring lines that look like # comments

    Close #3786

  • Fix AttributeError in checkers/refactoring.py

  • Improve sphinx directives spelling filter

  • Fix a bug with postponed evaluation when using aliases for annotations.

    Close #3798

  • Fix minor documentation issues

  • Improve the performance of the line length check.

  • Removed incorrect deprecation of inspect.getfullargspec

  • Fix signature-differs false positive for functions with variadics

    Close #3737

  • Fix a crash in consider-using-enumerate when encountering range() without arguments

    Close #3735

  • len-as-conditions is now triggered only for classes that are inheriting directly from list, dict, or set and not implementing the __bool__ function, or from generators like range or list/dict/set comprehension. This should reduce the false positives for other classes, like pandas's DataFrame or numpy's Array.

    Close #1879

  • Fixes duplicate-errors not working with -j2+

    Close #3314

  • generated-members now matches the qualified name of members

    Close #2498

  • Add check for bool function to len-as-condition

  • Add simplifiable-condition check for extraneous constants in conditionals using and/or.

  • Add condition-evals-to-constant check for conditionals using and/or that evaluate to a constant.

    Close #3407

  • Changed setup.py to work with distlib

    Close #3555

  • New check: consider-using-generator

    This check warns when a comprehension is used inside an any or all function,
    since it is unnecessary and should be replaced by a generator instead.
    Using a generator would be less code and way faster.

    Close #3165

  • Add Github Actions to replace Travis and AppVeyor in the future

Don't miss a new pylint release

NewReleases is sending notifications on new releases.