Skip to content

Commit 3abca61

Browse files
Bump pylint to 3.1.0, update changelog
1 parent 79a128e commit 3abca61

20 files changed

+116
-55
lines changed

doc/whatsnew/3/3.1/index.rst

Lines changed: 105 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,109 @@ Summary -- Release highlights
1515
In 3.1.0 we added a new default message ``use-yield-from``,
1616
a ``deprecated-attribute`` message among other bug fixes.
1717

18-
1918
.. towncrier release notes start
19+
20+
What's new in Pylint 3.1.0?
21+
---------------------------
22+
Release date: 2024-02-24
23+
24+
25+
New Features
26+
------------
27+
28+
- Skip ``consider-using-join`` check for non-empty separators if an ``suggest-join-with-non-empty-separator`` option is set to ``no``.
29+
30+
Closes #8701 (`#8701 <https://github.com/pylint-dev/pylint/issues/8701>`_)
31+
32+
- Discover ``.pyi`` files when linting.
33+
34+
These can be ignored with the ``ignore-patterns`` setting.
35+
36+
Closes #9097 (`#9097 <https://github.com/pylint-dev/pylint/issues/9097>`_)
37+
38+
- Check ``TypeAlias`` and ``TypeVar`` (PEP 695) nodes for ``invalid-name``.
39+
40+
Refs #9196 (`#9196 <https://github.com/pylint-dev/pylint/issues/9196>`_)
41+
42+
- Support for resolving external toml files named pylintrc.toml and .pylintrc.toml.
43+
44+
Closes #9228 (`#9228 <https://github.com/pylint-dev/pylint/issues/9228>`_)
45+
46+
- New message `use-yield-from` added to the refactoring checker. This message is emitted when yielding from a loop can be replaced by `yield from`.
47+
48+
Closes #9229. (`#9229 <https://github.com/pylint-dev/pylint/issues/9229>`_)
49+
50+
- Check for `.clear`, `.discard`, `.pop` and `remove` methods being called on a set while it is being iterated over.
51+
52+
Closes #9334 (`#9334 <https://github.com/pylint-dev/pylint/issues/9334>`_)
53+
54+
55+
56+
New Checks
57+
----------
58+
59+
- Added a ``deprecated-attribute`` message to check deprecated attributes in the stdlib.
60+
61+
Closes #8855 (`#8855 <https://github.com/pylint-dev/pylint/issues/8855>`_)
62+
63+
64+
65+
False Positives Fixed
66+
---------------------
67+
68+
- Fixed false positive for ``inherit-non-class`` for generic Protocols.
69+
70+
Closes #9106 (`#9106 <https://github.com/pylint-dev/pylint/issues/9106>`_)
71+
72+
- Exempt ``TypedDict`` from ``typing_extensions`` from ``too-many-ancestor`` checks.
73+
74+
Refs #9167 (`#9167 <https://github.com/pylint-dev/pylint/issues/9167>`_)
75+
76+
77+
78+
False Negatives Fixed
79+
---------------------
80+
81+
- Extend broad-exception-raised and broad-exception-caught to except*.
82+
83+
Closes #8827 (`#8827 <https://github.com/pylint-dev/pylint/issues/8827>`_)
84+
85+
- Fix a false-negative for unnecessary if blocks using a different than expected ordering of arguments.
86+
87+
Closes #8947. (`#8947 <https://github.com/pylint-dev/pylint/issues/8947>`_)
88+
89+
90+
91+
Other Bug Fixes
92+
---------------
93+
94+
- Improve the message provided for wrong-import-order check. Instead of the import statement ("import x"), the message now specifies the import that is out of order and which imports should come after it. As reported in the issue, this is particularly helpful if there are multiple imports on a single line that do not follow the PEP8 convention.
95+
96+
The message will report imports as follows:
97+
For "import X", it will report "(standard/third party/first party/local) import X"
98+
For "import X.Y" and "from X import Y", it will report "(standard/third party/first party/local) import X.Y"
99+
The import category is specified to provide explanation as to why pylint has issued the message and guidence to the developer on how to fix the problem.
100+
101+
Closes #8808 (`#8808 <https://github.com/pylint-dev/pylint/issues/8808>`_)
102+
103+
104+
105+
Other Changes
106+
-------------
107+
108+
- Print how many files were checked in verbose mode.
109+
110+
Closes #8935 (`#8935 <https://github.com/pylint-dev/pylint/issues/8935>`_)
111+
112+
- Fix a crash when an enum class which is also decorated with a ``dataclasses.dataclass`` decorator is defined.
113+
114+
Closes #9100 (`#9100 <https://github.com/pylint-dev/pylint/issues/9100>`_)
115+
116+
117+
118+
Internal Changes
119+
----------------
120+
121+
- Update astroid version to 3.1.0.
122+
123+
Refs #9457 (`#9457 <https://github.com/pylint-dev/pylint/issues/9457>`_)

doc/whatsnew/fragments/8701.feature

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/8808.bugfix

Lines changed: 0 additions & 8 deletions
This file was deleted.

doc/whatsnew/fragments/8827.false_negative

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/8855.new_check

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/8935.other

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/8947.false_negative

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9097.feature

Lines changed: 0 additions & 5 deletions
This file was deleted.

doc/whatsnew/fragments/9100.other

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9106.false_positive

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9167.false_positive

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9196.feature

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9228.feature

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9229.feature

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9334.feature

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/whatsnew/fragments/9457.internal

Lines changed: 0 additions & 3 deletions
This file was deleted.

examples/pylintrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,11 @@ max-nested-blocks=5
468468
# printed.
469469
never-returning-functions=sys.exit,argparse.parse_error
470470

471+
# Let 'consider-using-join' be raised when the separator to join on would be
472+
# non-empty (resulting in expected fixes of the type: ``"- " + " -
473+
# ".join(items)``)
474+
suggest-join-with-non-empty-separator=yes
475+
471476

472477
[REPORTS]
473478

examples/pyproject.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,10 @@ max-nested-blocks = 5
394394
# considered as an explicit return statement and no message will be printed.
395395
never-returning-functions = ["sys.exit", "argparse.parse_error"]
396396

397+
# Let 'consider-using-join' be raised when the separator to join on would be non-
398+
# empty (resulting in expected fixes of the type: ``"- " + " - ".join(items)``)
399+
suggest-join-with-non-empty-separator = true
400+
397401
[tool.pylint.reports]
398402
# Python expression which should return a score less than or equal to 10. You
399403
# have access to the variables 'fatal', 'error', 'warning', 'refactor',

pylint/__pkginfo__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from __future__ import annotations
1111

12-
__version__ = "3.1.0-dev0"
12+
__version__ = "3.1.0"
1313

1414

1515
def get_numversion_from_version(v: str) -> tuple[int, int, int]:

tbump.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
github_url = "https://github.com/pylint-dev/pylint"
22

33
[version]
4-
current = "3.1.0-dev0"
4+
current = "3.1.0"
55
regex = '''
66
^(?P<major>0|[1-9]\d*)
77
\.

0 commit comments

Comments
 (0)