Skip to content

Conversation

pyup-bot
Copy link
Collaborator

This PR updates pylint from 2.1.1 to 2.3.0.

Changelog

2.3.0

===========================

Release date: 2019-02-27

* Protect against `NonDeducibleTypeHierarchy` when calling semi-private `is_subtype`

`astroid.helpers.is_subtype` raises `NonDeducibleTypeHierarchy` when it cannot infer
the base classes of the given types, but that makes sense in its context given that
the method is mostly used to inform the inference process about the hierarchy of classes.
Doesn't make that much sense for ``pylint`` itself, which is why we're handling the
exception here, rather than in ``astroid``

Close PyCQA/astroid644

* Added a new command line option ``list-groups`` for listing all the check groups ``pylint`` knows about.

* Allow ``BaseException`` for emitting ``broad-except``, just like ``Exception``.

Close 2741

* Fixed a crash that occurred for ``bad-str-strip-call`` when ``strip()`` received ``None``

Close 2743

* Don't emit ``*-not-iterating`` checks for builtins consumed by ``itertools``

Close 2731

* Fix a crash caused by iterating over ``Uninferable`` in a string formatting check.

Close 2727

* Fixed false positives for ``no-self-argument`` and ``unsubscriptable-object`` when using ``__class_getitem__`` (new in Python 3.7)

Close 2416

* Support ``Ellipsis`` as a synonym for ``pass`` statements.

Close 2718

* ``fixme`` gets triggered only on comments.

Close 2321

* Fixed a false positive for ``unused-variable`` and ``nonlocal`` assignments

Close 2671

* Added ``load_configuration()`` hook for plugins

New optional hook for plugins is added: ``load_configuration()``.
This hook is executed after configuration is loaded to prevent
overwriting plugin specific configuration via user-based
configuration.

Close 2635

* Fix missing-raises-doc false positive (W9006)

Close 1502

* Exempt starred unpacking from ``*-not-iterating`` Python 3 checks

Close 2651

* Make ``compare-to-zero`` less zealous by checking against equality and identity

Close 2645

* Add ``no-else-raise`` warning (R1720)

Close 2558

* Exempt ``yield from`` from ``*-not-iterating`` Python 3 checks.

Close 2643

* Fix incorrect generation of ``no-else-return`` warnings (R1705)

Fixed issue where ``if`` statements with nested ``if`` statements
were incorrectly being flagged as ``no-else-return`` in some cases and
not being flagged as ``no-else-return`` in other cases.  Added tests
for verification and updated pylint source files to eliminate newly
exposed warnings.

* Fix false positive with `not-async-context-manager` caused by not understanding `contextlib.asynccontextmanager`

Close 2440

* Refactor ``bad-reversed-sequence`` to account for more objects that can define ``__reversed__``

One such object would be an enum class, for which ``__reversed__`` yields each individual enum.
As such, the check for ``bad-reversed-sequence`` needs to not differentiate between classes
and instances when it comes for checking of ``__reversed__`` presence.

Close 2598

* Added ``wrong-exception-operation``

Used when an operation is done against an exception, but the operation
is not valid for the exception in question. Usually emitted when having
binary operations between exceptions in except handlers.

Close 2494

* ``no-member`` is emitted for enums when they lack a member

Previously we weren't doing this because we detected a
``__getattr__`` implementation on the ``Enum`` class
(and this check is skipped for classes with ``__getattr__``),
but that is fine for Enums, given that they are inferred in a customised
way in astroid.

Close 2565

* Generalize ``chained-comparison``

Previous version incorrectly detects `a < b < c and b < d` and fails to
detect `a < b < c and c < d`.

* Avoid popping __main__ when using multiple jobs

Close 2689

* Add a new option 'check-str-concat-over-line-jumps' to check 'implicit-str-concat-in-sequence'

* Fixes for the new style logging format linter.

The number of arguments was not handled properly, leading to an always
successful check.

* Fix false positive ``not-callable`` for uninferable properties.

* Fix false positive ``useless-else-on-loop`` if the break is deep in the else
of an inner loop.

2.2.2

===========================

Release date: 2018-11-28

* Change the ``logging-format-style`` to use name identifier instead of their
corresponding Python identifiers

This is to prevent users having to think about escaping the default value for
``logging-format-style`` in the generated config file. Also our config parsing
utilities don't quite support escaped values when it comes to ``choices`` detection,
so this would have needed various hacks around that.

Closes 2614

2.2.1

===========================

Release date: 2018-11-27

* Fix a crash caused by `implicit-str-concat-in-sequence` and multi-bytes characters.

Closes 2610

2.2

=========================

Release date: 2018-11-25

* Consider ``range()`` objects for ``undefined-loop-variable`` leaking from iteration.

  Close 2533

