Releases: pylint-dev/astroid
v2.12.2
v2.12.1
-
Fix a crash when inferring old-style string formatting (
%
) using tuples. -
Fix a crash when
None
(or a value inferred asNone
) participates in a
**
expression. -
Fix a crash involving properties within
if
blocks.
v2.12.0
-
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()
. -
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 pylint-dev/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 pylint-dev/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 pylint-dev/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. -
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 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
DictUnpack
value forDict.getitem
calls.Closes #1195
-
Fix a crash involving properties within
try ... except
blocks.Closes pylint-dev/pylint#6592
-
Prevent creating
Instance
objects that proxy otherInstance
s when there is
ambiguity (or user error) in calling__new__(cls)
.
v2.11.7
-
Added support for
usedforsecurity
keyword tohashlib
constructors.Closes pylint-dev/pylint#6017
-
Updated the stdlib brain for
subprocess.Popen
to accommodate Python 3.9+.Closes pylint-dev/pylint#7092
v2.11.6
-
The Qt brain now correctly treats calling
.disconnect()
(with no
arguments) on a slot as valid. -
The argparse brain no longer incorrectly adds
"Namespace"
to the locals
of functions that return anargparse.Namespace
object.
v2.11.5
-
Fix crash while obtaining
object_type()
of anUnknown
node. -
Fix a bug where in attempting to handle the patching of
distutils
byvirtualenv
,
library submodules calleddistutils
(e.g.numpy.distutils
) were included also.
v2.11.4
-
Fix
col_offset
attribute for nodes involvingwith
onPyPy
. -
Fixed a crash involving two starred expressions: one inside a comprehension,
both inside a call. -
Made
FunctionDef.implicit_parameters
return 1 for methods by making
FunctionDef.is_bound
returnTrue
, as it does for class methods.Closes pylint-dev/pylint#6464
-
Fixed a crash when
_filter_stmts
encounters anEmptyNode
.Closes pylint-dev/pylint#6438
v2.11.3
-
Fixed an error in the Qt brain when building
instance_attrs
.Closes pylint-dev/pylint#6221
-
Fixed a crash in the
gi
brain.Closes pylint-dev/pylint#6371
v2.11.2
-
Avoided adding the name of a parent namedtuple to its child's locals.