summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/conf.py19
-rw-r--r--doc/contact.rst4
-rw-r--r--doc/data/messages/b/bad-file-encoding/bad.py1
-rw-r--r--doc/data/messages/b/bad-file-encoding/details.rst1
-rw-r--r--doc/data/messages/b/bad-file-encoding/good.py1
-rw-r--r--doc/data/messages/b/bad-format-character/details.rst2
-rw-r--r--doc/data/messages/b/bad-plugin-value/details.rst2
-rw-r--r--doc/data/messages/b/bad-string-format-type/details.rst2
-rw-r--r--doc/data/messages/c/c-extension-no-member/details.rst2
-rw-r--r--doc/data/messages/c/consider-using-generator/related.rst4
-rw-r--r--doc/data/messages/c/cyclic-import/details.rst2
-rw-r--r--doc/data/messages/f/fixme/details.rst2
-rw-r--r--doc/data/messages/i/invalid-character-carriage-return/details.rst2
-rw-r--r--doc/data/messages/i/invalid-character-nul/details.rst2
-rw-r--r--doc/data/messages/i/invalid-unicode-codec/details.rst2
-rw-r--r--doc/data/messages/i/invalid-unicode-codec/good.py1
-rw-r--r--doc/data/messages/l/line-too-long/details.rst2
-rw-r--r--doc/data/messages/m/mixed-line-endings/details.rst2
-rw-r--r--doc/data/messages/r/raw-checker-failed/details.rst2
-rw-r--r--doc/data/messages/r/relative-beyond-top-level/details.rst2
-rw-r--r--doc/data/messages/r/return-arg-in-generator/details.rst1
-rw-r--r--doc/data/messages/r/return-arg-in-generator/good.py5
-rw-r--r--doc/data/messages/u/unrecognized-option/details.rst2
-rw-r--r--doc/data/messages/u/use-a-generator/related.rst2
-rw-r--r--doc/data/messages/u/useless-option-value/bad.py2
-rw-r--r--doc/data/messages/u/useless-option-value/good.py2
-rw-r--r--doc/data/ruff.toml10
-rw-r--r--doc/development_guide/api/epylint.rst22
-rw-r--r--doc/development_guide/api/index.rst3
-rw-r--r--doc/development_guide/contributor_guide/contribute.rst34
-rw-r--r--doc/development_guide/contributor_guide/release.md10
-rw-r--r--doc/development_guide/contributor_guide/tests/install.rst6
-rw-r--r--doc/development_guide/contributor_guide/tests/launching_test.rst2
-rw-r--r--doc/development_guide/contributor_guide/tests/writing_test.rst2
-rw-r--r--doc/development_guide/how_tos/custom_checkers.rst6
-rw-r--r--doc/development_guide/how_tos/transform_plugins.rst2
-rwxr-xr-xdoc/exts/pylint_extensions.py27
-rwxr-xr-xdoc/exts/pylint_features.py4
-rw-r--r--doc/exts/pylint_messages.py6
-rw-r--r--doc/exts/pylint_options.py4
-rw-r--r--doc/pyreverse.rst2
-rw-r--r--doc/requirements.txt6
-rw-r--r--doc/symilar.rst1
-rw-r--r--doc/test_messages_documentation.py4
-rw-r--r--doc/user_guide/checkers/features.rst6
-rw-r--r--doc/user_guide/installation/badge.rst6
-rw-r--r--doc/user_guide/installation/ide_integration/flymake-emacs.rst75
-rw-r--r--doc/whatsnew/2/2.1/full.rst2
-rw-r--r--doc/whatsnew/2/2.10/summary.rst2
-rw-r--r--doc/whatsnew/2/2.11/summary.rst2
-rw-r--r--doc/whatsnew/2/2.12/full.rst2
-rw-r--r--doc/whatsnew/2/2.13/full.rst8
-rw-r--r--doc/whatsnew/2/2.13/summary.rst10
-rw-r--r--doc/whatsnew/2/2.14/summary.rst2
-rw-r--r--doc/whatsnew/2/2.15/index.rst192
-rw-r--r--doc/whatsnew/2/2.16/index.rst274
-rw-r--r--doc/whatsnew/2/2.17/index.rst62
-rw-r--r--doc/whatsnew/2/2.3/full.rst2
-rw-r--r--doc/whatsnew/2/2.9/full.rst4
-rw-r--r--doc/whatsnew/3/3.0/index.rst18
-rw-r--r--doc/whatsnew/3/index.rst7
-rw-r--r--doc/whatsnew/fragments/1954.performance4
-rw-r--r--doc/whatsnew/fragments/3670.false_positive3
-rw-r--r--doc/whatsnew/fragments/5488.other3
-rw-r--r--doc/whatsnew/fragments/7506.false_positive3
-rw-r--r--doc/whatsnew/fragments/7578.bugfix3
-rw-r--r--doc/whatsnew/fragments/7737.user_action3
-rw-r--r--doc/whatsnew/fragments/8167.false_positive4
-rw-r--r--doc/whatsnew/fragments/8181.feature5
-rw-r--r--doc/whatsnew/fragments/8198.bugfix4
-rw-r--r--doc/whatsnew/fragments/8251.breaking5
-rw-r--r--doc/whatsnew/fragments/8361.bugfix4
-rw-r--r--doc/whatsnew/fragments/8401.internal4
-rw-r--r--doc/whatsnew/fragments/8403.false_positive5
-rw-r--r--doc/whatsnew/fragments/8404.breaking7
-rw-r--r--doc/whatsnew/fragments/8404.internal8
-rw-r--r--doc/whatsnew/fragments/8405.other3
-rw-r--r--doc/whatsnew/fragments/8407.internal5
-rw-r--r--doc/whatsnew/fragments/8408.internal3
-rw-r--r--doc/whatsnew/fragments/8409.internal24
-rw-r--r--doc/whatsnew/fragments/8410.false_positive3
-rw-r--r--doc/whatsnew/fragments/8411.user_action7
-rw-r--r--doc/whatsnew/fragments/8412.internal3
-rw-r--r--doc/whatsnew/fragments/8416.breaking3
-rw-r--r--doc/whatsnew/fragments/8424.false_positive3
-rw-r--r--doc/whatsnew/fragments/8433.internal10
-rw-r--r--doc/whatsnew/fragments/8434.bugfix3
-rw-r--r--doc/whatsnew/fragments/8437.bugfix4
-rw-r--r--doc/whatsnew/fragments/8453.bugfix3
-rw-r--r--doc/whatsnew/fragments/8462.breaking5
-rw-r--r--doc/whatsnew/fragments/8463.internal3
-rw-r--r--doc/whatsnew/fragments/8464.internal3
-rw-r--r--doc/whatsnew/fragments/8465.user_action5
-rw-r--r--doc/whatsnew/fragments/8466.internal5
-rw-r--r--doc/whatsnew/fragments/8472.internal4
-rw-r--r--doc/whatsnew/fragments/8473.internal6
-rw-r--r--doc/whatsnew/fragments/8474.internal5
-rw-r--r--doc/whatsnew/fragments/8475.internal5
-rw-r--r--doc/whatsnew/fragments/8476.feature3
-rw-r--r--doc/whatsnew/fragments/8477.internal4
-rw-r--r--doc/whatsnew/fragments/8478.internal4
-rw-r--r--doc/whatsnew/fragments/8485.false_positive5
-rw-r--r--doc/whatsnew/fragments/8487.false_positive3
-rw-r--r--doc/whatsnew/fragments/8496.false_positive5
-rw-r--r--doc/whatsnew/fragments/8500.false_positive3
-rw-r--r--doc/whatsnew/fragments/8504.bugfix3
-rw-r--r--doc/whatsnew/fragments/8536.false_negative3
-rw-r--r--doc/whatsnew/fragments/8540.false_positive4
-rw-r--r--doc/whatsnew/fragments/8555.false_positive3
-rw-r--r--doc/whatsnew/fragments/8559.false_negative3
-rw-r--r--doc/whatsnew/fragments/8563.bugfix3
-rw-r--r--doc/whatsnew/fragments/8570.false_positive3
-rw-r--r--doc/whatsnew/index.rst1
113 files changed, 650 insertions, 476 deletions
diff --git a/doc/conf.py b/doc/conf.py
index 76968ec36..0da6091cc 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -1,6 +1,6 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
+# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE
+# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt
from __future__ import annotations
@@ -109,7 +109,8 @@ master_doc = "index"
# General information about the project.
project = "Pylint"
current_year = datetime.utcnow().year
-copyright = f"2003-{current_year}, Logilab, PyCQA and contributors" # pylint: disable=redefined-builtin
+contributors = "Logilab and Pylint contributors"
+copyright = f"2003-{current_year}, {contributors}" # pylint: disable=redefined-builtin
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -249,7 +250,7 @@ latex_documents = [
"index",
"Pylint.tex",
"Pylint Documentation",
- "Logilab, PyCQA and contributors",
+ contributors,
"manual",
)
]
@@ -282,9 +283,7 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
-man_pages = [
- ("index", "pylint", "Pylint Documentation", ["Logilab, PyCQA and contributors"], 1)
-]
+man_pages = [("index", "pylint", "Pylint Documentation", [contributors], 1)]
# pylint: disable-next=consider-using-namedtuple-or-dataclass
intersphinx_mapping = {
@@ -297,7 +296,9 @@ intersphinx_mapping = {
autosectionlabel_prefix_document = True
# Permit duplicated titles in the resulting document.
-# See https://github.com/PyCQA/pylint/issues/7362#issuecomment-1256932866
+# See https://github.com/pylint-dev/pylint/issues/7362#issuecomment-1256932866
autosectionlabel_maxdepth = 2
-linkcheck_ignore = ["https://github.com/PyCQA/pylint/blob/main/pylint/extensions/.*"]
+linkcheck_ignore = [
+ "https://github.com/pylint-dev/pylint/blob/main/pylint/extensions/.*"
+]
diff --git a/doc/contact.rst b/doc/contact.rst
index 5c3920dfc..cd3594f39 100644
--- a/doc/contact.rst
+++ b/doc/contact.rst
@@ -9,12 +9,12 @@ You think you have found a bug in Pylint? Well, this may be the case
since Pylint and Python are under heavy development!
Please take the time to check if it is already in the issue tracker at
-https://github.com/PyCQA/pylint
+https://github.com/pylint-dev/pylint
Note that the issue might also be reported in one of Pylint's major dependencies,
astroid:
-* https://github.com/PyCQA/astroid
+* https://github.com/pylint-dev/astroid
Discord server
--------------
diff --git a/doc/data/messages/b/bad-file-encoding/bad.py b/doc/data/messages/b/bad-file-encoding/bad.py
new file mode 100644
index 000000000..a4ab46ea3
--- /dev/null
+++ b/doc/data/messages/b/bad-file-encoding/bad.py
@@ -0,0 +1 @@
+# coding: latin_1 # [bad-file-encoding]
diff --git a/doc/data/messages/b/bad-file-encoding/details.rst b/doc/data/messages/b/bad-file-encoding/details.rst
deleted file mode 100644
index ab8204529..000000000
--- a/doc/data/messages/b/bad-file-encoding/details.rst
+++ /dev/null
@@ -1 +0,0 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/b/bad-file-encoding/good.py b/doc/data/messages/b/bad-file-encoding/good.py
index c40beb573..e69de29bb 100644
--- a/doc/data/messages/b/bad-file-encoding/good.py
+++ b/doc/data/messages/b/bad-file-encoding/good.py
@@ -1 +0,0 @@
-# This is a placeholder for correct code for this message.
diff --git a/doc/data/messages/b/bad-format-character/details.rst b/doc/data/messages/b/bad-format-character/details.rst
index 25a2d3f5c..94733967b 100644
--- a/doc/data/messages/b/bad-format-character/details.rst
+++ b/doc/data/messages/b/bad-format-character/details.rst
@@ -1,2 +1,2 @@
This check is currently only active for "old-style" string formatting as seen in the examples.
-See `Issue #6085 <https://github.com/PyCQA/pylint/issues/6085>`_ for more information.
+See `Issue #6085 <https://github.com/pylint-dev/pylint/issues/6085>`_ for more information.
diff --git a/doc/data/messages/b/bad-plugin-value/details.rst b/doc/data/messages/b/bad-plugin-value/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/b/bad-plugin-value/details.rst
+++ b/doc/data/messages/b/bad-plugin-value/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/b/bad-string-format-type/details.rst b/doc/data/messages/b/bad-string-format-type/details.rst
index 65752275c..c60738410 100644
--- a/doc/data/messages/b/bad-string-format-type/details.rst
+++ b/doc/data/messages/b/bad-string-format-type/details.rst
@@ -1,2 +1,2 @@
This check is currently only active for "old-style" string formatting as seen in the examples.
-See `Issue #6085 <https://github.com/PyCQA/pylint/issues/6163>`_ for more information.
+See `Issue #6085 <https://github.com/pylint-dev/pylint/issues/6163>`_ for more information.
diff --git a/doc/data/messages/c/c-extension-no-member/details.rst b/doc/data/messages/c/c-extension-no-member/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/c/c-extension-no-member/details.rst
+++ b/doc/data/messages/c/c-extension-no-member/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/c/consider-using-generator/related.rst b/doc/data/messages/c/consider-using-generator/related.rst
index f380655fb..24727cf25 100644
--- a/doc/data/messages/c/consider-using-generator/related.rst
+++ b/doc/data/messages/c/consider-using-generator/related.rst
@@ -1,3 +1,3 @@
- `PEP 289 <https://peps.python.org/pep-0289/>`_
-- `Benchmark and discussion for any/all/list/tuple <https://github.com/PyCQA/pylint/pull/3309#discussion_r576683109>`_
-- `Benchmark and discussion for sum/max/min <https://github.com/PyCQA/pylint/pull/6595#issuecomment-1125704244>`_
+- `Benchmark and discussion for any/all/list/tuple <https://github.com/pylint-dev/pylint/pull/3309#discussion_r576683109>`_
+- `Benchmark and discussion for sum/max/min <https://github.com/pylint-dev/pylint/pull/6595#issuecomment-1125704244>`_
diff --git a/doc/data/messages/c/cyclic-import/details.rst b/doc/data/messages/c/cyclic-import/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/c/cyclic-import/details.rst
+++ b/doc/data/messages/c/cyclic-import/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/f/fixme/details.rst b/doc/data/messages/f/fixme/details.rst
index 02869b537..732b4d88d 100644
--- a/doc/data/messages/f/fixme/details.rst
+++ b/doc/data/messages/f/fixme/details.rst
@@ -1,2 +1,2 @@
You can get use regular expressions and the ``notes-rgx`` option to create some constraints for this message.
-See `the following issue <https://github.com/PyCQA/pylint/issues/2874>`_ for some examples.
+See `the following issue <https://github.com/pylint-dev/pylint/issues/2874>`_ for some examples.
diff --git a/doc/data/messages/i/invalid-character-carriage-return/details.rst b/doc/data/messages/i/invalid-character-carriage-return/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/i/invalid-character-carriage-return/details.rst
+++ b/doc/data/messages/i/invalid-character-carriage-return/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/i/invalid-character-nul/details.rst b/doc/data/messages/i/invalid-character-nul/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/i/invalid-character-nul/details.rst
+++ b/doc/data/messages/i/invalid-character-nul/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/i/invalid-unicode-codec/details.rst b/doc/data/messages/i/invalid-unicode-codec/details.rst
index ab8204529..67001aca8 100644
--- a/doc/data/messages/i/invalid-unicode-codec/details.rst
+++ b/doc/data/messages/i/invalid-unicode-codec/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+This message is a placeholder for a potential future issue with unicode codecs.
diff --git a/doc/data/messages/i/invalid-unicode-codec/good.py b/doc/data/messages/i/invalid-unicode-codec/good.py
deleted file mode 100644
index c40beb573..000000000
--- a/doc/data/messages/i/invalid-unicode-codec/good.py
+++ /dev/null
@@ -1 +0,0 @@
-# This is a placeholder for correct code for this message.
diff --git a/doc/data/messages/l/line-too-long/details.rst b/doc/data/messages/l/line-too-long/details.rst
index 7f774a661..3a3a03897 100644
--- a/doc/data/messages/l/line-too-long/details.rst
+++ b/doc/data/messages/l/line-too-long/details.rst
@@ -2,4 +2,4 @@ Pragma controls such as ``# pylint: disable=all`` are not counted toward line le
If you attempt to disable this message via ``# pylint: disable=line-too-long`` in a module with no code, you may receive a message for ``useless-suppression``. This is a false positive of ``useless-suppression`` we can't easily fix.
-See https://github.com/PyCQA/pylint/issues/3368 for more information.
+See https://github.com/pylint-dev/pylint/issues/3368 for more information.
diff --git a/doc/data/messages/m/mixed-line-endings/details.rst b/doc/data/messages/m/mixed-line-endings/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/m/mixed-line-endings/details.rst
+++ b/doc/data/messages/m/mixed-line-endings/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/r/raw-checker-failed/details.rst b/doc/data/messages/r/raw-checker-failed/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/r/raw-checker-failed/details.rst
+++ b/doc/data/messages/r/raw-checker-failed/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/r/relative-beyond-top-level/details.rst b/doc/data/messages/r/relative-beyond-top-level/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/r/relative-beyond-top-level/details.rst
+++ b/doc/data/messages/r/relative-beyond-top-level/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/r/return-arg-in-generator/details.rst b/doc/data/messages/r/return-arg-in-generator/details.rst
deleted file mode 100644
index ab8204529..000000000
--- a/doc/data/messages/r/return-arg-in-generator/details.rst
+++ /dev/null
@@ -1 +0,0 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/r/return-arg-in-generator/good.py b/doc/data/messages/r/return-arg-in-generator/good.py
index c40beb573..72dc95e7b 100644
--- a/doc/data/messages/r/return-arg-in-generator/good.py
+++ b/doc/data/messages/r/return-arg-in-generator/good.py
@@ -1 +1,4 @@
-# This is a placeholder for correct code for this message.
+def yield_numbers():
+ for number in range(10):
+ yield number
+ return "I am now allowed!" # This was not allowed in Python 3.3 and earlier.
diff --git a/doc/data/messages/u/unrecognized-option/details.rst b/doc/data/messages/u/unrecognized-option/details.rst
index ab8204529..c1e9b976a 100644
--- a/doc/data/messages/u/unrecognized-option/details.rst
+++ b/doc/data/messages/u/unrecognized-option/details.rst
@@ -1 +1 @@
-You can help us make the doc better `by contributing <https://github.com/PyCQA/pylint/issues/5953>`_ !
+You can help us make the doc better `by contributing <https://github.com/pylint-dev/pylint/issues/5953>`_ !
diff --git a/doc/data/messages/u/use-a-generator/related.rst b/doc/data/messages/u/use-a-generator/related.rst
index 5d4660bec..1ec9e139e 100644
--- a/doc/data/messages/u/use-a-generator/related.rst
+++ b/doc/data/messages/u/use-a-generator/related.rst
@@ -1,2 +1,2 @@
- `PEP 289 – Generator Expressions <https://peps.python.org/pep-0289/>`_
-- `Benchmark and discussion during initial implementation <https://github.com/PyCQA/pylint/pull/3309#discussion_r576683109>`_
+- `Benchmark and discussion during initial implementation <https://github.com/pylint-dev/pylint/pull/3309#discussion_r576683109>`_
diff --git a/doc/data/messages/u/useless-option-value/bad.py b/doc/data/messages/u/useless-option-value/bad.py
index 291528732..e284b3fea 100644
--- a/doc/data/messages/u/useless-option-value/bad.py
+++ b/doc/data/messages/u/useless-option-value/bad.py
@@ -1,3 +1,3 @@
-"""'bad-continuation' was removed from pylint in https://github.com/PyCQA/pylint/pull/3571"""
+"""'bad-continuation' was removed from pylint in https://github.com/pylint-dev/pylint/pull/3571"""
# pylint: disable=bad-continuation # [useless-option-value]
diff --git a/doc/data/messages/u/useless-option-value/good.py b/doc/data/messages/u/useless-option-value/good.py
index eb6b246c6..619b5b6f6 100644
--- a/doc/data/messages/u/useless-option-value/good.py
+++ b/doc/data/messages/u/useless-option-value/good.py
@@ -1 +1 @@
-"""'bad-continuation' was removed from pylint in https://github.com/PyCQA/pylint/pull/3571"""
+"""'bad-continuation' was removed from pylint in https://github.com/pylint-dev/pylint/pull/3571"""
diff --git a/doc/data/ruff.toml b/doc/data/ruff.toml
index da929be3b..773f7a313 100644
--- a/doc/data/ruff.toml
+++ b/doc/data/ruff.toml
@@ -2,4 +2,12 @@ ignore = []
# Reading ease is drastically reduced on read the doc after 103 chars
# (Because of horizontal scrolling)
line-length = 103
-select = ["E501"]
+select = ["E501", "I"]
+
+
+[per-file-ignores]
+"doc/data/messages/r/reimported/bad.py" = ["I"]
+"doc/data/messages/w/wrong-import-order/bad.py" = ["I"]
+"doc/data/messages/u/ungrouped-imports/bad.py" = ["I"]
+"doc/data/messages/m/misplaced-future/bad.py" = ["I"]
+"doc/data/messages/m/multiple-imports/bad.py" = ["I"]
diff --git a/doc/development_guide/api/epylint.rst b/doc/development_guide/api/epylint.rst
deleted file mode 100644
index 8359587ed..000000000
--- a/doc/development_guide/api/epylint.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-=======
-epylint
-=======
-
-To silently run epylint on a ``module_name.py`` module, and get its standard output and error:
-
-.. sourcecode:: python
-
- from pylint import epylint as lint
-
- (pylint_stdout, pylint_stderr) = lint.py_run('module_name.py', return_std=True)
-
-It is also possible to include additional Pylint options in the first argument to ``py_run``:
-
-.. sourcecode:: python
-
- from pylint import epylint as lint
-
- (pylint_stdout, pylint_stderr) = lint.py_run('module_name.py --disable C0114', return_std=True)
-
-The options ``--msg-template="{path}:{line}: {category} ({msg_id}, {symbol}, {obj}) {msg}"`` and
-``--reports=n`` are set implicitly inside the ``epylint`` module.
diff --git a/doc/development_guide/api/index.rst b/doc/development_guide/api/index.rst
index 00e6e1a9f..ac4e96900 100644
--- a/doc/development_guide/api/index.rst
+++ b/doc/development_guide/api/index.rst
@@ -2,7 +2,7 @@
API
###
-You can call ``Pylint``, ``epylint``, ``symilar`` and ``pyreverse`` from another
+You can call ``Pylint``, ``symilar`` and ``pyreverse`` from another
Python program thanks to their APIs:
.. sourcecode:: python
@@ -19,4 +19,3 @@ Python program thanks to their APIs:
:hidden:
pylint
- epylint
diff --git a/doc/development_guide/contributor_guide/contribute.rst b/doc/development_guide/contributor_guide/contribute.rst
index 2ebc895b0..dee22aa69 100644
--- a/doc/development_guide/contributor_guide/contribute.rst
+++ b/doc/development_guide/contributor_guide/contribute.rst
@@ -24,18 +24,18 @@ Here's a list of links you can check depending on what you want to do:
- `Reviewing pull requests`_
.. _`Asking a question on discord`: https://discord.com/invite/qYxpadCgkx
-.. _`on github`: https://github.com/PyCQA/pylint/issues/new/choose
-.. _`Opening an issue`: https://github.com/PyCQA/pylint/issues/new?assignees=&labels=Needs+triage+%3Ainbox_tray%3A&template=BUG-REPORT.yml
-.. _`Making the documentation better`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Documentation+%3Agreen_book%3A%22
-.. _`Making the error message better`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+project%3Apycqa%2Fpylint%2F4+
-.. _`Reproducing bugs and confirming that issues are valid`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+reproduction+%3Amag%3A%22%2C%22Cannot+reproduce+%F0%9F%A4%B7%22
-.. _`Investigating or debugging complicated issues`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+investigation+%F0%9F%94%AC%22
-.. _`Designing or specifying a solution`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+design+proposal+%3Alock%3A%22%2C%22Needs+specification+%3Aclosed_lock_with_key%3A%22
-.. _`Giving your opinion on ongoing discussion`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+decision+%3Alock%3A%22
-.. _`Fixing bugs and crashes`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Bug+%3Abeetle%3A%22%2C%22Crash+%F0%9F%92%A5%22
-.. _`Fixing false positives`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22False+Positive+%F0%9F%A6%9F%22
-.. _`Creating new features or fixing false negatives`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22False+Negative+%F0%9F%A6%8B%22%2C%22Enhancement+%E2%9C%A8%22
-.. _`Reviewing pull requests`: https://github.com/PyCQA/pylint/pulls?q=is%3Aopen+is%3Apr+label%3A%22Needs+review+%F0%9F%94%8D%22
+.. _`on github`: https://github.com/pylint-dev/pylint/issues/new/choose
+.. _`Opening an issue`: https://github.com/pylint-dev/pylint/issues/new?assignees=&labels=Needs+triage+%3Ainbox_tray%3A&template=BUG-REPORT.yml
+.. _`Making the documentation better`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Documentation+%3Agreen_book%3A%22
+.. _`Making the error message better`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen%20is%3Aissue%20project%3Apylint-dev%2Fpylint%2F4
+.. _`Reproducing bugs and confirming that issues are valid`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+reproduction+%3Amag%3A%22%2C%22Cannot+reproduce+%F0%9F%A4%B7%22
+.. _`Investigating or debugging complicated issues`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+investigation+%F0%9F%94%AC%22
+.. _`Designing or specifying a solution`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+design+proposal+%3Alock%3A%22%2C%22Needs+specification+%3Aclosed_lock_with_key%3A%22
+.. _`Giving your opinion on ongoing discussion`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+decision+%3Alock%3A%22
+.. _`Fixing bugs and crashes`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Bug+%3Abeetle%3A%22%2C%22Crash+%F0%9F%92%A5%22
+.. _`Fixing false positives`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22False+Positive+%F0%9F%A6%9F%22
+.. _`Creating new features or fixing false negatives`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22False+Negative+%F0%9F%A6%8B%22%2C%22Enhancement+%E2%9C%A8%22
+.. _`Reviewing pull requests`: https://github.com/pylint-dev/pylint/pulls?q=is%3Aopen+is%3Apr+label%3A%22Needs+review+%F0%9F%94%8D%22
If you are a pylint maintainer there's also:
@@ -45,10 +45,10 @@ If you are a pylint maintainer there's also:
- `Preparing the next patch release`_
- `Checking stale pull requests status`_
-.. _`Triaging issues`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+triage+%3Ainbox_tray%3A%22
-.. _`Labeling issues that do not have an actionable label yet`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+-label%3A%22Needs+astroid+Brain+%F0%9F%A7%A0%22+-label%3A%22Needs+astroid+update%22+-label%3A%22Needs+backport%22+-label%3A%22Needs+decision+%3Alock%3A%22+-label%3A%22Needs+investigation+%F0%9F%94%AC%22+-label%3A%22Needs+PR%22+-label%3A%22Needs+reproduction+%3Amag%3A%22+-label%3A%22Needs+review+%F0%9F%94%8D%22+-label%3A%22Needs+triage+%3Ainbox_tray%3A%22+-label%3A%22Waiting+on+author%22+-label%3A%22Work+in+progress%22+-label%3AMaintenance+sort%3Aupdated-desc+-label%3A%22Needs+specification+%3Aclosed_lock_with_key%3A%22+-label%3A%22Needs+design+proposal+%3Alock%3A%22
-.. _`Preparing the next patch release`: https://github.com/PyCQA/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+backport%22
-.. _`Checking stale pull requests status`: https://github.com/PyCQA/pylint/pulls?q=is%3Aopen+is%3Apr+label%3A%22Work+in+progress%22%2C%22Needs+astroid+update%22%2C%22Waiting+on+author%22
+.. _`Triaging issues`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+triage+%3Ainbox_tray%3A%22
+.. _`Labeling issues that do not have an actionable label yet`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+-label%3A%22Needs+astroid+Brain+%F0%9F%A7%A0%22+-label%3A%22Needs+astroid+update%22+-label%3A%22Needs+backport%22+-label%3A%22Needs+decision+%3Alock%3A%22+-label%3A%22Needs+investigation+%F0%9F%94%AC%22+-label%3A%22Needs+PR%22+-label%3A%22Needs+reproduction+%3Amag%3A%22+-label%3A%22Needs+review+%F0%9F%94%8D%22+-label%3A%22Needs+triage+%3Ainbox_tray%3A%22+-label%3A%22Waiting+on+author%22+-label%3A%22Work+in+progress%22+-label%3AMaintenance+sort%3Aupdated-desc+-label%3A%22Needs+specification+%3Aclosed_lock_with_key%3A%22+-label%3A%22Needs+design+proposal+%3Alock%3A%22
+.. _`Preparing the next patch release`: https://github.com/pylint-dev/pylint/issues?q=is%3Aopen+is%3Aissue+label%3A%22Needs+backport%22
+.. _`Checking stale pull requests status`: https://github.com/pylint-dev/pylint/pulls?q=is%3Aopen+is%3Apr+label%3A%22Work+in+progress%22%2C%22Needs+astroid+update%22%2C%22Waiting+on+author%22
Creating a pull request
@@ -100,7 +100,7 @@ your patch gets accepted:
.. _pytest: https://docs.pytest.org/en/latest/
.. _black: https://github.com/psf/black
.. _isort: https://github.com/PyCQA/isort
-.. _astroid: https://github.com/pycqa/astroid
+.. _astroid: https://github.com/pylint-dev/astroid
Tips for Getting Started with Pylint Development
diff --git a/doc/development_guide/contributor_guide/release.md b/doc/development_guide/contributor_guide/release.md
index a076838fd..e1635345b 100644
--- a/doc/development_guide/contributor_guide/release.md
+++ b/doc/development_guide/contributor_guide/release.md
@@ -39,8 +39,16 @@ branch
- Push the tag.
- Release the version on GitHub with the same name as the tag and copy and paste the
appropriate changelog in the description. This triggers the PyPI release.
-- Delete the `maintenance/X.Y-1.x` branch. (For example: `maintenance/2.3.x`)
- Create a `maintenance/X.Y.x` (For example: `maintenance/2.4.x` from the `v2.4.0` tag.)
+- Upgrade the pattern for the protected branches in the settings under `Branches` /
+ `Branch protection rules`. (For example: `maintenance/2.4*` instead of
+ `maintenance/2.3*`.). There's a lot of configuration done in these settings, do NOT
+ recreate it from scratch.
+- Delete the `maintenance/X.Y-1.x` branch. (For example: `maintenance/2.3.x`)
+- Select all the issues labelled `backport maintenance/X.Y-1.x` and label them
+ `backported`, then rename the `backport maintenance/X.Y-1.x` label to
+ `backport maintenance/X.Y.x` (for example rename `backport maintenance/2.3.x` to
+ `backport maintenance/2.4.x`)
- Close the current milestone and create the new ones (For example: close `2.4.0`,
create `2.4.1` and `2.6.0`)
- Hide and deactivate all the patch releases for the previous minor release on
diff --git a/doc/development_guide/contributor_guide/tests/install.rst b/doc/development_guide/contributor_guide/tests/install.rst
index c150d0b91..24783ea2c 100644
--- a/doc/development_guide/contributor_guide/tests/install.rst
+++ b/doc/development_guide/contributor_guide/tests/install.rst
@@ -10,7 +10,7 @@ Pylint is developed using the git_ distributed version control system.
You can clone Pylint using ::
- git clone https://github.com/PyCQA/pylint
+ git clone https://github.com/pylint-dev/pylint
Before you start testing your code, you need to install your source-code package locally.
Suppose you just cloned pylint with the previous ``git clone`` command. To set up your
@@ -34,7 +34,7 @@ If you're testing new changes in astroid you need to also clone astroid_ and ins
with an editable installation alongside pylint as follows::
# Suppose you're in the pylint directory
- git clone https://github.com/PyCQA/astroid.git
+ git clone https://github.com/pylint-dev/astroid.git
python3 -m pip install -e astroid/
You're now using the local astroid in pylint and can control the version with git for example::
@@ -43,5 +43,5 @@ You're now using the local astroid in pylint and can control the version with gi
git switch my-astroid-dev-branch
.. _pytest-cov: https://pypi.org/project/pytest-cov/
-.. _astroid: https://github.com/pycqa/astroid
+.. _astroid: https://github.com/pylint-dev/astroid
.. _git: https://git-scm.com/
diff --git a/doc/development_guide/contributor_guide/tests/launching_test.rst b/doc/development_guide/contributor_guide/tests/launching_test.rst
index 02114f01f..64d4421a7 100644
--- a/doc/development_guide/contributor_guide/tests/launching_test.rst
+++ b/doc/development_guide/contributor_guide/tests/launching_test.rst
@@ -85,4 +85,4 @@ You can find the latest list of repositories and any relevant code for these tes
directory.
.. _pytest-cov: https://pypi.org/project/pytest-cov/
-.. _astroid: https://github.com/pycqa/astroid
+.. _astroid: https://github.com/pylint-dev/astroid
diff --git a/doc/development_guide/contributor_guide/tests/writing_test.rst b/doc/development_guide/contributor_guide/tests/writing_test.rst
index c616d172b..9ce9ca1f0 100644
--- a/doc/development_guide/contributor_guide/tests/writing_test.rst
+++ b/doc/development_guide/contributor_guide/tests/writing_test.rst
@@ -137,4 +137,4 @@ module name should be ``{abspath}`` and the file name ``{relpath}``.
.. _tox: https://tox.wiki/en/latest/
.. _pytest: https://docs.pytest.org/en/latest/
.. _pytest-cov: https://pypi.org/project/pytest-cov/
-.. _astroid: https://github.com/pycqa/astroid
+.. _astroid: https://github.com/pylint-dev/astroid
diff --git a/doc/development_guide/how_tos/custom_checkers.rst b/doc/development_guide/how_tos/custom_checkers.rst
index c7b1b64f8..6ab9a9e35 100644
--- a/doc/development_guide/how_tos/custom_checkers.rst
+++ b/doc/development_guide/how_tos/custom_checkers.rst
@@ -3,11 +3,11 @@
How to Write a Checker
======================
You can find some simple examples in the distribution
-(`custom.py <https://github.com/PyCQA/pylint/blob/main/examples/custom.py>`_
+(`custom.py <https://github.com/pylint-dev/pylint/blob/main/examples/custom.py>`_
,
-`custom_raw.py <https://github.com/PyCQA/pylint/blob/main/examples/custom_raw.py>`_
+`custom_raw.py <https://github.com/pylint-dev/pylint/blob/main/examples/custom_raw.py>`_
and
-`deprecation_checker.py <https://github.com/PyCQA/pylint/blob/main/examples/deprecation_checker.py>`_).
+`deprecation_checker.py <https://github.com/pylint-dev/pylint/blob/main/examples/deprecation_checker.py>`_).
.. TODO Create custom_token.py
diff --git a/doc/development_guide/how_tos/transform_plugins.rst b/doc/development_guide/how_tos/transform_plugins.rst
index 031faa0f1..e1f7e9e64 100644
--- a/doc/development_guide/how_tos/transform_plugins.rst
+++ b/doc/development_guide/how_tos/transform_plugins.rst
@@ -114,4 +114,4 @@ an example, any code transformation can be done by plugins.
See `astroid/brain`_ for real life examples of transform plugins.
.. _`warnings.py`: https://hg.python.org/cpython/file/2.7/Lib/warnings.py
-.. _`astroid/brain`: https://github.com/PyCQA/astroid/tree/main/astroid/brain
+.. _`astroid/brain`: https://github.com/pylint-dev/astroid/tree/main/astroid/brain
diff --git a/doc/exts/pylint_extensions.py b/doc/exts/pylint_extensions.py
index 406d2d39d..936bdbb6b 100755
--- a/doc/exts/pylint_extensions.py
+++ b/doc/exts/pylint_extensions.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
+# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE
+# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt
"""Script used to generate the extensions file before building the actual documentation."""
@@ -11,7 +11,6 @@ from __future__ import annotations
import os
import re
import sys
-import warnings
from typing import Any
import sphinx
@@ -134,24 +133,20 @@ def get_plugins_info(
doc = f.read()
try:
by_checker[checker]["checker"] = checker
- with warnings.catch_warnings():
- warnings.filterwarnings("ignore", category=DeprecationWarning)
- by_checker[checker]["options"] += checker.options_and_values()
+ by_checker[checker]["options"] += checker._options_and_values()
by_checker[checker]["msgs"].update(checker.msgs)
by_checker[checker]["reports"] += checker.reports
by_checker[checker]["doc"] += doc
by_checker[checker]["module"] += module
except KeyError:
- with warnings.catch_warnings():
- warnings.filterwarnings("ignore", category=DeprecationWarning)
- by_checker[checker] = _CheckerInfo(
- checker=checker,
- options=list(checker.options_and_values()),
- msgs=dict(checker.msgs),
- reports=list(checker.reports),
- doc=doc,
- module=module,
- )
+ by_checker[checker] = _CheckerInfo(
+ checker=checker,
+ options=list(checker._options_and_values()),
+ msgs=dict(checker.msgs),
+ reports=list(checker.reports),
+ doc=doc,
+ module=module,
+ )
return by_checker
diff --git a/doc/exts/pylint_features.py b/doc/exts/pylint_features.py
index fcf4f01c8..4a8575151 100755
--- a/doc/exts/pylint_features.py
+++ b/doc/exts/pylint_features.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
+# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE
+# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt
"""Script used to generate the features file before building the actual
documentation.
diff --git a/doc/exts/pylint_messages.py b/doc/exts/pylint_messages.py
index b16f7b026..81a9bc542 100644
--- a/doc/exts/pylint_messages.py
+++ b/doc/exts/pylint_messages.py
@@ -1,6 +1,6 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
+# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE
+# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt
"""Script used to generate the messages files."""
@@ -336,7 +336,7 @@ def _generate_checker_url(message: MessageData) -> str:
checker_module_rel_path = os.path.relpath(
message.checker_module_path, PYLINT_BASE_PATH
)
- return f"https://github.com/PyCQA/pylint/blob/main/{checker_module_rel_path}"
+ return f"https://github.com/pylint-dev/pylint/blob/main/{checker_module_rel_path}"
def _write_single_shared_message_page(
diff --git a/doc/exts/pylint_options.py b/doc/exts/pylint_options.py
index f402125a7..64a7eda9c 100644
--- a/doc/exts/pylint_options.py
+++ b/doc/exts/pylint_options.py
@@ -1,6 +1,6 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
+# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE
+# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt
"""Script used to generate the options page."""
diff --git a/doc/pyreverse.rst b/doc/pyreverse.rst
index fecbbaf5a..7595683d7 100644
--- a/doc/pyreverse.rst
+++ b/doc/pyreverse.rst
@@ -5,7 +5,7 @@ Pyreverse
``pyreverse`` analyzes your source code and generates package and class diagrams.
-It supports output to ``.dot``/``.gv``, ``.vcg``, ``.puml``/``.plantuml`` (PlantUML) and ``.mmd``/``.html`` (MermaidJS) file formats.
+It supports output to ``.dot``/``.gv``, ``.puml``/``.plantuml`` (PlantUML) and ``.mmd``/``.html`` (MermaidJS) file formats.
If Graphviz (or the ``dot`` command) is installed, all `output formats supported by Graphviz <https://graphviz.org/docs/outputs/>`_
can be used as well. In this case, ``pyreverse`` first generates a temporary ``.gv`` file, which is then
fed to Graphviz to generate the final image.
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 1a9e621b6..62b6b6b0f 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,6 +1,6 @@
-Sphinx==6.1.3
+Sphinx==6.2.0
sphinx-reredirects<1
-myst-parser~=0.19
+myst-parser~=1.0
towncrier~=22.12
-furo==2022.12.7
+furo==2023.3.27
-e .
diff --git a/doc/symilar.rst b/doc/symilar.rst
index 5b75ff38f..fd7124e1d 100644
--- a/doc/symilar.rst
+++ b/doc/symilar.rst
@@ -20,7 +20,6 @@ All files that shall be checked have to be passed in explicitly, e.g.::
==tests/data/suppliermodule_test.py:12
class Ancestor:
""" Ancestor method """
- __implements__ = (Interface,)
cls_member = DoNothing()
def __init__(self, value):
diff --git a/doc/test_messages_documentation.py b/doc/test_messages_documentation.py
index 80e44c4a2..058dcbe49 100644
--- a/doc/test_messages_documentation.py
+++ b/doc/test_messages_documentation.py
@@ -1,6 +1,6 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
+# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE
+# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt
"""Functional tests for the code examples in the messages' documentation."""
diff --git a/doc/user_guide/checkers/features.rst b/doc/user_guide/checkers/features.rst
index 9a7c8a4ff..a6b08381a 100644
--- a/doc/user_guide/checkers/features.rst
+++ b/doc/user_guide/checkers/features.rst
@@ -916,9 +916,9 @@ Refactoring checker Messages
comparison inside a condition to determine if a sequence is empty. Instead of
coercing the length to a boolean, either rely on the fact that empty
sequences are false or compare the length against a scalar.
-:consider-using-f-string (C0209): *Formatting a regular string which could be a f-string*
+:consider-using-f-string (C0209): *Formatting a regular string which could be an f-string*
Used when we detect a string that is being formatted with format() or % which
- could potentially be a f-string. The use of f-strings is preferred. Requires
+ could potentially be an f-string. The use of f-strings is preferred. Requires
Python 3.6 and ``py-version >= 3.6``.
:use-maxsplit-arg (C0207): *Use %s instead*
Emitted when accessing only the first or last element of str.split(). The
@@ -1308,7 +1308,7 @@ Unsupported Version checker Messages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:using-f-string-in-unsupported-version (W2601): *F-strings are not supported by all versions included in the py-version setting*
Used when the py-version set by the user is lower than 3.6 and pylint
- encounters a f-string.
+ encounters an f-string.
:using-final-decorator-in-unsupported-version (W2602): *typing.final is not supported by all versions included in the py-version setting*
Used when the py-version set by the user is lower than 3.8 and pylint
encounters a ``typing.final`` decorator.
diff --git a/doc/user_guide/installation/badge.rst b/doc/user_guide/installation/badge.rst
index 8463d40b3..3c5df9e82 100644
--- a/doc/user_guide/installation/badge.rst
+++ b/doc/user_guide/installation/badge.rst
@@ -7,16 +7,16 @@ Show your usage
You can place this badge in your README to let others know your project uses pylint.
.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen
- :target: https://github.com/PyCQA/pylint
+ :target: https://github.com/pylint-dev/pylint
Use the badge in your project's README.md (or any other Markdown file)::
- [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/PyCQA/pylint)
+ [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)
Use the badge in your project's README.rst (or any other rst file)::
.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen
- :target: https://github.com/PyCQA/pylint
+ :target: https://github.com/pylint-dev/pylint
If you use GitHub Actions, and one of your CI workflows begins with "name: pylint", you
diff --git a/doc/user_guide/installation/ide_integration/flymake-emacs.rst b/doc/user_guide/installation/ide_integration/flymake-emacs.rst
index 79310ff59..64aad8a66 100644
--- a/doc/user_guide/installation/ide_integration/flymake-emacs.rst
+++ b/doc/user_guide/installation/ide_integration/flymake-emacs.rst
@@ -4,75 +4,6 @@ Using Pylint through Flymake in Emacs
=====================================
.. warning::
- The Emacs package now has its own repository and is looking for a maintainer.
- If you're reading this doc and are interested in maintaining this package or
- are actually using flymake please open an issue at
- https://github.com/emacsorphanage/pylint/issues/new/choose
-
-To enable Flymake for Python, insert the following into your .emacs:
-
-.. sourcecode:: common-lisp
-
- ;; Configure Flymake for Python
- (when (load "flymake" t)
- (defun flymake-pylint-init ()
- (let* ((temp-file (flymake-init-create-temp-buffer-copy
- 'flymake-create-temp-inplace))
- (local-file (file-relative-name
- temp-file
- (file-name-directory buffer-file-name))))
- (list "epylint" (list local-file))))
- (add-to-list 'flymake-allowed-file-name-masks
- '("\\.py\\'" flymake-pylint-init)))
-
- ;; Set as a minor mode for Python
- (add-hook 'python-mode-hook '(lambda () (flymake-mode)))
-
-Above stuff is in ``pylint/elisp/pylint-flymake.el``, which should be automatically
-installed on Debian systems, in which cases you don't have to put it in your ``.emacs`` file.
-
-Other things you may find useful to set:
-
-.. sourcecode:: common-lisp
-
- ;; Configure to wait a bit longer after edits before starting
- (setq-default flymake-no-changes-timeout '3)
-
- ;; Keymaps to navigate to the errors
- (add-hook 'python-mode-hook '(lambda () (define-key python-mode-map "\C-cn" 'flymake-goto-next-error)))
- (add-hook 'python-mode-hook '(lambda () (define-key python-mode-map "\C-cp" 'flymake-goto-prev-error)))
-
-
-Finally, by default Flymake only displays the extra information about the error when you
-hover the mouse over the highlighted line. The following will use the minibuffer to display
-messages when you the cursor is on the line.
-
-.. sourcecode:: common-lisp
-
- ;; To avoid having to mouse hover for the error message, these functions make Flymake error messages
- ;; appear in the minibuffer
- (defun show-fly-err-at-point ()
- "If the cursor is sitting on a Flymake error, display the message in the minibuffer"
- (require 'cl)
- (interactive)
- (let ((line-no (line-number-at-pos)))
- (dolist (elem flymake-err-info)
- (if (eq (car elem) line-no)
- (let ((err (car (second elem))))
- (message "%s" (flymake-ler-text err)))))))
-
- (add-hook 'post-command-hook 'show-fly-err-at-point)
-
-
-Alternative, if you only wish to pollute the minibuffer after an explicit flymake-goto-* then use
-the following instead of a post-command-hook
-
-.. sourcecode:: common-lisp
-
- (defadvice flymake-goto-next-error (after display-message activate compile)
- "Display the error in the mini-buffer rather than having to mouse over it"
- (show-fly-err-at-point))
-
- (defadvice flymake-goto-prev-error (after display-message activate compile)
- "Display the error in the mini-buffer rather than having to mouse over it"
- (show-fly-err-at-point))
+ epylint was deprecated in 2.16.0 and targeted for deletion in 3.0.0.
+ All emacs and flymake related files were removed and their support will
+ now happen in an external repository: https://github.com/emacsorphanage/pylint.
diff --git a/doc/whatsnew/2/2.1/full.rst b/doc/whatsnew/2/2.1/full.rst
index a1e7e24c1..03d1e82ac 100644
--- a/doc/whatsnew/2/2.1/full.rst
+++ b/doc/whatsnew/2/2.1/full.rst
@@ -42,7 +42,7 @@ Release date: 2018-08-01
* Correctly handle the new name of the Python implementation of the ``abc`` module.
- Closes PyCQA/astroid#2288
+ Closes pylint-dev/astroid#2288
* Modules with ``__getattr__`` are exempted by default from ``no-member``
diff --git a/doc/whatsnew/2/2.10/summary.rst b/doc/whatsnew/2/2.10/summary.rst
index 6b3689643..814fd94f5 100644
--- a/doc/whatsnew/2/2.10/summary.rst
+++ b/doc/whatsnew/2/2.10/summary.rst
@@ -21,7 +21,7 @@ We're going to continue working on improving performance during 2.11. We're also
a new ``possible-forgotten-f-prefix`` check that had too much false positives at release time.
Check the `possible-forgotten-f-prefix`_ issue if you want to provide knowledge or use case :)
-.. _possible-forgotten-f-prefix: https://github.com/PyCQA/pylint/pull/4787
+.. _possible-forgotten-f-prefix: https://github.com/pylint-dev/pylint/pull/4787
New checkers
============
diff --git a/doc/whatsnew/2/2.11/summary.rst b/doc/whatsnew/2/2.11/summary.rst
index 39851b0e8..1d16bc521 100644
--- a/doc/whatsnew/2/2.11/summary.rst
+++ b/doc/whatsnew/2/2.11/summary.rst
@@ -26,7 +26,7 @@ The future ``possible-forgotten-f-prefix`` check still had too much false positi
and is delayed again. Check the `possible-forgotten-f-prefix`_ issue if you want
to provide knowledge or use case :)
-.. _possible-forgotten-f-prefix: https://github.com/PyCQA/pylint/pull/4787
+.. _possible-forgotten-f-prefix: https://github.com/pylint-dev/pylint/pull/4787
.. _pyupgrade: https://github.com/asottile/pyupgrade
.. _flynt: https://github.com/ikamensh/flynt
diff --git a/doc/whatsnew/2/2.12/full.rst b/doc/whatsnew/2/2.12/full.rst
index 923dd9a25..d3f7d0922 100644
--- a/doc/whatsnew/2/2.12/full.rst
+++ b/doc/whatsnew/2/2.12/full.rst
@@ -83,7 +83,7 @@ Release date: 2021-11-24
and allows it to be checked against actual output in a test.
* Fix a crash in the ``check_elif`` extensions where an undetected if in a comprehension
- with an if statement within a f-string resulted in an out of range error. The checker no
+ with an if statement within an f-string resulted in an out of range error. The checker no
longer relies on counting if statements anymore and uses known if statements locations instead.
It should not crash on badly parsed if statements anymore.
diff --git a/doc/whatsnew/2/2.13/full.rst b/doc/whatsnew/2/2.13/full.rst
index f723731dc..797648431 100644
--- a/doc/whatsnew/2/2.13/full.rst
+++ b/doc/whatsnew/2/2.13/full.rst
@@ -250,7 +250,7 @@ Release date: 2022-03-24
* No longer emit ``no-member`` in for loops that reference ``self`` if the binary operation that
started the for loop uses a ``self`` that is encapsulated in tuples or lists.
- Refs PyCQA/astroid#1360
+ Refs pylint-dev/astroid#1360
Closes #4826
* Output better error message if unsupported file formats are used with ``pyreverse``.
@@ -389,7 +389,7 @@ Release date: 2022-03-24
* Fixed a crash involving a ``NewType`` named with an f-string.
Closes #5770
- Ref PyCQA/astroid#1400
+ Ref pylint-dev/astroid#1400
* Improved ``bad-open-mode`` message when providing ``None`` to the ``mode``
argument of an ``open()`` call.
@@ -406,13 +406,13 @@ Release date: 2022-03-24
the class itself.
Closes #5408
- Ref PyCQA/astroid#1392
+ Ref pylint-dev/astroid#1392
* Fixed false positive for ``unused-argument`` when a method overridden in a subclass
does nothing with the value of a keyword-only argument.
Closes #5771
- Ref PyCQA/astroid#1382
+ Ref pylint-dev/astroid#1382
* The issue template for crashes is now created for crashes which were previously not covered
by this mechanism.
diff --git a/doc/whatsnew/2/2.13/summary.rst b/doc/whatsnew/2/2.13/summary.rst
index 73d377a76..ddfb98f84 100644
--- a/doc/whatsnew/2/2.13/summary.rst
+++ b/doc/whatsnew/2/2.13/summary.rst
@@ -16,7 +16,7 @@ A lot of ``undefined-variables`` and ``used-before-assignment`` issues were reso
We started integrating ``pylint-error`` the documentation created by @vald-phoenix a developer from Hlyniane,
Ukraine. We hope he's doing well despite the current situation. The deployment is set up but `there's still a lot to do so we welcome any community effort
-help to review, integrate, and add good/bad examples <https://github.com/PyCQA/pylint/issues/5953>`_. This should be doable
+help to review, integrate, and add good/bad examples <https://github.com/pylint-dev/pylint/issues/5953>`_. This should be doable
without any pylint or astroid knowledge, so this is the perfect entrypoint if you want to contribute
to pylint without investing any time learning the internals.
@@ -144,7 +144,7 @@ Other Changes
* No longer emit ``no-member`` in for loops that reference ``self`` if the binary operation that
started the for loop uses a ``self`` that is encapsulated in tuples or lists.
- Refs PyCQA/astroid#1360
+ Refs pylint-dev/astroid#1360
Closes #4826
* Fix matching ``--notes`` options that end in a non-word character.
@@ -295,13 +295,13 @@ Other Changes
the class itself.
Closes #5408
- RefsPyCQA/astroid#1392
+ Refs pylint-dev/astroid#1392
* Fixed false positive for ``unused-argument`` when a method overridden in a subclass
does nothing with the value of a keyword-only argument.
Closes #5771
- RefsPyCQA/astroid#1382
+ Refs pylint-dev/astroid#1382
* Optimize parsing of long lines when ``missing-final-newline`` is enabled.
@@ -343,7 +343,7 @@ Other Changes
* Fixed a crash involving a ``NewType`` named with an f-string.
Closes #5770
- RefsPyCQA/astroid#1400
+ Refs pylint-dev/astroid#1400
* Improved ``bad-open-mode`` message when providing ``None`` to the ``mode``
argument of an ``open()`` call.
diff --git a/doc/whatsnew/2/2.14/summary.rst b/doc/whatsnew/2/2.14/summary.rst
index 9ef0f04d9..7101c69b6 100644
--- a/doc/whatsnew/2/2.14/summary.rst
+++ b/doc/whatsnew/2/2.14/summary.rst
@@ -23,7 +23,7 @@ maintainer that depends on pylint, please verify that you're ready for pylint 3.
by activating deprecation warnings.
We continued the integration of ``pylint-error`` and are now at 33%!. We still welcome any community effort
-to help review, integrate, and add good/bad examples <https://github.com/PyCQA/pylint/issues/5953>`_. This should be doable
+to help review, integrate, and add good/bad examples <https://github.com/pylint-dev/pylint/issues/5953>`_. This should be doable
without any ``pylint`` or ``astroid`` knowledge, so this is the perfect entrypoint if you want
to contribute to ``pylint`` or open source without any experience with our code!
diff --git a/doc/whatsnew/2/2.15/index.rst b/doc/whatsnew/2/2.15/index.rst
index aab05caef..91e70e341 100644
--- a/doc/whatsnew/2/2.15/index.rst
+++ b/doc/whatsnew/2/2.15/index.rst
@@ -18,7 +18,7 @@ We improved ``pylint``'s handling of namespace packages. More packages should
be linted without resorting to using the ``--recursive=y`` option.
We still welcome any community effort to help review, integrate, and add good/bad examples to the doc for
-<https://github.com/PyCQA/pylint/issues/5953>`_. This should be doable without any ``pylint`` or ``astroid``
+<https://github.com/pylint-dev/pylint/issues/5953>`_. This should be doable without any ``pylint`` or ``astroid``
knowledge, so this is the perfect entrypoint if you want to contribute to ``pylint`` or open source without
any experience with our code!
@@ -39,23 +39,23 @@ False Positives Fixed
- Fix ``use-sequence-for-iteration`` when unpacking a set with ``*``.
- Closes #5788 (`#5788 <https://github.com/PyCQA/pylint/issues/5788>`_)
+ Closes #5788 (`#5788 <https://github.com/pylint-dev/pylint/issues/5788>`_)
- Fix false positive ``assigning-non-slot`` when a class attribute is
re-assigned.
- Closes #6001 (`#6001 <https://github.com/PyCQA/pylint/issues/6001>`_)
+ Closes #6001 (`#6001 <https://github.com/pylint-dev/pylint/issues/6001>`_)
- Fixes ``used-before-assignment`` false positive when the walrus operator
is used in a ternary operator.
- Closes #7779 (`#7779 <https://github.com/PyCQA/pylint/issues/7779>`_)
+ Closes #7779 (`#7779 <https://github.com/pylint-dev/pylint/issues/7779>`_)
- Prevent ``used-before-assignment`` when imports guarded by ``if
TYPE_CHECKING``
are guarded again when used.
- Closes #7979 (`#7979 <https://github.com/PyCQA/pylint/issues/7979>`_)
+ Closes #7979 (`#7979 <https://github.com/pylint-dev/pylint/issues/7979>`_)
@@ -64,7 +64,7 @@ Other Bug Fixes
- Using custom braces in ``msg-template`` will now work properly.
- Closes #5636 (`#5636 <https://github.com/PyCQA/pylint/issues/5636>`_)
+ Closes #5636 (`#5636 <https://github.com/pylint-dev/pylint/issues/5636>`_)
What's new in Pylint 2.15.9?
@@ -78,7 +78,7 @@ False Positives Fixed
- Fix false-positive for ``used-before-assignment`` in pattern matching
with a guard.
- Closes #5327 (`#5327 <https://github.com/PyCQA/pylint/issues/5327>`_)
+ Closes #5327 (`#5327 <https://github.com/pylint-dev/pylint/issues/5327>`_)
@@ -88,17 +88,17 @@ Other Bug Fixes
- Pylint will no longer deadlock if a parallel job is killed but fail
immediately instead.
- Closes #3899 (`#3899 <https://github.com/PyCQA/pylint/issues/3899>`_)
+ Closes #3899 (`#3899 <https://github.com/pylint-dev/pylint/issues/3899>`_)
- When pylint exit due to bad arguments being provided the exit code will now
be the expected ``32``.
- Refs #7931 (`#7931 <https://github.com/PyCQA/pylint/issues/7931>`_)
+ Refs #7931 (`#7931 <https://github.com/pylint-dev/pylint/issues/7931>`_)
- Fixes a ``ModuleNotFound`` exception when running pylint on a Django project
with the ``pylint_django`` plugin enabled.
- Closes #7938 (`#7938 <https://github.com/PyCQA/pylint/issues/7938>`_)
+ Closes #7938 (`#7938 <https://github.com/pylint-dev/pylint/issues/7938>`_)
What's new in Pylint 2.15.8?
@@ -112,26 +112,26 @@ False Positives Fixed
- Document a known false positive for ``useless-suppression`` when disabling
``line-too-long`` in a module with only comments and no code.
- Closes #3368 (`#3368 <https://github.com/PyCQA/pylint/issues/3368>`_)
+ Closes #3368 (`#3368 <https://github.com/pylint-dev/pylint/issues/3368>`_)
- Fix ``logging-fstring-interpolation`` false positive raised when logging and
f-string with ``%s`` formatting.
- Closes #4984 (`#4984 <https://github.com/PyCQA/pylint/issues/4984>`_)
+ Closes #4984 (`#4984 <https://github.com/pylint-dev/pylint/issues/4984>`_)
- Fixes false positive ``abstract-method`` on Protocol classes.
- Closes #7209 (`#7209 <https://github.com/PyCQA/pylint/issues/7209>`_)
+ Closes #7209 (`#7209 <https://github.com/pylint-dev/pylint/issues/7209>`_)
- Fix ``missing-param-doc`` false positive when function parameter has an
escaped underscore.
- Closes #7827 (`#7827 <https://github.com/PyCQA/pylint/issues/7827>`_)
+ Closes #7827 (`#7827 <https://github.com/pylint-dev/pylint/issues/7827>`_)
- ``multiple-statements`` no longer triggers for function stubs using inlined
``...``.
- Closes #7860 (`#7860 <https://github.com/PyCQA/pylint/issues/7860>`_)
+ Closes #7860 (`#7860 <https://github.com/pylint-dev/pylint/issues/7860>`_)
What's new in Pylint 2.15.7?
@@ -145,12 +145,12 @@ False Positives Fixed
- Fix ``deprecated-method`` false positive when alias for method is similar to
name of deprecated method.
- Closes #5886 (`#5886 <https://github.com/PyCQA/pylint/issues/5886>`_)
+ Closes #5886 (`#5886 <https://github.com/pylint-dev/pylint/issues/5886>`_)
- Fix a false positive for ``used-before-assignment`` for imports guarded by
``typing.TYPE_CHECKING`` later used in variable annotations.
- Closes #7609 (`#7609 <https://github.com/PyCQA/pylint/issues/7609>`_)
+ Closes #7609 (`#7609 <https://github.com/pylint-dev/pylint/issues/7609>`_)
@@ -161,12 +161,12 @@ Other Bug Fixes
should
be the same whether a file is given/discovered multiple times or not.
- Closes #6242, #4053 (`#6242 <https://github.com/PyCQA/pylint/issues/6242>`_)
+ Closes #6242, #4053 (`#6242 <https://github.com/pylint-dev/pylint/issues/6242>`_)
- Fixes a crash in ``stop-iteration-return`` when the ``next`` builtin is
called without arguments.
- Closes #7828 (`#7828 <https://github.com/PyCQA/pylint/issues/7828>`_)
+ Closes #7828 (`#7828 <https://github.com/pylint-dev/pylint/issues/7828>`_)
What's new in Pylint 2.15.6?
@@ -180,17 +180,17 @@ False Positives Fixed
- Fix false positive for ``unhashable-member`` when subclassing ``dict`` and
using the subclass as a dictionary key.
- Closes #7501 (`#7501 <https://github.com/PyCQA/pylint/issues/7501>`_)
+ Closes #7501 (`#7501 <https://github.com/pylint-dev/pylint/issues/7501>`_)
- ``unnecessary-list-index-lookup`` will not be wrongly emitted if
``enumerate`` is called with ``start``.
- Closes #7682 (`#7682 <https://github.com/PyCQA/pylint/issues/7682>`_)
+ Closes #7682 (`#7682 <https://github.com/pylint-dev/pylint/issues/7682>`_)
- Don't warn about ``stop-iteration-return`` when using ``next()`` over
``itertools.cycle``.
- Closes #7765 (`#7765 <https://github.com/PyCQA/pylint/issues/7765>`_)
+ Closes #7765 (`#7765 <https://github.com/pylint-dev/pylint/issues/7765>`_)
@@ -200,21 +200,21 @@ Other Bug Fixes
- Messages sent to reporter are now copied so a reporter cannot modify the
message sent to other reporters.
- Closes #7214 (`#7214 <https://github.com/PyCQA/pylint/issues/7214>`_)
+ Closes #7214 (`#7214 <https://github.com/pylint-dev/pylint/issues/7214>`_)
- Fixes edge case of custom method named ``next`` raised an astroid error.
- Closes #7610 (`#7610 <https://github.com/PyCQA/pylint/issues/7610>`_)
+ Closes #7610 (`#7610 <https://github.com/pylint-dev/pylint/issues/7610>`_)
- Fix crash that happened when parsing files with unexpected encoding starting
with 'utf' like ``utf13``.
- Closes #7661 (`#7661 <https://github.com/PyCQA/pylint/issues/7661>`_)
+ Closes #7661 (`#7661 <https://github.com/pylint-dev/pylint/issues/7661>`_)
- Fix a crash when a child class with an ``__init__`` method inherits from a
parent class with an ``__init__`` class attribute.
- Closes #7742 (`#7742 <https://github.com/PyCQA/pylint/issues/7742>`_)
+ Closes #7742 (`#7742 <https://github.com/pylint-dev/pylint/issues/7742>`_)
What's new in Pylint 2.15.5?
@@ -228,7 +228,7 @@ False Positives Fixed
- Fix a false positive for ``simplify-boolean-expression`` when multiple values
are inferred for a constant.
- Closes #7626 (`#7626 <https://github.com/PyCQA/pylint/issues/7626>`_)
+ Closes #7626 (`#7626 <https://github.com/pylint-dev/pylint/issues/7626>`_)
@@ -238,7 +238,7 @@ Other Bug Fixes
- Remove ``__index__`` dunder method call from ``unnecessary-dunder-call``
check.
- Closes #6795 (`#6795 <https://github.com/PyCQA/pylint/issues/6795>`_)
+ Closes #6795 (`#6795 <https://github.com/pylint-dev/pylint/issues/6795>`_)
- Fixed a multi-processing crash that prevents using any more than 1 thread on
MacOS.
@@ -249,7 +249,7 @@ Other Bug Fixes
when
attempting to serialise the linter object for multi-processing use.
- Closes #7635. (`#7635 <https://github.com/PyCQA/pylint/issues/7635>`_)
+ Closes #7635. (`#7635 <https://github.com/pylint-dev/pylint/issues/7635>`_)
@@ -258,11 +258,11 @@ Other Changes
- Add a keyword-only ``compare_constants`` argument to ``safe_infer``.
- Refs #7626 (`#7626 <https://github.com/PyCQA/pylint/issues/7626>`_)
+ Refs #7626 (`#7626 <https://github.com/pylint-dev/pylint/issues/7626>`_)
- Sort ``--generated-rcfile`` output.
- Refs #7655 (`#7655 <https://github.com/PyCQA/pylint/issues/7655>`_)
+ Refs #7655 (`#7655 <https://github.com/pylint-dev/pylint/issues/7655>`_)
What's new in Pylint 2.15.4?
@@ -277,7 +277,7 @@ False Positives Fixed
``__anext__``. Also
only emit the warning when ``py-version`` >= 3.10.
- Closes #7529 (`#7529 <https://github.com/PyCQA/pylint/issues/7529>`_)
+ Closes #7529 (`#7529 <https://github.com/pylint-dev/pylint/issues/7529>`_)
@@ -286,39 +286,39 @@ Other Bug Fixes
- Fix bug in detecting ``unused-variable`` when iterating on variable.
- Closes #3044 (`#3044 <https://github.com/PyCQA/pylint/issues/3044>`_)
+ Closes #3044 (`#3044 <https://github.com/pylint-dev/pylint/issues/3044>`_)
- Fixed handling of ``--`` as separator between positional arguments and flags.
This was not actually fixed in 2.14.5.
Closes #7003, Refs #7096 (`#7003
- <https://github.com/PyCQA/pylint/issues/7003>`_)
+ <https://github.com/pylint-dev/pylint/issues/7003>`_)
- Report ``no-self-argument`` rather than ``no-method-argument`` for methods
with variadic arguments.
- Closes #7507 (`#7507 <https://github.com/PyCQA/pylint/issues/7507>`_)
+ Closes #7507 (`#7507 <https://github.com/pylint-dev/pylint/issues/7507>`_)
- Fixed an issue where ``syntax-error`` couldn't be raised on files with
invalid encodings.
- Closes #7522 (`#7522 <https://github.com/PyCQA/pylint/issues/7522>`_)
+ Closes #7522 (`#7522 <https://github.com/pylint-dev/pylint/issues/7522>`_)
- Fix false positive for ``redefined-outer-name`` when aliasing ``typing``
e.g. as ``t`` and guarding imports under ``t.TYPE_CHECKING``.
- Closes #7524 (`#7524 <https://github.com/PyCQA/pylint/issues/7524>`_)
+ Closes #7524 (`#7524 <https://github.com/pylint-dev/pylint/issues/7524>`_)
- Fixed a crash of the ``modified_iterating`` checker when iterating on a set
defined as a class attribute.
- Closes #7528 (`#7528 <https://github.com/PyCQA/pylint/issues/7528>`_)
+ Closes #7528 (`#7528 <https://github.com/pylint-dev/pylint/issues/7528>`_)
- Fix bug in scanning of names inside arguments to ``typing.Literal``.
See https://peps.python.org/pep-0586/#literals-enums-and-forward-references
for details.
- Refs #3299 (`#3299 <https://github.com/PyCQA/pylint/issues/3299>`_)
+ Refs #3299 (`#3299 <https://github.com/pylint-dev/pylint/issues/3299>`_)
Other Changes
@@ -327,7 +327,7 @@ Other Changes
- Add method name to the error messages of ``no-method-argument`` and
``no-self-argument``.
- Closes #7507 (`#7507 <https://github.com/PyCQA/pylint/issues/7507>`_)
+ Closes #7507 (`#7507 <https://github.com/pylint-dev/pylint/issues/7507>`_)
What's new in Pylint 2.15.3?
@@ -337,23 +337,23 @@ Release date: 2022-09-19
- Fixed a crash in the ``unhashable-member`` checker when using a ``lambda`` as a dict key.
- Closes #7453 (`#7453 <https://github.com/PyCQA/pylint/issues/7453>`_)
+ Closes #7453 (`#7453 <https://github.com/pylint-dev/pylint/issues/7453>`_)
- Fix a crash in the ``modified-iterating-dict`` checker involving instance attributes.
- Closes #7461 (`#7461 <https://github.com/PyCQA/pylint/issues/7461>`_)
+ Closes #7461 (`#7461 <https://github.com/pylint-dev/pylint/issues/7461>`_)
- ``invalid-class-object`` does not crash anymore when ``__class__`` is assigned alongside another variable.
- Closes #7467 (`#7467 <https://github.com/PyCQA/pylint/issues/7467>`_)
+ Closes #7467 (`#7467 <https://github.com/pylint-dev/pylint/issues/7467>`_)
- Fix false positive for ``global-variable-not-assigned`` when a global variable is re-assigned via an ``ImportFrom`` node.
- Closes #4809 (`#4809 <https://github.com/PyCQA/pylint/issues/4809>`_)
+ Closes #4809 (`#4809 <https://github.com/pylint-dev/pylint/issues/4809>`_)
- Fix false positive for ``undefined-loop-variable`` in ``for-else`` loops that use a function
having a return type annotation of ``NoReturn`` or ``Never``.
- Closes #7311 (`#7311 <https://github.com/PyCQA/pylint/issues/7311>`_)
+ Closes #7311 (`#7311 <https://github.com/pylint-dev/pylint/issues/7311>`_)
- ``--help-msg`` now accepts a comma-separated list of message IDs again.
- Closes #7471 (`#7471 <https://github.com/PyCQA/pylint/issues/7471>`_)
+ Closes #7471 (`#7471 <https://github.com/pylint-dev/pylint/issues/7471>`_)
What's new in Pylint 2.15.2?
----------------------------
@@ -366,42 +366,42 @@ Release date: 2022-09-07
change, it would silently fail to register the plugin for use, but would load
any configuration, which could have unintended effects.
- Fixes part of #7264. (`#7264 <https://github.com/PyCQA/pylint/issues/7264>`_)
+ Fixes part of #7264. (`#7264 <https://github.com/pylint-dev/pylint/issues/7264>`_)
- Fix ``used-before-assignment`` for functions/classes defined in type checking guard.
- Closes #7368 (`#7368 <https://github.com/PyCQA/pylint/issues/7368>`_)
+ Closes #7368 (`#7368 <https://github.com/pylint-dev/pylint/issues/7368>`_)
- Update ``modified_iterating`` checker to fix a crash with ``for`` loops on empty list.
- Closes #7380 (`#7380 <https://github.com/PyCQA/pylint/issues/7380>`_)
+ Closes #7380 (`#7380 <https://github.com/pylint-dev/pylint/issues/7380>`_)
- The ``docparams`` extension now considers typing in Numpy style docstrings
as "documentation" for the ``missing-param-doc`` message.
- Refs #7398 (`#7398 <https://github.com/PyCQA/pylint/issues/7398>`_)
+ Refs #7398 (`#7398 <https://github.com/pylint-dev/pylint/issues/7398>`_)
- Fix false positive for ``unused-variable`` and ``unused-import`` when a name is only used in a string literal type annotation.
- Closes #3299 (`#3299 <https://github.com/PyCQA/pylint/issues/3299>`_)
+ Closes #3299 (`#3299 <https://github.com/pylint-dev/pylint/issues/3299>`_)
- Fix false positive for ``too-many-function-args`` when a function call is assigned to a class attribute inside the class where the function is defined.
- Closes #6592 (`#6592 <https://github.com/PyCQA/pylint/issues/6592>`_)
+ Closes #6592 (`#6592 <https://github.com/pylint-dev/pylint/issues/6592>`_)
- Fix ``used-before-assignment`` for functions/classes defined in type checking guard.
- Closes #7368 (`#7368 <https://github.com/PyCQA/pylint/issues/7368>`_)
+ Closes #7368 (`#7368 <https://github.com/pylint-dev/pylint/issues/7368>`_)
- Fix ignored files being linted when passed on stdin.
- Closes #4354 (`#4354 <https://github.com/PyCQA/pylint/issues/4354>`_)
+ Closes #4354 (`#4354 <https://github.com/pylint-dev/pylint/issues/4354>`_)
- ``missing-return-doc``, ``missing-raises-doc`` and ``missing-yields-doc`` now respect
the ``no-docstring-rgx`` option.
- Closes #4743 (`#4743 <https://github.com/PyCQA/pylint/issues/4743>`_)
+ Closes #4743 (`#4743 <https://github.com/pylint-dev/pylint/issues/4743>`_)
- Don't crash on ``OSError`` in config file discovery.
- Closes #7169 (`#7169 <https://github.com/PyCQA/pylint/issues/7169>`_)
+ Closes #7169 (`#7169 <https://github.com/pylint-dev/pylint/issues/7169>`_)
- ``disable-next`` is now correctly scoped to only the succeeding line.
- Closes #7401 (`#7401 <https://github.com/PyCQA/pylint/issues/7401>`_)
+ Closes #7401 (`#7401 <https://github.com/pylint-dev/pylint/issues/7401>`_)
- Update ``modified_iterating`` checker to fix a crash with ``for`` loops on empty list.
- Closes #7380 (`#7380 <https://github.com/PyCQA/pylint/issues/7380>`_)
+ Closes #7380 (`#7380 <https://github.com/pylint-dev/pylint/issues/7380>`_)
What's new in Pylint 2.15.1?
----------------------------
@@ -418,7 +418,7 @@ New Checks
- Added new checker ``missing-timeout`` to warn of default timeout values that could cause
a program to be hanging indefinitely.
- Refs #6780 (`#6780 <https://github.com/PyCQA/pylint/issues/6780>`_)
+ Refs #6780 (`#6780 <https://github.com/pylint-dev/pylint/issues/6780>`_)
False Positives Fixed
@@ -426,39 +426,39 @@ False Positives Fixed
- Don't report ``super-init-not-called`` for abstract ``__init__`` methods.
- Closes #3975 (`#3975 <https://github.com/PyCQA/pylint/issues/3975>`_)
+ Closes #3975 (`#3975 <https://github.com/pylint-dev/pylint/issues/3975>`_)
- Don't report ``unsupported-binary-operation`` on Python <= 3.9 when using the ``|`` operator
with types, if one has a metaclass that overloads ``__or__`` or ``__ror__`` as appropriate.
- Closes #4951 (`#4951 <https://github.com/PyCQA/pylint/issues/4951>`_)
+ Closes #4951 (`#4951 <https://github.com/pylint-dev/pylint/issues/4951>`_)
- Don't report ``no-value-for-parameter`` for dataclasses fields annotated with ``KW_ONLY``.
- Closes #5767 (`#5767 <https://github.com/PyCQA/pylint/issues/5767>`_)
+ Closes #5767 (`#5767 <https://github.com/pylint-dev/pylint/issues/5767>`_)
- Fixed inference of ``Enums`` when they are imported under an alias.
- Closes #5776 (`#5776 <https://github.com/PyCQA/pylint/issues/5776>`_)
+ Closes #5776 (`#5776 <https://github.com/pylint-dev/pylint/issues/5776>`_)
- Prevent false positives when accessing ``PurePath.parents`` by index (not slice) on Python 3.10+.
- Closes #5832 (`#5832 <https://github.com/PyCQA/pylint/issues/5832>`_)
+ Closes #5832 (`#5832 <https://github.com/pylint-dev/pylint/issues/5832>`_)
- ``unnecessary-list-index-lookup`` is now more conservative to avoid potential false positives.
- Closes #6896 (`#6896 <https://github.com/PyCQA/pylint/issues/6896>`_)
+ Closes #6896 (`#6896 <https://github.com/pylint-dev/pylint/issues/6896>`_)
- Fix double emitting ``trailing-whitespace`` for multi-line docstrings.
- Closes #6936 (`#6936 <https://github.com/PyCQA/pylint/issues/6936>`_)
+ Closes #6936 (`#6936 <https://github.com/pylint-dev/pylint/issues/6936>`_)
- ``import-error`` now correctly checks for ``contextlib.suppress`` guards on import statements.
- Closes #7270 (`#7270 <https://github.com/PyCQA/pylint/issues/7270>`_)
+ Closes #7270 (`#7270 <https://github.com/pylint-dev/pylint/issues/7270>`_)
- Fix false positive for `no-self-argument`/`no-method-argument` when a staticmethod is applied to a function but uses a different name.
- Closes #7300 (`#7300 <https://github.com/PyCQA/pylint/issues/7300>`_)
+ Closes #7300 (`#7300 <https://github.com/pylint-dev/pylint/issues/7300>`_)
- Fix `undefined-loop-variable` with `break` and `continue` statements in `else` blocks.
- Refs #7311 (`#7311 <https://github.com/PyCQA/pylint/issues/7311>`_)
+ Refs #7311 (`#7311 <https://github.com/pylint-dev/pylint/issues/7311>`_)
- Improve default TypeVar name regex. Disallow names prefixed with ``T``.
E.g. use ``AnyStrT`` instead of ``TAnyStr``.
- Refs #7322 (`#7322 <https://github.com/PyCQA/pylint/issues/7322>`_`)
+ Refs #7322 (`#7322 <https://github.com/pylint-dev/pylint/issues/7322>`_`)
False Negatives Fixed
@@ -466,32 +466,32 @@ False Negatives Fixed
- Emit ``used-before-assignment`` when relying on a name that is reimported later in a function.
- Closes #4624 (`#4624 <https://github.com/PyCQA/pylint/issues/4624>`_)
+ Closes #4624 (`#4624 <https://github.com/pylint-dev/pylint/issues/4624>`_)
- Emit ``used-before-assignment`` for self-referencing named expressions (``:=``) lacking
prior assignments.
- Closes #5653 (`#5653 <https://github.com/PyCQA/pylint/issues/5653>`_)
+ Closes #5653 (`#5653 <https://github.com/pylint-dev/pylint/issues/5653>`_)
- Emit ``used-before-assignment`` for self-referencing assignments under if conditions.
- Closes #6643 (`#6643 <https://github.com/PyCQA/pylint/issues/6643>`_)
+ Closes #6643 (`#6643 <https://github.com/pylint-dev/pylint/issues/6643>`_)
- Emit ``modified-iterating-list`` and analogous messages for dicts and sets when iterating
literals, or when using the ``del`` keyword.
- Closes #6648 (`#6648 <https://github.com/PyCQA/pylint/issues/6648>`_)
+ Closes #6648 (`#6648 <https://github.com/pylint-dev/pylint/issues/6648>`_)
- Emit ``used-before-assignment`` when calling nested functions before assignment.
- Closes #6812 (`#6812 <https://github.com/PyCQA/pylint/issues/6812>`_)
+ Closes #6812 (`#6812 <https://github.com/pylint-dev/pylint/issues/6812>`_)
- Emit ``nonlocal-without-binding`` when a nonlocal name has been assigned at a later point in the same scope.
- Closes #6883 (`#6883 <https://github.com/PyCQA/pylint/issues/6883>`_)
+ Closes #6883 (`#6883 <https://github.com/pylint-dev/pylint/issues/6883>`_)
- Emit ``using-constant-test`` when testing the truth value of a variable or call result
holding a generator.
- Closes #6909 (`#6909 <https://github.com/PyCQA/pylint/issues/6909>`_)
+ Closes #6909 (`#6909 <https://github.com/pylint-dev/pylint/issues/6909>`_)
- Rename ``unhashable-dict-key`` to ``unhashable-member`` and emit when creating sets and dicts,
not just when accessing dicts.
- Closes #7034, Closes #7055 (`#7034 <https://github.com/PyCQA/pylint/issues/7034>`_)
+ Closes #7034, Closes #7055 (`#7034 <https://github.com/pylint-dev/pylint/issues/7034>`_)
Other Bug Fixes
@@ -499,30 +499,30 @@ Other Bug Fixes
- Fix a failure to lint packages with ``__init__.py`` contained in directories lacking ``__init__.py``.
- Closes #1667 (`#1667 <https://github.com/PyCQA/pylint/issues/1667>`_)
+ Closes #1667 (`#1667 <https://github.com/pylint-dev/pylint/issues/1667>`_)
- Fixed a syntax-error crash that was not handled properly when the declared encoding of a file
was ``utf-9``.
- Closes #3860 (`#3860 <https://github.com/PyCQA/pylint/issues/3860>`_)
+ Closes #3860 (`#3860 <https://github.com/pylint-dev/pylint/issues/3860>`_)
- Fix a crash in the ``not-callable`` check when there is ambiguity whether an instance is being incorrectly provided to ``__new__()``.
- Closes #7109 (`#7109 <https://github.com/PyCQA/pylint/issues/7109>`_)
+ Closes #7109 (`#7109 <https://github.com/pylint-dev/pylint/issues/7109>`_)
- Fix crash when regex option raises a `re.error` exception.
- Closes #7202 (`#7202 <https://github.com/PyCQA/pylint/issues/7202>`_)
+ Closes #7202 (`#7202 <https://github.com/pylint-dev/pylint/issues/7202>`_)
- Fix `undefined-loop-variable` from walrus in comprehension test.
- Closes #7222 (`#7222 <https://github.com/PyCQA/pylint/issues/7222>`_)
+ Closes #7222 (`#7222 <https://github.com/pylint-dev/pylint/issues/7222>`_)
- Check for `<cwd>` before removing first item from `sys.path` in `modify_sys_path`.
- Closes #7231 (`#7231 <https://github.com/PyCQA/pylint/issues/7231>`_)
+ Closes #7231 (`#7231 <https://github.com/pylint-dev/pylint/issues/7231>`_)
- Fix sys.path pollution in parallel mode.
- Closes #7246 (`#7246 <https://github.com/PyCQA/pylint/issues/7246>`_)
+ Closes #7246 (`#7246 <https://github.com/pylint-dev/pylint/issues/7246>`_)
- Prevent `useless-parent-delegation` for delegating to a builtin
written in C (e.g. `Exception.__init__`) with non-self arguments.
- Closes #7319 (`#7319 <https://github.com/PyCQA/pylint/issues/7319>`_)
+ Closes #7319 (`#7319 <https://github.com/pylint-dev/pylint/issues/7319>`_)
Other Changes
@@ -530,23 +530,23 @@ Other Changes
- ``bad-exception-context`` has been renamed to ``bad-exception-cause`` as it is about the cause and not the context.
- Closes #3694 (`#3694 <https://github.com/PyCQA/pylint/issues/3694>`_)
+ Closes #3694 (`#3694 <https://github.com/pylint-dev/pylint/issues/3694>`_)
- The message for ``literal-comparison`` is now more explicit about the problem and the
solution.
- Closes #5237 (`#5237 <https://github.com/PyCQA/pylint/issues/5237>`_)
+ Closes #5237 (`#5237 <https://github.com/pylint-dev/pylint/issues/5237>`_)
- ``useless-super-delegation`` has been renamed to ``useless-parent-delegation`` in order to be more generic.
- Closes #6953 (`#6953 <https://github.com/PyCQA/pylint/issues/6953>`_)
+ Closes #6953 (`#6953 <https://github.com/pylint-dev/pylint/issues/6953>`_)
- Pylint now uses ``towncrier`` for changelog generation.
- Refs #6974 (`#6974 <https://github.com/PyCQA/pylint/issues/6974>`_)
+ Refs #6974 (`#6974 <https://github.com/pylint-dev/pylint/issues/6974>`_)
- Update ``astroid`` to 2.12.
- Refs #7153 (`#7153 <https://github.com/PyCQA/pylint/issues/7153>`_)
+ Refs #7153 (`#7153 <https://github.com/pylint-dev/pylint/issues/7153>`_)
- Fix crash when a type-annotated `__slots__` with no value is declared.
- Closes #7280 (`#7280 <https://github.com/PyCQA/pylint/issues/7280>`_)
+ Closes #7280 (`#7280 <https://github.com/pylint-dev/pylint/issues/7280>`_)
Internal Changes
@@ -556,17 +556,17 @@ Internal Changes
output was impossible to parse. Instead of raising an error we raise a warning message and
let the functional test fail with a default value.
- Refs #6891 (`#6891 <https://github.com/PyCQA/pylint/issues/6891>`_)
+ Refs #6891 (`#6891 <https://github.com/pylint-dev/pylint/issues/6891>`_)
- ``pylint.testutils.primer`` is now a private API.
- Refs #6905 (`#6905 <https://github.com/PyCQA/pylint/issues/6905>`_)
+ Refs #6905 (`#6905 <https://github.com/pylint-dev/pylint/issues/6905>`_)
- We changed the way we handle the changelog internally by using towncrier.
If you're a contributor you won't have to fix merge conflicts in the
changelog anymore.
- Closes #6974 (`#6974 <https://github.com/PyCQA/pylint/issues/6974>`_)
+ Closes #6974 (`#6974 <https://github.com/pylint-dev/pylint/issues/6974>`_)
- Pylint is now using Scorecards to implement security recommendations from the
`OpenSSF <https://openssf.org/>`_. This is done in order to secure our supply chains using a combination
of automated tooling and best practices, most of which were already implemented before.
- Refs #7267 (`#7267 <https://github.com/PyCQA/pylint/issues/7267>`_)
+ Refs #7267 (`#7267 <https://github.com/pylint-dev/pylint/issues/7267>`_)
diff --git a/doc/whatsnew/2/2.16/index.rst b/doc/whatsnew/2/2.16/index.rst
index 605b9b18b..3a9731ce3 100644
--- a/doc/whatsnew/2/2.16/index.rst
+++ b/doc/whatsnew/2/2.16/index.rst
@@ -24,7 +24,7 @@ If you want to benefit from all the new checks load the following plugins::
pylint.extensions.magic_value,
We still welcome any community effort to help review, integrate, and add good/bad examples to the doc for
-<https://github.com/PyCQA/pylint/issues/5953>`_. This should be doable without any ``pylint`` or ``astroid``
+<https://github.com/pylint-dev/pylint/issues/5953>`_. This should be doable without any ``pylint`` or ``astroid``
knowledge, so this is the perfect entrypoint if you want to contribute to ``pylint`` or open source without
any experience with our code!
@@ -43,7 +43,7 @@ False Positives Fixed
- Fix false positive for isinstance-second-argument-not-valid-type with union
types.
- Closes #8205 (`#8205 <https://github.com/PyCQA/pylint/issues/8205>`_)
+ Closes #8205 (`#8205 <https://github.com/pylint-dev/pylint/issues/8205>`_)
What's new in Pylint 2.16.3?
@@ -57,7 +57,7 @@ False Positives Fixed
- Fix false positive for ``wrong-spelling-in-comment`` with class names in a
python 2 type comment.
- Closes #8370 (`#8370 <https://github.com/PyCQA/pylint/issues/8370>`_)
+ Closes #8370 (`#8370 <https://github.com/pylint-dev/pylint/issues/8370>`_)
@@ -67,7 +67,7 @@ Other Bug Fixes
- Prevent emitting ``invalid-name`` for the line on which a ``global``
statement is declared.
- Closes #8307 (`#8307 <https://github.com/PyCQA/pylint/issues/8307>`_)
+ Closes #8307 (`#8307 <https://github.com/pylint-dev/pylint/issues/8307>`_)
What's new in Pylint 2.16.2?
@@ -80,7 +80,7 @@ New Features
- Add `--version` option to `pyreverse`.
- Refs #7851 (`#7851 <https://github.com/PyCQA/pylint/issues/7851>`_)
+ Refs #7851 (`#7851 <https://github.com/pylint-dev/pylint/issues/7851>`_)
@@ -90,12 +90,12 @@ False Positives Fixed
- Fix false positive for ``used-before-assignment`` when
``typing.TYPE_CHECKING`` is used with if/elif/else blocks.
- Closes #7574 (`#7574 <https://github.com/PyCQA/pylint/issues/7574>`_)
+ Closes #7574 (`#7574 <https://github.com/pylint-dev/pylint/issues/7574>`_)
- Fix false positive for ``used-before-assignment`` for named expressions
appearing after the first element in a list, tuple, or set.
- Closes #8252 (`#8252 <https://github.com/PyCQA/pylint/issues/8252>`_)
+ Closes #8252 (`#8252 <https://github.com/pylint-dev/pylint/issues/8252>`_)
@@ -105,23 +105,23 @@ Other Bug Fixes
- Fix ``used-before-assignment`` false positive when the walrus operator
is used with a ternary operator in dictionary key/value initialization.
- Closes #8125 (`#8125 <https://github.com/PyCQA/pylint/issues/8125>`_)
+ Closes #8125 (`#8125 <https://github.com/pylint-dev/pylint/issues/8125>`_)
- Fix ``no-name-in-module`` false positive raised when a package defines a
variable with the
same name as one of its submodules.
- Closes #8148 (`#8148 <https://github.com/PyCQA/pylint/issues/8148>`_)
+ Closes #8148 (`#8148 <https://github.com/pylint-dev/pylint/issues/8148>`_)
- Fix ``nested-min-max`` suggestion message to indicate it's possible to splat
iterable objects.
- Closes #8168 (`#8168 <https://github.com/PyCQA/pylint/issues/8168>`_)
+ Closes #8168 (`#8168 <https://github.com/pylint-dev/pylint/issues/8168>`_)
- Fix a crash happening when a class attribute was negated in the start
argument of an enumerate.
- Closes #8207 (`#8207 <https://github.com/PyCQA/pylint/issues/8207>`_)
+ Closes #8207 (`#8207 <https://github.com/pylint-dev/pylint/issues/8207>`_)
What's new in Pylint 2.16.1?
@@ -135,7 +135,7 @@ Other Bug Fixes
- Fix a crash happening for python interpreter < 3.9 following a failed typing
update.
- Closes #8161 (`#8161 <https://github.com/PyCQA/pylint/issues/8161>`_)
+ Closes #8161 (`#8161 <https://github.com/pylint-dev/pylint/issues/8161>`_)
What's new in Pylint 2.16.0?
@@ -156,7 +156,7 @@ Changes requiring user actions
will now have to add ``accept-no-raise-doc=no`` in your configuration to keep
the same behavior.
- Closes #7208 (`#7208 <https://github.com/PyCQA/pylint/issues/7208>`_)
+ Closes #7208 (`#7208 <https://github.com/pylint-dev/pylint/issues/7208>`_)
@@ -167,26 +167,26 @@ New Features
``--output-format=no-header``, it will not include the module name in the
output.
- Closes #5362 (`#5362 <https://github.com/PyCQA/pylint/issues/5362>`_)
+ Closes #5362 (`#5362 <https://github.com/pylint-dev/pylint/issues/5362>`_)
- Added configuration option ``clear-cache-post-run`` to support server-like
usage.
Use this flag if you expect the linted files to be altered between runs.
- Refs #5401 (`#5401 <https://github.com/PyCQA/pylint/issues/5401>`_)
+ Refs #5401 (`#5401 <https://github.com/pylint-dev/pylint/issues/5401>`_)
- Add ``--allow-reexport-from-package`` option to configure the
``useless-import-alias`` check not to emit a warning if a name
is reexported from a package.
- Closes #6006 (`#6006 <https://github.com/PyCQA/pylint/issues/6006>`_)
+ Closes #6006 (`#6006 <https://github.com/pylint-dev/pylint/issues/6006>`_)
- Update ``pyreverse`` to differentiate between aggregations and compositions.
``pyreverse`` checks if it's an Instance or a Call of an object via method
parameters (via type hints)
to decide if it's a composition or an aggregation.
- Refs #6543 (`#6543 <https://github.com/PyCQA/pylint/issues/6543>`_)
+ Refs #6543 (`#6543 <https://github.com/pylint-dev/pylint/issues/6543>`_)
@@ -196,23 +196,23 @@ New Checks
- Adds a ``pointless-exception-statement`` check that emits a warning when an
Exception is created and not assigned, raised or returned.
- Refs #3110 (`#3110 <https://github.com/PyCQA/pylint/issues/3110>`_)
+ Refs #3110 (`#3110 <https://github.com/pylint-dev/pylint/issues/3110>`_)
- Add a ``shadowed-import`` message for aliased imports.
- Closes #4836 (`#4836 <https://github.com/PyCQA/pylint/issues/4836>`_)
+ Closes #4836 (`#4836 <https://github.com/pylint-dev/pylint/issues/4836>`_)
- Add new check called ``unbalanced-dict-unpacking`` to check for unbalanced
dict unpacking
in assignment and for loops.
- Closes #5797 (`#5797 <https://github.com/PyCQA/pylint/issues/5797>`_)
+ Closes #5797 (`#5797 <https://github.com/pylint-dev/pylint/issues/5797>`_)
- Add new checker ``positional-only-arguments-expected`` to check for cases
when
positional-only arguments have been passed as keyword arguments.
- Closes #6489 (`#6489 <https://github.com/PyCQA/pylint/issues/6489>`_)
+ Closes #6489 (`#6489 <https://github.com/pylint-dev/pylint/issues/6489>`_)
- Added ``singledispatch-method`` which informs that ``@singledispatch`` should
decorate functions and not class/instance methods.
@@ -220,42 +220,42 @@ New Checks
``@singledispatchmethod`` should decorate class/instance methods and not
functions.
- Closes #6917 (`#6917 <https://github.com/PyCQA/pylint/issues/6917>`_)
+ Closes #6917 (`#6917 <https://github.com/pylint-dev/pylint/issues/6917>`_)
- Rename ``broad-except`` to ``broad-exception-caught`` and add new checker
``broad-exception-raised``
which will warn if general exceptions ``BaseException`` or ``Exception`` are
raised.
- Closes #7494 (`#7494 <https://github.com/PyCQA/pylint/issues/7494>`_)
+ Closes #7494 (`#7494 <https://github.com/pylint-dev/pylint/issues/7494>`_)
- Added ``nested-min-max`` which flags ``min(1, min(2, 3))`` to simplify to
``min(1, 2, 3)``.
- Closes #7546 (`#7546 <https://github.com/PyCQA/pylint/issues/7546>`_)
+ Closes #7546 (`#7546 <https://github.com/pylint-dev/pylint/issues/7546>`_)
- Extended ``use-dict-literal`` to also warn about call to ``dict()`` when
passing keyword arguments.
- Closes #7690 (`#7690 <https://github.com/PyCQA/pylint/issues/7690>`_)
+ Closes #7690 (`#7690 <https://github.com/pylint-dev/pylint/issues/7690>`_)
- Add ``named-expr-without-context`` check to emit a warning if a named
expression is used outside a context like ``if``, ``for``, ``while``, or
a comprehension.
- Refs #7760 (`#7760 <https://github.com/PyCQA/pylint/issues/7760>`_)
+ Refs #7760 (`#7760 <https://github.com/pylint-dev/pylint/issues/7760>`_)
- Add ``invalid-slice-step`` check to warn about a slice step value of ``0``
for common builtin sequences.
- Refs #7762 (`#7762 <https://github.com/PyCQA/pylint/issues/7762>`_)
+ Refs #7762 (`#7762 <https://github.com/pylint-dev/pylint/issues/7762>`_)
- Add ``consider-refactoring-into-while-condition`` check to recommend
refactoring when
a while loop is defined with a constant condition with an immediate ``if``
statement to check for ``break`` condition as a first statement.
- Closes #8015 (`#8015 <https://github.com/PyCQA/pylint/issues/8015>`_)
+ Closes #8015 (`#8015 <https://github.com/pylint-dev/pylint/issues/8015>`_)
@@ -266,13 +266,13 @@ Extensions
dictionary immediately
after the dictionary was created.
- Closes #2876 (`#2876 <https://github.com/PyCQA/pylint/issues/2876>`_)
+ Closes #2876 (`#2876 <https://github.com/pylint-dev/pylint/issues/2876>`_)
- Added ``bad-dunder-name`` extension check, which flags bad or misspelled
dunder methods.
You can use the ``good-dunder-names`` option to allow specific dunder names.
- Closes #3038 (`#3038 <https://github.com/PyCQA/pylint/issues/3038>`_)
+ Closes #3038 (`#3038 <https://github.com/pylint-dev/pylint/issues/3038>`_)
- Added ``consider-using-augmented-assign`` check for ``CodeStyle`` extension
which flags ``x = x + 1`` to simplify to ``x += 1``.
@@ -280,20 +280,20 @@ Extensions
with ``load-plugins=pylint.extensions.code_style`` and add
``consider-using-augmented-assign`` in the ``enable`` option.
- Closes #3391 (`#3391 <https://github.com/PyCQA/pylint/issues/3391>`_)
+ Closes #3391 (`#3391 <https://github.com/pylint-dev/pylint/issues/3391>`_)
- Add ``magic-number`` plugin checker for comparison with constants instead of
named constants or enums.
You can use it with ``--load-plugins=pylint.extensions.magic_value``.
- Closes #7281 (`#7281 <https://github.com/PyCQA/pylint/issues/7281>`_)
+ Closes #7281 (`#7281 <https://github.com/pylint-dev/pylint/issues/7281>`_)
- Add ``redundant-typehint-argument`` message for `typing` plugin for duplicate
assign typehints.
Enable the plugin to enable the message with:
``--load-plugins=pylint.extensions.typing``.
- Closes #7636 (`#7636 <https://github.com/PyCQA/pylint/issues/7636>`_)
+ Closes #7636 (`#7636 <https://github.com/pylint-dev/pylint/issues/7636>`_)
@@ -303,160 +303,160 @@ False Positives Fixed
- Fix false positive for ``unused-variable`` and ``unused-import`` when a name
is only used in a string literal type annotation.
- Closes #3299 (`#3299 <https://github.com/PyCQA/pylint/issues/3299>`_)
+ Closes #3299 (`#3299 <https://github.com/pylint-dev/pylint/issues/3299>`_)
- Document a known false positive for ``useless-suppression`` when disabling
``line-too-long`` in a module with only comments and no code.
- Closes #3368 (`#3368 <https://github.com/PyCQA/pylint/issues/3368>`_)
+ Closes #3368 (`#3368 <https://github.com/pylint-dev/pylint/issues/3368>`_)
- ``trailing-whitespaces`` is no longer reported within strings.
- Closes #3822 (`#3822 <https://github.com/PyCQA/pylint/issues/3822>`_)
+ Closes #3822 (`#3822 <https://github.com/pylint-dev/pylint/issues/3822>`_)
- Fix false positive for ``global-variable-not-assigned`` when a global
variable is re-assigned via an ``ImportFrom`` node.
- Closes #4809 (`#4809 <https://github.com/PyCQA/pylint/issues/4809>`_)
+ Closes #4809 (`#4809 <https://github.com/pylint-dev/pylint/issues/4809>`_)
- Fix false positive for ``use-maxsplit-arg`` with custom split method.
- Closes #4857 (`#4857 <https://github.com/PyCQA/pylint/issues/4857>`_)
+ Closes #4857 (`#4857 <https://github.com/pylint-dev/pylint/issues/4857>`_)
- Fix ``logging-fstring-interpolation`` false positive raised when logging and
f-string with ``%s`` formatting.
- Closes #4984 (`#4984 <https://github.com/PyCQA/pylint/issues/4984>`_)
+ Closes #4984 (`#4984 <https://github.com/pylint-dev/pylint/issues/4984>`_)
- Fix false-positive for ``used-before-assignment`` in pattern matching
with a guard.
- Closes #5327 (`#5327 <https://github.com/PyCQA/pylint/issues/5327>`_)
+ Closes #5327 (`#5327 <https://github.com/pylint-dev/pylint/issues/5327>`_)
- Fix ``use-sequence-for-iteration`` when unpacking a set with ``*``.
- Closes #5788 (`#5788 <https://github.com/PyCQA/pylint/issues/5788>`_)
+ Closes #5788 (`#5788 <https://github.com/pylint-dev/pylint/issues/5788>`_)
- Fix ``deprecated-method`` false positive when alias for method is similar to
name of deprecated method.
- Closes #5886 (`#5886 <https://github.com/PyCQA/pylint/issues/5886>`_)
+ Closes #5886 (`#5886 <https://github.com/pylint-dev/pylint/issues/5886>`_)
- Fix false positive ``assigning-non-slot`` when a class attribute is
re-assigned.
- Closes #6001 (`#6001 <https://github.com/PyCQA/pylint/issues/6001>`_)
+ Closes #6001 (`#6001 <https://github.com/pylint-dev/pylint/issues/6001>`_)
- Fix false positive for ``too-many-function-args`` when a function call is
assigned to a class attribute inside the class where the function is defined.
- Closes #6592 (`#6592 <https://github.com/PyCQA/pylint/issues/6592>`_)
+ Closes #6592 (`#6592 <https://github.com/pylint-dev/pylint/issues/6592>`_)
- Fixes false positive ``abstract-method`` on Protocol classes.
- Closes #7209 (`#7209 <https://github.com/PyCQA/pylint/issues/7209>`_)
+ Closes #7209 (`#7209 <https://github.com/pylint-dev/pylint/issues/7209>`_)
- Pylint now understands the ``kw_only`` keyword argument for ``dataclass``.
Closes #7290, closes #6550, closes #5857 (`#7290
- <https://github.com/PyCQA/pylint/issues/7290>`_)
+ <https://github.com/pylint-dev/pylint/issues/7290>`_)
- Fix false positive for ``undefined-loop-variable`` in ``for-else`` loops that
use a function
having a return type annotation of ``NoReturn`` or ``Never``.
- Closes #7311 (`#7311 <https://github.com/PyCQA/pylint/issues/7311>`_)
+ Closes #7311 (`#7311 <https://github.com/pylint-dev/pylint/issues/7311>`_)
- Fix ``used-before-assignment`` for functions/classes defined in type checking
guard.
- Closes #7368 (`#7368 <https://github.com/PyCQA/pylint/issues/7368>`_)
+ Closes #7368 (`#7368 <https://github.com/pylint-dev/pylint/issues/7368>`_)
- Fix false positive for ``unhashable-member`` when subclassing ``dict`` and
using the subclass as a dictionary key.
- Closes #7501 (`#7501 <https://github.com/PyCQA/pylint/issues/7501>`_)
+ Closes #7501 (`#7501 <https://github.com/pylint-dev/pylint/issues/7501>`_)
- Fix the message for ``unnecessary-dunder-call`` for ``__aiter__`` and
``__aneext__``. Also
only emit the warning when ``py-version`` >= 3.10.
- Closes #7529 (`#7529 <https://github.com/PyCQA/pylint/issues/7529>`_)
+ Closes #7529 (`#7529 <https://github.com/pylint-dev/pylint/issues/7529>`_)
- Fix ``used-before-assignment`` false positive when else branch calls
``sys.exit`` or similar terminating functions.
- Closes #7563 (`#7563 <https://github.com/PyCQA/pylint/issues/7563>`_)
+ Closes #7563 (`#7563 <https://github.com/pylint-dev/pylint/issues/7563>`_)
- Fix a false positive for ``used-before-assignment`` for imports guarded by
``typing.TYPE_CHECKING`` later used in variable annotations.
- Closes #7609 (`#7609 <https://github.com/PyCQA/pylint/issues/7609>`_)
+ Closes #7609 (`#7609 <https://github.com/pylint-dev/pylint/issues/7609>`_)
- Fix a false positive for ``simplify-boolean-expression`` when multiple values
are inferred for a constant.
- Closes #7626 (`#7626 <https://github.com/PyCQA/pylint/issues/7626>`_)
+ Closes #7626 (`#7626 <https://github.com/pylint-dev/pylint/issues/7626>`_)
- ``unnecessary-list-index-lookup`` will not be wrongly emitted if
``enumerate`` is called with ``start``.
- Closes #7682 (`#7682 <https://github.com/PyCQA/pylint/issues/7682>`_)
+ Closes #7682 (`#7682 <https://github.com/pylint-dev/pylint/issues/7682>`_)
- Don't warn about ``stop-iteration-return`` when using ``next()`` over
``itertools.cycle``.
- Closes #7765 (`#7765 <https://github.com/PyCQA/pylint/issues/7765>`_)
+ Closes #7765 (`#7765 <https://github.com/pylint-dev/pylint/issues/7765>`_)
- Fixes ``used-before-assignment`` false positive when the walrus operator
is used in a ternary operator.
- Closes #7779 (`#7779 <https://github.com/PyCQA/pylint/issues/7779>`_)
+ Closes #7779 (`#7779 <https://github.com/pylint-dev/pylint/issues/7779>`_)
- Fix ``missing-param-doc`` false positive when function parameter has an
escaped underscore.
- Closes #7827 (`#7827 <https://github.com/PyCQA/pylint/issues/7827>`_)
+ Closes #7827 (`#7827 <https://github.com/pylint-dev/pylint/issues/7827>`_)
- Fixes ``method-cache-max-size-none`` false positive for methods inheriting
from ``Enum``.
- Closes #7857 (`#7857 <https://github.com/PyCQA/pylint/issues/7857>`_)
+ Closes #7857 (`#7857 <https://github.com/pylint-dev/pylint/issues/7857>`_)
- ``multiple-statements`` no longer triggers for function stubs using inlined
``...``.
- Closes #7860 (`#7860 <https://github.com/PyCQA/pylint/issues/7860>`_)
+ Closes #7860 (`#7860 <https://github.com/pylint-dev/pylint/issues/7860>`_)
- Fix a false positive for ``used-before-assignment`` when a name guarded by
``if TYPE_CHECKING:`` is used as a type annotation in a function body and
later re-imported in the same scope.
- Closes #7882 (`#7882 <https://github.com/PyCQA/pylint/issues/7882>`_)
+ Closes #7882 (`#7882 <https://github.com/pylint-dev/pylint/issues/7882>`_)
- Prevent ``used-before-assignment`` when imports guarded by ``if
TYPE_CHECKING``
are guarded again when used.
- Closes #7979 (`#7979 <https://github.com/PyCQA/pylint/issues/7979>`_)
+ Closes #7979 (`#7979 <https://github.com/pylint-dev/pylint/issues/7979>`_)
- Fixes false positive for ``try-except-raise`` with multiple exceptions in one
except statement if exception are in different namespace.
- Closes #8051 (`#8051 <https://github.com/PyCQA/pylint/issues/8051>`_)
+ Closes #8051 (`#8051 <https://github.com/pylint-dev/pylint/issues/8051>`_)
- Fix ``invalid-name`` errors for ``typing_extension.TypeVar``.
- Refs #8089 (`#8089 <https://github.com/PyCQA/pylint/issues/8089>`_)
+ Refs #8089 (`#8089 <https://github.com/pylint-dev/pylint/issues/8089>`_)
- Fix ``no-kwoa`` false positive for context managers.
- Closes #8100 (`#8100 <https://github.com/PyCQA/pylint/issues/8100>`_)
+ Closes #8100 (`#8100 <https://github.com/pylint-dev/pylint/issues/8100>`_)
- Fix a false positive for ``redefined-variable-type`` when ``async`` methods
are present.
- Closes #8120 (`#8120 <https://github.com/PyCQA/pylint/issues/8120>`_)
+ Closes #8120 (`#8120 <https://github.com/pylint-dev/pylint/issues/8120>`_)
@@ -466,31 +466,31 @@ False Negatives Fixed
- Code following a call to ``quit``, ``exit``, ``sys.exit`` or ``os._exit``
will be marked as `unreachable`.
- Refs #519 (`#519 <https://github.com/PyCQA/pylint/issues/519>`_)
+ Refs #519 (`#519 <https://github.com/pylint-dev/pylint/issues/519>`_)
- Emit ``used-before-assignment`` when function arguments are redefined inside
an inner function and accessed there before assignment.
- Closes #2374 (`#2374 <https://github.com/PyCQA/pylint/issues/2374>`_)
+ Closes #2374 (`#2374 <https://github.com/pylint-dev/pylint/issues/2374>`_)
- Fix a false negative for ``unused-import`` when one module used an import in
a type annotation that was also used in another module.
- Closes #4150 (`#4150 <https://github.com/PyCQA/pylint/issues/4150>`_)
+ Closes #4150 (`#4150 <https://github.com/pylint-dev/pylint/issues/4150>`_)
- Flag ``superfluous-parens`` if parentheses are used during string
concatenation.
- Closes #4792 (`#4792 <https://github.com/PyCQA/pylint/issues/4792>`_)
+ Closes #4792 (`#4792 <https://github.com/pylint-dev/pylint/issues/4792>`_)
- Emit ``used-before-assignment`` when relying on names only defined under
conditions always testing false.
- Closes #4913 (`#4913 <https://github.com/PyCQA/pylint/issues/4913>`_)
+ Closes #4913 (`#4913 <https://github.com/pylint-dev/pylint/issues/4913>`_)
- ``consider-using-join`` can now be emitted for non-empty string separators.
- Closes #6639 (`#6639 <https://github.com/PyCQA/pylint/issues/6639>`_)
+ Closes #6639 (`#6639 <https://github.com/pylint-dev/pylint/issues/6639>`_)
- Emit ``used-before-assignment`` for further imports guarded by
``TYPE_CHECKING``
@@ -500,40 +500,40 @@ False Negatives Fixed
``TYPE_CHECKING``
was imported from ``typing`` under an alias.
- Closes #7539 (`#7539 <https://github.com/PyCQA/pylint/issues/7539>`_)
+ Closes #7539 (`#7539 <https://github.com/pylint-dev/pylint/issues/7539>`_)
- Fix a false negative for ``unused-import`` when a constant inside
``typing.Annotated`` was treated as a reference to an import.
- Closes #7547 (`#7547 <https://github.com/PyCQA/pylint/issues/7547>`_)
+ Closes #7547 (`#7547 <https://github.com/pylint-dev/pylint/issues/7547>`_)
- ``consider-using-any-or-all`` message will now be raised in cases when
boolean is initialized, reassigned during loop, and immediately returned.
- Closes #7699 (`#7699 <https://github.com/PyCQA/pylint/issues/7699>`_)
+ Closes #7699 (`#7699 <https://github.com/pylint-dev/pylint/issues/7699>`_)
- Extend ``invalid-slice-index`` to emit an warning for invalid slice indices
used with string and byte sequences, and range objects.
- Refs #7762 (`#7762 <https://github.com/PyCQA/pylint/issues/7762>`_)
+ Refs #7762 (`#7762 <https://github.com/pylint-dev/pylint/issues/7762>`_)
- Fixes ``unnecessary-list-index-lookup`` false negative when ``enumerate`` is
called with ``iterable`` as a kwarg.
- Closes #7770 (`#7770 <https://github.com/PyCQA/pylint/issues/7770>`_)
+ Closes #7770 (`#7770 <https://github.com/pylint-dev/pylint/issues/7770>`_)
- ``no-else-return`` or ``no-else-raise`` will be emitted if ``except`` block
always returns or raises.
- Closes #7788 (`#7788 <https://github.com/PyCQA/pylint/issues/7788>`_)
+ Closes #7788 (`#7788 <https://github.com/pylint-dev/pylint/issues/7788>`_)
- Fix ``dangerous-default-value`` false negative when ``*`` is used.
- Closes #7818 (`#7818 <https://github.com/PyCQA/pylint/issues/7818>`_)
+ Closes #7818 (`#7818 <https://github.com/pylint-dev/pylint/issues/7818>`_)
- ``consider-using-with`` now triggers for ``pathlib.Path.open``.
- Closes #7964 (`#7964 <https://github.com/PyCQA/pylint/issues/7964>`_)
+ Closes #7964 (`#7964 <https://github.com/pylint-dev/pylint/issues/7964>`_)
@@ -542,81 +542,81 @@ Other Bug Fixes
- Fix bug in detecting ``unused-variable`` when iterating on variable.
- Closes #3044 (`#3044 <https://github.com/PyCQA/pylint/issues/3044>`_)
+ Closes #3044 (`#3044 <https://github.com/pylint-dev/pylint/issues/3044>`_)
- Fix bug in scanning of names inside arguments to ``typing.Literal``.
See https://peps.python.org/pep-0586/#literals-enums-and-forward-references
for details.
- Refs #3299 (`#3299 <https://github.com/PyCQA/pylint/issues/3299>`_)
+ Refs #3299 (`#3299 <https://github.com/pylint-dev/pylint/issues/3299>`_)
- Update ``disallowed-name`` check to flag module-level variables.
- Closes #3701 (`#3701 <https://github.com/PyCQA/pylint/issues/3701>`_)
+ Closes #3701 (`#3701 <https://github.com/pylint-dev/pylint/issues/3701>`_)
- Pylint will no longer deadlock if a parallel job is killed but fail
immediately instead.
- Closes #3899 (`#3899 <https://github.com/PyCQA/pylint/issues/3899>`_)
+ Closes #3899 (`#3899 <https://github.com/pylint-dev/pylint/issues/3899>`_)
- Fix ignored files being linted when passed on stdin.
- Closes #4354 (`#4354 <https://github.com/PyCQA/pylint/issues/4354>`_)
+ Closes #4354 (`#4354 <https://github.com/pylint-dev/pylint/issues/4354>`_)
- Fix ``no-member`` false negative when augmented assign is done manually,
without ``+=``.
- Closes #4562 (`#4562 <https://github.com/PyCQA/pylint/issues/4562>`_)
+ Closes #4562 (`#4562 <https://github.com/pylint-dev/pylint/issues/4562>`_)
- Any assertion on a populated tuple will now receive a ``assert-on-tuple``
warning.
- Closes #4655 (`#4655 <https://github.com/PyCQA/pylint/issues/4655>`_)
+ Closes #4655 (`#4655 <https://github.com/pylint-dev/pylint/issues/4655>`_)
- ``missing-return-doc``, ``missing-raises-doc`` and ``missing-yields-doc`` now
respect
the ``no-docstring-rgx`` option.
- Closes #4743 (`#4743 <https://github.com/PyCQA/pylint/issues/4743>`_)
+ Closes #4743 (`#4743 <https://github.com/pylint-dev/pylint/issues/4743>`_)
- Update ``reimported`` help message for clarity.
- Closes #4836 (`#4836 <https://github.com/PyCQA/pylint/issues/4836>`_)
+ Closes #4836 (`#4836 <https://github.com/pylint-dev/pylint/issues/4836>`_)
- ``consider-iterating-dictionary`` will no longer be raised if bitwise
operations are used.
- Closes #5478 (`#5478 <https://github.com/PyCQA/pylint/issues/5478>`_)
+ Closes #5478 (`#5478 <https://github.com/pylint-dev/pylint/issues/5478>`_)
- Using custom braces in ``msg-template`` will now work properly.
- Closes #5636 (`#5636 <https://github.com/PyCQA/pylint/issues/5636>`_)
+ Closes #5636 (`#5636 <https://github.com/pylint-dev/pylint/issues/5636>`_)
- Pylint will now filter duplicates given to it before linting. The output
should
be the same whether a file is given/discovered multiple times or not.
- Closes #6242, #4053 (`#6242 <https://github.com/PyCQA/pylint/issues/6242>`_)
+ Closes #6242, #4053 (`#6242 <https://github.com/pylint-dev/pylint/issues/6242>`_)
- Remove ``__index__`` dunder method call from ``unnecessary-dunder-call``
check.
- Closes #6795 (`#6795 <https://github.com/PyCQA/pylint/issues/6795>`_)
+ Closes #6795 (`#6795 <https://github.com/pylint-dev/pylint/issues/6795>`_)
- Fixed handling of ``--`` as separator between positional arguments and flags.
This was not actually fixed in 2.14.5.
Closes #7003, Refs #7096 (`#7003
- <https://github.com/PyCQA/pylint/issues/7003>`_)
+ <https://github.com/pylint-dev/pylint/issues/7003>`_)
- Don't crash on ``OSError`` in config file discovery.
- Closes #7169 (`#7169 <https://github.com/PyCQA/pylint/issues/7169>`_)
+ Closes #7169 (`#7169 <https://github.com/pylint-dev/pylint/issues/7169>`_)
- Messages sent to reporter are now copied so a reporter cannot modify the
message sent to other reporters.
- Closes #7214 (`#7214 <https://github.com/PyCQA/pylint/issues/7214>`_)
+ Closes #7214 (`#7214 <https://github.com/pylint-dev/pylint/issues/7214>`_)
- Fixed a case where custom plugins specified by command line could silently
fail.
@@ -628,85 +628,85 @@ Other Bug Fixes
change, it would silently fail to register the plugin for use, but would load
any configuration, which could have unintended effects.
- Fixes part of #7264. (`#7264 <https://github.com/PyCQA/pylint/issues/7264>`_)
+ Fixes part of #7264. (`#7264 <https://github.com/pylint-dev/pylint/issues/7264>`_)
- Update ``modified_iterating`` checker to fix a crash with ``for`` loops on
empty list.
- Closes #7380 (`#7380 <https://github.com/PyCQA/pylint/issues/7380>`_)
+ Closes #7380 (`#7380 <https://github.com/pylint-dev/pylint/issues/7380>`_)
- Update wording for ``arguments-differ`` and ``arguments-renamed`` to clarify
overriding object.
- Closes #7390 (`#7390 <https://github.com/PyCQA/pylint/issues/7390>`_)
+ Closes #7390 (`#7390 <https://github.com/pylint-dev/pylint/issues/7390>`_)
- ``disable-next`` is now correctly scoped to only the succeeding line.
- Closes #7401 (`#7401 <https://github.com/PyCQA/pylint/issues/7401>`_)
+ Closes #7401 (`#7401 <https://github.com/pylint-dev/pylint/issues/7401>`_)
- Fixed a crash in the ``unhashable-member`` checker when using a ``lambda`` as
a dict key.
- Closes #7453 (`#7453 <https://github.com/PyCQA/pylint/issues/7453>`_)
+ Closes #7453 (`#7453 <https://github.com/pylint-dev/pylint/issues/7453>`_)
- Add ``mailcap`` to deprecated modules list.
- Closes #7457 (`#7457 <https://github.com/PyCQA/pylint/issues/7457>`_)
+ Closes #7457 (`#7457 <https://github.com/pylint-dev/pylint/issues/7457>`_)
- Fix a crash in the ``modified-iterating-dict`` checker involving instance
attributes.
- Closes #7461 (`#7461 <https://github.com/PyCQA/pylint/issues/7461>`_)
+ Closes #7461 (`#7461 <https://github.com/pylint-dev/pylint/issues/7461>`_)
- ``invalid-class-object`` does not crash anymore when ``__class__`` is
assigned alongside another variable.
- Closes #7467 (`#7467 <https://github.com/PyCQA/pylint/issues/7467>`_)
+ Closes #7467 (`#7467 <https://github.com/pylint-dev/pylint/issues/7467>`_)
- ``--help-msg`` now accepts a comma-separated list of message IDs again.
- Closes #7471 (`#7471 <https://github.com/PyCQA/pylint/issues/7471>`_)
+ Closes #7471 (`#7471 <https://github.com/pylint-dev/pylint/issues/7471>`_)
- Allow specifying non-builtin exceptions in the ``overgeneral-exception``
option
using an exception's qualified name.
- Closes #7495 (`#7495 <https://github.com/PyCQA/pylint/issues/7495>`_)
+ Closes #7495 (`#7495 <https://github.com/pylint-dev/pylint/issues/7495>`_)
- Report ``no-self-argument`` rather than ``no-method-argument`` for methods
with variadic arguments.
- Closes #7507 (`#7507 <https://github.com/PyCQA/pylint/issues/7507>`_)
+ Closes #7507 (`#7507 <https://github.com/pylint-dev/pylint/issues/7507>`_)
- Fixed an issue where ``syntax-error`` couldn't be raised on files with
invalid encodings.
- Closes #7522 (`#7522 <https://github.com/PyCQA/pylint/issues/7522>`_)
+ Closes #7522 (`#7522 <https://github.com/pylint-dev/pylint/issues/7522>`_)
- Fix false positive for ``redefined-outer-name`` when aliasing ``typing``
e.g. as ``t`` and guarding imports under ``t.TYPE_CHECKING``.
- Closes #7524 (`#7524 <https://github.com/PyCQA/pylint/issues/7524>`_)
+ Closes #7524 (`#7524 <https://github.com/pylint-dev/pylint/issues/7524>`_)
- Fixed a crash of the ``modified_iterating`` checker when iterating on a set
defined as a class attribute.
- Closes #7528 (`#7528 <https://github.com/PyCQA/pylint/issues/7528>`_)
+ Closes #7528 (`#7528 <https://github.com/pylint-dev/pylint/issues/7528>`_)
- Use ``py-version`` to determine if a message should be emitted for messages
defined with ``max-version`` or ``min-version``.
- Closes #7569 (`#7569 <https://github.com/PyCQA/pylint/issues/7569>`_)
+ Closes #7569 (`#7569 <https://github.com/pylint-dev/pylint/issues/7569>`_)
- Improve ``bad-thread-instantiation`` check to warn if ``target`` is not
passed in as a keyword argument
or as a second argument.
- Closes #7570 (`#7570 <https://github.com/PyCQA/pylint/issues/7570>`_)
+ Closes #7570 (`#7570 <https://github.com/pylint-dev/pylint/issues/7570>`_)
- Fixes edge case of custom method named ``next`` raised an astroid error.
- Closes #7610 (`#7610 <https://github.com/PyCQA/pylint/issues/7610>`_)
+ Closes #7610 (`#7610 <https://github.com/pylint-dev/pylint/issues/7610>`_)
- Fixed a multi-processing crash that prevents using any more than 1 thread on
MacOS.
@@ -717,56 +717,56 @@ Other Bug Fixes
when
attempting to serialise the linter object for multi-processing use.
- Closes #7635. (`#7635 <https://github.com/PyCQA/pylint/issues/7635>`_)
+ Closes #7635. (`#7635 <https://github.com/pylint-dev/pylint/issues/7635>`_)
- Fix crash that happened when parsing files with unexpected encoding starting
with 'utf' like ``utf13``.
- Closes #7661 (`#7661 <https://github.com/PyCQA/pylint/issues/7661>`_)
+ Closes #7661 (`#7661 <https://github.com/pylint-dev/pylint/issues/7661>`_)
- Fix a crash when a child class with an ``__init__`` method inherits from a
parent class with an ``__init__`` class attribute.
- Closes #7742 (`#7742 <https://github.com/PyCQA/pylint/issues/7742>`_)
+ Closes #7742 (`#7742 <https://github.com/pylint-dev/pylint/issues/7742>`_)
- Fix ``valid-metaclass-classmethod-first-arg`` default config value from "cls"
to "mcs"
which would cause both a false-positive and false-negative.
- Closes #7782 (`#7782 <https://github.com/PyCQA/pylint/issues/7782>`_)
+ Closes #7782 (`#7782 <https://github.com/pylint-dev/pylint/issues/7782>`_)
- Fixes a crash in the ``unnecessary_list_index_lookup`` check when using
``enumerate`` with ``start`` and a class attribute.
- Closes #7821 (`#7821 <https://github.com/PyCQA/pylint/issues/7821>`_)
+ Closes #7821 (`#7821 <https://github.com/pylint-dev/pylint/issues/7821>`_)
- Fixes a crash in ``stop-iteration-return`` when the ``next`` builtin is
called without arguments.
- Closes #7828 (`#7828 <https://github.com/PyCQA/pylint/issues/7828>`_)
+ Closes #7828 (`#7828 <https://github.com/pylint-dev/pylint/issues/7828>`_)
- When pylint exit due to bad arguments being provided the exit code will now
be the expected ``32``.
- Refs #7931 (`#7931 <https://github.com/PyCQA/pylint/issues/7931>`_)
+ Refs #7931 (`#7931 <https://github.com/pylint-dev/pylint/issues/7931>`_)
- Fixes a ``ModuleNotFound`` exception when running pylint on a Django project
with the ``pylint_django`` plugin enabled.
- Closes #7938 (`#7938 <https://github.com/PyCQA/pylint/issues/7938>`_)
+ Closes #7938 (`#7938 <https://github.com/pylint-dev/pylint/issues/7938>`_)
- Fixed a crash when inferring a value and using its qname on a slice that was
being incorrectly called.
- Closes #8067 (`#8067 <https://github.com/PyCQA/pylint/issues/8067>`_)
+ Closes #8067 (`#8067 <https://github.com/pylint-dev/pylint/issues/8067>`_)
- Use better regex to check for private attributes.
- Refs #8081 (`#8081 <https://github.com/PyCQA/pylint/issues/8081>`_)
+ Refs #8081 (`#8081 <https://github.com/pylint-dev/pylint/issues/8081>`_)
- Fix issue with new typing Union syntax in runtime context for Python 3.10+.
- Closes #8119 (`#8119 <https://github.com/PyCQA/pylint/issues/8119>`_)
+ Closes #8119 (`#8119 <https://github.com/pylint-dev/pylint/issues/8119>`_)
@@ -775,55 +775,55 @@ Other Changes
- Pylint now provides basic support for Python 3.11.
- Closes #5920 (`#5920 <https://github.com/PyCQA/pylint/issues/5920>`_)
+ Closes #5920 (`#5920 <https://github.com/pylint-dev/pylint/issues/5920>`_)
- Update message for ``abstract-method`` to include child class name.
- Closes #7124 (`#7124 <https://github.com/PyCQA/pylint/issues/7124>`_)
+ Closes #7124 (`#7124 <https://github.com/pylint-dev/pylint/issues/7124>`_)
- Update Pyreverse's dot and plantuml printers to detect when class methods are
abstract and show them with italic font.
For the dot printer update the label to use html-like syntax.
- Closes #7346 (`#7346 <https://github.com/PyCQA/pylint/issues/7346>`_)
+ Closes #7346 (`#7346 <https://github.com/pylint-dev/pylint/issues/7346>`_)
- The ``docparams`` extension now considers typing in Numpy style docstrings
as "documentation" for the ``missing-param-doc`` message.
- Refs #7398 (`#7398 <https://github.com/PyCQA/pylint/issues/7398>`_)
+ Refs #7398 (`#7398 <https://github.com/pylint-dev/pylint/issues/7398>`_)
- Relevant ``DeprecationWarnings`` are now raised with ``stacklevel=2``, so
they have the callsite attached in the message.
- Closes #7463 (`#7463 <https://github.com/PyCQA/pylint/issues/7463>`_)
+ Closes #7463 (`#7463 <https://github.com/pylint-dev/pylint/issues/7463>`_)
- Add a ``minimal`` option to ``pylint-config`` and its toml generator.
- Closes #7485 (`#7485 <https://github.com/PyCQA/pylint/issues/7485>`_)
+ Closes #7485 (`#7485 <https://github.com/pylint-dev/pylint/issues/7485>`_)
- Add method name to the error messages of ``no-method-argument`` and
``no-self-argument``.
- Closes #7507 (`#7507 <https://github.com/PyCQA/pylint/issues/7507>`_)
+ Closes #7507 (`#7507 <https://github.com/pylint-dev/pylint/issues/7507>`_)
- Prevent leaving the pip install cache in the Docker image.
- Refs #7544 (`#7544 <https://github.com/PyCQA/pylint/issues/7544>`_)
+ Refs #7544 (`#7544 <https://github.com/pylint-dev/pylint/issues/7544>`_)
- Add a keyword-only ``compare_constants`` argument to ``safe_infer``.
- Refs #7626 (`#7626 <https://github.com/PyCQA/pylint/issues/7626>`_)
+ Refs #7626 (`#7626 <https://github.com/pylint-dev/pylint/issues/7626>`_)
- Add ``default_enabled`` option to optional message dict. Provides an option
to disable a checker message by default.
To use a disabled message, the user must enable it explicitly by adding the
message to the ``enable`` option.
- Refs #7629 (`#7629 <https://github.com/PyCQA/pylint/issues/7629>`_)
+ Refs #7629 (`#7629 <https://github.com/pylint-dev/pylint/issues/7629>`_)
- Sort ``--generated-rcfile`` output.
- Refs #7655 (`#7655 <https://github.com/PyCQA/pylint/issues/7655>`_)
+ Refs #7655 (`#7655 <https://github.com/pylint-dev/pylint/issues/7655>`_)
- epylint is now deprecated and will be removed in pylint 3.0.0. All emacs and
flymake related
@@ -831,11 +831,11 @@ Other Changes
repository :
https://github.com/emacsorphanage/pylint.
- Closes #7737 (`#7737 <https://github.com/PyCQA/pylint/issues/7737>`_)
+ Closes #7737 (`#7737 <https://github.com/pylint-dev/pylint/issues/7737>`_)
- Adds test for existing preferred-modules configuration functionality.
- Refs #7957 (`#7957 <https://github.com/PyCQA/pylint/issues/7957>`_)
+ Refs #7957 (`#7957 <https://github.com/pylint-dev/pylint/issues/7957>`_)
@@ -850,4 +850,4 @@ Internal Changes
the path in this way, this is now the last bit of work needed to close Github
issue #7264.
- Closes #7264 (`#7264 <https://github.com/PyCQA/pylint/issues/7264>`_)
+ Closes #7264 (`#7264 <https://github.com/pylint-dev/pylint/issues/7264>`_)
diff --git a/doc/whatsnew/2/2.17/index.rst b/doc/whatsnew/2/2.17/index.rst
index 974ebb501..f8395c30f 100644
--- a/doc/whatsnew/2/2.17/index.rst
+++ b/doc/whatsnew/2/2.17/index.rst
@@ -135,7 +135,7 @@ False Positives Fixed
``attribute-defined-outside-init`` warning when using
``unittest.IsolatedAsyncioTestCase``.
- Refs #8403 (`#8403 <https://github.com/PyCQA/pylint/issues/8403>`_)
+ Refs #8403 (`#8403 <https://github.com/pylint-dev/pylint/issues/8403>`_)
@@ -145,16 +145,16 @@ Other Bug Fixes
- ``--clear-cache-post-run`` now also clears LRU caches for pylint utilities
holding references to AST nodes.
- Closes #8361 (`#8361 <https://github.com/PyCQA/pylint/issues/8361>`_)
+ Closes #8361 (`#8361 <https://github.com/pylint-dev/pylint/issues/8361>`_)
- Fix a crash when ``TYPE_CHECKING`` is used without importing it.
- Closes #8434 (`#8434 <https://github.com/PyCQA/pylint/issues/8434>`_)
+ Closes #8434 (`#8434 <https://github.com/pylint-dev/pylint/issues/8434>`_)
- Fix a regression of ``preferred-modules`` where a partial match was used
instead of the required full match.
- Closes #8453 (`#8453 <https://github.com/PyCQA/pylint/issues/8453>`_)
+ Closes #8453 (`#8453 <https://github.com/pylint-dev/pylint/issues/8453>`_)
@@ -172,7 +172,7 @@ Internal Changes
``is_sys_guard`` is still available, which was part of
``is_node_in_guarded_import_block``.
- Refs #8433 (`#8433 <https://github.com/PyCQA/pylint/issues/8433>`_)
+ Refs #8433 (`#8433 <https://github.com/pylint-dev/pylint/issues/8433>`_)
What's new in Pylint 2.17.0?
@@ -186,42 +186,42 @@ New Features
- `pyreverse` now supports custom color palettes with the `--color-palette`
option.
- Closes #6738 (`#6738 <https://github.com/PyCQA/pylint/issues/6738>`_)
+ Closes #6738 (`#6738 <https://github.com/pylint-dev/pylint/issues/6738>`_)
- Add ``invalid-name`` check for ``TypeAlias`` names.
- Closes #7081. (`#7081 <https://github.com/PyCQA/pylint/issues/7081>`_)
+ Closes #7081. (`#7081 <https://github.com/pylint-dev/pylint/issues/7081>`_)
- Accept values of the form ``<class name>.<attribute name>`` for the
``exclude-protected`` list.
- Closes #7343 (`#7343 <https://github.com/PyCQA/pylint/issues/7343>`_)
+ Closes #7343 (`#7343 <https://github.com/pylint-dev/pylint/issues/7343>`_)
- Add `--version` option to `pyreverse`.
- Refs #7851 (`#7851 <https://github.com/PyCQA/pylint/issues/7851>`_)
+ Refs #7851 (`#7851 <https://github.com/pylint-dev/pylint/issues/7851>`_)
- Adds new functionality with preferred-modules configuration to detect
submodules.
- Refs #7957 (`#7957 <https://github.com/PyCQA/pylint/issues/7957>`_)
+ Refs #7957 (`#7957 <https://github.com/pylint-dev/pylint/issues/7957>`_)
- Support implicit namespace packages (PEP 420).
- Closes #8154 (`#8154 <https://github.com/PyCQA/pylint/issues/8154>`_)
+ Closes #8154 (`#8154 <https://github.com/pylint-dev/pylint/issues/8154>`_)
- Add globbing pattern support for ``--source-roots``.
- Closes #8290 (`#8290 <https://github.com/PyCQA/pylint/issues/8290>`_)
+ Closes #8290 (`#8290 <https://github.com/pylint-dev/pylint/issues/8290>`_)
- Support globbing pattern when defining which file/directory/module to lint.
- Closes #8310 (`#8310 <https://github.com/PyCQA/pylint/issues/8310>`_)
+ Closes #8310 (`#8310 <https://github.com/pylint-dev/pylint/issues/8310>`_)
- pylint now supports ``TryStar`` nodes from Python 3.11 and should be fully
compatible with Python 3.11.
- Closes #8387 (`#8387 <https://github.com/PyCQA/pylint/issues/8387>`_)
+ Closes #8387 (`#8387 <https://github.com/pylint-dev/pylint/issues/8387>`_)
@@ -232,13 +232,13 @@ New Checks
there is a chained comparison where one expression is semantically
incompatible with the other.
- Closes #6559 (`#6559 <https://github.com/PyCQA/pylint/issues/6559>`_)
+ Closes #6559 (`#6559 <https://github.com/pylint-dev/pylint/issues/6559>`_)
- Adds an ``implicit-flag-alias`` check that emits a warning when a class
derived from ``enum.IntFlag`` assigns distinct integer values that share
common bit positions.
- Refs #8102 (`#8102 <https://github.com/PyCQA/pylint/issues/8102>`_)
+ Refs #8102 (`#8102 <https://github.com/pylint-dev/pylint/issues/8102>`_)
@@ -248,27 +248,27 @@ False Positives Fixed
- Fix various false positives for functions that return directly from
structural pattern matching cases.
- Closes #5288 (`#5288 <https://github.com/PyCQA/pylint/issues/5288>`_)
+ Closes #5288 (`#5288 <https://github.com/pylint-dev/pylint/issues/5288>`_)
- Fix false positive for ``used-before-assignment`` when
``typing.TYPE_CHECKING`` is used with if/elif/else blocks.
- Closes #7574 (`#7574 <https://github.com/PyCQA/pylint/issues/7574>`_)
+ Closes #7574 (`#7574 <https://github.com/pylint-dev/pylint/issues/7574>`_)
- Fix false positive for isinstance-second-argument-not-valid-type with union
types.
- Closes #8205 (`#8205 <https://github.com/PyCQA/pylint/issues/8205>`_)
+ Closes #8205 (`#8205 <https://github.com/pylint-dev/pylint/issues/8205>`_)
- Fix false positive for ``used-before-assignment`` for named expressions
appearing after the first element in a list, tuple, or set.
- Closes #8252 (`#8252 <https://github.com/PyCQA/pylint/issues/8252>`_)
+ Closes #8252 (`#8252 <https://github.com/pylint-dev/pylint/issues/8252>`_)
- Fix false positive for ``wrong-spelling-in-comment`` with class names in a
python 2 type comment.
- Closes #8370 (`#8370 <https://github.com/PyCQA/pylint/issues/8370>`_)
+ Closes #8370 (`#8370 <https://github.com/pylint-dev/pylint/issues/8370>`_)
@@ -281,11 +281,11 @@ False Negatives Fixed
raise
correctly.
- Refs #8185 (`#8185 <https://github.com/PyCQA/pylint/issues/8185>`_)
+ Refs #8185 (`#8185 <https://github.com/pylint-dev/pylint/issues/8185>`_)
- Fix false negative for inconsistent-returns with while-loops.
- Closes #8280 (`#8280 <https://github.com/PyCQA/pylint/issues/8280>`_)
+ Closes #8280 (`#8280 <https://github.com/pylint-dev/pylint/issues/8280>`_)
@@ -295,33 +295,33 @@ Other Bug Fixes
- Fix ``used-before-assignment`` false positive when the walrus operator
is used with a ternary operator in dictionary key/value initialization.
- Closes #8125 (`#8125 <https://github.com/PyCQA/pylint/issues/8125>`_)
+ Closes #8125 (`#8125 <https://github.com/pylint-dev/pylint/issues/8125>`_)
- Fix ``no-name-in-module`` false positive raised when a package defines a
variable with the
same name as one of its submodules.
- Closes #8148 (`#8148 <https://github.com/PyCQA/pylint/issues/8148>`_)
+ Closes #8148 (`#8148 <https://github.com/pylint-dev/pylint/issues/8148>`_)
- Fix a crash happening for python interpreter < 3.9 following a failed typing
update.
- Closes #8161 (`#8161 <https://github.com/PyCQA/pylint/issues/8161>`_)
+ Closes #8161 (`#8161 <https://github.com/pylint-dev/pylint/issues/8161>`_)
- Fix ``nested-min-max`` suggestion message to indicate it's possible to splat
iterable objects.
- Closes #8168 (`#8168 <https://github.com/PyCQA/pylint/issues/8168>`_)
+ Closes #8168 (`#8168 <https://github.com/pylint-dev/pylint/issues/8168>`_)
- Fix a crash happening when a class attribute was negated in the start
argument of an enumerate.
- Closes #8207 (`#8207 <https://github.com/PyCQA/pylint/issues/8207>`_)
+ Closes #8207 (`#8207 <https://github.com/pylint-dev/pylint/issues/8207>`_)
- Prevent emitting ``invalid-name`` for the line on which a ``global``
statement is declared.
- Closes #8307 (`#8307 <https://github.com/PyCQA/pylint/issues/8307>`_)
+ Closes #8307 (`#8307 <https://github.com/pylint-dev/pylint/issues/8307>`_)
@@ -330,7 +330,7 @@ Other Changes
- Update explanation for ``global-variable-not-assigned`` and add confidence.
- Closes #5073 (`#5073 <https://github.com/PyCQA/pylint/issues/5073>`_)
+ Closes #5073 (`#5073 <https://github.com/pylint-dev/pylint/issues/5073>`_)
- The governance model and the path to become a maintainer have been documented
as
@@ -338,4 +338,4 @@ Other Changes
pylint is
included is secure.
- Refs #8329 (`#8329 <https://github.com/PyCQA/pylint/issues/8329>`_)
+ Refs #8329 (`#8329 <https://github.com/pylint-dev/pylint/issues/8329>`_)
diff --git a/doc/whatsnew/2/2.3/full.rst b/doc/whatsnew/2/2.3/full.rst
index d55021275..947eedbac 100644
--- a/doc/whatsnew/2/2.3/full.rst
+++ b/doc/whatsnew/2/2.3/full.rst
@@ -13,7 +13,7 @@ Release date: 2019-02-27
Doesn't make that much sense for ``pylint`` itself, which is why we're handling the
exception here, rather than in ``astroid``
- Closes PyCQA/astroid#644
+ Closes pylint-dev/astroid#644
* Added a new command line option ``list-groups`` for listing all the check groups ``pylint`` knows about.
diff --git a/doc/whatsnew/2/2.9/full.rst b/doc/whatsnew/2/2.9/full.rst
index 5518f5464..417943e93 100644
--- a/doc/whatsnew/2/2.9/full.rst
+++ b/doc/whatsnew/2/2.9/full.rst
@@ -304,12 +304,12 @@ Release date: 2021-06-29
* Fix false-positive ``no-member`` with generic base class
- Closes PyCQA/astroid#942
+ Closes pylint-dev/astroid#942
* Fix ``assigning-non-slot`` false-positive with base that inherits from ``typing.Generic``
Closes #4509
- Closes PyCQA/astroid#999
+ Closes pylint-dev/astroid#999
* New checker ``invalid-all-format``. Emitted when ``__all__`` has an invalid format,
i.e. isn't a ``tuple`` or ``list``.
diff --git a/doc/whatsnew/3/3.0/index.rst b/doc/whatsnew/3/3.0/index.rst
new file mode 100644
index 000000000..8e0f6f7cc
--- /dev/null
+++ b/doc/whatsnew/3/3.0/index.rst
@@ -0,0 +1,18 @@
+*************************
+ What's New in Pylint 3.0
+*************************
+
+.. toctree::
+ :maxdepth: 2
+
+:Release: 3.0.0
+:Date: TBA
+
+
+Summary -- Release highlights
+=============================
+
+In 3.0.0...
+
+
+.. towncrier release notes start
diff --git a/doc/whatsnew/3/index.rst b/doc/whatsnew/3/index.rst
new file mode 100644
index 000000000..ff4aaf3dc
--- /dev/null
+++ b/doc/whatsnew/3/index.rst
@@ -0,0 +1,7 @@
+3.x
+===
+
+.. toctree::
+ :maxdepth: 2
+
+ 3.0/index
diff --git a/doc/whatsnew/fragments/1954.performance b/doc/whatsnew/fragments/1954.performance
new file mode 100644
index 000000000..aa065f0d1
--- /dev/null
+++ b/doc/whatsnew/fragments/1954.performance
@@ -0,0 +1,4 @@
+- Optimize `is_trailing_comma()`.
+- Cache `class_is_abstract()`.
+
+Refs #1954
diff --git a/doc/whatsnew/fragments/3670.false_positive b/doc/whatsnew/fragments/3670.false_positive
new file mode 100644
index 000000000..562a41de2
--- /dev/null
+++ b/doc/whatsnew/fragments/3670.false_positive
@@ -0,0 +1,3 @@
+Fix `unused-argument` false positive when `__new__` does not use all the arguments of `__init__`.
+
+Closes #3670
diff --git a/doc/whatsnew/fragments/5488.other b/doc/whatsnew/fragments/5488.other
new file mode 100644
index 000000000..0f6ac5b85
--- /dev/null
+++ b/doc/whatsnew/fragments/5488.other
@@ -0,0 +1,3 @@
+Pylint now exposes its type annotations.
+
+Closes #5488 and #2079
diff --git a/doc/whatsnew/fragments/7506.false_positive b/doc/whatsnew/fragments/7506.false_positive
new file mode 100644
index 000000000..c6424e1f2
--- /dev/null
+++ b/doc/whatsnew/fragments/7506.false_positive
@@ -0,0 +1,3 @@
+Fix ``unused-import`` false positive for usage of ``six.with_metaclass``.
+
+Closes #7506
diff --git a/doc/whatsnew/fragments/7578.bugfix b/doc/whatsnew/fragments/7578.bugfix
new file mode 100644
index 000000000..2b01149ca
--- /dev/null
+++ b/doc/whatsnew/fragments/7578.bugfix
@@ -0,0 +1,3 @@
+The ``ignored-modules`` option will now be correctly taken into account for ``no-name-in-module``.
+
+Closes #7578
diff --git a/doc/whatsnew/fragments/7737.user_action b/doc/whatsnew/fragments/7737.user_action
new file mode 100644
index 000000000..1a992f563
--- /dev/null
+++ b/doc/whatsnew/fragments/7737.user_action
@@ -0,0 +1,3 @@
+epylint was removed. It now lives at: https://github.com/emacsorphanage/pylint.
+
+Refs #7737
diff --git a/doc/whatsnew/fragments/8167.false_positive b/doc/whatsnew/fragments/8167.false_positive
new file mode 100644
index 000000000..e0c341f65
--- /dev/null
+++ b/doc/whatsnew/fragments/8167.false_positive
@@ -0,0 +1,4 @@
+Fix false positive for ``used-before-assignment`` when usage and assignment
+are guarded by the same test in different statements.
+
+Closes #8167
diff --git a/doc/whatsnew/fragments/8181.feature b/doc/whatsnew/fragments/8181.feature
new file mode 100644
index 000000000..cd5b361d1
--- /dev/null
+++ b/doc/whatsnew/fragments/8181.feature
@@ -0,0 +1,5 @@
+Add new option (``--show-stdlib``, ``-L``) to ``pyreverse``.
+This is similar to the behavior of ``--show-builtin`` in that standard library
+modules are now not included by default, and this option will include them.
+
+Closes #8181
diff --git a/doc/whatsnew/fragments/8198.bugfix b/doc/whatsnew/fragments/8198.bugfix
new file mode 100644
index 000000000..61b4028ce
--- /dev/null
+++ b/doc/whatsnew/fragments/8198.bugfix
@@ -0,0 +1,4 @@
+Fix ``used-before-assignment`` false negative when TYPE_CHECKING imports
+are used in multiple scopes.
+
+Closes #8198
diff --git a/doc/whatsnew/fragments/8251.breaking b/doc/whatsnew/fragments/8251.breaking
new file mode 100644
index 000000000..5410c9a98
--- /dev/null
+++ b/doc/whatsnew/fragments/8251.breaking
@@ -0,0 +1,5 @@
+`pyreverse` now uses a new default color palette that is more colorblind friendly.
+The color scheme is taken from `Paul Tol's Notes <https://personal.sron.nl/~pault/>`_.
+If you prefer other colors, you can use the `--color-palette` option to specify custom colors.
+
+Closes #8251
diff --git a/doc/whatsnew/fragments/8361.bugfix b/doc/whatsnew/fragments/8361.bugfix
new file mode 100644
index 000000000..0f2b56707
--- /dev/null
+++ b/doc/whatsnew/fragments/8361.bugfix
@@ -0,0 +1,4 @@
+``--clear-cache-post-run`` now also clears LRU caches for pylint utilities
+holding references to AST nodes.
+
+Closes #8361
diff --git a/doc/whatsnew/fragments/8401.internal b/doc/whatsnew/fragments/8401.internal
new file mode 100644
index 000000000..9f4f92740
--- /dev/null
+++ b/doc/whatsnew/fragments/8401.internal
@@ -0,0 +1,4 @@
+``get_message_definition`` was removed from the base checker API. You can access
+message definitions through the ``MessageStore``.
+
+Refs #8401
diff --git a/doc/whatsnew/fragments/8403.false_positive b/doc/whatsnew/fragments/8403.false_positive
new file mode 100644
index 000000000..bfa34d17d
--- /dev/null
+++ b/doc/whatsnew/fragments/8403.false_positive
@@ -0,0 +1,5 @@
+Adds ``asyncSetUp`` to the default ``defining-attr-methods`` list to silence
+``attribute-defined-outside-init`` warning when using
+``unittest.IsolatedAsyncioTestCase``.
+
+Refs #8403
diff --git a/doc/whatsnew/fragments/8404.breaking b/doc/whatsnew/fragments/8404.breaking
new file mode 100644
index 000000000..eb99510eb
--- /dev/null
+++ b/doc/whatsnew/fragments/8404.breaking
@@ -0,0 +1,7 @@
+Everything related to the ``__implements__`` construct was removed. It was based on PEP245
+that was proposed in 2001 and rejected in 2006.
+
+The capability from pyreverse to take ``__implements__`` into account when generating diagrams
+was also removed.
+
+Refs #8404
diff --git a/doc/whatsnew/fragments/8404.internal b/doc/whatsnew/fragments/8404.internal
new file mode 100644
index 000000000..1a6da408a
--- /dev/null
+++ b/doc/whatsnew/fragments/8404.internal
@@ -0,0 +1,8 @@
+Everything related to the ``__implements__`` construct was removed. It was based on PEP245
+that was proposed in 2001 and rejected in 2006.
+
+All the classes inheriting ``Interface`` in ``pylint.interfaces`` were removed.
+``Checker`` should only inherit ``BaseChecker`` or any of the other checker types
+from ``pylint.checkers``. ``Reporter`` should only inherit ``BaseReporter``.
+
+Refs #8404
diff --git a/doc/whatsnew/fragments/8405.other b/doc/whatsnew/fragments/8405.other
new file mode 100644
index 000000000..423e50611
--- /dev/null
+++ b/doc/whatsnew/fragments/8405.other
@@ -0,0 +1,3 @@
+All code related to the optparse config parsing has been removed.
+
+Refs #8405
diff --git a/doc/whatsnew/fragments/8407.internal b/doc/whatsnew/fragments/8407.internal
new file mode 100644
index 000000000..bb96c2f5d
--- /dev/null
+++ b/doc/whatsnew/fragments/8407.internal
@@ -0,0 +1,5 @@
+``modname`` and ``msg_store`` are now required to be given in ``FileState``.
+``collect_block_lines`` has also been removed. ``Pylinter.current_name``
+cannot be null anymore.
+
+Refs #8407
diff --git a/doc/whatsnew/fragments/8408.internal b/doc/whatsnew/fragments/8408.internal
new file mode 100644
index 000000000..697a7ee50
--- /dev/null
+++ b/doc/whatsnew/fragments/8408.internal
@@ -0,0 +1,3 @@
+'Reporter.set_output' was removed in favor of 'reporter.out = stream'.
+
+Refs #8408
diff --git a/doc/whatsnew/fragments/8409.internal b/doc/whatsnew/fragments/8409.internal
new file mode 100644
index 000000000..415dec9cf
--- /dev/null
+++ b/doc/whatsnew/fragments/8409.internal
@@ -0,0 +1,24 @@
+A number of old utility functions and classes have been removed:
+
+``MapReduceMixin``: To make a checker reduce map data simply implement
+``get_map_data`` and ``reduce_map_data``.
+
+``is_inside_lambda``: Use ``utils.get_node_first_ancestor_of_type(x, nodes.Lambda)``
+
+``check_messages``: Use ``utils.only_required_for_messages``
+
+``is_class_subscriptable_pep585_with_postponed_evaluation_enabled``: Use
+``is_postponed_evaluation_enabled(node)`` and ``is_node_in_type_annotation_context(node)``
+
+``get_python_path``: assumption that there's always an __init__.py is not true since
+python 3.3 and is causing problems, particularly with PEP 420. Use ``discover_package_path``
+and pass source root(s).
+
+``fix_import_path``: Use ``augmented_sys_path`` and pass additional ``sys.path``
+entries as an argument obtained from ``discover_package_path``.
+
+``get_global_option``: Use ``checker.linter.config`` to get all global options.
+
+Related private objects have been removed as well.
+
+Refs #8409
diff --git a/doc/whatsnew/fragments/8410.false_positive b/doc/whatsnew/fragments/8410.false_positive
new file mode 100644
index 000000000..264542a7d
--- /dev/null
+++ b/doc/whatsnew/fragments/8410.false_positive
@@ -0,0 +1,3 @@
+`logging-not-lazy` is not longer emitted for explicitly concatenated string arguments.
+
+Closes #8410
diff --git a/doc/whatsnew/fragments/8411.user_action b/doc/whatsnew/fragments/8411.user_action
new file mode 100644
index 000000000..42f9c502a
--- /dev/null
+++ b/doc/whatsnew/fragments/8411.user_action
@@ -0,0 +1,7 @@
+The 'overgeneral-exceptions' option now only takes fully qualified name
+into account (``builtins.Exception`` not ``Exception``). If you overrode
+this option, you need to use the fully qualified name now.
+
+There's still a warning, but it will be removed in 3.1.0.
+
+Refs #8411
diff --git a/doc/whatsnew/fragments/8412.internal b/doc/whatsnew/fragments/8412.internal
new file mode 100644
index 000000000..ef12ebd18
--- /dev/null
+++ b/doc/whatsnew/fragments/8412.internal
@@ -0,0 +1,3 @@
+``colorize_ansi`` now only accept a ``MessageStyle`` object.
+
+Refs #8412
diff --git a/doc/whatsnew/fragments/8416.breaking b/doc/whatsnew/fragments/8416.breaking
new file mode 100644
index 000000000..7984da1b1
--- /dev/null
+++ b/doc/whatsnew/fragments/8416.breaking
@@ -0,0 +1,3 @@
+``pyreverse``: Support for the ``.vcg`` output format (Visualaization of Compiler Graphs) has been dropped.
+
+Closes #8416
diff --git a/doc/whatsnew/fragments/8424.false_positive b/doc/whatsnew/fragments/8424.false_positive
new file mode 100644
index 000000000..22dc8b844
--- /dev/null
+++ b/doc/whatsnew/fragments/8424.false_positive
@@ -0,0 +1,3 @@
+Fix false positive for isinstance-second-argument-not-valid-type when union types contains None.
+
+Closes #8424
diff --git a/doc/whatsnew/fragments/8433.internal b/doc/whatsnew/fragments/8433.internal
new file mode 100644
index 000000000..4bc20c493
--- /dev/null
+++ b/doc/whatsnew/fragments/8433.internal
@@ -0,0 +1,10 @@
+The following utilities are deprecated in favor of the more robust ``in_type_checking_block``
+and will be removed in pylint 3.0:
+
+ - ``is_node_in_guarded_import_block``
+ - ``is_node_in_typing_guarded_import_block``
+ - ``is_typing_guard``
+
+``is_sys_guard`` is still available, which was part of ``is_node_in_guarded_import_block``.
+
+Refs #8433
diff --git a/doc/whatsnew/fragments/8434.bugfix b/doc/whatsnew/fragments/8434.bugfix
new file mode 100644
index 000000000..b5a8bddcb
--- /dev/null
+++ b/doc/whatsnew/fragments/8434.bugfix
@@ -0,0 +1,3 @@
+Fix a crash when ``TYPE_CHECKING`` is used without importing it.
+
+Closes #8434
diff --git a/doc/whatsnew/fragments/8437.bugfix b/doc/whatsnew/fragments/8437.bugfix
new file mode 100644
index 000000000..c1727f950
--- /dev/null
+++ b/doc/whatsnew/fragments/8437.bugfix
@@ -0,0 +1,4 @@
+Fix a ``used-before-assignment`` false positive when imports
+are made under the ``TYPE_CHECKING`` else if branch.
+
+Closes #8437
diff --git a/doc/whatsnew/fragments/8453.bugfix b/doc/whatsnew/fragments/8453.bugfix
new file mode 100644
index 000000000..6bec2b0b9
--- /dev/null
+++ b/doc/whatsnew/fragments/8453.bugfix
@@ -0,0 +1,3 @@
+Fix a regression of ``preferred-modules`` where a partial match was used instead of the required full match.
+
+Closes #8453
diff --git a/doc/whatsnew/fragments/8462.breaking b/doc/whatsnew/fragments/8462.breaking
new file mode 100644
index 000000000..c794235c0
--- /dev/null
+++ b/doc/whatsnew/fragments/8462.breaking
@@ -0,0 +1,5 @@
+The warning when the now useless old pylint cache directory (pylint.d) was
+found was removed. The cache dir is documented in
+[the FAQ](https://pylint.readthedocs.io/en/latest/faq.html#where-is-the-persistent-data-stored-to-compare-between-successive-runs).
+
+Refs #8462
diff --git a/doc/whatsnew/fragments/8463.internal b/doc/whatsnew/fragments/8463.internal
new file mode 100644
index 000000000..de5df2520
--- /dev/null
+++ b/doc/whatsnew/fragments/8463.internal
@@ -0,0 +1,3 @@
+Following a deprecation period, ``Pylinter.check`` now only work with sequences of strings, not strings.
+
+Refs #8463
diff --git a/doc/whatsnew/fragments/8464.internal b/doc/whatsnew/fragments/8464.internal
new file mode 100644
index 000000000..4b4109c7b
--- /dev/null
+++ b/doc/whatsnew/fragments/8464.internal
@@ -0,0 +1,3 @@
+Following a deprecation period, ``ColorizedTextReporter`` only accepts ``ColorMappingDict``.
+
+Refs #8464
diff --git a/doc/whatsnew/fragments/8465.user_action b/doc/whatsnew/fragments/8465.user_action
new file mode 100644
index 000000000..b5d802a93
--- /dev/null
+++ b/doc/whatsnew/fragments/8465.user_action
@@ -0,0 +1,5 @@
+Following a deprecation period, it's no longer possible to use ``MASTER``
+or ``master`` as configuration section in ``setup.cfg`` or ``tox.ini``. It's bad practice
+to not start sections titles with the tool name. Please use ``pylint.main`` instead.
+
+Refs #8465
diff --git a/doc/whatsnew/fragments/8466.internal b/doc/whatsnew/fragments/8466.internal
new file mode 100644
index 000000000..101a8e4ba
--- /dev/null
+++ b/doc/whatsnew/fragments/8466.internal
@@ -0,0 +1,5 @@
+Following a deprecation period, ``MessageTest``'s ``end_line`` and ``end_col_offset``
+must be accurate in functional tests (for python 3.8 or above on cpython, and for
+python 3.9 or superior on pypy).
+
+Refs #8466
diff --git a/doc/whatsnew/fragments/8472.internal b/doc/whatsnew/fragments/8472.internal
new file mode 100644
index 000000000..6e9c3956a
--- /dev/null
+++ b/doc/whatsnew/fragments/8472.internal
@@ -0,0 +1,4 @@
+Following a deprecation period, the ``do_exit`` argument of the ``Run`` class (and of the ``_Run``
+class in testutils) were removed.
+
+Refs #8472
diff --git a/doc/whatsnew/fragments/8473.internal b/doc/whatsnew/fragments/8473.internal
new file mode 100644
index 000000000..11491dd57
--- /dev/null
+++ b/doc/whatsnew/fragments/8473.internal
@@ -0,0 +1,6 @@
+Following a deprecation period, the ``py_version`` argument of the
+``MessageDefinition.may_be_emitted`` function is now required. The most likely solution
+is to use 'linter.config.py_version' if you need to keep using this
+function, or to use 'MessageDefinition.is_message_enabled' instead.
+
+Refs #8473
diff --git a/doc/whatsnew/fragments/8474.internal b/doc/whatsnew/fragments/8474.internal
new file mode 100644
index 000000000..07120ba34
--- /dev/null
+++ b/doc/whatsnew/fragments/8474.internal
@@ -0,0 +1,5 @@
+Following a deprecation period, the ``OutputLine`` class now requires
+the right number of argument all the time. The functional output can be
+regenerated automatically to achieve that easily.
+
+Refs #8474
diff --git a/doc/whatsnew/fragments/8475.internal b/doc/whatsnew/fragments/8475.internal
new file mode 100644
index 000000000..0451554e9
--- /dev/null
+++ b/doc/whatsnew/fragments/8475.internal
@@ -0,0 +1,5 @@
+Following a deprecation period, ``is_typing_guard``, ``is_node_in_typing_guarded_import_block`` and
+``is_node_in_guarded_import_block``: from ``pylint.utils`` were removed: use a combination of
+``is_sys_guard`` and ``in_type_checking_block`` instead.
+
+Refs #8475
diff --git a/doc/whatsnew/fragments/8476.feature b/doc/whatsnew/fragments/8476.feature
new file mode 100644
index 000000000..56c0be201
--- /dev/null
+++ b/doc/whatsnew/fragments/8476.feature
@@ -0,0 +1,3 @@
+Add Pyreverse option to exclude standalone nodes from diagrams with `--no-standalone`.
+
+Closes #8476
diff --git a/doc/whatsnew/fragments/8477.internal b/doc/whatsnew/fragments/8477.internal
new file mode 100644
index 000000000..d7b043521
--- /dev/null
+++ b/doc/whatsnew/fragments/8477.internal
@@ -0,0 +1,4 @@
+Following a deprecation period, the ``location`` argument of the
+``Message`` class must now be a ``MessageLocationTuple``.
+
+Refs #8477
diff --git a/doc/whatsnew/fragments/8478.internal b/doc/whatsnew/fragments/8478.internal
new file mode 100644
index 000000000..b1b158508
--- /dev/null
+++ b/doc/whatsnew/fragments/8478.internal
@@ -0,0 +1,4 @@
+Following a deprecation period, the ``check_single_file`` function of the
+``Pylinter`` is replaced by ``Pylinter.check_single_file_item``.
+
+Refs #8478
diff --git a/doc/whatsnew/fragments/8485.false_positive b/doc/whatsnew/fragments/8485.false_positive
new file mode 100644
index 000000000..8eac08b95
--- /dev/null
+++ b/doc/whatsnew/fragments/8485.false_positive
@@ -0,0 +1,5 @@
+``invalid-name`` now allows for integers in ``typealias`` names:
+- now valid: ``Good2Name``, ``GoodName2``.
+- still invalid: ``_1BadName``.
+
+Closes #8485
diff --git a/doc/whatsnew/fragments/8487.false_positive b/doc/whatsnew/fragments/8487.false_positive
new file mode 100644
index 000000000..9ff5e3482
--- /dev/null
+++ b/doc/whatsnew/fragments/8487.false_positive
@@ -0,0 +1,3 @@
+No longer consider ``Union`` as type annotation as type alias for naming checks.
+
+Closes #8487
diff --git a/doc/whatsnew/fragments/8496.false_positive b/doc/whatsnew/fragments/8496.false_positive
new file mode 100644
index 000000000..3ea0fca6c
--- /dev/null
+++ b/doc/whatsnew/fragments/8496.false_positive
@@ -0,0 +1,5 @@
+``unnecessary-lambda`` no longer warns on lambdas which use its parameters in
+their body (other than the final arguments), e.g.
+``lambda foo: (bar if foo else baz)(foo)``.
+
+Closes #8496
diff --git a/doc/whatsnew/fragments/8500.false_positive b/doc/whatsnew/fragments/8500.false_positive
new file mode 100644
index 000000000..ced61766a
--- /dev/null
+++ b/doc/whatsnew/fragments/8500.false_positive
@@ -0,0 +1,3 @@
+Fixed `unused-import` so that it observes the `dummy-variables-rgx` option.
+
+Closes #8500
diff --git a/doc/whatsnew/fragments/8504.bugfix b/doc/whatsnew/fragments/8504.bugfix
new file mode 100644
index 000000000..2b54ac7b6
--- /dev/null
+++ b/doc/whatsnew/fragments/8504.bugfix
@@ -0,0 +1,3 @@
+Fix a crash in pyreverse when "/" characters are used in the output filename e.g pyreverse -o png -p name/ path/to/project.
+
+Closes #8504
diff --git a/doc/whatsnew/fragments/8536.false_negative b/doc/whatsnew/fragments/8536.false_negative
new file mode 100644
index 000000000..8b24bc96f
--- /dev/null
+++ b/doc/whatsnew/fragments/8536.false_negative
@@ -0,0 +1,3 @@
+`TypeAlias` variables defined in functions are now checked for `invalid-name` errors.
+
+Closes #8536
diff --git a/doc/whatsnew/fragments/8540.false_positive b/doc/whatsnew/fragments/8540.false_positive
new file mode 100644
index 000000000..543913637
--- /dev/null
+++ b/doc/whatsnew/fragments/8540.false_positive
@@ -0,0 +1,4 @@
+`Union` typed variables without assignment are no longer treated as
+`TypeAlias`.
+
+Closes #8540
diff --git a/doc/whatsnew/fragments/8555.false_positive b/doc/whatsnew/fragments/8555.false_positive
new file mode 100644
index 000000000..157486b39
--- /dev/null
+++ b/doc/whatsnew/fragments/8555.false_positive
@@ -0,0 +1,3 @@
+Fix false positive for ``positional-only-arguments-expected`` when a function contains both a positional-only parameter that has a default value, and ``**kwargs``.
+
+Closes #8555
diff --git a/doc/whatsnew/fragments/8559.false_negative b/doc/whatsnew/fragments/8559.false_negative
new file mode 100644
index 000000000..37c415138
--- /dev/null
+++ b/doc/whatsnew/fragments/8559.false_negative
@@ -0,0 +1,3 @@
+Fix false negative for ``no-value-for-parameter`` when a function, whose signature contains both a positional-only parameter ``name`` and also ``*kwargs``, is called with a keyword-argument for ``name``.
+
+Closes #8559
diff --git a/doc/whatsnew/fragments/8563.bugfix b/doc/whatsnew/fragments/8563.bugfix
new file mode 100644
index 000000000..3c9d38b1c
--- /dev/null
+++ b/doc/whatsnew/fragments/8563.bugfix
@@ -0,0 +1,3 @@
+Improve output of ``consider-using-generator`` message for ``min()` calls with ``default`` keyword.
+
+Closes #8563
diff --git a/doc/whatsnew/fragments/8570.false_positive b/doc/whatsnew/fragments/8570.false_positive
new file mode 100644
index 000000000..fec3a855e
--- /dev/null
+++ b/doc/whatsnew/fragments/8570.false_positive
@@ -0,0 +1,3 @@
+Fix false positive for ``keyword-arg-before-vararg`` when a positional-only parameter with a default value precedes ``*args``.
+
+Closes #8570
diff --git a/doc/whatsnew/index.rst b/doc/whatsnew/index.rst
index 47aae955d..4e9c22fea 100644
--- a/doc/whatsnew/index.rst
+++ b/doc/whatsnew/index.rst
@@ -5,6 +5,7 @@
:titlesonly:
:hidden:
+ 3/index
2/index
1/index
0/index