Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency astroid to v3 #436

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 30, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
astroid ==2.5.6 -> ==3.0.2 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

pylint-dev/astroid (astroid)

v3.0.2

Compare Source

============================
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 like deprecated-typing-alias.

    Closes pylint-dev/pylint#9220

v3.0.1

Compare Source

============================
Release date: 2023-10-15

v3.0.0

Compare Source

=============================
Release date: 2023-09-26

  • Add support for Python 3.12, including PEP 695 type parameter syntax.

    Closes #​2201

  • Remove support for Python 3.7.

    Refs #​2137

  • Use the global inference cache when inferring, even without an explicit
    InferenceContext. This is a significant performance improvement given how
    often methods default to None for the context argument. (Linting astroid
    itself now takes ~5% less time on Python 3.12; other projects requiring more
    complex inference calculations will see greater speedups.)

    Refs #​529

  • Following a deprecation period starting in astroid 2.7.0, the astroid.node_classes
    and astroid.scoped_nodes modules have been removed in favor of astroid.nodes.node_classes
    and astroid.nodes.scoped_nodes.

    Closes #​1072

  • Following a deprecation period starting in astroid 2.12.0, the astroid.mixins module
    has been removed in favor of astroid.nodes._base_nodes (private).

    Refs #​1633

  • Return all existing arguments when calling Arguments.arguments(). This also means find_argname will now
    use the whole list of arguments for its search.

    Closes #​2213

  • Exclude class attributes from the __members__ container of an Enum class when they are
    nodes.AnnAssign nodes with no assigned value.

    Refs pylint-dev/pylint#7402

  • Remove @cached and @cachedproperty decorator (just use @cached_property from the stdlib).

    Closes #​1780
    Refs #​2140

  • Remove the inference module. Node inference methods are now in the module
    defining the node, rather than being associated to the node afterward.

    Closes #​679

  • Move LookupMixIn to astroid.nodes._base_nodes and make it private.

  • Remove the shims for OperationError, BinaryOperationError, and UnaryOperationError
    in exceptions. They were moved to util in astroid 1.5.0.

  • Move safe_infer() from helpers to util. This avoids some circular imports.

  • Reduce file system access in ast_from_file().

  • Reduce time to import astroid by delaying astroid_bootstrapping() until
    the first instantiation of AstroidBuilder.

    Closes #​2161

  • Make igetattr() idempotent. This addresses some reports of varying results
    when running pylint with --jobs.

    Closes pylint-dev/pylint#4356
    Refs #​7

  • Fix incorrect cache keys for inference results, thereby correctly inferring types
    for calls instantiating types dynamically.

    Closes #​1828
    Closes pylint-dev/pylint#7464
    Closes pylint-dev/pylint#8074

  • Fix interrupted InferenceContext call chains, thereby addressing performance
    problems when linting sqlalchemy.

    Closes pylint-dev/pylint#8150

  • nodes.FunctionDef no longer inherits from nodes.Lambda.
    This is a breaking change but considered a bug fix as the nodes did not share the same
    API and were not interchangeable.

    We have tried to minimize the amount of breaking changes caused by this change
    but some are unavoidable.

  • infer_call_result now shares the same interface across all implementations. Namely:

    def infer_call_result(
                  self,
                  caller: SuccessfulInferenceResult | None,
                  context: InferenceContext | None = None,
              ) -> Iterator[InferenceResult]:

    This is a breaking change for nodes.FunctionDef where previously caller had a default of
    None. Passing None again will not create a behaviour change.
    The breaking change allows us to better type and re-use the method within astroid.

  • Improved signature of the __init__ and __postinit__ methods of most nodes.
    This includes making lineno, col_offset, end_lineno, end_col_offset and parent
    required arguments for nodes.NodeNG and its subclasses.
    For most other nodes, arguments of their __postinit__ methods have been made required to better
    represent how they would normally be constructed by the standard library ast module.
    The following nodes were changed or updated:

    • nodes.AnnAssign
    • nodes.Arguments
    • nodes.Assign
    • nodes.AssignAttr
    • nodes.AssignName
    • nodes.Attribute
    • nodes.AugAssign
    • nodes.Await
    • nodes.BaseContainer
    • nodes.BinOp
    • nodes.Call
    • nodes.ClassDef
    • nodes.Compare
    • nodes.Comprehension
    • nodes.Decorators
    • nodes.Delete
    • nodes.DelAttr
    • nodes.DelName
    • nodes.Dict
    • nodes.DictComp
    • nodes.ExceptHandler
    • nodes.Expr
    • nodes.For
    • nodes.FunctionDef
    • nodes.GeneratorExp
    • nodes.If
    • nodes.IfExp
    • nodes.Keyword
    • nodes.Lambda
    • nodes.ListComp
    • nodes.Module
    • nodes.Name
    • nodes.NodeNG
    • nodes.Raise
    • nodes.Return
    • nodes.SetComp
    • nodes.Slice
    • nodes.Starred
    • objects.Super, we also added the call parameter to its __init__ method.
    • nodes.Subscript
    • nodes.UnaryOp
    • nodes.While
    • nodes.Yield

    These changes involve breaking changes to their API but should be considered bug fixes. We
    now make arguments required when they are instead of always providing defaults.

  • nodes.If.self.is_orelse has been removed as it was never set correctly and therefore
    provided a false value.

  • Remove dependency on wrapt.

  • Remove dependency on lazy_object_proxy. This includes the removal
    of the associated lazy_import, lazy_descriptor and proxy_alias utility functions.

  • CallSite._unpack_args and CallSite._unpack_keywords now use safe_infer() for
    better inference and fewer false positives.

    Closes pylint-dev/pylint#8544

  • Add attr.Factory to the recognized class attributes for classes decorated with attrs.

    Closes pylint-dev/pylint#4341

  • infer_property() now observes the same property-specific workaround as infer_functiondef.

    Refs #​1490

  • Remove unused and / or deprecated constants:

    • astroid.bases.BOOL_SPECIAL_METHOD
    • astroid.bases.BUILTINS
    • astroid.const.BUILTINS
    • astroid.const.PY38_PLUS
    • astroid.const.Load
    • astroid.const.Store
    • astroid.const.Del

    Refs #​2141

  • frame() raises ParentMissingError and statement() raises StatementMissing for
    missing parents regardless of the value of the future argument (which gave this behavior
    already).

    The future argument to each method is deprecated and will be removed in astroid 4.0.

    Refs #​1217

  • Remove deprecated Ellipsis, ExtSlice, Index nodes.

    Refs #​2152

  • Remove deprecated is_sys_guard and is_typing_guard methods.

    Refs #​2153

  • Remove deprecated doc attribute for Module, ClassDef, and FunctionDef.
    Use the doc_node attribute instead.

    Refs #​2154

  • Add new nodes.Try to better match Python AST. Replaces the TryExcept
    and TryFinally nodes which have been removed.

  • Publicize NodeNG.repr_name() to facilitate finding a node's nice name.

    Refs pylint-dev/pylint#8598

  • Fix false positives for no-member and invalid-name when using the _name_, _value_ and _ignore_ sunders in Enums.

    Closes pylint-dev/pylint#9015

