Releases: pylint-dev/astroid
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 theClassDefobject 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
AssertionErrorwhen 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
RecursionErrorininfer_call_result()for certain__call__methods.Closes pylint-dev/pylint#9139
-
Add
AstroidManager.prefer_stubsattribute to control the astroid 3.2.0 feature that prefers stubs.Refs pylint-dev/pylint#9626
Refs pylint-dev/pylint#9623
v3.2.0
-
.pyistub files are now preferred over.pyfiles 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_denylisttoAstroidManagerfor modules to be skipped during AST
generation. Modules in this list will cause anAstroidImportErrorto be raised
when an AST for them is requested. -
Make
astroid.interpreter._import.util.is_namespaceonly consider modules
using a loader set toNamespaceLoaderorNoneas namespaces.
This fixes a problem thatsix.movesbrain 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
namesarg to theImportconstructor and
theoparg to theBoolOpconstructor are now required, and thedocargs
to thePartialFunctionandPropertyconstructors have been removed (call
postinit(doc_node=...)instead.) - Following a deprecation announced in astroid 1.5.0, the alias
AstroidBuildingExceptionis removed in favor ofAstroidBuildingError. - Include modname in AST warnings. Useful for
invalid escape sequencewarnings
with Python 3.12. RecursionErroris now trapped and logged out asUserWarningduring astroid node transformations with instructions about raising the system recursion limit.
Closes pylint-dev/pylint#8842- Suppress
SyntaxWarningfor invalid escape sequences on Python 3.12 when parsing modules.
Closes pylint-dev/pylint#9322
v3.0.3
-
Fix type of
UnicodeDecodeError.objectinferred asstrinstead ofbytes.Closes pylint-dev/pylint#9342
-
Fix
no-memberfalse positives forargsandkwargsonParamSpecunder 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.Xconstructs like
Tuple[Optional[int], ...]. This was causing pylint to occasionally omit
messages likedeprecated-typing-alias.
Closes pylint-dev/pylint#9220
v3.0.1
-
Fix crashes linting code using PEP 695 (Python 3.12) generic type syntax.
Closes pylint-dev/pylint#9098