-
Fix signal has no
connect
member for PySide2 5.15.2+ and PySide6Closes #4040, #5378
-
astroid
now requires Python 3.7.2 to run. -
Avoid setting a Call as a base for classes created using
six.with_metaclass()
.Refs PyCQA/pylint#5935
-
Fix detection of builtins on
PyPy
3.9. -
Fix
re
brain on Python3.11
. The flags now come fromre._compile
. -
Build
nodes.Module
for frozen modules which have location information in their
ModuleSpec
.Closes #1512
-
The
astroid.mixins
module has been deprecated and marked for removal in 3.0.0.Closes #1633
-
Capture and log messages emitted by C extensions when importing them.
This prevents contaminating programmatic output, e.g. pylint's JSON reporter.Closes PyCQA/pylint#3518
-
Calls to
str.format
are now correctly inferred. -
__new__
and__init__
have been added to theObjectModel
and are now
inferred asBoundMethods
. -
Old style string formatting (using
%
operators) is now correctly inferred.Closes #151
-
Adds missing enums from
ssl
module.Closes PyCQA/pylint#3691
-
Remove dependency on
pkg_resources
fromsetuptools
.Closes #1103
-
Allowed
AstroidManager.clear_cache
to reload necessary brain plugins. -
Fixed incorrect inferences after rebuilding the builtins module, e.g. by calling
AstroidManager.clear_cache
.Closes #1559
-
On Python versions >= 3.9,
astroid
now understands subscripting
builtin classes such asenumerate
orstaticmethod
. -
Fixed inference of
Enums
when they are imported under an alias.Closes PyCQA/pylint#5776
-
Rename
ModuleSpec
->module_type
constructor parameter to match attribute
name and improve typing. Usetype
instead. -
ObjectModel
andClassModel
now know about their__new__
and__call__
attributes. -
Fixed pylint
not-callable
false positive with nested-tuple assignment in a for-loop.Refs PyCQA/pylint#5113
-
Instances of builtins created with
__new__(cls, value)
are now inferred. -
Infer the return value of the
.copy()
method ondict
,list
,set
,
andfrozenset
.Closes #1403
-
Fixed inference of elements of living container objects such as tuples and sets in the
sys
andssl
modules. -
Add
pathlib
brain to handlepathlib.PurePath.parents
inference.Closes PyCQA/pylint#5783
-
Avoid inferring the results of
**
operations involving values greater than1e5
to avoid expensive computation.Closes PyCQA/pylint#6745
-
Fix test for Python
3.11
. In some instanceserr.__traceback__
will
be uninferable now. -
Add brain for numpy core module
einsumfunc
.Closes PyCQA/pylint#5821
-
Infer the
DictUnpack
value forDict.getitem
calls.Closes #1195
-
Fix a crash involving properties within
try ... except
blocks.Closes PyCQA/pylint#6592
-
Prevent creating
Instance
objects that proxy otherInstance
s when there is
ambiguity (or user error) in calling__new__(cls)
.Refs PyCQA/pylint#7109