summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS.txt7
-rw-r--r--doc/user_guide/checkers/features.rst2
-rw-r--r--doc/whatsnew/2/2.16/index.rst714
-rw-r--r--doc/whatsnew/fragments/2374.false_negative4
-rw-r--r--doc/whatsnew/fragments/2876.extension4
-rw-r--r--doc/whatsnew/fragments/3038.extension4
-rw-r--r--doc/whatsnew/fragments/3044.bugfix3
-rw-r--r--doc/whatsnew/fragments/3110.new_check4
-rw-r--r--doc/whatsnew/fragments/3299.bugfix4
-rw-r--r--doc/whatsnew/fragments/3299.false_positive3
-rw-r--r--doc/whatsnew/fragments/3368.false_positive3
-rw-r--r--doc/whatsnew/fragments/3391.extension6
-rw-r--r--doc/whatsnew/fragments/3701.bugfix3
-rw-r--r--doc/whatsnew/fragments/3822.false_positive3
-rw-r--r--doc/whatsnew/fragments/3899.bugfix4
-rw-r--r--doc/whatsnew/fragments/4150.false_negative3
-rw-r--r--doc/whatsnew/fragments/4354.bugfix3
-rw-r--r--doc/whatsnew/fragments/4562.bugfix3
-rw-r--r--doc/whatsnew/fragments/4655.bugfix3
-rw-r--r--doc/whatsnew/fragments/4743.bugfix4
-rw-r--r--doc/whatsnew/fragments/4792.false_negative3
-rw-r--r--doc/whatsnew/fragments/4809.false_positive3
-rw-r--r--doc/whatsnew/fragments/4836.bugfix3
-rw-r--r--doc/whatsnew/fragments/4836.new_check3
-rw-r--r--doc/whatsnew/fragments/4857.false_positive3
-rw-r--r--doc/whatsnew/fragments/4913.false_negative3
-rw-r--r--doc/whatsnew/fragments/4984.false_positive3
-rw-r--r--doc/whatsnew/fragments/519.false_negative3
-rw-r--r--doc/whatsnew/fragments/5327.false_positive4
-rw-r--r--doc/whatsnew/fragments/5362.feature3
-rw-r--r--doc/whatsnew/fragments/5401.feature4
-rw-r--r--doc/whatsnew/fragments/5478.bugfix3
-rw-r--r--doc/whatsnew/fragments/5636.bugfix3
-rw-r--r--doc/whatsnew/fragments/5788.false_positive3
-rw-r--r--doc/whatsnew/fragments/5797.new_check4
-rw-r--r--doc/whatsnew/fragments/5886.false_positive3
-rw-r--r--doc/whatsnew/fragments/5920.other3
-rw-r--r--doc/whatsnew/fragments/6001.false_positive3
-rw-r--r--doc/whatsnew/fragments/6006.feature5
-rw-r--r--doc/whatsnew/fragments/6242.bugfix4
-rw-r--r--doc/whatsnew/fragments/6489.new_check4
-rw-r--r--doc/whatsnew/fragments/6543.feature5
-rw-r--r--doc/whatsnew/fragments/6592.false_positive3
-rw-r--r--doc/whatsnew/fragments/6639.false_negative3
-rw-r--r--doc/whatsnew/fragments/6795.bugfix3
-rw-r--r--doc/whatsnew/fragments/6917.new_check4
-rw-r--r--doc/whatsnew/fragments/7003.bugfix4
-rw-r--r--doc/whatsnew/fragments/7124.other3
-rw-r--r--doc/whatsnew/fragments/7169.bugfix3
-rw-r--r--doc/whatsnew/fragments/7208.user_action10
-rw-r--r--doc/whatsnew/fragments/7209.false_positive3
-rw-r--r--doc/whatsnew/fragments/7214.bugfix3
-rw-r--r--doc/whatsnew/fragments/7264.bugfix8
-rw-r--r--doc/whatsnew/fragments/7264.internal9
-rw-r--r--doc/whatsnew/fragments/7281.extension4
-rw-r--r--doc/whatsnew/fragments/7290.false_positive3
-rw-r--r--doc/whatsnew/fragments/7311.false_positive4
-rw-r--r--doc/whatsnew/fragments/7346.other4
-rw-r--r--doc/whatsnew/fragments/7368.false_positive3
-rw-r--r--doc/whatsnew/fragments/7380.bugfix3
-rw-r--r--doc/whatsnew/fragments/7390.bugfix3
-rw-r--r--doc/whatsnew/fragments/7398.other4
-rw-r--r--doc/whatsnew/fragments/7401.bugfix3
-rw-r--r--doc/whatsnew/fragments/7453.bugfix3
-rw-r--r--doc/whatsnew/fragments/7457.bugfix3
-rw-r--r--doc/whatsnew/fragments/7461.bugfix3
-rw-r--r--doc/whatsnew/fragments/7463.other3
-rw-r--r--doc/whatsnew/fragments/7467.bugfix3
-rw-r--r--doc/whatsnew/fragments/7471.bugfix3
-rw-r--r--doc/whatsnew/fragments/7485.other3
-rw-r--r--doc/whatsnew/fragments/7494.new_check4
-rw-r--r--doc/whatsnew/fragments/7495.bugfix4
-rw-r--r--doc/whatsnew/fragments/7501.false_positive3
-rw-r--r--doc/whatsnew/fragments/7507.bugfix4
-rw-r--r--doc/whatsnew/fragments/7507.other3
-rw-r--r--doc/whatsnew/fragments/7522.bugfix3
-rw-r--r--doc/whatsnew/fragments/7524.bugfix4
-rw-r--r--doc/whatsnew/fragments/7528.bugfix3
-rw-r--r--doc/whatsnew/fragments/7529.false_positive4
-rw-r--r--doc/whatsnew/fragments/7539.false_negative7
-rw-r--r--doc/whatsnew/fragments/7544.other3
-rw-r--r--doc/whatsnew/fragments/7546.new_check4
-rw-r--r--doc/whatsnew/fragments/7547.false_negative3
-rw-r--r--doc/whatsnew/fragments/7563.false_positive3
-rw-r--r--doc/whatsnew/fragments/7569.bugfix3
-rw-r--r--doc/whatsnew/fragments/7570.bugfix4
-rw-r--r--doc/whatsnew/fragments/7609.false_positive4
-rw-r--r--doc/whatsnew/fragments/7610.bugfix3
-rw-r--r--doc/whatsnew/fragments/7626.false_positive4
-rw-r--r--doc/whatsnew/fragments/7626.other3
-rw-r--r--doc/whatsnew/fragments/7629.other4
-rw-r--r--doc/whatsnew/fragments/7635.bugfix7
-rw-r--r--doc/whatsnew/fragments/7636.extension4
-rw-r--r--doc/whatsnew/fragments/7655.other3
-rw-r--r--doc/whatsnew/fragments/7661.bugfix3
-rw-r--r--doc/whatsnew/fragments/7682.false_positive3
-rw-r--r--doc/whatsnew/fragments/7690.new_check3
-rw-r--r--doc/whatsnew/fragments/7699.false_negative3
-rw-r--r--doc/whatsnew/fragments/7737.other5
-rw-r--r--doc/whatsnew/fragments/7742.bugfix3
-rw-r--r--doc/whatsnew/fragments/7760.new_check5
-rw-r--r--doc/whatsnew/fragments/7762.false_negative4
-rw-r--r--doc/whatsnew/fragments/7762.new_check4
-rw-r--r--doc/whatsnew/fragments/7765.false_positive3
-rw-r--r--doc/whatsnew/fragments/7770.false_negative3
-rw-r--r--doc/whatsnew/fragments/7779.false_positive4
-rw-r--r--doc/whatsnew/fragments/7782.bugfix4
-rw-r--r--doc/whatsnew/fragments/7788.false_negative3
-rw-r--r--doc/whatsnew/fragments/7818.false_negative3
-rw-r--r--doc/whatsnew/fragments/7821.bugfix3
-rw-r--r--doc/whatsnew/fragments/7827.false_positive3
-rw-r--r--doc/whatsnew/fragments/7828.bugfix3
-rw-r--r--doc/whatsnew/fragments/7857.false_positive3
-rw-r--r--doc/whatsnew/fragments/7860.false_positive3
-rw-r--r--doc/whatsnew/fragments/7882.false_positive3
-rw-r--r--doc/whatsnew/fragments/7931.bugfix3
-rw-r--r--doc/whatsnew/fragments/7938.bugfix3
-rw-r--r--doc/whatsnew/fragments/7957.other3
-rw-r--r--doc/whatsnew/fragments/7964.false_negative3
-rw-r--r--doc/whatsnew/fragments/7979.false_positive4
-rw-r--r--doc/whatsnew/fragments/8015.new_check5
-rw-r--r--doc/whatsnew/fragments/8051.false_positive4
-rw-r--r--doc/whatsnew/fragments/8067.bugfix3
-rw-r--r--doc/whatsnew/fragments/8081.bugfix3
-rw-r--r--doc/whatsnew/fragments/8089.false_positive3
-rw-r--r--doc/whatsnew/fragments/8100.false_positive3
-rw-r--r--doc/whatsnew/fragments/8119.bugfix3
-rw-r--r--doc/whatsnew/fragments/8120.false_positive3
-rw-r--r--examples/pylintrc3
-rw-r--r--examples/pyproject.toml3
-rw-r--r--pylint/__pkginfo__.py2
-rw-r--r--tbump.toml2
132 files changed, 727 insertions, 455 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index 2dbbe3688..47e3c05c5 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -130,6 +130,7 @@ contributors:
- Pavel Roskin <proski@gnu.org>
- David Gilman <davidgilman1@gmail.com>
- へーさん <hira9603859504@gmail.com>
+- Yilei "Dolee" Yang <yileiyang@google.com>
- Thomas Hisch <t.hisch@gmail.com>
- Marianna Polatoglou <mpolatoglou@bloomberg.net>: minor contribution for wildcard import check
- Manuel Vázquez Acosta <mva.led@gmail.com>
@@ -151,7 +152,6 @@ contributors:
* Added new extension which detects comparing integers to zero,
* Added new useless-return checker,
* Added new try-except-raise checker
-- Yilei "Dolee" Yang <yileiyang@google.com>
- Téo Bouvard <teobouvard@gmail.com>
- Mihai Balint <balint.mihai@gmail.com>
- Mark Bell <mark00bell@googlemail.com>
@@ -176,6 +176,7 @@ contributors:
- Paul Lichtenberger <paul.lichtenberger.rgbg@gmail.com>
- Or Bahari <or.ba402@gmail.com>
- Mr. Senko <atodorov@mrsenko.com>
+- Mike Frysinger <vapier@gmail.com>
- Martin von Gagern <gagern@google.com> (Google): Added 'raising-format-tuple' warning.
- Martin Vielsmaier <martin@vielsmaier.net>
- Martin Pool <mbp@google.com> (Google):
@@ -207,7 +208,6 @@ contributors:
- Nicolas Dickreuter <dickreuter@gmail.com>
- Nick Bastin <nick.bastin@gmail.com>
- Nathaniel Manista <nathaniel@google.com>: suspicious lambda checking
-- Mike Frysinger <vapier@gmail.com>
- Maksym Humetskyi <Humetsky@gmail.com> (mhumetskyi)
* Fixed ignored empty functions by similarities checker with "ignore-signatures" option enabled
* Ignore function decorators signatures as well by similarities checker with "ignore-signatures" option enabled
@@ -272,6 +272,7 @@ contributors:
- Justin Li <justinnhli@gmail.com>
- John Kirkham <jakirkham@gmail.com>
- Jens H. Nielsen <Jens.Nielsen@microsoft.com>
+- James Addison <55152140+jayaddison@users.noreply.github.com>
- Ioana Tagirta <ioana.tagirta@gmail.com>: fix bad thread instantiation check
- Ikraduya Edian <ikraduya@gmail.com>: Added new checks 'consider-using-generator' and 'use-a-generator'.
- Hugues Bruant <hugues.bruant@affirm.com>
@@ -471,7 +472,6 @@ contributors:
- James M. Allen <james.m.allen@gmail.com>
- James Lingard <jchl@aristanetworks.com>
- James Broadhead <jamesbroadhead@gmail.com>
-- James Addison <55152140+jayaddison@users.noreply.github.com>
- Jakub Kulík <Kulikjak@gmail.com>
- Jakob Normark <jakobnormark@gmail.com>
- Jake Lishman <jake@binhbar.com>
@@ -506,6 +506,7 @@ contributors:
- Denis Laxalde <denis.laxalde@logilab.fr>
- David Lawson <dmrlawson@gmail.com>
- David Cain <davidjosephcain@gmail.com>
+- Dave Bunten <ekgto445@gmail.com>
- Danny Hermes <daniel.j.hermes@gmail.com>
- Daniele Procida <daniele@vurt.org>
- Daniela Plascencia <daplascen@gmail.com>
diff --git a/doc/user_guide/checkers/features.rst b/doc/user_guide/checkers/features.rst
index 104b8b40e..1ebf5ca53 100644
--- a/doc/user_guide/checkers/features.rst
+++ b/doc/user_guide/checkers/features.rst
@@ -643,7 +643,7 @@ See also :ref:`method_args checker's options' documentation <method_args-options
Method Args checker Messages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-:positional-only-arguments-expected (E3102): *%s() got some positional-only arguments passed as keyword arguments: %s*
+:positional-only-arguments-expected (E3102): *`%s()` got some positional-only arguments passed as keyword arguments: %s*
Emitted when positional-only arguments have been passed as keyword arguments.
Remove the keywords for the affected arguments in the function call. This
message can't be emitted when using Python < 3.8.
diff --git a/doc/whatsnew/2/2.16/index.rst b/doc/whatsnew/2/2.16/index.rst
index 6c446ea12..3497f32fb 100644
--- a/doc/whatsnew/2/2.16/index.rst
+++ b/doc/whatsnew/2/2.16/index.rst
@@ -32,3 +32,717 @@ any experience with our code!
Last but not least @clavedeluna and @nickdrozd became triagers, welcome to the team !
.. towncrier release notes start
+
+What's new in Pylint 2.16.0?
+----------------------------
+Release date: 2023-02-01
+
+
+Changes requiring user actions
+------------------------------
+
+- The ``accept-no-raise-doc`` option related to ``missing-raises-doc`` will now
+ be correctly taken into account all the time.
+
+ Pylint will no longer raise missing-raises-doc (W9006) when no exceptions are
+ documented and accept-no-raise-doc is true (issue #7208).
+ If you were expecting missing-raises-doc errors to be raised in that case,
+ you
+ 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>`_)
+
+
+
+New Features
+------------
+
+- Added the ``no-header`` output format. If enabled with
+ ``--output-format=no-header``, it will not include the module name in the
+ output.
+
+ Closes #5362 (`#5362 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+
+
+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>`_)
+
+- Add a ``shadowed-import`` message for aliased imports.
+
+ Closes #4836 (`#4836 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- Added ``singledispatch-method`` which informs that ``@singledispatch`` should
+ decorate functions and not class/instance methods.
+ Added ``singledispatchmethod-function`` which informs that
+ ``@singledispatchmethod`` should decorate class/instance methods and not
+ functions.
+
+ Closes #6917 (`#6917 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+
+
+Extensions
+----------
+
+- Add new extension checker ``dict-init-mutate`` that flags mutating a
+ dictionary immediately
+ after the dictionary was created.
+
+ Closes #2876 (`#2876 <https://github.com/PyCQA/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>`_)
+
+- Added ``consider-using-augmented-assign`` check for ``CodeStyle`` extension
+ which flags ``x = x + 1`` to simplify to ``x += 1``.
+ This check is disabled by default. To use it, load the code style extension
+ 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+
+
+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>`_)
+
+- 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>`_)
+
+- ``trailing-whitespaces`` is no longer reported within strings.
+
+ Closes #3822 (`#3822 <https://github.com/PyCQA/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>`_)
+
+- Fix false positive for ``use-maxsplit-arg`` with custom split method.
+
+ Closes #4857 (`#4857 <https://github.com/PyCQA/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>`_)
+
+- Fix false-positive for ``used-before-assignment`` in pattern matching
+ with a guard.
+
+ Closes #5327 (`#5327 <https://github.com/PyCQA/pylint/issues/5327>`_)
+
+- Fix ``use-sequence-for-iteration`` when unpacking a set with ``*``.
+
+ Closes #5788 (`#5788 <https://github.com/PyCQA/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>`_)
+
+- Fix false positive ``assigning-non-slot`` when a class attribute is
+ re-assigned.
+
+ Closes #6001 (`#6001 <https://github.com/PyCQA/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>`_)
+
+- Fixes false positive ``abstract-method`` on Protocol classes.
+
+ Closes #7209 (`#7209 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- Fix ``used-before-assignment`` for functions/classes defined in type checking
+ guard.
+
+ Closes #7368 (`#7368 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- ``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>`_)
+
+- Don't warn about ``stop-iteration-return`` when using ``next()`` over
+ ``itertools.cycle``.
+
+ Closes #7765 (`#7765 <https://github.com/PyCQA/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>`_)
+
+- Fix ``missing-param-doc`` false positive when function parameter has an
+ escaped underscore.
+
+ Closes #7827 (`#7827 <https://github.com/PyCQA/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>`_)
+
+- ``multiple-statements`` no longer triggers for function stubs using inlined
+ ``...``.
+
+ Closes #7860 (`#7860 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- Fix ``invalid-name`` errors for ``typing_extension.TypeVar``.
+
+ Refs #8089 (`#8089 <https://github.com/PyCQA/pylint/issues/8089>`_)
+
+- Fix ``no-kwoa`` false positive for context managers.
+
+ Closes #8100 (`#8100 <https://github.com/PyCQA/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>`_)
+
+
+
+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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- Flag ``superfluous-parens`` if parentheses are used during string
+ concatenation.
+
+ Closes #4792 (`#4792 <https://github.com/PyCQA/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>`_)
+
+- ``consider-using-join`` can now be emitted for non-empty string separators.
+
+ Closes #6639 (`#6639 <https://github.com/PyCQA/pylint/issues/6639>`_)
+
+- Emit ``used-before-assignment`` for further imports guarded by
+ ``TYPE_CHECKING``
+
+ Previously, this message was only emitted for imports guarded directly under
+ ``TYPE_CHECKING``, not guarded two if-branches deep, nor when
+ ``TYPE_CHECKING``
+ was imported from ``typing`` under an alias.
+
+ Closes #7539 (`#7539 <https://github.com/PyCQA/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>`_)
+
+- ``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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- ``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>`_)
+
+- Fix ``dangerous-default-value`` false negative when ``*`` is used.
+
+ Closes #7818 (`#7818 <https://github.com/PyCQA/pylint/issues/7818>`_)
+
+- ``consider-using-with`` now triggers for ``pathlib.Path.open``.
+
+ Closes #7964 (`#7964 <https://github.com/PyCQA/pylint/issues/7964>`_)
+
+
+
+Other Bug Fixes
+---------------
+
+- Fix bug in detecting ``unused-variable`` when iterating on variable.
+
+ Closes #3044 (`#3044 <https://github.com/PyCQA/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>`_)
+
+- Update ``disallowed-name`` check to flag module-level variables.
+
+ Closes #3701 (`#3701 <https://github.com/PyCQA/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>`_)
+
+- Fix ignored files being linted when passed on stdin.
+
+ Closes #4354 (`#4354 <https://github.com/PyCQA/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>`_)
+
+- Any assertion on a populated tuple will now receive a ``assert-on-tuple``
+ warning.
+
+ Closes #4655 (`#4655 <https://github.com/PyCQA/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>`_)
+
+- Update ``reimported`` help message for clarity.
+
+ Closes #4836 (`#4836 <https://github.com/PyCQA/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>`_)
+
+- Using custom braces in ``msg-template`` will now work properly.
+
+ Closes #5636 (`#5636 <https://github.com/PyCQA/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>`_)
+
+- Remove ``__index__`` dunder method call from ``unnecessary-dunder-call``
+ check.
+
+ Closes #6795 (`#6795 <https://github.com/PyCQA/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>`_)
+
+- Don't crash on ``OSError`` in config file discovery.
+
+ Closes #7169 (`#7169 <https://github.com/PyCQA/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>`_)
+
+- Fixed a case where custom plugins specified by command line could silently
+ fail.
+
+ Specifically, if a plugin relies on the ``init-hook`` option changing
+ ``sys.path`` before
+ it can be imported, this will now emit a ``bad-plugin-value`` message. Before
+ this
+ 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>`_)
+
+- Update ``modified_iterating`` checker to fix a crash with ``for`` loops on
+ empty list.
+
+ Closes #7380 (`#7380 <https://github.com/PyCQA/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>`_)
+
+- ``disable-next`` is now correctly scoped to only the succeeding line.
+
+ Closes #7401 (`#7401 <https://github.com/PyCQA/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>`_)
+
+- Add ``mailcap`` to deprecated modules list.
+
+ Closes #7457 (`#7457 <https://github.com/PyCQA/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>`_)
+
+- ``invalid-class-object`` does not crash anymore when ``__class__`` is
+ assigned alongside another variable.
+
+ Closes #7467 (`#7467 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- Report ``no-self-argument`` rather than ``no-method-argument`` for methods
+ with variadic arguments.
+
+ Closes #7507 (`#7507 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- Fixes edge case of custom method named ``next`` raised an astroid error.
+
+ Closes #7610 (`#7610 <https://github.com/PyCQA/pylint/issues/7610>`_)
+
+- Fixed a multi-processing crash that prevents using any more than 1 thread on
+ MacOS.
+
+ The returned module objects and errors that were cached by the linter plugin
+ loader
+ cannot be reliably pickled. This means that ``dill`` would throw an error
+ when
+ attempting to serialise the linter object for multi-processing use.
+
+ Closes #7635. (`#7635 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- Use better regex to check for private attributes.
+
+ Refs #8081 (`#8081 <https://github.com/PyCQA/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>`_)
+
+
+
+Other Changes
+-------------
+
+- Pylint now provides basic support for Python 3.11.
+
+ Closes #5920 (`#5920 <https://github.com/PyCQA/pylint/issues/5920>`_)
+
+- Update message for ``abstract-method`` to include child class name.
+
+ Closes #7124 (`#7124 <https://github.com/PyCQA/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>`_)
+
+- 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>`_)
+
+- 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>`_)
+
+- Add a ``minimal`` option to ``pylint-config`` and its toml generator.
+
+ Closes #7485 (`#7485 <https://github.com/PyCQA/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>`_)
+
+- Prevent leaving the pip install cache in the Docker image.
+
+ Refs #7544 (`#7544 <https://github.com/PyCQA/pylint/issues/7544>`_)
+
+- Add a keyword-only ``compare_constants`` argument to ``safe_infer``.
+
+ Refs #7626 (`#7626 <https://github.com/PyCQA/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>`_)
+
+- Sort ``--generated-rcfile`` output.
+
+ Refs #7655 (`#7655 <https://github.com/PyCQA/pylint/issues/7655>`_)
+
+- epylint is now deprecated and will be removed in pylint 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.
+
+ Closes #7737 (`#7737 <https://github.com/PyCQA/pylint/issues/7737>`_)
+
+- Adds test for existing preferred-modules configuration functionality.
+
+ Refs #7957 (`#7957 <https://github.com/PyCQA/pylint/issues/7957>`_)
+
+
+
+Internal Changes
+----------------
+
+- Add and fix regression tests for plugin loading.
+
+ This shores up the tests that cover the loading of custom plugins as affected
+ by any changes made to the ``sys.path`` during execution of an ``init-hook``.
+ Given the existing contract of allowing plugins to be loaded by fiddling with
+ 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>`_)
diff --git a/doc/whatsnew/fragments/2374.false_negative b/doc/whatsnew/fragments/2374.false_negative
deleted file mode 100644
index 251ffc396..000000000
--- a/doc/whatsnew/fragments/2374.false_negative
+++ /dev/null
@@ -1,4 +0,0 @@
-Emit ``used-before-assignment`` when function arguments are redefined inside
-an inner function and accessed there before assignment.
-
-Closes #2374
diff --git a/doc/whatsnew/fragments/2876.extension b/doc/whatsnew/fragments/2876.extension
deleted file mode 100644
index a8353a32e..000000000
--- a/doc/whatsnew/fragments/2876.extension
+++ /dev/null
@@ -1,4 +0,0 @@
-Add new extension checker ``dict-init-mutate`` that flags mutating a dictionary immediately
-after the dictionary was created.
-
-Closes #2876
diff --git a/doc/whatsnew/fragments/3038.extension b/doc/whatsnew/fragments/3038.extension
deleted file mode 100644
index 8e61147fc..000000000
--- a/doc/whatsnew/fragments/3038.extension
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/3044.bugfix b/doc/whatsnew/fragments/3044.bugfix
deleted file mode 100644
index 9f764ca4b..000000000
--- a/doc/whatsnew/fragments/3044.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix bug in detecting ``unused-variable`` when iterating on variable.
-
-Closes #3044
diff --git a/doc/whatsnew/fragments/3110.new_check b/doc/whatsnew/fragments/3110.new_check
deleted file mode 100644
index f4ae365ed..000000000
--- a/doc/whatsnew/fragments/3110.new_check
+++ /dev/null
@@ -1,4 +0,0 @@
-Adds a ``pointless-exception-statement`` check that emits a warning when an
-Exception is created and not assigned, raised or returned.
-
-Refs #3110
diff --git a/doc/whatsnew/fragments/3299.bugfix b/doc/whatsnew/fragments/3299.bugfix
deleted file mode 100644
index e97057cf7..000000000
--- a/doc/whatsnew/fragments/3299.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/3299.false_positive b/doc/whatsnew/fragments/3299.false_positive
deleted file mode 100644
index b1e61c931..000000000
--- a/doc/whatsnew/fragments/3299.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix false positive for ``unused-variable`` and ``unused-import`` when a name is only used in a string literal type annotation.
-
-Closes #3299
diff --git a/doc/whatsnew/fragments/3368.false_positive b/doc/whatsnew/fragments/3368.false_positive
deleted file mode 100644
index bdfa7de6c..000000000
--- a/doc/whatsnew/fragments/3368.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Document a known false positive for ``useless-suppression`` when disabling ``line-too-long`` in a module with only comments and no code.
-
-Closes #3368
diff --git a/doc/whatsnew/fragments/3391.extension b/doc/whatsnew/fragments/3391.extension
deleted file mode 100644
index 8879610b2..000000000
--- a/doc/whatsnew/fragments/3391.extension
+++ /dev/null
@@ -1,6 +0,0 @@
-Added ``consider-using-augmented-assign`` check for ``CodeStyle`` extension
-which flags ``x = x + 1`` to simplify to ``x += 1``.
-This check is disabled by default. To use it, load the code style extension
-with ``load-plugins=pylint.extensions.code_style`` and add ``consider-using-augmented-assign`` in the ``enable`` option.
-
-Closes #3391
diff --git a/doc/whatsnew/fragments/3701.bugfix b/doc/whatsnew/fragments/3701.bugfix
deleted file mode 100644
index fafcc0094..000000000
--- a/doc/whatsnew/fragments/3701.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Update ``disallowed-name`` check to flag module-level variables.
-
-Closes #3701
diff --git a/doc/whatsnew/fragments/3822.false_positive b/doc/whatsnew/fragments/3822.false_positive
deleted file mode 100644
index 00a2143cf..000000000
--- a/doc/whatsnew/fragments/3822.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-``trailing-whitespaces`` is no longer reported within strings.
-
-Closes #3822
diff --git a/doc/whatsnew/fragments/3899.bugfix b/doc/whatsnew/fragments/3899.bugfix
deleted file mode 100644
index ed0ad3859..000000000
--- a/doc/whatsnew/fragments/3899.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-Pylint will no longer deadlock if a parallel job is killed but fail
-immediately instead.
-
-Closes #3899
diff --git a/doc/whatsnew/fragments/4150.false_negative b/doc/whatsnew/fragments/4150.false_negative
deleted file mode 100644
index f4b18d814..000000000
--- a/doc/whatsnew/fragments/4150.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/4354.bugfix b/doc/whatsnew/fragments/4354.bugfix
deleted file mode 100644
index 09caf8d13..000000000
--- a/doc/whatsnew/fragments/4354.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ignored files being linted when passed on stdin.
-
-Closes #4354
diff --git a/doc/whatsnew/fragments/4562.bugfix b/doc/whatsnew/fragments/4562.bugfix
deleted file mode 100644
index 4e153d487..000000000
--- a/doc/whatsnew/fragments/4562.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``no-member`` false negative when augmented assign is done manually, without ``+=``.
-
-Closes #4562
diff --git a/doc/whatsnew/fragments/4655.bugfix b/doc/whatsnew/fragments/4655.bugfix
deleted file mode 100644
index e30433d47..000000000
--- a/doc/whatsnew/fragments/4655.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Any assertion on a populated tuple will now receive a ``assert-on-tuple`` warning.
-
-Closes #4655
diff --git a/doc/whatsnew/fragments/4743.bugfix b/doc/whatsnew/fragments/4743.bugfix
deleted file mode 100644
index 1f8c30f1a..000000000
--- a/doc/whatsnew/fragments/4743.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-``missing-return-doc``, ``missing-raises-doc`` and ``missing-yields-doc`` now respect
-the ``no-docstring-rgx`` option.
-
-Closes #4743
diff --git a/doc/whatsnew/fragments/4792.false_negative b/doc/whatsnew/fragments/4792.false_negative
deleted file mode 100644
index 6d05ef565..000000000
--- a/doc/whatsnew/fragments/4792.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-Flag ``superfluous-parens`` if parentheses are used during string concatenation.
-
-Closes #4792
diff --git a/doc/whatsnew/fragments/4809.false_positive b/doc/whatsnew/fragments/4809.false_positive
deleted file mode 100644
index a33be0ea5..000000000
--- a/doc/whatsnew/fragments/4809.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix false positive for ``global-variable-not-assigned`` when a global variable is re-assigned via an ``ImportFrom`` node.
-
-Closes #4809
diff --git a/doc/whatsnew/fragments/4836.bugfix b/doc/whatsnew/fragments/4836.bugfix
deleted file mode 100644
index 1257ebe7b..000000000
--- a/doc/whatsnew/fragments/4836.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Update ``reimported`` help message for clarity.
-
-Closes #4836
diff --git a/doc/whatsnew/fragments/4836.new_check b/doc/whatsnew/fragments/4836.new_check
deleted file mode 100644
index ba14251af..000000000
--- a/doc/whatsnew/fragments/4836.new_check
+++ /dev/null
@@ -1,3 +0,0 @@
-Add a ``shadowed-import`` message for aliased imports.
-
-Closes #4836
diff --git a/doc/whatsnew/fragments/4857.false_positive b/doc/whatsnew/fragments/4857.false_positive
deleted file mode 100644
index a244b83ef..000000000
--- a/doc/whatsnew/fragments/4857.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix false positive for ``use-maxsplit-arg`` with custom split method.
-
-Closes #4857
diff --git a/doc/whatsnew/fragments/4913.false_negative b/doc/whatsnew/fragments/4913.false_negative
deleted file mode 100644
index bb8686347..000000000
--- a/doc/whatsnew/fragments/4913.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-Emit ``used-before-assignment`` when relying on names only defined under conditions always testing false.
-
-Closes #4913
diff --git a/doc/whatsnew/fragments/4984.false_positive b/doc/whatsnew/fragments/4984.false_positive
deleted file mode 100644
index b31920564..000000000
--- a/doc/whatsnew/fragments/4984.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``logging-fstring-interpolation`` false positive raised when logging and f-string with ``%s`` formatting.
-
-Closes #4984
diff --git a/doc/whatsnew/fragments/519.false_negative b/doc/whatsnew/fragments/519.false_negative
deleted file mode 100644
index 7c8a0f45c..000000000
--- a/doc/whatsnew/fragments/519.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-Code following a call to ``quit``, ``exit``, ``sys.exit`` or ``os._exit`` will be marked as `unreachable`.
-
-Refs #519
diff --git a/doc/whatsnew/fragments/5327.false_positive b/doc/whatsnew/fragments/5327.false_positive
deleted file mode 100644
index 0cac649f8..000000000
--- a/doc/whatsnew/fragments/5327.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix false-positive for ``used-before-assignment`` in pattern matching
-with a guard.
-
-Closes #5327
diff --git a/doc/whatsnew/fragments/5362.feature b/doc/whatsnew/fragments/5362.feature
deleted file mode 100644
index b83d9397d..000000000
--- a/doc/whatsnew/fragments/5362.feature
+++ /dev/null
@@ -1,3 +0,0 @@
-Added the ``no-header`` output format. If enabled with ``--output-format=no-header``, it will not include the module name in the output.
-
-Closes #5362
diff --git a/doc/whatsnew/fragments/5401.feature b/doc/whatsnew/fragments/5401.feature
deleted file mode 100644
index 0fa34a864..000000000
--- a/doc/whatsnew/fragments/5401.feature
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/5478.bugfix b/doc/whatsnew/fragments/5478.bugfix
deleted file mode 100644
index 8cadb729c..000000000
--- a/doc/whatsnew/fragments/5478.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-``consider-iterating-dictionary`` will no longer be raised if bitwise operations are used.
-
-Closes #5478
diff --git a/doc/whatsnew/fragments/5636.bugfix b/doc/whatsnew/fragments/5636.bugfix
deleted file mode 100644
index efa6d5452..000000000
--- a/doc/whatsnew/fragments/5636.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Using custom braces in ``msg-template`` will now work properly.
-
-Closes #5636
diff --git a/doc/whatsnew/fragments/5788.false_positive b/doc/whatsnew/fragments/5788.false_positive
deleted file mode 100644
index 65fc29fe4..000000000
--- a/doc/whatsnew/fragments/5788.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``use-sequence-for-iteration`` when unpacking a set with ``*``.
-
-Closes #5788
diff --git a/doc/whatsnew/fragments/5797.new_check b/doc/whatsnew/fragments/5797.new_check
deleted file mode 100644
index f82abe09d..000000000
--- a/doc/whatsnew/fragments/5797.new_check
+++ /dev/null
@@ -1,4 +0,0 @@
-Add new check called ``unbalanced-dict-unpacking`` to check for unbalanced dict unpacking
-in assignment and for loops.
-
-Closes #5797
diff --git a/doc/whatsnew/fragments/5886.false_positive b/doc/whatsnew/fragments/5886.false_positive
deleted file mode 100644
index d6ab03940..000000000
--- a/doc/whatsnew/fragments/5886.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``deprecated-method`` false positive when alias for method is similar to name of deprecated method.
-
-Closes #5886
diff --git a/doc/whatsnew/fragments/5920.other b/doc/whatsnew/fragments/5920.other
deleted file mode 100644
index 5bd356a9c..000000000
--- a/doc/whatsnew/fragments/5920.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Pylint now provides basic support for Python 3.11.
-
-Closes #5920
diff --git a/doc/whatsnew/fragments/6001.false_positive b/doc/whatsnew/fragments/6001.false_positive
deleted file mode 100644
index 384ef7fbd..000000000
--- a/doc/whatsnew/fragments/6001.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix false positive ``assigning-non-slot`` when a class attribute is re-assigned.
-
-Closes #6001
diff --git a/doc/whatsnew/fragments/6006.feature b/doc/whatsnew/fragments/6006.feature
deleted file mode 100644
index 4d89e80b9..000000000
--- a/doc/whatsnew/fragments/6006.feature
+++ /dev/null
@@ -1,5 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/6242.bugfix b/doc/whatsnew/fragments/6242.bugfix
deleted file mode 100644
index 25d323e7e..000000000
--- a/doc/whatsnew/fragments/6242.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/6489.new_check b/doc/whatsnew/fragments/6489.new_check
deleted file mode 100644
index 03036c57f..000000000
--- a/doc/whatsnew/fragments/6489.new_check
+++ /dev/null
@@ -1,4 +0,0 @@
-Add new checker ``positional-only-arguments-expected`` to check for cases when
-positional-only arguments have been passed as keyword arguments.
-
-Closes #6489
diff --git a/doc/whatsnew/fragments/6543.feature b/doc/whatsnew/fragments/6543.feature
deleted file mode 100644
index 0ebb9b19f..000000000
--- a/doc/whatsnew/fragments/6543.feature
+++ /dev/null
@@ -1,5 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/6592.false_positive b/doc/whatsnew/fragments/6592.false_positive
deleted file mode 100644
index 846ddce96..000000000
--- a/doc/whatsnew/fragments/6592.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/6639.false_negative b/doc/whatsnew/fragments/6639.false_negative
deleted file mode 100644
index 7735c8536..000000000
--- a/doc/whatsnew/fragments/6639.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-``consider-using-join`` can now be emitted for non-empty string separators.
-
-Closes #6639
diff --git a/doc/whatsnew/fragments/6795.bugfix b/doc/whatsnew/fragments/6795.bugfix
deleted file mode 100644
index 20a29da35..000000000
--- a/doc/whatsnew/fragments/6795.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Remove ``__index__`` dunder method call from ``unnecessary-dunder-call`` check.
-
-Closes #6795
diff --git a/doc/whatsnew/fragments/6917.new_check b/doc/whatsnew/fragments/6917.new_check
deleted file mode 100644
index d36aa2c59..000000000
--- a/doc/whatsnew/fragments/6917.new_check
+++ /dev/null
@@ -1,4 +0,0 @@
-Added ``singledispatch-method`` which informs that ``@singledispatch`` should decorate functions and not class/instance methods.
-Added ``singledispatchmethod-function`` which informs that ``@singledispatchmethod`` should decorate class/instance methods and not functions.
-
-Closes #6917
diff --git a/doc/whatsnew/fragments/7003.bugfix b/doc/whatsnew/fragments/7003.bugfix
deleted file mode 100644
index 3e2806f6f..000000000
--- a/doc/whatsnew/fragments/7003.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-Fixed handling of ``--`` as separator between positional arguments and flags.
-This was not actually fixed in 2.14.5.
-
-Closes #7003, Refs #7096
diff --git a/doc/whatsnew/fragments/7124.other b/doc/whatsnew/fragments/7124.other
deleted file mode 100644
index 684cf2dc0..000000000
--- a/doc/whatsnew/fragments/7124.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Update message for ``abstract-method`` to include child class name.
-
-Closes #7124
diff --git a/doc/whatsnew/fragments/7169.bugfix b/doc/whatsnew/fragments/7169.bugfix
deleted file mode 100644
index 6ddf1a498..000000000
--- a/doc/whatsnew/fragments/7169.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Don't crash on ``OSError`` in config file discovery.
-
-Closes #7169
diff --git a/doc/whatsnew/fragments/7208.user_action b/doc/whatsnew/fragments/7208.user_action
deleted file mode 100644
index 0492676b3..000000000
--- a/doc/whatsnew/fragments/7208.user_action
+++ /dev/null
@@ -1,10 +0,0 @@
-The ``accept-no-raise-doc`` option related to ``missing-raises-doc`` will now
-be correctly taken into account all the time.
-
-Pylint will no longer raise missing-raises-doc (W9006) when no exceptions are
-documented and accept-no-raise-doc is true (issue #7208).
-If you were expecting missing-raises-doc errors to be raised in that case, you
-will now have to add ``accept-no-raise-doc=no`` in your configuration to keep
-the same behavior.
-
-Closes #7208
diff --git a/doc/whatsnew/fragments/7209.false_positive b/doc/whatsnew/fragments/7209.false_positive
deleted file mode 100644
index a1ba0c5d8..000000000
--- a/doc/whatsnew/fragments/7209.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixes false positive ``abstract-method`` on Protocol classes.
-
-Closes #7209
diff --git a/doc/whatsnew/fragments/7214.bugfix b/doc/whatsnew/fragments/7214.bugfix
deleted file mode 100644
index 016d3dc3e..000000000
--- a/doc/whatsnew/fragments/7214.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Messages sent to reporter are now copied so a reporter cannot modify the message sent to other reporters.
-
-Closes #7214
diff --git a/doc/whatsnew/fragments/7264.bugfix b/doc/whatsnew/fragments/7264.bugfix
deleted file mode 100644
index dc2aa5d40..000000000
--- a/doc/whatsnew/fragments/7264.bugfix
+++ /dev/null
@@ -1,8 +0,0 @@
-Fixed a case where custom plugins specified by command line could silently fail.
-
-Specifically, if a plugin relies on the ``init-hook`` option changing ``sys.path`` before
-it can be imported, this will now emit a ``bad-plugin-value`` message. Before this
-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.
diff --git a/doc/whatsnew/fragments/7264.internal b/doc/whatsnew/fragments/7264.internal
deleted file mode 100644
index 2bd3337bd..000000000
--- a/doc/whatsnew/fragments/7264.internal
+++ /dev/null
@@ -1,9 +0,0 @@
-Add and fix regression tests for plugin loading.
-
-This shores up the tests that cover the loading of custom plugins as affected
-by any changes made to the ``sys.path`` during execution of an ``init-hook``.
-Given the existing contract of allowing plugins to be loaded by fiddling with
-the path in this way, this is now the last bit of work needed to close Github
-issue #7264.
-
-Closes #7264
diff --git a/doc/whatsnew/fragments/7281.extension b/doc/whatsnew/fragments/7281.extension
deleted file mode 100644
index 46c2f0551..000000000
--- a/doc/whatsnew/fragments/7281.extension
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7290.false_positive b/doc/whatsnew/fragments/7290.false_positive
deleted file mode 100644
index cfb6a13b5..000000000
--- a/doc/whatsnew/fragments/7290.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Pylint now understands the ``kw_only`` keyword argument for ``dataclass``.
-
-Closes #7290, closes #6550, closes #5857
diff --git a/doc/whatsnew/fragments/7311.false_positive b/doc/whatsnew/fragments/7311.false_positive
deleted file mode 100644
index 84d57502b..000000000
--- a/doc/whatsnew/fragments/7311.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7346.other b/doc/whatsnew/fragments/7346.other
deleted file mode 100644
index 01d1a26d9..000000000
--- a/doc/whatsnew/fragments/7346.other
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7368.false_positive b/doc/whatsnew/fragments/7368.false_positive
deleted file mode 100644
index 4e9551a32..000000000
--- a/doc/whatsnew/fragments/7368.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``used-before-assignment`` for functions/classes defined in type checking guard.
-
-Closes #7368
diff --git a/doc/whatsnew/fragments/7380.bugfix b/doc/whatsnew/fragments/7380.bugfix
deleted file mode 100644
index dc5ea5fa6..000000000
--- a/doc/whatsnew/fragments/7380.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Update ``modified_iterating`` checker to fix a crash with ``for`` loops on empty list.
-
-Closes #7380
diff --git a/doc/whatsnew/fragments/7390.bugfix b/doc/whatsnew/fragments/7390.bugfix
deleted file mode 100644
index c1808eec0..000000000
--- a/doc/whatsnew/fragments/7390.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Update wording for ``arguments-differ`` and ``arguments-renamed`` to clarify overriding object.
-
-Closes #7390
diff --git a/doc/whatsnew/fragments/7398.other b/doc/whatsnew/fragments/7398.other
deleted file mode 100644
index e83974ccf..000000000
--- a/doc/whatsnew/fragments/7398.other
+++ /dev/null
@@ -1,4 +0,0 @@
-The ``docparams`` extension now considers typing in Numpy style docstrings
-as "documentation" for the ``missing-param-doc`` message.
-
-Refs #7398
diff --git a/doc/whatsnew/fragments/7401.bugfix b/doc/whatsnew/fragments/7401.bugfix
deleted file mode 100644
index 8b0f0e2a8..000000000
--- a/doc/whatsnew/fragments/7401.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-``disable-next`` is now correctly scoped to only the succeeding line.
-
-Closes #7401
diff --git a/doc/whatsnew/fragments/7453.bugfix b/doc/whatsnew/fragments/7453.bugfix
deleted file mode 100644
index 94b5240dd..000000000
--- a/doc/whatsnew/fragments/7453.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed a crash in the ``unhashable-member`` checker when using a ``lambda`` as a dict key.
-
-Closes #7453
diff --git a/doc/whatsnew/fragments/7457.bugfix b/doc/whatsnew/fragments/7457.bugfix
deleted file mode 100644
index 63b93939b..000000000
--- a/doc/whatsnew/fragments/7457.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Add ``mailcap`` to deprecated modules list.
-
-Closes #7457
diff --git a/doc/whatsnew/fragments/7461.bugfix b/doc/whatsnew/fragments/7461.bugfix
deleted file mode 100644
index 1fb503c9a..000000000
--- a/doc/whatsnew/fragments/7461.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a crash in the ``modified-iterating-dict`` checker involving instance attributes.
-
-Closes #7461
diff --git a/doc/whatsnew/fragments/7463.other b/doc/whatsnew/fragments/7463.other
deleted file mode 100644
index 6cfde5d09..000000000
--- a/doc/whatsnew/fragments/7463.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Relevant ``DeprecationWarnings`` are now raised with ``stacklevel=2``, so they have the callsite attached in the message.
-
-Closes #7463
diff --git a/doc/whatsnew/fragments/7467.bugfix b/doc/whatsnew/fragments/7467.bugfix
deleted file mode 100644
index 7e76f86a0..000000000
--- a/doc/whatsnew/fragments/7467.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-``invalid-class-object`` does not crash anymore when ``__class__`` is assigned alongside another variable.
-
-Closes #7467
diff --git a/doc/whatsnew/fragments/7471.bugfix b/doc/whatsnew/fragments/7471.bugfix
deleted file mode 100644
index b1b6f369c..000000000
--- a/doc/whatsnew/fragments/7471.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-``--help-msg`` now accepts a comma-separated list of message IDs again.
-
-Closes #7471
diff --git a/doc/whatsnew/fragments/7485.other b/doc/whatsnew/fragments/7485.other
deleted file mode 100644
index e2f3d36d3..000000000
--- a/doc/whatsnew/fragments/7485.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Add a ``minimal`` option to ``pylint-config`` and its toml generator.
-
-Closes #7485
diff --git a/doc/whatsnew/fragments/7494.new_check b/doc/whatsnew/fragments/7494.new_check
deleted file mode 100644
index fe62e1483..000000000
--- a/doc/whatsnew/fragments/7494.new_check
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7495.bugfix b/doc/whatsnew/fragments/7495.bugfix
deleted file mode 100644
index cec2bcf53..000000000
--- a/doc/whatsnew/fragments/7495.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-Allow specifying non-builtin exceptions in the ``overgeneral-exception`` option
-using an exception's qualified name.
-
-Closes #7495
diff --git a/doc/whatsnew/fragments/7501.false_positive b/doc/whatsnew/fragments/7501.false_positive
deleted file mode 100644
index 0c2d33a07..000000000
--- a/doc/whatsnew/fragments/7501.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix false positive for ``unhashable-member`` when subclassing ``dict`` and using the subclass as a dictionary key.
-
-Closes #7501
diff --git a/doc/whatsnew/fragments/7507.bugfix b/doc/whatsnew/fragments/7507.bugfix
deleted file mode 100644
index 5ce05c658..000000000
--- a/doc/whatsnew/fragments/7507.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-Report ``no-self-argument`` rather than ``no-method-argument`` for methods
-with variadic arguments.
-
-Closes #7507
diff --git a/doc/whatsnew/fragments/7507.other b/doc/whatsnew/fragments/7507.other
deleted file mode 100644
index 3cdca7465..000000000
--- a/doc/whatsnew/fragments/7507.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Add method name to the error messages of ``no-method-argument`` and ``no-self-argument``.
-
-Closes #7507
diff --git a/doc/whatsnew/fragments/7522.bugfix b/doc/whatsnew/fragments/7522.bugfix
deleted file mode 100644
index f4fa9da1a..000000000
--- a/doc/whatsnew/fragments/7522.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed an issue where ``syntax-error`` couldn't be raised on files with invalid encodings.
-
-Closes #7522
diff --git a/doc/whatsnew/fragments/7524.bugfix b/doc/whatsnew/fragments/7524.bugfix
deleted file mode 100644
index 8a9c5fc79..000000000
--- a/doc/whatsnew/fragments/7524.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix false positive for ``redefined-outer-name`` when aliasing ``typing``
-e.g. as ``t`` and guarding imports under ``t.TYPE_CHECKING``.
-
-Closes #7524
diff --git a/doc/whatsnew/fragments/7528.bugfix b/doc/whatsnew/fragments/7528.bugfix
deleted file mode 100644
index b06bf1570..000000000
--- a/doc/whatsnew/fragments/7528.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed a crash of the ``modified_iterating`` checker when iterating on a set defined as a class attribute.
-
-Closes #7528
diff --git a/doc/whatsnew/fragments/7529.false_positive b/doc/whatsnew/fragments/7529.false_positive
deleted file mode 100644
index 7775d9086..000000000
--- a/doc/whatsnew/fragments/7529.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix the message for ``unnecessary-dunder-call`` for ``__aiter__`` and ``__aneext__``. Also
-only emit the warning when ``py-version`` >= 3.10.
-
-Closes #7529
diff --git a/doc/whatsnew/fragments/7539.false_negative b/doc/whatsnew/fragments/7539.false_negative
deleted file mode 100644
index fc314a919..000000000
--- a/doc/whatsnew/fragments/7539.false_negative
+++ /dev/null
@@ -1,7 +0,0 @@
-Emit ``used-before-assignment`` for further imports guarded by ``TYPE_CHECKING``
-
-Previously, this message was only emitted for imports guarded directly under
-``TYPE_CHECKING``, not guarded two if-branches deep, nor when ``TYPE_CHECKING``
-was imported from ``typing`` under an alias.
-
-Closes #7539
diff --git a/doc/whatsnew/fragments/7544.other b/doc/whatsnew/fragments/7544.other
deleted file mode 100644
index b868f1265..000000000
--- a/doc/whatsnew/fragments/7544.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Prevent leaving the pip install cache in the Docker image.
-
-Refs #7544
diff --git a/doc/whatsnew/fragments/7546.new_check b/doc/whatsnew/fragments/7546.new_check
deleted file mode 100644
index 5b1f5a327..000000000
--- a/doc/whatsnew/fragments/7546.new_check
+++ /dev/null
@@ -1,4 +0,0 @@
-Added ``nested-min-max`` which flags ``min(1, min(2, 3))`` to simplify to
-``min(1, 2, 3)``.
-
-Closes #7546
diff --git a/doc/whatsnew/fragments/7547.false_negative b/doc/whatsnew/fragments/7547.false_negative
deleted file mode 100644
index 97abdf100..000000000
--- a/doc/whatsnew/fragments/7547.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a false negative for ``unused-import`` when a constant inside ``typing.Annotated`` was treated as a reference to an import.
-
-Closes #7547
diff --git a/doc/whatsnew/fragments/7563.false_positive b/doc/whatsnew/fragments/7563.false_positive
deleted file mode 100644
index 1a3252f35..000000000
--- a/doc/whatsnew/fragments/7563.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``used-before-assignment`` false positive when else branch calls ``sys.exit`` or similar terminating functions.
-
-Closes #7563
diff --git a/doc/whatsnew/fragments/7569.bugfix b/doc/whatsnew/fragments/7569.bugfix
deleted file mode 100644
index c6a84fc64..000000000
--- a/doc/whatsnew/fragments/7569.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Use ``py-version`` to determine if a message should be emitted for messages defined with ``max-version`` or ``min-version``.
-
-Closes #7569
diff --git a/doc/whatsnew/fragments/7570.bugfix b/doc/whatsnew/fragments/7570.bugfix
deleted file mode 100644
index 13cbc2916..000000000
--- a/doc/whatsnew/fragments/7570.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-Improve ``bad-thread-instantiation`` check to warn if ``target`` is not passed in as a keyword argument
-or as a second argument.
-
-Closes #7570
diff --git a/doc/whatsnew/fragments/7609.false_positive b/doc/whatsnew/fragments/7609.false_positive
deleted file mode 100644
index 5c91f396e..000000000
--- a/doc/whatsnew/fragments/7609.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix a false positive for ``used-before-assignment`` for imports guarded by
-``typing.TYPE_CHECKING`` later used in variable annotations.
-
-Closes #7609
diff --git a/doc/whatsnew/fragments/7610.bugfix b/doc/whatsnew/fragments/7610.bugfix
deleted file mode 100644
index 3eb49fcbb..000000000
--- a/doc/whatsnew/fragments/7610.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixes edge case of custom method named ``next`` raised an astroid error.
-
-Closes #7610
diff --git a/doc/whatsnew/fragments/7626.false_positive b/doc/whatsnew/fragments/7626.false_positive
deleted file mode 100644
index bfa56c107..000000000
--- a/doc/whatsnew/fragments/7626.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix a false positive for ``simplify-boolean-expression`` when multiple values
-are inferred for a constant.
-
-Closes #7626
diff --git a/doc/whatsnew/fragments/7626.other b/doc/whatsnew/fragments/7626.other
deleted file mode 100644
index 8020fc83f..000000000
--- a/doc/whatsnew/fragments/7626.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Add a keyword-only ``compare_constants`` argument to ``safe_infer``.
-
-Refs #7626
diff --git a/doc/whatsnew/fragments/7629.other b/doc/whatsnew/fragments/7629.other
deleted file mode 100644
index bac156ee5..000000000
--- a/doc/whatsnew/fragments/7629.other
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7635.bugfix b/doc/whatsnew/fragments/7635.bugfix
deleted file mode 100644
index 72085e029..000000000
--- a/doc/whatsnew/fragments/7635.bugfix
+++ /dev/null
@@ -1,7 +0,0 @@
-Fixed a multi-processing crash that prevents using any more than 1 thread on MacOS.
-
-The returned module objects and errors that were cached by the linter plugin loader
-cannot be reliably pickled. This means that ``dill`` would throw an error when
-attempting to serialise the linter object for multi-processing use.
-
-Closes #7635.
diff --git a/doc/whatsnew/fragments/7636.extension b/doc/whatsnew/fragments/7636.extension
deleted file mode 100644
index b00028c31..000000000
--- a/doc/whatsnew/fragments/7636.extension
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7655.other b/doc/whatsnew/fragments/7655.other
deleted file mode 100644
index 9024fe38e..000000000
--- a/doc/whatsnew/fragments/7655.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Sort ``--generated-rcfile`` output.
-
-Refs #7655
diff --git a/doc/whatsnew/fragments/7661.bugfix b/doc/whatsnew/fragments/7661.bugfix
deleted file mode 100644
index 2e58c861b..000000000
--- a/doc/whatsnew/fragments/7661.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix crash that happened when parsing files with unexpected encoding starting with 'utf' like ``utf13``.
-
-Closes #7661
diff --git a/doc/whatsnew/fragments/7682.false_positive b/doc/whatsnew/fragments/7682.false_positive
deleted file mode 100644
index 3f94f447f..000000000
--- a/doc/whatsnew/fragments/7682.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-``unnecessary-list-index-lookup`` will not be wrongly emitted if ``enumerate`` is called with ``start``.
-
-Closes #7682
diff --git a/doc/whatsnew/fragments/7690.new_check b/doc/whatsnew/fragments/7690.new_check
deleted file mode 100644
index 2969428ed..000000000
--- a/doc/whatsnew/fragments/7690.new_check
+++ /dev/null
@@ -1,3 +0,0 @@
-Extended ``use-dict-literal`` to also warn about call to ``dict()`` when passing keyword arguments.
-
-Closes #7690
diff --git a/doc/whatsnew/fragments/7699.false_negative b/doc/whatsnew/fragments/7699.false_negative
deleted file mode 100644
index 128aeff29..000000000
--- a/doc/whatsnew/fragments/7699.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-``consider-using-any-or-all`` message will now be raised in cases when boolean is initialized, reassigned during loop, and immediately returned.
-
-Closes #7699
diff --git a/doc/whatsnew/fragments/7737.other b/doc/whatsnew/fragments/7737.other
deleted file mode 100644
index 7b7988759..000000000
--- a/doc/whatsnew/fragments/7737.other
+++ /dev/null
@@ -1,5 +0,0 @@
-epylint is now deprecated and will be removed in pylint 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.
-
-Closes #7737
diff --git a/doc/whatsnew/fragments/7742.bugfix b/doc/whatsnew/fragments/7742.bugfix
deleted file mode 100644
index 7e3c93089..000000000
--- a/doc/whatsnew/fragments/7742.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a crash when a child class with an ``__init__`` method inherits from a parent class with an ``__init__`` class attribute.
-
-Closes #7742
diff --git a/doc/whatsnew/fragments/7760.new_check b/doc/whatsnew/fragments/7760.new_check
deleted file mode 100644
index 89cdf29f9..000000000
--- a/doc/whatsnew/fragments/7760.new_check
+++ /dev/null
@@ -1,5 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7762.false_negative b/doc/whatsnew/fragments/7762.false_negative
deleted file mode 100644
index 6b4083ff6..000000000
--- a/doc/whatsnew/fragments/7762.false_negative
+++ /dev/null
@@ -1,4 +0,0 @@
-Extend ``invalid-slice-index`` to emit an warning for invalid slice indices
-used with string and byte sequences, and range objects.
-
-Refs #7762
diff --git a/doc/whatsnew/fragments/7762.new_check b/doc/whatsnew/fragments/7762.new_check
deleted file mode 100644
index 4ff67326b..000000000
--- a/doc/whatsnew/fragments/7762.new_check
+++ /dev/null
@@ -1,4 +0,0 @@
-Add ``invalid-slice-step`` check to warn about a slice step value of ``0``
-for common builtin sequences.
-
-Refs #7762
diff --git a/doc/whatsnew/fragments/7765.false_positive b/doc/whatsnew/fragments/7765.false_positive
deleted file mode 100644
index de7c44c5a..000000000
--- a/doc/whatsnew/fragments/7765.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Don't warn about ``stop-iteration-return`` when using ``next()`` over ``itertools.cycle``.
-
-Closes #7765
diff --git a/doc/whatsnew/fragments/7770.false_negative b/doc/whatsnew/fragments/7770.false_negative
deleted file mode 100644
index d9a165390..000000000
--- a/doc/whatsnew/fragments/7770.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixes ``unnecessary-list-index-lookup`` false negative when ``enumerate`` is called with ``iterable`` as a kwarg.
-
-Closes #7770
diff --git a/doc/whatsnew/fragments/7779.false_positive b/doc/whatsnew/fragments/7779.false_positive
deleted file mode 100644
index 2591f17a4..000000000
--- a/doc/whatsnew/fragments/7779.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-Fixes ``used-before-assignment`` false positive when the walrus operator
-is used in a ternary operator.
-
-Closes #7779
diff --git a/doc/whatsnew/fragments/7782.bugfix b/doc/whatsnew/fragments/7782.bugfix
deleted file mode 100644
index e4c1498c4..000000000
--- a/doc/whatsnew/fragments/7782.bugfix
+++ /dev/null
@@ -1,4 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7788.false_negative b/doc/whatsnew/fragments/7788.false_negative
deleted file mode 100644
index f04311a6b..000000000
--- a/doc/whatsnew/fragments/7788.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-``no-else-return`` or ``no-else-raise`` will be emitted if ``except`` block always returns or raises.
-
-Closes #7788
diff --git a/doc/whatsnew/fragments/7818.false_negative b/doc/whatsnew/fragments/7818.false_negative
deleted file mode 100644
index 76d118a0d..000000000
--- a/doc/whatsnew/fragments/7818.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``dangerous-default-value`` false negative when ``*`` is used.
-
-Closes #7818
diff --git a/doc/whatsnew/fragments/7821.bugfix b/doc/whatsnew/fragments/7821.bugfix
deleted file mode 100644
index af48814db..000000000
--- a/doc/whatsnew/fragments/7821.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixes a crash in the ``unnecessary_list_index_lookup`` check when using ``enumerate`` with ``start`` and a class attribute.
-
-Closes #7821
diff --git a/doc/whatsnew/fragments/7827.false_positive b/doc/whatsnew/fragments/7827.false_positive
deleted file mode 100644
index e981fa45f..000000000
--- a/doc/whatsnew/fragments/7827.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``missing-param-doc`` false positive when function parameter has an escaped underscore.
-
-Closes #7827
diff --git a/doc/whatsnew/fragments/7828.bugfix b/doc/whatsnew/fragments/7828.bugfix
deleted file mode 100644
index f47cc3cc9..000000000
--- a/doc/whatsnew/fragments/7828.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixes a crash in ``stop-iteration-return`` when the ``next`` builtin is called without arguments.
-
-Closes #7828
diff --git a/doc/whatsnew/fragments/7857.false_positive b/doc/whatsnew/fragments/7857.false_positive
deleted file mode 100644
index 6dffed9d6..000000000
--- a/doc/whatsnew/fragments/7857.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixes ``method-cache-max-size-none`` false positive for methods inheriting from ``Enum``.
-
-Closes #7857
diff --git a/doc/whatsnew/fragments/7860.false_positive b/doc/whatsnew/fragments/7860.false_positive
deleted file mode 100644
index c76425c54..000000000
--- a/doc/whatsnew/fragments/7860.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-``multiple-statements`` no longer triggers for function stubs using inlined ``...``.
-
-Closes #7860
diff --git a/doc/whatsnew/fragments/7882.false_positive b/doc/whatsnew/fragments/7882.false_positive
deleted file mode 100644
index 7c405fa41..000000000
--- a/doc/whatsnew/fragments/7882.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/7931.bugfix b/doc/whatsnew/fragments/7931.bugfix
deleted file mode 100644
index fe42346f4..000000000
--- a/doc/whatsnew/fragments/7931.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-When pylint exit due to bad arguments being provided the exit code will now be the expected ``32``.
-
-Refs #7931
diff --git a/doc/whatsnew/fragments/7938.bugfix b/doc/whatsnew/fragments/7938.bugfix
deleted file mode 100644
index 1cffb9d1f..000000000
--- a/doc/whatsnew/fragments/7938.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixes a ``ModuleNotFound`` exception when running pylint on a Django project with the ``pylint_django`` plugin enabled.
-
-Closes #7938
diff --git a/doc/whatsnew/fragments/7957.other b/doc/whatsnew/fragments/7957.other
deleted file mode 100644
index 80731209e..000000000
--- a/doc/whatsnew/fragments/7957.other
+++ /dev/null
@@ -1,3 +0,0 @@
-Adds test for existing preferred-modules configuration functionality.
-
-Refs #7957
diff --git a/doc/whatsnew/fragments/7964.false_negative b/doc/whatsnew/fragments/7964.false_negative
deleted file mode 100644
index 9f9ae104a..000000000
--- a/doc/whatsnew/fragments/7964.false_negative
+++ /dev/null
@@ -1,3 +0,0 @@
-``consider-using-with`` now triggers for ``pathlib.Path.open``.
-
-Closes #7964
diff --git a/doc/whatsnew/fragments/7979.false_positive b/doc/whatsnew/fragments/7979.false_positive
deleted file mode 100644
index 1c10641ae..000000000
--- a/doc/whatsnew/fragments/7979.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-Prevent ``used-before-assignment`` when imports guarded by ``if TYPE_CHECKING``
-are guarded again when used.
-
-Closes #7979
diff --git a/doc/whatsnew/fragments/8015.new_check b/doc/whatsnew/fragments/8015.new_check
deleted file mode 100644
index b32832154..000000000
--- a/doc/whatsnew/fragments/8015.new_check
+++ /dev/null
@@ -1,5 +0,0 @@
-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
diff --git a/doc/whatsnew/fragments/8051.false_positive b/doc/whatsnew/fragments/8051.false_positive
deleted file mode 100644
index 9fc6c2274..000000000
--- a/doc/whatsnew/fragments/8051.false_positive
+++ /dev/null
@@ -1,4 +0,0 @@
-Fixes false positive for ``try-except-raise`` with multiple exceptions in one
-except statement if exception are in different namespace.
-
-Closes #8051
diff --git a/doc/whatsnew/fragments/8067.bugfix b/doc/whatsnew/fragments/8067.bugfix
deleted file mode 100644
index ea2dc0e47..000000000
--- a/doc/whatsnew/fragments/8067.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed a crash when inferring a value and using its qname on a slice that was being incorrectly called.
-
-Closes #8067
diff --git a/doc/whatsnew/fragments/8081.bugfix b/doc/whatsnew/fragments/8081.bugfix
deleted file mode 100644
index 163a9e108..000000000
--- a/doc/whatsnew/fragments/8081.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Use better regex to check for private attributes.
-
-Refs #8081
diff --git a/doc/whatsnew/fragments/8089.false_positive b/doc/whatsnew/fragments/8089.false_positive
deleted file mode 100644
index 905b140d1..000000000
--- a/doc/whatsnew/fragments/8089.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``invalid-name`` errors for ``typing_extension.TypeVar``.
-
-Refs #8089
diff --git a/doc/whatsnew/fragments/8100.false_positive b/doc/whatsnew/fragments/8100.false_positive
deleted file mode 100644
index 5503e8303..000000000
--- a/doc/whatsnew/fragments/8100.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix ``no-kwoa`` false positive for context managers.
-
-Closes #8100
diff --git a/doc/whatsnew/fragments/8119.bugfix b/doc/whatsnew/fragments/8119.bugfix
deleted file mode 100644
index 8e5ff0878..000000000
--- a/doc/whatsnew/fragments/8119.bugfix
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix issue with new typing Union syntax in runtime context for Python 3.10+.
-
-Closes #8119
diff --git a/doc/whatsnew/fragments/8120.false_positive b/doc/whatsnew/fragments/8120.false_positive
deleted file mode 100644
index 6c0f3c0d0..000000000
--- a/doc/whatsnew/fragments/8120.false_positive
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a false positive for ``redefined-variable-type`` when ``async`` methods are present.
-
-Closes #8120
diff --git a/examples/pylintrc b/examples/pylintrc
index a69f91575..1cf9639a1 100644
--- a/examples/pylintrc
+++ b/examples/pylintrc
@@ -350,6 +350,9 @@ single-line-if-stmt=no
# one.
allow-any-import-level=
+# Allow explicit reexports by alias from a package __init__.
+allow-reexport-from-package=no
+
# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no
diff --git a/examples/pyproject.toml b/examples/pyproject.toml
index d3b8b9052..71490d860 100644
--- a/examples/pyproject.toml
+++ b/examples/pyproject.toml
@@ -301,6 +301,9 @@ max-module-lines = 1000
# List of modules that can be imported at any level, not just the top level one.
# allow-any-import-level =
+# Allow explicit reexports by alias from a package __init__.
+# allow-reexport-from-package =
+
# Allow wildcard imports from modules that define __all__.
# allow-wildcard-with-all =
diff --git a/pylint/__pkginfo__.py b/pylint/__pkginfo__.py
index 443e50922..fb5ae7e93 100644
--- a/pylint/__pkginfo__.py
+++ b/pylint/__pkginfo__.py
@@ -9,7 +9,7 @@ It's updated via tbump, do not modify.
from __future__ import annotations
-__version__ = "2.16.0b1"
+__version__ = "2.16.0"
def get_numversion_from_version(v: str) -> tuple[int, int, int]:
diff --git a/tbump.toml b/tbump.toml
index d05ba8893..141a3b196 100644
--- a/tbump.toml
+++ b/tbump.toml
@@ -1,7 +1,7 @@
github_url = "https://github.com/PyCQA/pylint"
[version]
-current = "2.16.0b1"
+current = "2.16.0"
regex = '''
^(?P<major>0|[1-9]\d*)
\.