Releases: pylint-dev/astroid
v2.6.0
-
Appveyor and travis are no longer used in the continuous integration
-
setuptools_scm
has been removed and replaced bytbump
in order to not
have hidden runtime dependencies to setuptools -
NodeNg
, the base node class, is now accessible fromastroid
or
astroid.nodes
as it can be used for typing. -
Update enum brain to improve inference of .name and .value dynamic class
attributesCloses pylint-dev/pylint#1932
Closes pylint-dev/pylint#2062
Closes pylint-dev/pylint#2306 -
Removed
Repr
,Exec
, andPrint
nodes as theast
nodes
they represented have been removed with the change to Python 3 -
Deprecate
Ellipsis
node. It will be removed with the next minor release.
Checkers that already support Python 3.8+ work without issues. It's only
necessary to remove all references to theastroid.Ellipsis
node.
This changes will make development of checkers easier as the resulting tree for Ellipsis
will no longer depend on the python version. Background: With Python 3.8 the
ast.Ellipsis
node, along withast.Str
,ast.Bytes
,ast.Num
,
andast.NamedConstant
were merged intoast.Constant
. -
Deprecated
Index
andExtSlice
nodes. They will be removed with the
next minor release. Both are now part of theSubscript
node.
Checkers that already support Python 3.9+ work without issues.
It's only necessary to remove all references to theastroid.Index
and
astroid.ExtSlice
nodes. This change will make development of checkers
easier as the resulting tree forast.Subscript
nodes will no longer
depend on the python version. Background: With Python 3.9ast.Index
andast.ExtSlice
were merged into theast.Subscript
node. -
Updated all Match nodes to be internally consistent.
-
Add
Pattern
base class.
Test for new release workflow without scm_setuptool
v2.6.0-dev0 Bump astroid to 2.6.0-dev0, update changelog
v2.5.8
-
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
-
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 ValueErrorCloses #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 inferredCloses #926
-
Add
kind
field toConst
nodes, matching the structure of the built-in ast Const.
The kind field is "u" if the literal is a u-prefixed string, andNone
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 notastroid-X.Y.Z
anymore. -
Add initial support for Pattern Matching in Python 3.10
v2.5.6
Semantic tag so scm_setuptools work.
astroid-2.5.6
- Fix retro-compatibility issues with old version of pylint
Closes pylint-dev/pylint#4402
astroid-2.5.5: Fix discord server invitation
- Fixes the discord link in the project urls of the package.
Closes pylint-dev/pylint#4393
astroid-2.5.4
-
The packaging is now done via setuptools exclusively.
doc
,tests
, andChangelog
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 withastroid.__version__
),
other meta-information are still accessible withimport 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
-
Takes into account the fact that subscript inferring for a ClassDef may involve class_getitem method
-
Reworks the
collections
andtyping
brain so that pylint`s acceptance tests are fine.Closes pylint-dev/pylint#4206
-
Use
inference_tip
fortyping.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
-
Detects
import numpy
as a validnumpy
import.Closes pylint-dev/pylint#3974
-
Iterate over
Keywords
when usingClassDef.get_children
Closes pylint-dev/pylint#3202