@@ -35,171 +35,6 @@ What's new in Pylint 2.15.0?
35
35
Release date: 2022-08-26
36
36
37
37
38
- New Checks
39
- ----------
40
-
41
- - Added new checker ``missing-timeout `` to warn of default timeout values that could cause
42
- a program to be hanging indefinitely.
43
-
44
- Refs #6780 (`#6780 <https://github.com/PyCQA/pylint/issues/6780 >`_)
45
-
46
-
47
- False Positives Fixed
48
- ---------------------
49
-
50
- - Don't report ``super-init-not-called `` for abstract ``__init__ `` methods.
51
-
52
- Closes #3975 (`#3975 <https://github.com/PyCQA/pylint/issues/3975 >`_)
53
- - Don't report ``unsupported-binary-operation `` on Python <= 3.9 when using the ``| `` operator
54
- with types, if one has a metaclass that overloads ``__or__ `` or ``__ror__ `` as appropriate.
55
-
56
- Closes #4951 (`#4951 <https://github.com/PyCQA/pylint/issues/4951 >`_)
57
- - Don't report ``no-value-for-parameter `` for dataclasses fields annotated with ``KW_ONLY ``.
58
-
59
- Closes #5767 (`#5767 <https://github.com/PyCQA/pylint/issues/5767 >`_)
60
- - Fixed inference of ``Enums `` when they are imported under an alias.
61
-
62
- Closes #5776 (`#5776 <https://github.com/PyCQA/pylint/issues/5776 >`_)
63
- - Prevent false positives when accessing ``PurePath.parents `` by index (not slice) on Python 3.10+.
64
-
65
- Closes #5832 (`#5832 <https://github.com/PyCQA/pylint/issues/5832 >`_)
66
- - ``unnecessary-list-index-lookup `` is now more conservative to avoid potential false positives.
67
-
68
- Closes #6896 (`#6896 <https://github.com/PyCQA/pylint/issues/6896 >`_)
69
- - Fix double emitting ``trailing-whitespace `` for multi-line docstrings.
70
-
71
- Closes #6936 (`#6936 <https://github.com/PyCQA/pylint/issues/6936 >`_)
72
- - ``import-error `` now correctly checks for ``contextlib.suppress `` guards on import statements.
73
-
74
- Closes #7270 (`#7270 <https://github.com/PyCQA/pylint/issues/7270 >`_)
75
- - Fix false positive for `no-self-argument `/`no-method-argument ` when a staticmethod is applied to a function but uses a different name.
76
-
77
- Closes #7300 (`#7300 <https://github.com/PyCQA/pylint/issues/7300 >`_)
78
- - Fix `undefined-loop-variable ` with `break ` and `continue ` statements in `else ` blocks.
79
-
80
- Refs #7311 (`#7311 <https://github.com/PyCQA/pylint/issues/7311 >`_)
81
-
82
-
83
- False Negatives Fixed
84
- ---------------------
85
-
86
- - Emit ``used-before-assignment `` when relying on a name that is reimported later in a function.
87
-
88
- Closes #4624 (`#4624 <https://github.com/PyCQA/pylint/issues/4624 >`_)
89
- - Emit ``used-before-assignment `` for self-referencing named expressions (``:= ``) lacking
90
- prior assignments.
91
-
92
- Closes #5653 (`#5653 <https://github.com/PyCQA/pylint/issues/5653 >`_)
93
- - Using "default" in parameter signatures of NumPy doctrings emitted a `missing-param `
94
- error.
95
-
96
- Closes #6211 (`#6211 <https://github.com/PyCQA/pylint/issues/6211 >`_)
97
- - Emit ``used-before-assignment `` for self-referencing assignments under if conditions.
98
-
99
- Closes #6643 (`#6643 <https://github.com/PyCQA/pylint/issues/6643 >`_)
100
- - Emit ``modified-iterating-list `` and analogous messages for dicts and sets when iterating
101
- literals, or when using the ``del `` keyword.
102
-
103
- Closes #6648 (`#6648 <https://github.com/PyCQA/pylint/issues/6648 >`_)
104
- - Emit ``used-before-assignment `` when calling nested functions before assignment.
105
-
106
- Closes #6812 (`#6812 <https://github.com/PyCQA/pylint/issues/6812 >`_)
107
- - Emit ``nonlocal-without-binding `` when a nonlocal name has been assigned at a later point in the same scope.
108
-
109
- Closes #6883 (`#6883 <https://github.com/PyCQA/pylint/issues/6883 >`_)
110
- - Emit ``using-constant-test `` when testing the truth value of a variable or call result
111
- holding a generator.
112
-
113
- Closes #6909 (`#6909 <https://github.com/PyCQA/pylint/issues/6909 >`_)
114
- - Rename ``unhashable-dict-key `` to ``unhashable-member `` and emit when creating sets and dicts,
115
- not just when accessing dicts.
116
-
117
- Closes #7034, Closes #7055 (`#7034 <https://github.com/PyCQA/pylint/issues/7034 >`_)
118
-
119
-
120
- Other Bug Fixes
121
- ---------------
122
-
123
- - Fix a failure to lint packages with ``__init__.py `` contained in directories lacking ``__init__.py ``.
124
-
125
- Closes #1667 (`#1667 <https://github.com/PyCQA/pylint/issues/1667 >`_)
126
- - Fixed a syntax-error crash that was not handled properly when the declared encoding of a file
127
- was ``utf-9 ``.
128
-
129
- Closes #3860 (`#3860 <https://github.com/PyCQA/pylint/issues/3860 >`_)
130
- - Fix a crash in the ``not-callable `` check when there is ambiguity whether an instance is being incorrectly provided to ``__new__() ``.
131
-
132
- Closes #7109 (`#7109 <https://github.com/PyCQA/pylint/issues/7109 >`_)
133
- - Fix crash when regex option raises a `re.error ` exception.
134
-
135
- Closes #7202 (`#7202 <https://github.com/PyCQA/pylint/issues/7202 >`_)
136
- - Fix `undefined-loop-variable ` from walrus in comprehension test.
137
-
138
- Closes #7222 (`#7222 <https://github.com/PyCQA/pylint/issues/7222 >`_)
139
- - Check for `<cwd> ` before removing first item from `sys.path ` in `modify_sys_path `.
140
-
141
- Closes #7231 (`#7231 <https://github.com/PyCQA/pylint/issues/7231 >`_)
142
- - Fix sys.path pollution in parallel mode.
143
-
144
- Closes #7246 (`#7246 <https://github.com/PyCQA/pylint/issues/7246 >`_)
145
- - Prevent `useless-parent-delegation ` for delegating to a builtin
146
- written in C (e.g. `Exception.__init__ `) with non-self arguments.
147
-
148
- Closes #7319 (`#7319 <https://github.com/PyCQA/pylint/issues/7319 >`_)
149
-
150
-
151
- Other Changes
152
- -------------
153
-
154
- - ``bad-exception-context `` has been renamed to ``bad-exception-cause `` as it is about the cause and not the context.
155
-
156
- Closes #3694 (`#3694 <https://github.com/PyCQA/pylint/issues/3694 >`_)
157
- - The message for ``literal-comparison `` is now more explicit about the problem and the
158
- solution.
159
-
160
- Closes #5237 (`#5237 <https://github.com/PyCQA/pylint/issues/5237 >`_)
161
- - ``useless-super-delegation `` has been renamed to ``useless-parent-delegation `` in order to be more generic.
162
-
163
- Closes #6953 (`#6953 <https://github.com/PyCQA/pylint/issues/6953 >`_)
164
- - Pylint now uses ``towncrier `` for changelog generation.
165
-
166
- Refs #6974 (`#6974 <https://github.com/PyCQA/pylint/issues/6974 >`_)
167
- - Update ``astroid `` to 2.12.
168
-
169
- Refs #7153 (`#7153 <https://github.com/PyCQA/pylint/issues/7153 >`_)
170
- - Fix crash when a type-annotated `__slots__ ` with no value is declared.
171
-
172
- Closes #7280 (`#7280 <https://github.com/PyCQA/pylint/issues/7280 >`_)
173
-
174
-
175
- Internal Changes
176
- ----------------
177
-
178
- - Fixed an issue where it was impossible to update functional tests output when the existing
179
- output was impossible to parse. Instead of raising an error we raise a warning message and
180
- let the functional test fail with a default value.
181
-
182
- Refs #6891 (`#6891 <https://github.com/PyCQA/pylint/issues/6891 >`_)
183
- - ``pylint.testutils.primer `` is now a private API.
184
-
185
- Refs #6905 (`#6905 <https://github.com/PyCQA/pylint/issues/6905 >`_)
186
- - We changed the way we handle the changelog internally by using towncrier.
187
- If you're a contributor you won't have to fix merge conflicts in the
188
- changelog anymore.
189
-
190
- Closes #6974 (`#6974 <https://github.com/PyCQA/pylint/issues/6974 >`_)
191
- - Pylint is now using Scorecards to implement security recommendations from the
192
- `OpenSSF <https://openssf.org/ >`_. This is done in order to secure our supply chains using a combination
193
- of automated tooling and best practices, most of which were already implemented before.
194
-
195
- Refs #7267 (`#7267 <https://github.com/PyCQA/pylint/issues/7267 >`_)
196
-
197
-
198
- What's new in Pylint 2.15.0?
199
- ----------------------------
200
- Release date: 2022-08-26
201
-
202
-
203
38
New Checks
204
39
----------
205
40
0 commit comments