Releases: pylint-dev/astroid
v3.3.1
v3.3.0
What's New in astroid 3.3.0?
Release date: 2024-08-04
-
Add support for Python 3.13.
-
Remove support for Python 3.8 (and constants
PY38
,PY39_PLUS
, andPYPY_7_3_11_PLUS
).Refs #2443
-
Add the
__annotations__
attribute to theClassDef
object model.Closes pylint-dev/pylint#7126
-
Implement inference for JoinedStr and FormattedValue
-
Add support for
ssl.OP_LEGACY_SERVER_CONNECT
(new in Python 3.12).Closes pylint-dev/pylint#9849
v3.2.4
v3.2.3
What's New in astroid 3.2.3?
Release date: 2024-07-11
- Fix
AssertionError
when inferring a property consisting of a partial function.
Closes pylint-dev/pylint#9214
v3.2.2
What's New in astroid 3.2.2?
Release date: 2024-05-20
-
Improve inference for generic classes using the PEP 695 syntax (Python 3.12).
v3.2.1
What's New in astroid 3.2.1?
Release date: 2024-05-16
-
Fix
RecursionError
ininfer_call_result()
for certain__call__
methods.Closes pylint-dev/pylint#9139
-
Add
AstroidManager.prefer_stubs
attribute to control the astroid 3.2.0 feature that prefers stubs.Refs pylint-dev/pylint#9626
Refs pylint-dev/pylint#9623
v3.2.0
-
.pyi
stub files are now preferred over.py
files when resolving imports, (except for numpy).Closes pylint-dev/pylint#9185
-
igetattr()
returns the last same-named function in a class (instead of
the first). This avoids false positives in pylint with@overload
.Closes #1015
Refs pylint-dev/pylint#4696 -
Adds
module_denylist
toAstroidManager
for modules to be skipped during AST
generation. Modules in this list will cause anAstroidImportError
to be raised
when an AST for them is requested. -
Make
astroid.interpreter._import.util.is_namespace
only consider modules
using a loader set toNamespaceLoader
orNone
as namespaces.
This fixes a problem thatsix.moves
brain was not effective ifsix.moves
was already imported.Closes #1107
v3.1.0
- Include PEP 695 (Python 3.12) generic type syntax nodes in
get_children()
,
allowing checkers to visit them.
Refs pylint-dev/pylint#9193 - Add
__main__
as a possible inferred value for__name__
to improve
control flow inference aroundif __name__ == "__main__":
guards.
Closes #2071 - Following a deprecation period, the
names
arg to theImport
constructor and
theop
arg to theBoolOp
constructor are now required, and thedoc
args
to thePartialFunction
andProperty
constructors have been removed (call
postinit(doc_node=...)
instead.) - Following a deprecation announced in astroid 1.5.0, the alias
AstroidBuildingException
is removed in favor ofAstroidBuildingError
. - Include modname in AST warnings. Useful for
invalid escape sequence
warnings
with Python 3.12. RecursionError
is now trapped and logged out asUserWarning
during astroid node transformations with instructions about raising the system recursion limit.
Closes pylint-dev/pylint#8842- Suppress
SyntaxWarning
for invalid escape sequences on Python 3.12 when parsing modules.
Closes pylint-dev/pylint#9322
v3.0.3
-
Fix type of
UnicodeDecodeError.object
inferred asstr
instead ofbytes
.Closes pylint-dev/pylint#9342
-
Fix
no-member
false positives forargs
andkwargs
onParamSpec
under Python 3.12.Closes pylint-dev/pylint#9401
v3.0.2
What's New in astroid 3.0.2?
Release date: 2023-12-12
- Avoid duplicate inference results for some uses of
typing.X
constructs like
Tuple[Optional[int], ...]
. This was causing pylint to occasionally omit
messages likedeprecated-typing-alias
.
Closes pylint-dev/pylint#9220