Skip to content

Releases: pylint-dev/astroid

v2.9.1

31 Dec 12:28
Compare
Choose a tag to compare
  • 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

  • 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 subscripted 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

21 Nov 17:16
Compare
Choose a tag to compare
  • 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

21 Nov 15:14
Compare
Choose a tag to compare
  • 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

12 Nov 15:12
Compare
Choose a tag to compare
  • Use more permissive versions for the typed-ast dependencie (<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

25 Oct 20:05
Compare
Choose a tag to compare
  • 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

17 Oct 08:18
Compare
Choose a tag to compare

v2.8.2

07 Oct 05:36
Compare
Choose a tag to compare

Same content than 2.8.2-dev0 / 2.8.1, released in order to fix a mistake when creating the tag. See #1199 (comment)

v2.8.1-rc1

07 Oct 05:33
Compare
Choose a tag to compare

This is the real 2.8.1 following a mistake when creating the tag for it, see #1199 (comment)

v2.8.1

06 Oct 20:21
Compare
Choose a tag to compare
  • 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

14 Sep 07:27
Compare
Choose a tag to compare
  • 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