diff options
author | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2023-02-01 10:34:04 +0100 |
---|---|---|
committer | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2023-02-01 11:50:49 +0100 |
commit | dcb0198d164b7f4306f60d854a6bd97ff65a62a4 (patch) | |
tree | ad9065cb1629f54c943962c70f51baacecad6fcc | |
parent | 77e562cd8c3e04c2b2a4267e740864b7793028e5 (diff) | |
download | pylint-git-dcb0198d164b7f4306f60d854a6bd97ff65a62a4.tar.gz |
Bump pylint to 2.16.0, update changelogv2.16.0
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*) \. |