summaryrefslogtreecommitdiff
path: root/doc/whatsnew/2.13.rst
blob: 4264bb61c66b8cf0bf06df8829162376f8a39496 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
***************************
 What's New in Pylint 2.13
***************************

:Release: 2.13
:Date: TBA

Summary -- Release highlights
=============================

New checkers
============
* ``unnecessary-ellipsis``: Emitted when the ellipsis constant is used unnecessarily.

  Closes #5460

Removed checkers
================

Extensions
==========

* Pyreverse - add output in mermaid-js format and html which is an mermaid js diagram with html boilerplate

* ``DocstringParameterChecker``

  * Fixed incorrect classification of Numpy-style docstring as Google-style docstring for
    docstrings with property setter documentation.
    Docstring classification is now based on the highest amount of matched sections instead
    of the order in which the docstring styles were tried.

Other Changes
=============

* Fixed extremely long processing of long lines with comma's.

  Closes #5483

* Fix ``unnecessary_dict_index_lookup`` false positive when deleting a dictionary's entry.

  Closes #4716

* Fix crash in ``unnecessary-dict-index-lookup`` checker if the output of
  ``items()`` is assigned to a 1-tuple.

  Closes #5504

* Fix false negative for ``consider-iterating-dictionary`` during membership checks encapsulated in iterables
  or ``not in`` checks

  Closes #5323

* ``used-before-assignment`` now considers that assignments in a try block
  may not have occurred when the except or finally blocks are executed.

  Closes #85, #2615

* Fix a false positive for ``assigning-non-slot`` when the slotted class
  defined ``__setattr__``.

  Closes #3793

* ``used-before-assignment`` now assumes that assignments in except blocks
  may not have occurred and warns accordingly.

  Closes #4761

* When evaluating statements after an except block, ``used-before-assignment``
  assumes that assignments in the except blocks took place if the
  corresponding try block contained a return statement.

  Closes #5500

* ``used-before-assignment`` now checks names in try blocks.

* Require Python ``3.6.2`` to run pylint.

  Closes #5065

* Fixed crash on uninferable decorators on Python 3.6 and 3.7

* Fatal errors now emit a score of 0.0 regardless of whether the linted module
  contained any statements

  Closes #5451

* ``fatal`` was added to the variables permitted in score evaluation expressions.

* The ``PyLinter`` class will now be initialized with a ``TextReporter``
  as its reporter if none is provided.

* Fix false positive ``not-callable`` with attributes that alias ``NamedTuple``

  Partially closes #1730

* The ``testutils`` for unittests now accept ``end_lineno`` and ``end_column``. Tests
  without these will trigger a ``DeprecationWarning``.

* ``missing-raises-doc`` will now check the class hierarchy of the raised exceptions

  .. code-block:: python

    def my_function()
      """My function.

      Raises:
        Exception: if something fails
      """
      raise ValueError

  Closes #4955