Skip to content

v2.9.0

Compare
Choose a tag to compare
@Pierre-Sassoulas Pierre-Sassoulas released this 29 Jun 19:15
  • Python 3.10 is now supported.

  • Add type annotations to pyreverse dot files

    Closes #1548

  • Fix missing support for detecting deprecated aliases to existing
    functions/methods.

    Closes #4618

  • astroid has been upgraded to 2.6.1

  • Added various deprecated functions/methods for python 3.10, 3.7, 3.6 and 3.3

  • Fix false positive useless-type-doc on ignored argument using pylint.extensions.docparams
    when a function was typed using pep484 but not inside the docstring.

    Closes #4117
    Closes #4593

  • setuptools_scm has been removed and replaced by tbump in order to not
    have hidden runtime dependencies to setuptools

  • Fix a crash when a test function is decorated with @pytest.fixture and astroid can't
    infer the name of the decorator when using open without with.

    Closes #4612

  • Added deprecated-decorator: Emitted when deprecated decorator is used.

    Closes #4429

  • Added ignore-paths behaviour. Defined regex patterns are matched against full file path.

    Close #2541

  • Fix false negative for consider-using-with if calls like open() were used outside of assignment expressions.

  • The warning for arguments-differ now signals explicitly the difference it detected
    by naming the argument or arguments that changed and the type of change that occurred.

  • Suppress consider-using-with inside context managers.

    Closes #4430

  • Added --fail-on option to return non-zero exit codes regardless of --fail-under value.

  • numversion tuple contains integers again to fix multiple pylint's plugins that relied on it

    Closes #4420

  • Fix false-positive too-many-ancestors when inheriting from builtin classes,
    especially from the collections.abc module

    Closes #4166
    Closes #4415

  • Stdlib deprecated modules check is moved to stdlib checker. New deprecated
    modules are added.

  • Fix raising false-positive no-member on abstract properties

  • Created new error message called arguments-renamed which identifies any changes at the parameter
    names of overridden functions.

    Closes #3536

  • New checker consider-using-dict-items. Emitted when iterating over dictionary keys and then
    indexing the same dictionary with the key within loop body.

    Closes #3389

  • Don't emit import-error if import guarded behind if sys.version_info >= (x, x)

  • Fix incompatibility with Python 3.6.0 caused by typing.Counter and typing.NoReturn usage

    Closes #4412

  • New checker use-maxsplit-arg. Emitted either when accessing only the first or last
    element of str.split().

    Closes #4440

  • Add ignore_signatures to duplicate code checker

    Closes #3619

  • Fix documentation errors in "Block disables" paragraph of User Guide.

  • New checker unnecessary-dict-index-lookup. Emitted when iterating over dictionary items
    (key-value pairs) and accessing the value by index lookup.

    Closes #4470

  • New checkerconsider-using-from-import. Emitted when a submodule/member of a package is imported and aliased
    with the same name.

    Closes #2309

  • Allow comma-separated list in output-format and separate output files for
    each specified format.

    Closes #1798

  • Make using-constant-test detect constant tests consisting of list literals like [] and
    [1, 2, 3].

  • Improved error message of unnecessary-comprehension checker by providing code suggestion.

    Closes #4499

  • New checker unused-private-member. Emitted when a private member (i.e., starts with __) of a class
    is defined but not used.

    Closes #4483

  • Fix false negative of consider-using-enumerate when iterating over an attribute.

    Closes #3657

  • New checker invalid-class-object. Emitted when a non-class is assigned to a __class__ attribute.

    Closes #585

  • Fix a crash when a plugin from the configuration could not be loaded and raise an error
    'bad-plugin-value' instead

    Closes #4555

  • Added handling of floating point values when parsing configuration from pyproject.toml

    Closes #4518

  • invalid-length-returned, now also works when nothing at all is returned
    following an upgrade in astroid.

  • logging-format-interpolation and logging-not-lazy, now works on logger
    class created from renamed logging import following an upgrade in astroid.

  • Fix false-positive no-member with generic base class

    Closes pylint-dev/astroid#942

  • Fix assigning-non-slot false-positive with base that inherits from typing.Generic

    Closes #4509
    Closes pylint-dev/astroid#999

  • New checker invalid-all-format. Emitted when __all__ has an invalid format,
    i.e. isn't a tuple or list.

  • Fix false positive unused-variable and undefined-variable with
    Pattern Matching in Python 3.10

  • New checker await-outside-async. Emitted when await is used outside an async function.

  • Clarify documentation for typing extension.

    Closes #4545

  • Add new extension CodeStyleChecker. It includes checkers that can improve code
    consistency. As such they don't necessarily provide a performance benefit
    and are often times opinionated.

  • New checker consider-using-tuple. Emitted when an in-place defined
    list or set can be replaced by a tuple.

  • New checker consider-using-namedtuple-or-dataclass. Emitted when dictionary values
    can be replaced by namedtuples or dataclass instances.

  • Fix error that occurred when using slice as subscript for dict.

  • Reduce false-positives around inference of .value and .name
    properties on Enum subclasses, following an upgrade in astroid

    Closes #1932
    Closes #2062

  • Fix issue with cached_property that caused invalid-overridden-method error
    when overriding a property.

    Closes #4023

  • Fix unused-import false positive for imported modules referenced in
    attribute lookups in type comments.

    Closes #4603