Skip to content

v2.10.0

Compare
Choose a tag to compare
@Pierre-Sassoulas Pierre-Sassoulas released this 27 Feb 21:54
· 1413 commits to main since this release
  • Fixed inference of self in binary operations in which self
    is part of a list or tuple.

    Closes pylint-dev/pylint#4826

  • Fixed builtin inference on property calls not calling the postinit of the new node, which
    resulted in instance arguments missing on these nodes.

  • Fixed a crash on Super.getattr when the attribute was previously uninferable due to a cache
    limit size. This limit can be hit when the inheritance pattern of a class (and therefore of the
    __init__ attribute) is very large.

    Closes pylint-dev/pylint#5679

  • Include names of keyword-only arguments in astroid.scoped_nodes.Lambda.argnames.

    Closes pylint-dev/pylint#5771

  • Fixed a crash inferring on a NewType named with an f-string.

    Closes pylint-dev/pylint#5770

  • Add support for attrs v21.3.0 which
    added a new attrs module alongside the existing attr.

    Closes #1330

  • Use the end_lineno attribute for the NodeNG.tolineno property
    when it is available.

    Closes #1350

  • Add is_dataclass attribute to ClassDef nodes.

  • Use sysconfig instead of distutils to determine the location of
    python stdlib files and packages.

    Related pull requests: #1322, #1323, #1324
    Closes #1282
    Ref #1103

  • Fixed crash with recursion error for inference of class attributes that referenced
    the class itself.

    Closes pylint-dev/pylint#5408

  • Fixed crash when trying to infer items() on the __dict__
    attribute of an imported module.

    Closes #1085

  • Add optional NodeNG.position attribute.
    Used for block nodes to highlight position of keyword(s) and name
    in cases where the AST doesn't provide good enough positional information.
    E.g. nodes.ClassDef, nodes.FunctionDef.

  • Fix ClassDef.fromlineno. For Python < 3.8 the lineno attribute includes decorators.
    fromlineno should return the line of the class statement itself.

  • Performance improvements. Only run expensive decorator functions when
    non-default Deprecation warnings are enabled, eg. during a Pytest run.

    Closes #1383