Skip to content

Releases: pylint-dev/astroid

v2.12.6

05 Sep 17:39
Compare
Choose a tag to compare

v2.12.5

29 Aug 07:15
Compare
Choose a tag to compare
  • Prevent first-party imports from being resolved to site-packages.

    Refs pylint-dev/pylint#7365

  • Fix astroid.interpreter._import.util.is_namespace() incorrectly
    returning True for frozen stdlib modules on PyPy.

    Closes #1755

v2.12.4

25 Aug 10:17
Compare
Choose a tag to compare
  • Fixed a crash involving non-standard type comments such as # type: # any comment.

    Refs pylint-dev/pylint#7347

v2.12.3

23 Aug 11:17
Compare
Choose a tag to compare
  • Fixed crash in ExplicitNamespacePackageFinder involving _SixMetaPathImporter.

    Closes #1708

  • Fix unhandled FutureWarning from pandas import in cython modules

    Closes #1717

  • Fix false positive with inference of type-annotated Enum classes.

    Refs pylint-dev/pylint#7265

  • Fix crash with inference of type-annotated Enum classes where the member has no value.

  • Fix a crash inferring invalid old-style string formatting with %.

    Closes #1737

  • Fix false positive with inference of http module when iterating HTTPStatus.

    Refs pylint-dev/pylint#7307

  • Bumped minimum requirement of wrapt to 1.14 on Python 3.11.

  • Don't add dataclass fields annotated with KW_ONLY to the list of fields.

    Refs pylint-dev/pylint#5767

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