Releases: pylint-dev/astroid
v2.6.6
-
Added support to infer return type of
typing.cast()
-
Fix variable lookup's handling of exclusive statements
Closes pylint-dev/pylint#3711
-
Fix variable lookup's handling of function parameters
Closes #180
-
Fix variable lookup's handling of except clause variables
-
Fix handling of classes with duplicated bases with the same name
Closes #1088
v2.6.5
-
Fix a crash when there would be a 'TypeError object does not support
item assignment' in the code we parse.Closes pylint-dev/pylint#4439
-
Fix a crash when a AttributeInferenceError was raised when
failing to find the real name in infer_import_from.Closes pylint-dev/pylint#4692
v2.6.4
-
Fix a crash when a StopIteration was raised when inferring
a faulty function in a context manager.Closes pylint-dev/pylint#4723
v2.6.3
-
Added
If.is_sys_guard
andIf.is_typing_guard
helper methods -
Fix a bad inferenece type for yield values inside of a derived class.
Closes #1090
-
Fix a crash when the node is a 'Module' in the brain builtin inference
Closes pylint-dev/pylint#4671
-
Fix issues when inferring match variables
Closes pylint-dev/pylint#4685
-
Fix lookup for nested non-function scopes
-
Fix issue that
TypedDict
instance wasn't callable.Closes pylint-dev/pylint#4715
-
Add dependency on setuptools and a guard to prevent related exceptions.
v2.6.2
-
Fix a crash when the inference of the length of a node failed
Closes pylint-dev/pylint#4633
-
Fix unhandled StopIteration during inference, following the implementation
of PEP479 in python 3.7+Closes pylint-dev/pylint#4631
Closes #1080
v2.6.1
-
Fix issue with
TypedDict
for Python 3.9+Closes pylint-dev/pylint#4610
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