v2.12.0
-
Fix signal has no
connectmember for PySide2 5.15.2+ and PySide6Closes #4040, #5378
-
astroidnow requires Python 3.7.2 to run. -
Avoid setting a Call as a base for classes created using
six.with_metaclass(). -
Fix detection of builtins on
PyPy3.9. -
Fix
rebrain on Python3.11. The flags now come fromre._compile. -
Build
nodes.Modulefor frozen modules which have location information in their
ModuleSpec.Closes #1512
-
The
astroid.mixinsmodule 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 pylint-dev/pylint#3518
-
Calls to
str.formatare now correctly inferred. -
__new__and__init__have been added to theObjectModeland are now
inferred asBoundMethods. -
Old style string formatting (using
%operators) is now correctly inferred.Closes #151
-
Adds missing enums from
sslmodule.Closes pylint-dev/pylint#3691
-
Remove dependency on
pkg_resourcesfromsetuptools.Closes #1103
-
Allowed
AstroidManager.clear_cacheto 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,
astroidnow understands subscripting
builtin classes such asenumerateorstaticmethod. -
Fixed inference of
Enumswhen they are imported under an alias.Closes pylint-dev/pylint#5776
-
Rename
ModuleSpec->module_typeconstructor parameter to match attribute
name and improve typing. Usetypeinstead. -
ObjectModelandClassModelnow know about their__new__and__call__attributes. -
Fixed pylint
not-callablefalse positive with nested-tuple assignment in a for-loop. -
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
sysandsslmodules. -
Add
pathlibbrain to handlepathlib.PurePath.parentsinference.Closes pylint-dev/pylint#5783
-
Avoid inferring the results of
**operations involving values greater than1e5
to avoid expensive computation.Closes pylint-dev/pylint#6745
-
Fix test for Python
3.11. In some instanceserr.__traceback__will
be uninferable now. -
Add brain for numpy core module
einsumfunc.Closes pylint-dev/pylint#5821
-
Infer the
DictUnpackvalue forDict.getitemcalls.Closes #1195
-
Fix a crash involving properties within
try ... exceptblocks.Closes pylint-dev/pylint#6592
-
Prevent creating
Instanceobjects that proxy otherInstances when there is
ambiguity (or user error) in calling__new__(cls).