* ``deprecated-method`` can use the attribute name for identifying a deprecated method

  Previously we were using the fully qualified name, which we still do, but the fully
  qualified name for some ``unittest`` deprecated aliases leads to a generic
  deprecation function. Instead on relying on that, we now also rely on the attribute
  name, which should solve some false positives.

  Close 1653
  Close 1946

* Fix compatibility with changes to stdlib tokenizer.

* ``pylint`` is less eager to consume the whole line for pragmas

  Close 2485

* Obtain the correct number of CPUs for virtualized or containerized environments.

  Close 2519

* Change ``unbalanced-tuple-unpacking`` back to a warning.

  It used to be a warning until a couple of years ago, after it was promoted to
  an error. But the check might be suggesting the wrong thing in some cases,
  for instance when checking against ``sys.argv`` which cannot be known at static
  analysis time. Given it might rely on potential unknown data, it's best to
  have it as a warning.

  Close 2522

* Remove ``enumerate`` usage suggestion when defining ``__iter__`` (C0200)

  Close 2477

* Emit ``too-many-starred-assignment`` only when the number of Starred nodes is per assignment elements

  Close 2513

* `try-except-raise` checker now handles multilevel inheritance hirerachy for exceptions correctly.

  Close 2484

* Add a new check, ``simplifiable-if-expression`` for expressions like ``True if cond else False``.

  Close 2487

* ``too-few-public-methods`` is not reported for ``typing.NamedTuple``

  Close 2459

* too-few-public-methods`` is not reported for dataclasses created with options.

  Close 2488

* Remove wrong modules from 'bad-python3-import'.

  Close 2453

* The ``json`` reporter prints an empty list when no messages are emitted

  Close 2446

* Add a new check, ``duplicate-string-formatting-argument``

  This new check is emitted whenever a duplicate string formatting argument
  is found.

  Close 497

* ``assignment-from-no-return`` is not emitted for coroutines.

  Close 1715

* Report format string type mismatches.

* ``consider-using-ternary`` and ``simplified-boolean-expression`` no longer emit for sequence based checks

  Close 2473

* Handle ``AstroidSyntaxError`` when trying to import a module.

  Close 2313

* Allow ``__module__`` to be redefined at a class level. Close 2451

* ``pylint`` used to emit a ``unused-variable`` error if unused import was found in the function. Now instead of
  ``unused-variable``, ``unused-import`` is emitted.

  Close 2421

* Handle asyncio.coroutine when looking for ``not-an-iterable`` check.

  Close 996

* The ``locally-enabled`` check is gone.

  Close 2442

* Infer decorated methods when looking for method-hidden

  Close 2369

* Pick the latest value from the inferred values when looking for ``raising-non-exception``

  Close 2431

* Extend the TYPE_CHECKING guard to TYPE_CHECKING name as well, not just the attribute

  Close 2411

* Ignore import x.y.z as z cases for checker `useless-import-alias`.

  Close 2309

* Fix false positive ``undefined-variable`` and ``used-before-assignment`` with nonlocal keyword usage.

  Close 2049

* Stop ``protected-access`` exception for missing class attributes

* Don't emit `assignment-from-no-return` for decorated function nodes

  Close 2385

* `unnecessary-pass` is now also emitted when a function or class contains only docstring and pass statement.

   In Python, stubbed functions often have a body that contains just a single `pass` statement,
   indicating that the function doesn't do anything. However, a stubbed function can also have just a
   docstring, and function with a docstring and no body also does nothing.

   Close 2208

* ``duplicate-argument-name`` is emitted for more than one duplicate argument per function

   Close 1712

* Allow double indentation levels for more distinguishable indentations

  Close 741

* Consider tuples in exception handler for ``try-except-raise``.
  Close 2389

* Fix astroid.ClassDef check in checkers.utils.is_subclass_of

* Fix wildcard imports being ignored by the import checker

* Fix external/internal distinction being broken in the import graph

* Fix wildcard import check not skipping `__init__.py`

  Close 2430

* Add new option to logging checker, ``logging_format_style``

* Fix --ignore-imports to understand multi-line imports

  Close 1422
  Close 2019

* Add a new check 'implicit-str-concat-in-sequence' to spot string concatenation inside lists, sets & tuples.

* ``literal-comparison`` is now emitted for 0 and 1 literals.
Links

@pyup-bot pyup-bot mentioned this pull request Feb 27, 2019
@coveralls
Copy link

Coverage Status

Coverage remained the same at 100.0% when pulling 44268a7 on pyup-update-pylint-2.1.1-to-2.3.0 into ea4ce24 on master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage remained the same at 100.0% when pulling 44268a7 on pyup-update-pylint-2.1.1-to-2.3.0 into ea4ce24 on master.

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Mar 2, 2019

Closing this in favor of #183

@pyup-bot pyup-bot closed this Mar 2, 2019
@s-m-i-t-a s-m-i-t-a deleted the pyup-update-pylint-2.1.1-to-2.3.0 branch March 2, 2019 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants