blob: 89796bd5da909cac13140731750e85686b9d6aa2 (
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
***************************
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 false positive ``consider-using-dict-comprehension`` when creating a dict
using a list of tuples where key AND value vary depending on the same condition.
Closes #5588
* When run in parallel mode ``pylint`` now pickles the data passed to subprocesses with
the ``dill`` package. The ``dill`` package has therefore been added as a dependency.
* By default, pylint does no longer take files starting with ``.#`` into account. Those are
considered `emacs file locks`_. This behavior can be reverted by redefining the
``ignore-patterns`` option.
Closes #367
.. _`emacs file locks`: https://www.gnu.org/software/emacs/manual/html_node/elisp/File-Locks.html
* An astroid issue where symlinks were not being taken into account
was fixed
Closes #1470
Closes #3499
Closes #4302
Closes #4798
Closes #5081
* 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
* Fixed false positive for ``used-before-assignment`` with self-referential type
annotation in conditional statements within class methods.
Closes #5499
* ``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.
* Fixed false positive with ``used-before-assignment`` for assignment expressions
in lambda statements.
Closes #5360, #3877
* Fixed crash on list comprehensions that used ``type`` as inner variable name.
Closes #5461
* Require Python ``3.6.2`` to run pylint.
Closes #5065
* Fixed crash on uninferable decorators on Python 3.6 and 3.7
* Emit ``redefined-outer-name`` when a nested except handler shadows an outer one.
Closes #4434
Closes #5370
* ``encoding`` can now be supplied as a positional argument to calls that open
files without triggering ``unspecified-encoding``.
Closes #5638
* 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 default score evaluation now uses a floor of 0.
Closes #2399
* Fix ``comparison-with-callable`` false positive for callables that raise, such
as typing constants.
Closes #5557
* When invoking ``pylint``, ``epylint``, ``symilar`` or ``pyreverse`` by importing them in a python file
you can now pass an ``arguments`` keyword besides patching ``sys.argv``.
Closes #5320
* 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``.
* Fixed false positive ``unexpected-keyword-arg`` for decorators.
Closes #258
* ``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
|