v2.15.8

Compare Source

=============================
Release date: 2023-09-26

v2.15.7

Compare Source

=============================
Release date: 2023-09-23

  • Fix a crash when inferring a typing.TypeVar call.

    Closes pylint-dev/pylint#8802

  • Infer user-defined enum classes by checking if the class is a subtype of enum.Enum.

    Closes pylint-dev/pylint#8897

  • Fix inference of functions with @functools.lru_cache decorators without
    parentheses.

    Closes pylint-dev/pylint#8868

  • Make sys.argv uninferable because it never is. (It's impossible to infer
    the value it will have outside of static analysis where it's our own value.)

    Refs pylint-dev/pylint#7710

v2.15.6

Compare Source

=============================
Release date: 2023-07-08

v2.15.5

Compare Source

=============================
Release date: 2023-05-14

v2.15.4

Compare Source

=============================
Release date: 2023-04-24

  • Add visitor function for TryStar to AsStringVisitor and
    add TryStar to astroid.nodes.ALL_NODE_CLASSES.

    Refs #​2142

v2.15.3

Compare Source

=============================
Release date: 2023-04-16

  • Fix infer_call_result() crash on methods called with_metaclass().

    Closes #​1735

  • Suppress UserWarning when finding module specs.

    Closes pylint-dev/pylint#7906

v2.15.2

Compare Source

=============================
Release date: 2023-04-03

v2.15.1

Compare Source

=============================
Release date: 2023-03-26

v2.15.0

Compare Source

=============================
Release date: 2023-03-06

  • astroid now supports TryStar nodes from python 3.11 and should be fully compatible with python 3.11.

    Closes #​2028

  • Formattedvalue.postinit is now keyword only. This is to allow correct typing of the
    Formattedvalue class.

    Refs #​1516

  • Astroid now supports custom import hooks.

    Refs pylint-dev/pylint#7306

  • astroid now infers return values from match cases.

    Refs pylint-dev/pylint#5288

  • AstroidManager.clear_cache now also clears the inference context cache.

    Refs #​1780

  • max_inferable_values can now be set on AstroidManager instances, e.g. astroid.MANAGER
    besides just the AstroidManager class itself.

    Closes #​2280

  • Astroid now retrieves the default values of keyword only arguments and sets them on
    Arguments.kw_defaults.

  • Uninferable now has the type UninferableBase. This is to facilitate correctly type annotating
    code that uses this singleton.

    Closes #​1680

  • Deprecate modutils.is_standard_module(). It will be removed in the next minor release.
    Functionality has been replaced by two new functions,
    modutils.is_stdlib_module() and modutils.module_in_path().

    Closes #​2012

  • Fix are_exclusive function when a walrus operator is used inside IfExp.test field.

    Closes #​2022

v2.14.2

Compare Source

=============================
Release date: 2023-02-12

  • '_infer_str_format_call' won't crash anymore when the string it analyses are uninferable.

    Closes pylint-dev/pylint#8109

v2.14.1

Compare Source

=============================
Release date: 2023-01-31

  • Revert CallContext change as it caused a RecursionError regression.

v2.14.0

Compare Source

=============================
Release date: 2023-01-31

  • Add support for inferring binary union types added in Python 3.10.

    Refs pylint-dev/pylint#8119

  • Capture and log messages emitted when inspecting a module for astroid.

    Closes #​1904

v2.13.5

Compare Source

=============================
Release date: 2023-01-31

  • Revert CallContext change as it caused a RecursionError regression.

v2.13.4

Compare Source

=============================
Release date: 2023-01-31

  • Fix issues with typing_extensions.TypeVar.

  • Fix ClassDef.fromlino for PyPy 3.8 (v7.3.11) if class is wrapped by a decorator.

  • Preserve parent CallContext when inferring nested functions.

    Closes pylint-dev/pylint#8074

  • Add Lock to the multiprocessing brain.

    Closes pylint-dev/pylint#3313

v2.13.3

Compare Source

=============================
Release date: 2023-01-20

  • Fix a regression in 2.13.2 where a RunTimeError could be raised unexpectedly.

    Closes #​1958

  • Fix overwritten attributes in inherited dataclasses not being ordered correctly.

    Closes pylint-dev/pylint#7881

  • Fix a false positive when an attribute named Enum was confused with enum.Enum.
    Calls to Enum are now inferred & the qualified name is checked.

    Refs pylint-dev/pylint#5719

  • Remove unnecessary typing_extensions dependency on Python 3.11 and newer

v2.13.2

Compare Source

=============================
Release date: 2023-01-08

  • Removed version conditions on typing_extensions dependency. Removed typing_extensions from
    our tests requirements as it was preventing issues to appear in our continuous integration.

    Closes #​1945

v2.13.1

Compare Source

=============================
Release date: 2023-01-08

  • Bumping typing_extensions to 4.0.0 that is required when using Self

    Closes #​1942

v2.13.0

Compare Source

=============================
Release date: 2023-01-07

v2.12.14

Compare Source

==============================
Release date: 2023-01-06

v2.12.13

Compare Source

==============================
Release date: 2022-11-19

  • Prevent returning an empty list for ClassDef.slots() when the mro list contains one class & it is not object.

    Refs pylint-dev/pylint#5099

  • Prevent a crash when inferring calls to str.format with inferred arguments
    that would be invalid.

    Closes #​1856

  • Infer the length argument of the random.sample function.

    Refs pylint-dev/pylint#7706

  • Catch ValueError when indexing some builtin containers and sequences during inference.

    Closes #​1843

v2.12.12

Compare Source

==============================
Release date: 2022-10-19

  • Add the length parameter to hash.digest & hash.hexdigest in the hashlib brain.

    Refs pylint-dev/pylint#4039

  • Prevent a crash when a module's __path__ attribute is unexpectedly missing.

    Refs pylint-dev/pylint#7592

  • Fix inferring attributes with empty annotation assignments if parent
    class contains valid assignment.

    Refs pylint-dev/pylint#7631

v2.12.11

Compare Source

==============================
Release date: 2022-10-10

v2.12.10

Compare Source

==============================
Release date: 2022-09-17

  • Fixed a crash when introspecting modules compiled by cffi.

    Closes #​1776
    Closes pylint-dev/pylint#7399

  • decorators.cached now gets its cache cleared by calling AstroidManager.clear_cache.

    Refs #​1780

v2.12.9

Compare Source

=============================
Release date: 2022-09-07

v2.12.8

Compare Source

=============================
Release date: 2022-09-06

v2.12.7

Compare Source

=============================
Release date: 2022-09-06

v2.12.6

Compare Source

=============================
Release date: 2022-09-05

v2.12.5

Compare Source

=============================
Release date: 2022-08-29

  • Prevent first-party imports from being resolved to site-packages.

    Refs pylint-dev/pylint#7365

  • Fix astroid.interpreter._import.util.is_namespace() incorrectly
    returning True for frozen stdlib modules on PyPy.

    Closes #​1755

v2.12.4

Compare Source

=============================
Release date: 2022-08-25

  • Fixed a crash involving non-standard type comments such as # type: # any comment.

    Refs pylint-dev/pylint#7347

v2.12.3

Compare Source

=============================
Release date: 2022-08-23

  • Fixed crash in ExplicitNamespacePackageFinder involving _SixMetaPathImporter.

    Closes #​1708

  • Fix unhandled FutureWarning from pandas import in cython modules

    Closes #​1717

  • Fix false positive with inference of type-annotated Enum classes.

    Refs pylint-dev/pylint#7265

  • Fix crash with inference of type-annotated Enum classes where the member has no value.

  • Fix a crash inferring invalid old-style string formatting with %.

    Closes #​1737

  • Fix false positive with inference of http module when iterating HTTPStatus.

    Refs pylint-dev/pylint#7307

  • Bumped minimum requirement of wrapt to 1.14 on Python 3.11.

  • Don't add dataclass fields annotated with KW_ONLY to the list of fields.

    Refs pylint-dev/pylint#5767

v2.12.2

Compare Source

=============================
Release date: 2022-07-12

  • Fixed crash in modulo operations for divisions by zero.

    Closes #​1700

  • Fixed crash with recursion limits during inference.

    Closes #​1646

v2.12.1

Compare Source

==============================
Release date: 2023-01-06

v2.12.0

Compare Source

=============================
Release date: 2022-07-09

  • Fix signal has no connect member for PySide2 5.15.2+ and PySide6

    Closes #​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 pylint-dev/pylint#5935

  • Fix detection of builtins on PyPy 3.9.

  • Fix re brain on Python 3.11. The flags now come from re._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.

    Closes #​104, Closes #​1611

  • __new__ and __init__ have been added to the ObjectModel and are now
    inferred as BoundMethods.

  • 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 from setuptools.

    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

  • Arguments.defaults is now None for uninferable signatures.

  • On Python versions >= 3.9, astroid now understands subscripting
    builtin classes such as enumerate or staticmethod.

  • 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. Use type instead.

  • ObjectModel and ClassModel now know about their __new__ and __call__ attributes.

  • Fixed pylint not-callable false positive with nested-tuple assignment in a for-loop.

    Refs pylint-dev/pylint#5113

  • Instances of builtins created with __new__(cls, value) are now inferred.

  • Infer the return value of the .copy() method on dict, list, set,
    and frozenset.

    Closes #​1403

  • Fixed inference of elements of living container objects such as tuples and sets in the
    sys and ssl modules.

  • Add pathlib brain to handle pathlib.PurePath.parents inference.

    Closes pylint-dev/pylint#5783

  • Avoid inferring the results of ** operations involving values greater than 1e5
    to avoid expensive computation.

    Closes pylint-dev/pylint#6745

  • Fix test for Python 3.11. In some instances err.__traceback__ will
    be uninferable now.

  • Add brain for numpy core module einsumfunc.

    Closes pylint-dev/pylint#5821

  • Infer the DictUnpack value for Dict.getitem calls.

    Closes #​1195

  • Fix a crash involving properties within try ... except blocks.

    Closes pylint-dev/pylint#6592

  • Prevent creating Instance objects that proxy other Instances when there is
    ambiguity (or user error) in calling __new__(cls).

    Refs pylint-dev/pylint#7109

v2.11.7

Compare Source

=============================
Release date: 2022-07-09

v2.11.6

Compare Source

=============================
Release date: 2022-06-13

  • 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 an argparse.Namespace object.

    Refs pylint-dev/pylint#6895

v2.11.5

Compare Source

=============================
Release date: 2022-05-09

  • Fix crash while obtaining object_type() of an Unknown node.

    Refs pylint-dev/pylint#6539

  • Fix a bug where in attempting to handle the patching of distutils by virtualenv,
    library submodules called distutils (e.g. numpy.distutils) were included also.

    Refs pylint-dev/pylint#6497

v2.11.4

Compare Source

=============================
Release date: 2022-05-02

  • Fix col_offset attribute for nodes involving with on PyPy.

  • Fixed a crash involving two starred expressions: one inside a comprehension,
    both inside a call.

    Refs pylint-dev/pylint#6372

  • Made FunctionDef.implicit_parameters return 1 for methods by making
    FunctionDef.is_bound return True, as it does for class methods.

    Closes pylint-dev/pylint#6464

  • Fixed a crash when _filter_stmts encounters an EmptyNode.

    Closes pylint-dev/pylint#6438

v2.11.3

Compare Source

=============================
Release date: 2022-04-19

v2.11.2

Compare Source

=============================
Release date: 2022-03-26

v2.11.1

Compare Source

=============================
Release date: 2022-03-22

  • Promoted getattr() from astroid.scoped_nodes.FunctionDef to its parent
    astroid.scoped_nodes.Lambda.

  • Fixed crash on direct inference via nodes.FunctionDef._infer.

    Closes #​817

v2.11.0

Compare Source

=============================
Release date: 2022-03-12

  • Add new (optional) doc_node attribute to nodes.Module, nodes.ClassDef,
    and nodes.FunctionDef.

  • Accessing the doc attribute of nodes.Module, nodes.ClassDef, and
    nodes.FunctionDef has been deprecated in favour of the doc_node attribute.
    Note: doc_node is an (optional) nodes.Const whereas doc was an (optional) str.

  • Passing the doc argument to the __init__ of nodes.Module, nodes.ClassDef,
    and nodes.FunctionDef has been deprecated in favour of the postinit doc_node attribute.
    Note: doc_node is an (optional) nodes.Const whereas doc was an (optional) str.

  • Replace custom cachedproperty with functools.cached_property and deprecate it
    for Python 3.8+.

    Closes #​1410

  • Set end_lineno and end_col_offset attributes to None for all nodes
    with PyPy 3.8. PyPy 3.8 assigns these attributes inconsistently which could lead
    to unexpected errors. Overwriting them with None will cause a fallback
    to the already supported way of PyPy 3.7.

  • Add missing shape parameter to numpy zeros_like, ones_like,
    and full_like methods.

    Closes pylint-dev/pylint#5871

  • Only pin wrapt on the major version.

v2.10.0

Compare Source

=============================
Release date: 2022-02-27

  • Fixed inference of self in binary operations in which self
    is part of a list or tuple.

    Closes pylint-dev/pylint#4826

  • Fixed builtin inference on property calls not calling the postinit of the new node, which
    resulted in instance arguments missing on these nodes.

  • Fixed a crash on Super.getattr when the attribute was previously uninferable due to a cache
    limit size. This limit can be hit when the inheritance pattern of a class (and therefore of the
    __init__ attribute) is very large.

    Closes pylint-dev/pylint#5679

  • Include names of keyword-only arguments in astroid.scoped_nodes.Lambda.argnames.

    Closes pylint-dev/pylint#5771

  • Fixed a crash inferring on a NewType named with an f-string.

    Closes pylint-dev/pylint#5770

  • Add support for attrs v21.3.0 which
    added a new attrs module alongside the existing attr.

    Closes #​1330

  • Use the end_lineno attribute for the NodeNG.tolineno property
    when it is available.

    Closes #​1350

  • Add is_dataclass attribute to ClassDef nodes.

  • Use sysconfig instead of distutils to determine the location of
    python stdlib files and packages.

    Related pull requests: #​1322, #​1323, #​1324
    Closes #​1282
    Ref #​1103

  • Fixed crash with recursion error for inference of class attributes that referenced
    the class itself.

    Closes pylint-dev/pylint#5408

  • Fixed crash when trying to infer items() on the __dict__
    attribute of an imported module.

    Closes #​1085

  • Add optional NodeNG.position attribute.
    Used for block nodes to highlight position of keyword(s) and name
    in cases where the AST doesn't provide good enough positional information.
    E.g. nodes.ClassDef, nodes.FunctionDef.

  • Fix ClassDef.fromlineno. For Python < 3.8 the lineno attribute includes decorators.
    fromlineno should return the line of the class statement itself.

  • Performance improvements. Only run expensive decorator functions when
    non-default Deprecation warnings are enabled, eg. during a Pytest run.

    Closes #​1383

v2.9.3

Compare Source

============================
Release date: 2022-01-09

  • Fixed regression where packages without a __init__.py file were
    not recognized or imported correctly.

    Closes #​1327

v2.9.2

Compare Source

============================
Release date: 2022-01-04

  • Fixed regression in astroid.scoped_nodes where _is_metaclass
    was not accessible anymore.

Closes #​1325

v2.9.1

Compare Source

============================
Release date: 2021-12-31

  • NodeNG.frame() and NodeNG.statement() will start raising ParentMissingError
    instead of AttributeError in astroid 3.0. This behaviour can already be triggered
    by passing future=True to a frame() or statement() call.

  • Prefer the module loader get_source() method in AstroidBuilder's
    module_build() when possible to avoid assumptions about source
    code being available on a filesystem. Otherwise the source cannot
    be found and application behavior changes when running within an
    embedded hermetic interpreter environment (pyoxidizer, etc.).

  • Require Python 3.6.2 to use astroid.

  • Removed custom distutils handling for resolving paths to submodules.

    Ref #​1321

  • Restore custom distutils handling for resolving paths to submodules.

    Closes pylint-dev/pylint#5645

  • Fix deque.insert() signature in collections brain.

    Closes #​1260

  • Fix Module nodes not having a col_offset, end_lineno, and end_col_offset
    attributes.

  • Fix typing and update explanation for Arguments.args being None.

  • Fix crash if a variable named type is accessed with an index operator ([])
    in a generator expression.

    Closes pylint-dev/pylint#5461

  • Enable inference of dataclass import from marshmallow_dataclass.
    This allows the dataclasses brain to recognize dataclasses annotated by marshmallow_dataclass.

  • Resolve symlinks in the import path
    Fixes inference error when the import path includes symlinks (e.g. Python
    installed on macOS via Homebrew).

    Closes #​823
    Closes pylint-dev/pylint#3499
    Closes pylint-dev/pylint#4302
    Closes pylint-dev/pylint#4798
    Closes pylint-dev/pylint#5081

v2.9.0

Compare Source

============================
Release date: 2021-11-21

  • Add end_lineno and end_col_offset attributes to astroid nodes.

  • Always treat __class_getitem__ as a classmethod.

  • Add missing as_string visitor method for Unknown node.

    Closes #​1264

v2.8.6

Compare Source

============================
Release date: 2021-11-21

  • Fix crash on inference of subclasses created from Class().__subclasses__

    Closes pylint-dev/pylint#4982

  • Fix bug with Python 3.7.0 / 3.7.1 and typing.NoReturn.

    Closes #​1239

v2.8.5

Compare Source

============================
Release date: 2021-11-12

  • Use more permissive versions for the typed-ast dependency (<2.0 instead of <1.5)

    Closes #​1237

  • Fix crash on inference of __len__.

    Closes pylint-dev/pylint#5244

  • Added missing kind (for Const) and conversion (for FormattedValue) fields to repr.

  • Fix crash with assignment expressions, nested if expressions and filtering of statements

    Closes pylint-dev/pylint#5178

  • Fix incorrect filtering of assignment expressions statements

v2.8.4

Compare Source

============================
Release date: 2021-10-25

  • Fix the scope() and frame() methods of NamedExpr nodes.
    When these nodes occur in Arguments, Keyword or Comprehension nodes these
    methods now correctly point to the outer-scope of the FunctionDef,
    ClassDef, or Comprehension.

  • Fix the set_local function for NamedExpr nodes.
    When these nodes occur in Arguments, Keyword, or Comprehension nodes these
    nodes are now correctly added to the locals of the FunctionDef,
    ClassDef, or Comprehension.

v2.8.3

Compare Source

============================
Release date: 2021-10-17

v2.8.2

Compare Source

============================
Release date: 2021-10-07

Same content than 2.8.2-dev0 / 2.8.1, released in order to fix a
mistake when creating the tag.

v2.8.1

Compare Source

============================
Release date: 2021-10-06

  • Adds support of type hints inside numpy's brains.

    Closes pylint-dev/pylint#4326

  • Enable inference of dataclass import from pydantic.dataclasses.
    This allows the dataclasses brain to recognize pydantic dataclasses.

    Closes pylint-dev/pylint#4899

  • Fix regression on ClassDef inference

    Closes pylint-dev/pylint#5030
    Closes pylint-dev/pylint#5036

  • Fix regression on Compare node inference

    Closes pylint-dev/pylint#5048

  • Extended attrs brain to support the provisional APIs

  • Astroid does not trigger it's own deprecation warning anymore.

  • Improve brain for typing.Callable and typing.Type.

  • Fix bug with importing namespace packages with relative imports

    Closes pylint-dev/pylint#5059

  • The is_typing_guard and is_sys_guard functions are deprecated and will
    be removed in 3.0.0. They are complex meta-inference functions that are better
    suited for pylint. Import them from pylint.checkers.utils instead
    (requires pylint 2.12).

  • Suppress the conditional between applied brains and dynamic import authorized
    modules. (Revert the "The transforms related to a module are applied only if this
    module has not been explicitly authorized to be imported" of version 2.7.3)

  • Adds a brain to infer the numpy.ma.masked_where function.

    Closes pylint-dev/pylint#3342

v2.8.0

Compare Source

============================
Release date: 2021-09-14

  • Add additional deprecation warnings in preparation for astroid 3.0

    • Require attributes for some node classes with __init__ call.

      • name (str) for Name, AssignName, DelName
      • attrname (str) for Attribute, AssignAttr, DelAttr
      • op (str) for AugAssign, BinOp, BoolOp, UnaryOp
      • names (list[tuple[str, str | None]]) for Import
  • Support pyz imports

    Closes pylint-dev/pylint#3887

  • Add node_ancestors method to NodeNG for obtaining the ancestors of nodes.

  • It's now possible to infer the value of comparison nodes

    Closes #​846

  • Fixed bug in inference of dataclass field calls.

    Closes pylint-dev/pylint#4963

v2.7.3

Compare Source

============================
Release date: 2021-08-30

  • The transforms related to a module are applied only if this module has not be

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor Author

renovate bot commented Jan 12, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 3.x releases. But if you manually upgrade to 3.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/astroid-3.x branch January 12, 2024 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant