Releases: pylint-dev/astroid
v4.0.1
What's New in astroid 4.0.1?
Release date: 2025-10-11
-
Suppress
SyntaxWarningfor invalid escape sequences and return in finally on
Python 3.14 when parsing modules. -
Assign
ImportandImportFromnodes to module locals if used withglobal.Closes pylint-dev/pylint#10632
v4.0.0
What's New in astroid 4.0.0?
Release date: 2025-10-05
-
Support constraints from ternary expressions in inference.
Closes pylint-dev/pylint#9729
-
Handle deprecated
bool(NotImplemented)cast in const nodes. -
Add support for boolean truthiness constraints (
x,not x) in inference.Closes pylint-dev/pylint#9515
-
Fix false positive
invalid-nameonattrsclasses withClassVarannotated variables.Closes pylint-dev/pylint#10525
-
Prevent crash when parsing deeply nested parentheses causing MemoryError in python's built-in ast.
Closes #2643
-
Fix crash when inferring namedtuple with invalid field name looking like f-string formatting.
Closes #2519
-
Fix false positive no-member in except * handler.
Closes pylint-dev/pylint#9056
-
Fix crash when comparing invalid dict literal
Closes #2522
-
Removed internal functions
infer_numpy_member,name_looks_like_numpy_member, and
attribute_looks_like_numpy_memberfromastroid.brain.brain_numpy_utils. -
To alleviate circular imports, the
managerargument toAstroidBuilder()is now required. -
Constants now have a parent of
nodes.SYNTHETIC_ROOT. -
Fix crashes with large positive and negative list multipliers.
-
Fix precedence of
patharg inmodpath_from_file_with_callbackto be higher thansys.path -
Following a deprecation period, the
futureargument was removed fromstatement()andframe(). -
Improve consistency of
JoinedStrinference by not raisingInferenceErrorand
returning eitherUninferableor a fully resolvedConst.Closes #2621
-
Fix crash when typing._alias() call is missing arguments.
Closes #2513
-
Remove support for Python 3.9 (and constant
PY310_PLUS). -
Include subclasses of standard property classes as
propertydecoratorsCloses #10377
-
Modify
astroid.basesandtests.test_nodesto reflect thatenum.propertywas added in Python 3.11, not 3.10 -
Fix incorrect result in
_get_relative_base_pathwhen the target directory name starts with the base pathCloses #2608
-
The brain for nose was dropped. nose has been deprecated for 10 years and the brain required some maintenance.
Refs #2765
-
Fix a crash when the root of a node is not a module but is unknown.
Closes #2672
-
Add basic support for
ast.TemplateStrandast.Interpolationadded in Python 3.14.Refs #2789
-
Add support for type parameter defaults added in Python 3.13.
-
Improve
as_string()representation forTypeVar,ParamSpecandTypeVarTuplenodes, as well as
type parameter inClassDef,FuncDefandTypeAliasnodes (PEP 695). -
Astroid now correctly supports the
exceptionsattribute ofExceptionGroup.Closes pylint-dev/pylint#8985
Closes pylint-dev/pylint#10558 -
Deprecate importing node classes from
astroiddirectly. This will be removed in v5.
It's recommended to import them fromastroid.nodesinstead.Refs #2837
v4.0.0rc0
Bump astroid to 4.0.0rc0
v4.0.0b3
v4.0.0b3
v4.0.0b2
v4.0.0b1
Bump astroid to 4.0.0b1, update changelog
v4.0.0b0
-
Removed internal functions
infer_numpy_member,name_looks_like_numpy_member, and
attribute_looks_like_numpy_memberfromastroid.brain.brain_numpy_utils. -
To alleviate circular imports, the
managerargument toAstroidBuilder()is now required. -
Constants now have a parent of
nodes.SYNTHETIC_ROOT. -
Fix crashes with large positive and negative list multipliers.
-
Fix precedence of
patharg inmodpath_from_file_with_callbackto be higher thansys.path -
Following a deprecation period, the
futureargument was removed fromstatement()andframe(). -
Improve consistency of
JoinedStrinference by not raisingInferenceErrorand
returning eitherUninferableor a fully resolvedConst.Closes #2621
-
Fix crash when typing._alias() call is missing arguments.
Closes #2513
-
Remove support for Python 3.9 (and constant
PY310_PLUS). -
Include subclasses of standard property classes as
propertydecoratorsCloses pylint-dev/pylint#10377
-
Modify
astroid.basesandtests.test_nodesto reflect thatenum.propertywas added in Python 3.11, not 3.10 -
Fix incorrect result in
_get_relative_base_pathwhen the target directory name starts with the base pathCloses #2608
-
The brain for nose was dropped. nose has been deprecated for 10 years and the brain required some maintenance.
Refs #2765
-
Fix a crash when the root of a node is not a module but is unknown.
Closes #2672
v3.3.11
v3.3.10
-
Avoid importing submodules sharing names with standard library modules.
Closes #2684
-
Fix bug where
pylint code.custom_extensionwould analyzecode.pyorcode.pyiinstead if they existed.Closes pylint-dev/pylint#3631
v3.3.9
What's New in astroid 3.3.9?
Release date: 2025-03-09
-
Fix crash when
sys.modulescontains lazy loader objects during checking.Closes #2686
Closes pylint-dev/pylint#8589 -
Upload release assets to PyPI via Trusted Publishing.