Skip to content

Releases: pylint-dev/astroid

v2.12.2

12 Jul 08:23
Compare
Choose a tag to compare
  • Fixed crash in modulo operations for divisions by zero.

    Closes #1700

  • Fixed crash with recursion limits during inference.

    Closes #1646

v2.12.1

10 Jul 06:33
Compare
Choose a tag to compare
  • Fix a crash when inferring old-style string formatting (%) using tuples.

  • Fix a crash when None (or a value inferred as None) participates in a
    ** expression.

  • Fix a crash involving properties within if blocks.

v2.12.0

09 Jul 15:12
Compare
Choose a tag to compare
  • Fix signal has no connect member for PySide2 5.15.2+ and PySide6

    Closes #4040, #5378

  • astroid now requires Python 3.7.2 to run.

  • Avoid setting a Call as a base for classes created using six.with_metaclass().

    Refs pylint-dev/pylint#5935

  • Fix detection of builtins on PyPy 3.9.

  • Fix re brain on Python 3.11. The flags now come from re._compile.

  • Build nodes.Module for frozen modules which have location information in their
    ModuleSpec.

    Closes #1512

  • The astroid.mixins module has been deprecated and marked for removal in 3.0.0.

    Closes #1633

  • Capture and log messages emitted by C extensions when importing them.
    This prevents contaminating programmatic output, e.g. pylint's JSON reporter.

    Closes pylint-dev/pylint#3518

  • Calls to str.format are now correctly inferred.

    Closes #104, Closes #1611

  • __new__ and __init__ have been added to the ObjectModel and are now
    inferred as BoundMethods.

  • Old style string formatting (using % operators) is now correctly inferred.

    Closes #151

  • Adds missing enums from ssl module.

    Closes pylint-dev/pylint#3691

  • Remove dependency on pkg_resources from setuptools.

    Closes #1103

  • Allowed AstroidManager.clear_cache to reload necessary brain plugins.

  • Fixed incorrect inferences after rebuilding the builtins module, e.g. by calling
    AstroidManager.clear_cache.

    Closes #1559

  • On Python versions >= 3.9, astroid now understands subscripting
    builtin classes such as enumerate or staticmethod.

  • Fixed inference of Enums when they are imported under an alias.

    Closes pylint-dev/pylint#5776

  • Rename ModuleSpec -> module_type constructor parameter to match attribute
    name and improve typing. Use type instead.

  • ObjectModel and ClassModel now know about their __new__ and __call__ attributes.

  • Fixed pylint not-callable false positive with nested-tuple assignment in a for-loop.

    Refs pylint-dev/pylint#5113

  • Instances of builtins created with __new__(cls, value) are now inferred.

  • Infer the return value of the .copy() method on dict, list, set,
    and frozenset.

    Closes #1403

  • Fixed inference of elements of living container objects such as tuples and sets in the
    sys and ssl modules.

  • Add pathlib brain to handle pathlib.PurePath.parents inference.

    Closes pylint-dev/pylint#5783

  • Avoid inferring the results of ** operations involving values greater than 1e5
    to avoid expensive computation.

    Closes pylint-dev/pylint#6745

  • Fix test for Python 3.11. In some instances err.__traceback__ will
    be uninferable now.

  • Add brain for numpy core module einsumfunc.

    Closes pylint-dev/pylint#5821

  • Infer the DictUnpack value for Dict.getitem calls.

    Closes #1195

  • Fix a crash involving properties within try ... except blocks.

    Closes pylint-dev/pylint#6592

  • Prevent creating Instance objects that proxy other Instances when there is
    ambiguity (or user error) in calling __new__(cls).

    Refs pylint-dev/pylint#7109

v2.11.7

09 Jul 14:50
Compare
Choose a tag to compare

v2.11.6

13 Jun 14:28
Compare
Choose a tag to compare
  • The Qt brain now correctly treats calling .disconnect() (with no
    arguments) on a slot as valid.

  • The argparse brain no longer incorrectly adds "Namespace" to the locals
    of functions that return an argparse.Namespace object.

    Refs pylint-dev/pylint#6895

v2.11.5

09 May 11:40
Compare
Choose a tag to compare
  • Fix crash while obtaining object_type() of an Unknown node.

    Refs pylint-dev/pylint#6539

  • Fix a bug where in attempting to handle the patching of distutils by virtualenv,
    library submodules called distutils (e.g. numpy.distutils) were included also.

    Refs pylint-dev/pylint#6497

v2.11.4

02 May 12:00
Compare
Choose a tag to compare
  • Fix col_offset attribute for nodes involving with on PyPy.

  • Fixed a crash involving two starred expressions: one inside a comprehension,
    both inside a call.

    Refs pylint-dev/pylint#6372

  • Made FunctionDef.implicit_parameters return 1 for methods by making
    FunctionDef.is_bound return True, as it does for class methods.

    Closes pylint-dev/pylint#6464

  • Fixed a crash when _filter_stmts encounters an EmptyNode.

    Closes pylint-dev/pylint#6438

v2.11.3

19 Apr 20:33
Compare
Choose a tag to compare

v2.11.2

26 Mar 19:44
Compare
Choose a tag to compare

v2.11.1

22 Mar 23:18
Compare
Choose a tag to compare
  • Promoted getattr() from astroid.scoped_nodes.FunctionDef to its parent
    astroid.scoped_nodes.Lambda.

  • Fixed crash on direct inference via nodes.FunctionDef._infer.

    Closes #817