Skip to content

Releases: pylint-dev/astroid

v2.5.8

07 Jun 18:28
1342591
Compare
Choose a tag to compare
  • Improve support for Pattern Matching

  • Add lineno and col_offset for Keyword nodes and Python 3.9+

  • Add global inference cache to speed up inference of long statement blocks

  • Add a limit to the total number of nodes inferred indirectly as a result
    of inferring some node

v2.5.7

29 May 20:34
Compare
Choose a tag to compare
  • Fix six.with_metaclass transformation so it doesn't break user defined transformations.

  • Fix detection of relative imports.
    Closes #930
    Closes pylint-dev/pylint#4186

  • Fix inference of instance attributes defined in base classes

    Closes #932

  • Update infer_named_tuple brain to reject namedtuple definitions
    that would raise ValueError

    Closes #920

  • Do not set instance attributes on builtin object()

Closes #945
Closes pylint-dev/pylint#4232
Closes pylint-dev/pylint#4221
Closes pylint-dev/pylint#3970
Closes pylint-dev/pylint#3595

  • Fix some spurious cycles detected in context.path leading to more cases
    that can now be inferred

    Closes #926

  • Add kind field to Const nodes, matching the structure of the built-in ast Const.
    The kind field is "u" if the literal is a u-prefixed string, and None otherwise.

    Closes #898

  • Fix property inference in class contexts for properties defined on the metaclass

    Closes #940

  • Update enum brain to fix definition of members for subclass-defined Enums

    Closes pylint-dev/pylint#3535
    Closes pylint-dev/pylint#4358

  • Update random brain to fix a crash with inference of some sequence elements

    Closes #922

  • Fix inference of attributes defined in a base class that is an inner class

    Closes #904

  • Allow inferring a return value of None for non-abstract empty functions and
    functions with no return statements (implicitly returning None)

    Closes #485

  • scm_setuptools has been added to the packaging.

  • Astroid's tags are now the standard form vX.Y.Z and not astroid-X.Y.Z anymore.

  • Add initial support for Pattern Matching in Python 3.10

v2.5.6

27 Apr 19:02
Compare
Choose a tag to compare

Semantic tag so scm_setuptools work.

astroid-2.5.6

27 Apr 19:01
Compare
Choose a tag to compare

astroid-2.5.5: Fix discord server invitation

24 Apr 18:56
Compare
Choose a tag to compare

astroid-2.5.4

24 Apr 13:12
Compare
Choose a tag to compare
  • The packaging is now done via setuptools exclusively. doc, tests, and Changelog are
    not packaged anymore - reducing the size of the package greatly.

  • Debian packaging is now (officially) done in https://salsa.debian.org/python-team/packages/astroid.

  • __pkginfo__ now only contain __version__ (also accessible with astroid.__version__),
    other meta-information are still accessible with import importlib;metadata.metadata('astroid').

  • Added inference tip for typing.Tuple alias

  • Fix crash when evaluating typing.NamedTuple

    Closes pylint-dev/pylint#4383

  • COPYING was removed in favor of COPYING.LESSER and the latter was renamed to LICENSE to make more apparent
    that the code is licensed under LGPLv2 or later.

  • Moved from appveyor and travis to Github Actions for continuous integration.

astroid-2.5.3

18 Apr 19:18
Compare
Choose a tag to compare
  • Takes into account the fact that subscript inferring for a ClassDef may involve class_getitem method

  • Reworks the collections and typing brain so that pylint`s acceptance tests are fine.

    Closes pylint-dev/pylint#4206

  • Use inference_tip for typing.TypedDict brain.

  • Fix mro for classes that inherit from typing.Generic

  • Add inference tip for typing.Generic and typing.Annotated with __class_getitem__

    Closes pylint-dev/pylint#2822

astroid-2.5.2

18 Apr 19:18
Compare
Choose a tag to compare

astroid-2.5.1

18 Apr 19:19
Compare
Choose a tag to compare

astroid 2.5

15 Feb 20:08
0f97f79
Compare
Choose a tag to compare
  • Adds attr_fset in the PropertyModel class.

    Fixes pylint-dev/pylint#3480

  • Remove support for Python 3.5.

  • Remove the runtime dependency on six. The six brain remains in
    astroid.

    Fixes #863

  • Enrich the brain_collection module so that __class_getitem__ method is added to deque for
    python version above 3.9.

  • The context.path is now a dict and the context.push method
    returns True if the node has been visited a certain amount of times.

    Close #669

  • Adds a brain for type object so that it is possible to write type[int] in annotation.

    Fixes pylint-dev/pylint#4001

  • Add __class_getitem__ method to subprocess.Popen brain under Python 3.9 so that it is seen as subscriptable by pylint.

    Fixes pylint-dev/pylint#4034

  • Adds degrees, radians, which are numpy ufunc functions, in the numpy brain. Adds random function in the numpy.random brain.

    Fixes pylint-dev/pylint#3856

  • Fix deprecated importlib methods

    Closes #703

  • Fix a crash in inference caused by Uninferable container elements

    Close #866

  • Add python 3.9 support.

  • The flat attribute of numpy.ndarray is now inferred as an numpy.ndarray itself.
    It should be a numpy.flatiter instance, but this class is not yet available in the numpy brain.

    Fixes pylint-dev/pylint#3640

  • Fix a bug for dunder methods inference of function objects

    Fixes #819

  • Fixes a bug in the signature of the ndarray.__or__ method,
    in the brain_numpy_ndarray.py module.

    Fixes #815

  • Fixes a to-list cast bug in starred_assigned_stmts method,
    in the ``protocols.py` module.

  • Added a brain for hypothesis.strategies.composite

  • The transpose of a numpy.ndarray is also a numpy.ndarray

    Fixes pylint-dev/pylint#3387

  • Added a brain for sqlalchemy.orm.session

  • Separate string and bytes classes patching

    Fixes pylint-dev/pylint#3599

  • Prevent recursion error for self referential length calls

    Close #777

  • Added missing methods to the brain for mechanize, to fix pylint false positives

    Close #793

  • Added more supported parameters to subprocess.check_output

  • Fix recursion errors with pandas

    Fixes pylint-dev/pylint#2843
    Fixes pylint-dev/pylint#2811

  • Added exception inference for UnicodeDecodeError

    Close pylint-dev/pylint#3639

  • FunctionDef.is_generator properly handles yield nodes in If tests

    Close pylint-dev/pylint#3583

  • Fixed exception-chaining error messages.

  • Fix failure to infer base class type with multiple inheritance and qualified names

    Fixes #843

  • Fix interpretation of six.with_metaclass class definitions.

    Fixes #713

  • Reduce memory usage of astroid's module cache.

  • Remove dependency on imp.

    Close #594
    Close #681

  • Do not crash when encountering starred assignments in enums.

    Close #835

  • Fix a crash in functools.partial inference when the arguments cannot be determined

    Close pylint-dev/pylint#3776

  • Fix a crash caused by a lookup of a monkey-patched method

    Close pylint-dev/pylint#3686

  • is_generator correctly considers Yield nodes in AugAssign nodes

    This fixes a false positive with the assignment-from-no-return pylint check.

    Close pylint-dev/pylint#3904

  • Corrected the parent of function type comment nodes.

    These nodes used to be parented to their original ast.FunctionDef parent
    but are now correctly parented to their astroid.FunctionDef parent.

    Close #851