From 4a7ad5ea9f1c5a98ccf736578a00554be0da6dc7 Mon Sep 17 00:00:00 2001 From: Pierre Sassoulas Date: Mon, 2 Oct 2023 18:25:43 +0200 Subject: [PATCH] Bump pylint to 3.0.0, update changelog --- doc/whatsnew/3/3.0/index.rst | 632 ++++++++++++++++++++- doc/whatsnew/fragments/1144.false_negative | 3 - doc/whatsnew/fragments/1954.performance | 4 - doc/whatsnew/fragments/2018.user_action | 23 - doc/whatsnew/fragments/3613.false_positive | 6 - doc/whatsnew/fragments/3670.false_positive | 3 - doc/whatsnew/fragments/3696.breaking | 13 - doc/whatsnew/fragments/374.bugfix | 3 - doc/whatsnew/fragments/4171.bugfix | 3 - doc/whatsnew/fragments/4741.feature | 13 - doc/whatsnew/fragments/4874.bugfix | 5 - doc/whatsnew/fragments/5159.new_check | 3 - doc/whatsnew/fragments/529.performance | 4 - doc/whatsnew/fragments/5488.other | 3 - doc/whatsnew/fragments/6287.bugfix | 3 - doc/whatsnew/fragments/6306.breaking | 4 - doc/whatsnew/fragments/6871.user_action | 16 - doc/whatsnew/fragments/7163.other | 3 - doc/whatsnew/fragments/7229.bugfix | 5 - doc/whatsnew/fragments/7402.false_positive | 3 - doc/whatsnew/fragments/7506.false_positive | 3 - doc/whatsnew/fragments/7578.bugfix | 3 - doc/whatsnew/fragments/7710.bugfix | 4 - doc/whatsnew/fragments/7737.user_action | 3 - doc/whatsnew/fragments/7761.false_negative | 6 - doc/whatsnew/fragments/7767.breaking | 4 - doc/whatsnew/fragments/7767.false_positive | 5 - doc/whatsnew/fragments/7774.bugfix | 4 - doc/whatsnew/fragments/8112.feature | 3 - doc/whatsnew/fragments/8156.false_positive | 5 - doc/whatsnew/fragments/8167.false_positive | 4 - doc/whatsnew/fragments/8181.feature | 5 - doc/whatsnew/fragments/8189.bugfix | 3 - doc/whatsnew/fragments/8198.bugfix | 4 - doc/whatsnew/fragments/8251.breaking | 5 - doc/whatsnew/fragments/8260.new_check | 3 - doc/whatsnew/fragments/8361.bugfix | 4 - doc/whatsnew/fragments/8401.internal | 4 - doc/whatsnew/fragments/8403.false_positive | 5 - doc/whatsnew/fragments/8404.breaking | 7 - doc/whatsnew/fragments/8404.internal | 8 - doc/whatsnew/fragments/8405.other | 3 - doc/whatsnew/fragments/8407.internal | 5 - doc/whatsnew/fragments/8408.internal | 3 - doc/whatsnew/fragments/8409.internal | 24 - doc/whatsnew/fragments/8410.false_positive | 3 - doc/whatsnew/fragments/8411.user_action | 7 - doc/whatsnew/fragments/8412.internal | 3 - doc/whatsnew/fragments/8416.breaking | 3 - doc/whatsnew/fragments/8424.false_positive | 3 - doc/whatsnew/fragments/8434.bugfix | 3 - doc/whatsnew/fragments/8437.bugfix | 4 - doc/whatsnew/fragments/8453.bugfix | 3 - doc/whatsnew/fragments/8462.breaking | 5 - doc/whatsnew/fragments/8463.internal | 3 - doc/whatsnew/fragments/8464.internal | 3 - doc/whatsnew/fragments/8465.user_action | 5 - doc/whatsnew/fragments/8466.internal | 5 - doc/whatsnew/fragments/8472.internal | 4 - doc/whatsnew/fragments/8473.internal | 6 - doc/whatsnew/fragments/8474.internal | 5 - doc/whatsnew/fragments/8475.internal | 5 - doc/whatsnew/fragments/8476.feature | 3 - doc/whatsnew/fragments/8477.internal | 4 - doc/whatsnew/fragments/8478.internal | 4 - doc/whatsnew/fragments/8485.false_positive | 5 - doc/whatsnew/fragments/8487.false_positive | 3 - doc/whatsnew/fragments/8496.false_positive | 5 - doc/whatsnew/fragments/8500.false_positive | 3 - doc/whatsnew/fragments/8504.bugfix | 3 - doc/whatsnew/fragments/8522.bugfix | 3 - doc/whatsnew/fragments/8536.false_negative | 3 - doc/whatsnew/fragments/8540.false_positive | 4 - doc/whatsnew/fragments/8552.false_positive | 3 - doc/whatsnew/fragments/8555.false_positive | 3 - doc/whatsnew/fragments/8558.new_check | 3 - doc/whatsnew/fragments/8559.false_negative | 3 - doc/whatsnew/fragments/8563.bugfix | 3 - doc/whatsnew/fragments/8570.false_positive | 3 - doc/whatsnew/fragments/8632.bugfix | 4 - doc/whatsnew/fragments/8660.extension | 7 - doc/whatsnew/fragments/8667.false_negative | 3 - doc/whatsnew/fragments/8671.bugfix | 3 - doc/whatsnew/fragments/8714.false_negative | 6 - doc/whatsnew/fragments/8715.performance | 3 - doc/whatsnew/fragments/8718.other | 3 - doc/whatsnew/fragments/8753.bugfix | 3 - doc/whatsnew/fragments/8760.other | 3 - doc/whatsnew/fragments/8769.bugfix | 3 - doc/whatsnew/fragments/8789.other | 3 - doc/whatsnew/fragments/8862.breaking | 4 - doc/whatsnew/fragments/8888.bugfix | 3 - doc/whatsnew/fragments/8919.false_positive | 3 - doc/whatsnew/fragments/8959.false_negative | 3 - doc/whatsnew/fragments/8973.user_action | 3 - doc/whatsnew/fragments/9001.bugfix | 3 - doc/whatsnew/fragments/9014.bugfix | 3 - doc/whatsnew/fragments/9036.false_positive | 3 - doc/whatsnew/fragments/9045.bugfix | 3 - doc/whatsnew/fragments/9059.bugfix | 5 - doc/whatsnew/fragments/9074.bugfix | 3 - pylint/__pkginfo__.py | 2 +- tbump.toml | 2 +- 103 files changed, 621 insertions(+), 467 deletions(-) delete mode 100644 doc/whatsnew/fragments/1144.false_negative delete mode 100644 doc/whatsnew/fragments/1954.performance delete mode 100644 doc/whatsnew/fragments/2018.user_action delete mode 100644 doc/whatsnew/fragments/3613.false_positive delete mode 100644 doc/whatsnew/fragments/3670.false_positive delete mode 100644 doc/whatsnew/fragments/3696.breaking delete mode 100644 doc/whatsnew/fragments/374.bugfix delete mode 100644 doc/whatsnew/fragments/4171.bugfix delete mode 100644 doc/whatsnew/fragments/4741.feature delete mode 100644 doc/whatsnew/fragments/4874.bugfix delete mode 100644 doc/whatsnew/fragments/5159.new_check delete mode 100644 doc/whatsnew/fragments/529.performance delete mode 100644 doc/whatsnew/fragments/5488.other delete mode 100644 doc/whatsnew/fragments/6287.bugfix delete mode 100644 doc/whatsnew/fragments/6306.breaking delete mode 100644 doc/whatsnew/fragments/6871.user_action delete mode 100644 doc/whatsnew/fragments/7163.other delete mode 100644 doc/whatsnew/fragments/7229.bugfix delete mode 100644 doc/whatsnew/fragments/7402.false_positive delete mode 100644 doc/whatsnew/fragments/7506.false_positive delete mode 100644 doc/whatsnew/fragments/7578.bugfix delete mode 100644 doc/whatsnew/fragments/7710.bugfix delete mode 100644 doc/whatsnew/fragments/7737.user_action delete mode 100644 doc/whatsnew/fragments/7761.false_negative delete mode 100644 doc/whatsnew/fragments/7767.breaking delete mode 100644 doc/whatsnew/fragments/7767.false_positive delete mode 100644 doc/whatsnew/fragments/7774.bugfix delete mode 100644 doc/whatsnew/fragments/8112.feature delete mode 100644 doc/whatsnew/fragments/8156.false_positive delete mode 100644 doc/whatsnew/fragments/8167.false_positive delete mode 100644 doc/whatsnew/fragments/8181.feature delete mode 100644 doc/whatsnew/fragments/8189.bugfix delete mode 100644 doc/whatsnew/fragments/8198.bugfix delete mode 100644 doc/whatsnew/fragments/8251.breaking delete mode 100644 doc/whatsnew/fragments/8260.new_check delete mode 100644 doc/whatsnew/fragments/8361.bugfix delete mode 100644 doc/whatsnew/fragments/8401.internal delete mode 100644 doc/whatsnew/fragments/8403.false_positive delete mode 100644 doc/whatsnew/fragments/8404.breaking delete mode 100644 doc/whatsnew/fragments/8404.internal delete mode 100644 doc/whatsnew/fragments/8405.other delete mode 100644 doc/whatsnew/fragments/8407.internal delete mode 100644 doc/whatsnew/fragments/8408.internal delete mode 100644 doc/whatsnew/fragments/8409.internal delete mode 100644 doc/whatsnew/fragments/8410.false_positive delete mode 100644 doc/whatsnew/fragments/8411.user_action delete mode 100644 doc/whatsnew/fragments/8412.internal delete mode 100644 doc/whatsnew/fragments/8416.breaking delete mode 100644 doc/whatsnew/fragments/8424.false_positive delete mode 100644 doc/whatsnew/fragments/8434.bugfix delete mode 100644 doc/whatsnew/fragments/8437.bugfix delete mode 100644 doc/whatsnew/fragments/8453.bugfix delete mode 100644 doc/whatsnew/fragments/8462.breaking delete mode 100644 doc/whatsnew/fragments/8463.internal delete mode 100644 doc/whatsnew/fragments/8464.internal delete mode 100644 doc/whatsnew/fragments/8465.user_action delete mode 100644 doc/whatsnew/fragments/8466.internal delete mode 100644 doc/whatsnew/fragments/8472.internal delete mode 100644 doc/whatsnew/fragments/8473.internal delete mode 100644 doc/whatsnew/fragments/8474.internal delete mode 100644 doc/whatsnew/fragments/8475.internal delete mode 100644 doc/whatsnew/fragments/8476.feature delete mode 100644 doc/whatsnew/fragments/8477.internal delete mode 100644 doc/whatsnew/fragments/8478.internal delete mode 100644 doc/whatsnew/fragments/8485.false_positive delete mode 100644 doc/whatsnew/fragments/8487.false_positive delete mode 100644 doc/whatsnew/fragments/8496.false_positive delete mode 100644 doc/whatsnew/fragments/8500.false_positive delete mode 100644 doc/whatsnew/fragments/8504.bugfix delete mode 100644 doc/whatsnew/fragments/8522.bugfix delete mode 100644 doc/whatsnew/fragments/8536.false_negative delete mode 100644 doc/whatsnew/fragments/8540.false_positive delete mode 100644 doc/whatsnew/fragments/8552.false_positive delete mode 100644 doc/whatsnew/fragments/8555.false_positive delete mode 100644 doc/whatsnew/fragments/8558.new_check delete mode 100644 doc/whatsnew/fragments/8559.false_negative delete mode 100644 doc/whatsnew/fragments/8563.bugfix delete mode 100644 doc/whatsnew/fragments/8570.false_positive delete mode 100644 doc/whatsnew/fragments/8632.bugfix delete mode 100644 doc/whatsnew/fragments/8660.extension delete mode 100644 doc/whatsnew/fragments/8667.false_negative delete mode 100644 doc/whatsnew/fragments/8671.bugfix delete mode 100644 doc/whatsnew/fragments/8714.false_negative delete mode 100644 doc/whatsnew/fragments/8715.performance delete mode 100644 doc/whatsnew/fragments/8718.other delete mode 100644 doc/whatsnew/fragments/8753.bugfix delete mode 100644 doc/whatsnew/fragments/8760.other delete mode 100644 doc/whatsnew/fragments/8769.bugfix delete mode 100644 doc/whatsnew/fragments/8789.other delete mode 100644 doc/whatsnew/fragments/8862.breaking delete mode 100644 doc/whatsnew/fragments/8888.bugfix delete mode 100644 doc/whatsnew/fragments/8919.false_positive delete mode 100644 doc/whatsnew/fragments/8959.false_negative delete mode 100644 doc/whatsnew/fragments/8973.user_action delete mode 100644 doc/whatsnew/fragments/9001.bugfix delete mode 100644 doc/whatsnew/fragments/9014.bugfix delete mode 100644 doc/whatsnew/fragments/9036.false_positive delete mode 100644 doc/whatsnew/fragments/9045.bugfix delete mode 100644 doc/whatsnew/fragments/9059.bugfix delete mode 100644 doc/whatsnew/fragments/9074.bugfix diff --git a/doc/whatsnew/3/3.0/index.rst b/doc/whatsnew/3/3.0/index.rst index aabf777add..22222d73c7 100644 --- a/doc/whatsnew/3/3.0/index.rst +++ b/doc/whatsnew/3/3.0/index.rst @@ -6,30 +6,26 @@ :maxdepth: 2 :Release: 3.0.0 -:Date: TBA +:Date: 2023-10-02 Summary -- Release highlights ============================= -Note Bene for alpha users: Do not upgrade unless you want to -test things out. Some changes will require a configuration change, -that won't be compatible with 2.x. For example some extensions -were removed in favor of a builtin message (``compare-to-zero`` -and ``compare-to-empty-string``). We'll make a configuration -upgrade tool available before 3.0.0 is out. +Pylint now support python 3.12 officially. -Pylint now provides some important usability and performance improvements, -along with enacting necessary breaking changes and long-announced deprecations. - -There's going to be frequent beta releases, -before the official releases, everyone is welcome to try the betas -so we find problems before the actual release. +This long anticipated major version also provides some important usability +and performance improvements, along with enacting necessary breaking changes +and long-announced deprecations. The documentation of each message with an +example is very close too. The required ``astroid`` version is now 3.0.0. See the `astroid changelog `_ for additional fixes, features, and performance improvements applicable to pylint. +Our code is now fully typed. The ``invalid-name`` message no longer checks for a minimum length of 3 characters by default. Dependencies +like wrapt or setuptools were removed. + A new ``json2`` reporter has been added. It features an enriched output that is easier to parse and provides more info, here's a sample output. @@ -68,3 +64,613 @@ easier to parse and provides more info, here's a sample output. } .. towncrier release notes start + +What's new in Pylint 3.0.0? +--------------------------- +Release date: 2023-10-02 + + +Breaking Changes +---------------- + +- Enabling or disabling individual messages will now take effect even if an + ``--enable=all`` or ``disable=all`` follows in the same configuration file + (or on the command line). + + This means for the following example, ``fixme`` messages will now be emitted: + + .. code-block:: + + pylint my_module --enable=fixme --disable=all + + To regain the prior behavior, remove the superfluous earlier option. + + Closes #3696 (`#3696 `_) + +- Remove support for launching pylint with Python 3.7. + Code that supports Python 3.7 can still be linted with the ``--py-version=3.7`` setting. + + Refs #6306 (`#6306 `_) + +- Disables placed in a ``try`` block now apply to the ``except`` block. + Previously, they only happened to do so in the presence of an ``else`` clause. + + Refs #7767 (`#7767 `_) + +- `pyreverse` now uses a new default color palette that is more colorblind friendly. + The color scheme is taken from `Paul Tol's Notes `_. + If you prefer other colors, you can use the `--color-palette` option to specify custom colors. + + Closes #8251 (`#8251 `_) + +- Everything related to the ``__implements__`` construct was removed. It was based on PEP245 + that was proposed in 2001 and rejected in 2006. + + The capability from pyreverse to take ``__implements__`` into account when generating diagrams + was also removed. + + Refs #8404 (`#8404 `_) + +- ``pyreverse``: Support for the ``.vcg`` output format (Visualization of Compiler Graphs) has been dropped. + + Closes #8416 (`#8416 `_) + +- The warning when the now useless old pylint cache directory (pylint.d) was + found was removed. The cache dir is documented in + `the FAQ `_. + + Refs #8462 (`#8462 `_) + +- Following a deprecation period, ``pylint.config.PYLINTRC`` was removed. + Use the ``pylint.config.find_default_config_files`` generator instead. + + Closes #8862 (`#8862 `_) + + + +Changes requiring user actions +------------------------------ + +- The ``invalid-name`` message no longer checks for a minimum length of 3 characters by default. + (This was an unadvertised commingling of concerns between casing + and name length, and users regularly reported this to be surprising.) + + If checking for a minimum length is still desired, it can be regained in two ways: + + - If you are content with a ``disallowed-name`` message (instead of + ``invalid-name``), then simply add the option ``bad-names-rgxs="^..?$"``, + which will fail 1-2 character-long names. (Ensure you enable + ``disallowed-name``.) + + - If you would prefer an ``invalid-name`` message to be emitted, or would + prefer finer-grained control over the circumstances in which messages are + emitted (classes vs. methods, etc.), then avail yourself of the regex + options described + `here `_. + (In particular, take note of the commented out options in the "example + configuration" given at the bottom of the section.) The prior regexes can + be found in the + `pull request `_ + that removed the length requirements. + + Closes #2018 (`#2018 `_) + +- The compare to empty string checker (``pylint.extensions.emptystring``) and the compare to + zero checker (``pylint.extensions.compare-to-zero``) have been removed and their checks are + now part of the implicit booleaness checker: + + - ``compare-to-zero`` was renamed ``use-implicit-booleaness-not-comparison-to-zero`` and + ``compare-to-empty-string`` was renamed ``use-implicit-booleaness-not-comparison-to-string`` + and they now need to be enabled explicitly. + + - The ``pylint.extensions.emptystring`` and ``pylint.extensions.compare-to-zero`` extensions + no longer exist and need to be removed from the ``load-plugins`` option. + + - Messages related to implicit booleaness were made more explicit and actionable. + This permits to make their likeness explicit and will provide better performance as they + share most of their conditions to be raised. + + Closes #6871 (`#6871 `_) + +- epylint was removed. It now lives at: https://github.com/emacsorphanage/pylint. + + Refs #7737 (`#7737 `_) + +- The ``overgeneral-exceptions`` option now only takes fully qualified names + into account (``builtins.Exception`` not ``Exception``). If you overrode + this option, you need to use the fully qualified name now. + + There's still a warning, but it will be removed in 3.1.0. + + Refs #8411 (`#8411 `_) + +- Following a deprecation period, it's no longer possible to use ``MASTER`` + or ``master`` as configuration section in ``setup.cfg`` or ``tox.ini``. It's bad practice + to not start a section title with the tool name. Please use ``pylint.main`` instead. + + Refs #8465 (`#8465 `_) + +- Package stats are now printed when running Pyreverse and a ``--verbose`` flag was added to get the original output with parsed modules. You might need to activate the verbose option if you want to keep the old output. + + Closes #8973 (`#8973 `_) + + + +New Features +------------ + +- A new ``json2`` reporter has been added. It features a more enriched output that is + easier to parse and provides more info. + + Compared to ``json`` the only changes are that messages are now under the ``"messages"`` + key and that ``"message-id"`` now follows the camelCase convention and is renamed to + ``"messageId"``. + The new reporter also reports the "score" of the modules you linted as defined by the + ``evaluation`` option and provides statistics about the modules you linted. + + We encourage users to use the new reporter as the ``json`` reporter will no longer + be maintained. + + Closes #4741 (`#4741 `_) + +- In Pyreverse package dependency diagrams, show when a module imports another only for type-checking. + + Closes #8112 (`#8112 `_) + +- Add new option (``--show-stdlib``, ``-L``) to ``pyreverse``. + This is similar to the behavior of ``--show-builtin`` in that standard library + modules are now not included by default, and this option will include them. + + Closes #8181 (`#8181 `_) + +- Add Pyreverse option to exclude standalone nodes from diagrams with `--no-standalone`. + + Closes #8476 (`#8476 `_) + + + +New Checks +---------- + +- Added ``DataclassChecker`` module and ``invalid-field-call`` checker to check for invalid dataclasses.field() usage. + + Refs #5159 (`#5159 `_) + +- Add ``return-in-finally`` to emit a message if a return statement was found in a finally clause. + + Closes #8260 (`#8260 `_) + +- Add a new checker ``kwarg-superseded-by-positional-arg`` to warn when a function is called with a keyword argument which shares a name with a positional-only parameter and the function contains a keyword variadic parameter dictionary. It may be surprising behaviour when the keyword argument is added to the keyword variadic parameter dictionary. + + Closes #8558 (`#8558 `_) + + + +Extensions +---------- + +- Add new ``prefer-typing-namedtuple`` message to the ``CodeStyleChecker`` to suggest + rewriting calls to ``collections.namedtuple`` as classes inheriting from ``typing.NamedTuple`` + on Python 3.6+. + + Requires ``load-plugins=pylint.extensions.code_style`` and ``enable=prefer-typing-namedtuple`` to be raised. + + Closes #8660 (`#8660 `_) + + + +False Positives Fixed +--------------------- + +- Extend concept of "function ambiguity" in ``safe_infer()`` from + differing number of function arguments to differing set of argument names. + + Solves false positives in ``tensorflow``. + + Closes #3613 (`#3613 `_) + +- Fix `unused-argument` false positive when `__new__` does not use all the arguments of `__init__`. + + Closes #3670 (`#3670 `_) + +- Fix a false positive for ``invalid-name`` when a type-annotated class variable in an ``enum.Enum`` class has no assigned value. + + Refs #7402 (`#7402 `_) + +- Fix ``unused-import`` false positive for usage of ``six.with_metaclass``. + + Closes #7506 (`#7506 `_) + +- Fix false negatives and false positives for ``too-many-try-statements``, + ``too-complex``, and ``too-many-branches`` by correctly counting statements + under a ``try``. + + Refs #7767 (`#7767 `_) + +- When checking for unbalanced dict unpacking in for-loops, Pylint will now test whether the length of each value to be + unpacked matches the number of unpacking targets. Previously, Pylint would test the number of values for the loop + iteration, which would produce a false unbalanced-dict-unpacking warning. + + Closes #8156 (`#8156 `_) + +- Fix false positive for ``used-before-assignment`` when usage and assignment + are guarded by the same test in different statements. + + Closes #8167 (`#8167 `_) + +- Adds ``asyncSetUp`` to the default ``defining-attr-methods`` list to silence + ``attribute-defined-outside-init`` warning when using + ``unittest.IsolatedAsyncioTestCase``. + + Refs #8403 (`#8403 `_) + +- `logging-not-lazy` is not longer emitted for explicitly concatenated string arguments. + + Closes #8410 (`#8410 `_) + +- Fix false positive for isinstance-second-argument-not-valid-type when union types contains None. + + Closes #8424 (`#8424 `_) + +- ``invalid-name`` now allows for integers in ``typealias`` names: + - now valid: ``Good2Name``, ``GoodName2``. + - still invalid: ``_1BadName``. + + Closes #8485 (`#8485 `_) + +- No longer consider ``Union`` as type annotation as type alias for naming checks. + + Closes #8487 (`#8487 `_) + +- ``unnecessary-lambda`` no longer warns on lambdas which use its parameters in + their body (other than the final arguments), e.g. + ``lambda foo: (bar if foo else baz)(foo)``. + + Closes #8496 (`#8496 `_) + +- Fixed `unused-import` so that it observes the `dummy-variables-rgx` option. + + Closes #8500 (`#8500 `_) + +- `Union` typed variables without assignment are no longer treated as + `TypeAlias`. + + Closes #8540 (`#8540 `_) + +- Allow parenthesized implicitly concatenated strings when `check-str-concat-over-line-jumps` is enabled. + + Closes #8552. (`#8552 `_) + +- Fix false positive for ``positional-only-arguments-expected`` when a function contains both a positional-only parameter that has a default value, and ``**kwargs``. + + Closes #8555 (`#8555 `_) + +- Fix false positive for ``keyword-arg-before-vararg`` when a positional-only parameter with a default value precedes ``*args``. + + Closes #8570 (`#8570 `_) + +- Fix false positive for ``arguments-differ`` when overriding `__init_subclass__`. + + Closes #8919 (`#8919 `_) + +- Fix a false positive for ``no-value-for-parameter`` when a staticmethod is called in a class body. + + Closes #9036 (`#9036 `_) + + + +False Negatives Fixed +--------------------- + +- Emit ``used-before-assignment`` when calling module-level functions before definition. + + Closes #1144 (`#1144 `_) + +- Apply ``infer_kwarg_from_call()`` to more checks + + These mostly solve false negatives for various checks, + save for one false positive for ``use-maxsplit-arg``. + + Closes #7761 (`#7761 `_) + +- `TypeAlias` variables defined in functions are now checked for `invalid-name` errors. + + Closes #8536 (`#8536 `_) + +- Fix false negative for ``no-value-for-parameter`` when a function, whose signature contains both a positional-only parameter ``name`` and also ``*kwargs``, is called with a keyword-argument for ``name``. + + Closes #8559 (`#8559 `_) + +- Fix a false negative for ``too-many-arguments`` by considering positional-only and keyword-only parameters. + + Closes #8667 (`#8667 `_) + +- Emit ``assignment-from-no-return`` for calls to builtin methods like ``dict.update()``. + Calls to ``list.sort()`` now raise ``assignment-from-no-return`` + rather than ``assignment-from-none`` for consistency. + + Closes #8714 + Closes #8810 (`#8714 `_) + +- ``consider-using-augmented-assign`` is now applied to dicts and lists as well. + + Closes #8959. (`#8959 `_) + + + +Other Bug Fixes +--------------- + +- Support ``duplicate-code`` message when parallelizing with ``--jobs``. + + Closes #374 (`#374 `_) + +- Support ``cyclic-import`` message when parallelizing with ``--jobs``. + + Closes #4171 (`#4171 `_) + +- ``--jobs`` can now be used with ``--load-plugins``. + + This had regressed in astroid 2.5.0. + + Closes #4874 (`#4874 `_) + +- docparams extension considers type comments as type documentation. + + Closes #6287 (`#6287 `_) + +- When parsing comma-separated lists of regular expressions in the config, ignore + commas that are inside braces since those indicate quantifiers, not delineation + between expressions. + + Closes #7229 (`#7229 `_) + +- The ``ignored-modules`` option will now be correctly taken into account for ``no-name-in-module``. + + Closes #7578 (`#7578 `_) + +- ``sys.argv`` is now always correctly considered as impossible to infer (instead of + using the actual values given to pylint). + + Closes #7710 (`#7710 `_) + +- Avoid duplicative warnings for unqualified exception names in the ``overgeneral-exceptions`` + setting when running with ``--jobs``. + + Closes #7774 (`#7774 `_) + +- Don't show class fields more than once in Pyreverse diagrams. + + Closes #8189 (`#8189 `_) + +- Fix ``used-before-assignment`` false negative when TYPE_CHECKING imports + are used in multiple scopes. + + Closes #8198 (`#8198 `_) + +- ``--clear-cache-post-run`` now also clears LRU caches for pylint utilities + holding references to AST nodes. + + Closes #8361 (`#8361 `_) + +- Fix a crash when ``TYPE_CHECKING`` is used without importing it. + + Closes #8434 (`#8434 `_) + +- Fix a ``used-before-assignment`` false positive when imports + are made under the ``TYPE_CHECKING`` else if branch. + + Closes #8437 (`#8437 `_) + +- Fix a regression of ``preferred-modules`` where a partial match was used instead of the required full match. + + Closes #8453 (`#8453 `_) + +- Fix a crash in pyreverse when "/" characters are used in the output filename e.g pyreverse -o png -p name/ path/to/project. + + Closes #8504 (`#8504 `_) + +- Don't show arrows more than once in Pyreverse diagrams. + + Closes #8522 (`#8522 `_) + +- Improve output of ``consider-using-generator`` message for ``min()`` calls with ``default`` keyword. + + Closes #8563 (`#8563 `_) + +- Fixed a crash when generating a configuration file: ``tomlkit.exceptions.TOMLKitError: Can't add a table to a dotted key`` + caused by tomlkit ``v0.11.8``. + + Closes #8632 (`#8632 `_) + +- Fix a line break error in Pyreverse dot output. + + Closes #8671 (`#8671 `_) + +- Fix a false positive for ``method-hidden`` when using ``cached_property`` decorator. + + Closes #8753 (`#8753 `_) + +- Dunder methods defined in lambda do not trigger ``unnecessary-dunder-call`` anymore, if they cannot be replaced by the non-dunder call. + + Closes #8769 (`#8769 `_) + +- Don't show duplicate type annotations in Pyreverse diagrams. + + Closes #8888 (`#8888 `_) + +- Fixing inconsistent hashing issue in `BaseChecker` causing some reports not being exported. + + Closes #9001 (`#9001 `_) + +- Don't add `Optional` to `|` annotations with `None` in Pyreverse diagrams. + + Closes #9014 (`#9014 `_) + +- Pyreverse doesn't show multiple class association arrows anymore, but only the strongest one. + + Refs #9045 (`#9045 `_) + +- Prevented data loss in the linter stats for messages relating + to the linter itself (e.g. ``unknown-option-value``), fixing + problems with score, fail-on, etc. + + Closes #9059 (`#9059 `_) + +- Fix crash in refactoring checker when unary operand used with variable in for loop. + + Closes #9074 (`#9074 `_) + + + +Other Changes +------------- + +- Pylint now exposes its type annotations. + + Closes #5488 and #2079 (`#5488 `_) + +- Search for ``pyproject.toml`` recursively in parent directories up to a project or file system root. + + Refs #7163, Closes #3289 (`#7163 `_) + +- All code related to the optparse config parsing has been removed. + + Refs #8405 (`#8405 `_) + +- Pylint now supports python 3.12. + + Refs #8718 (`#8718 `_) + +- Add a CITATION.cff file to the root of the repository containing the necessary metadata to cite Pylint. + + Closes #8760 (`#8760 `_) + +- Renamed the "unneeded-not" error into "unnecessary_negation" to be clearer. + + Closes #8789 (`#8789 `_) + + + +Internal Changes +---------------- + +- ``get_message_definition`` was removed from the base checker API. You can access + message definitions through the ``MessageStore``. + + Refs #8401 (`#8401 `_) + +- Everything related to the ``__implements__`` construct was removed. It was based on PEP245 + that was proposed in 2001 and rejected in 2006. + + All the classes inheriting ``Interface`` in ``pylint.interfaces`` were removed. + ``Checker`` should only inherit ``BaseChecker`` or any of the other checker types + from ``pylint.checkers``. ``Reporter`` should only inherit ``BaseReporter``. + + Refs #8404 (`#8404 `_) + +- ``modname`` and ``msg_store`` are now required to be given in ``FileState``. + ``collect_block_lines`` has also been removed. ``Pylinter.current_name`` + cannot be null anymore. + + Refs #8407 (`#8407 `_) + +- ``Reporter.set_output`` was removed in favor of ``reporter.out = stream``. + + Refs #8408 (`#8408 `_) + +- A number of old utility functions and classes have been removed: + + ``MapReduceMixin``: To make a checker reduce map data simply implement + ``get_map_data`` and ``reduce_map_data``. + + ``is_inside_lambda``: Use ``utils.get_node_first_ancestor_of_type(x, nodes.Lambda)`` + + ``check_messages``: Use ``utils.only_required_for_messages`` + + ``is_class_subscriptable_pep585_with_postponed_evaluation_enabled``: Use + ``is_postponed_evaluation_enabled(node)`` and ``is_node_in_type_annotation_context(node)`` + + ``get_python_path``: assumption that there's always an __init__.py is not true since + python 3.3 and is causing problems, particularly with PEP 420. Use ``discover_package_path`` + and pass source root(s). + + ``fix_import_path``: Use ``augmented_sys_path`` and pass additional ``sys.path`` + entries as an argument obtained from ``discover_package_path``. + + ``get_global_option``: Use ``checker.linter.config`` to get all global options. + + Related private objects have been removed as well. + + Refs #8409 (`#8409 `_) + +- ``colorize_ansi`` now only accepts a ``MessageStyle`` object. + + Refs #8412 (`#8412 `_) + +- Following a deprecation period, ``Pylinter.check`` now only works with sequences of strings, not strings. + + Refs #8463 (`#8463 `_) + +- Following a deprecation period, ``ColorizedTextReporter`` only accepts ``ColorMappingDict``. + + Refs #8464 (`#8464 `_) + +- Following a deprecation period, ``MessageTest``'s ``end_line`` and ``end_col_offset`` + must be accurate in functional tests (for python 3.8 or above on cpython, and for + python 3.9 or superior on pypy). + + Refs #8466 (`#8466 `_) + +- Following a deprecation period, the ``do_exit`` argument of the ``Run`` class (and of the ``_Run`` + class in testutils) were removed. + + Refs #8472 (`#8472 `_) + +- Following a deprecation period, the ``py_version`` argument of the + ``MessageDefinition.may_be_emitted`` function is now required. The most likely solution + is to use 'linter.config.py_version' if you need to keep using this + function, or to use 'MessageDefinition.is_message_enabled' instead. + + Refs #8473 (`#8473 `_) + +- Following a deprecation period, the ``OutputLine`` class now requires + the right number of argument all the time. The functional output can be + regenerated automatically to achieve that easily. + + Refs #8474 (`#8474 `_) + +- Following a deprecation period, ``is_typing_guard``, ``is_node_in_typing_guarded_import_block`` and + ``is_node_in_guarded_import_block`` from ``pylint.utils`` were removed: use a combination of + ``is_sys_guard`` and ``in_type_checking_block`` instead. + + Refs #8475 (`#8475 `_) + +- Following a deprecation period, the ``location`` argument of the + ``Message`` class must now be a ``MessageLocationTuple``. + + Refs #8477 (`#8477 `_) + +- Following a deprecation period, the ``check_single_file`` function of the + ``Pylinter`` is replaced by ``Pylinter.check_single_file_item``. + + Refs #8478 (`#8478 `_) + + + +Performance Improvements +------------------------ + +- ``pylint`` runs (at least) ~5% faster after improvements to ``astroid`` + that make better use of the inference cache. + + Refs pylint-dev/astroid#529 (`#529 `_) + +- - Optimize ``is_trailing_comma()``. + - Cache ``class_is_abstract()``. + + Refs #1954 (`#1954 `_) + +- Exit immediately if all messages are disabled. + + Closes #8715 (`#8715 `_) diff --git a/doc/whatsnew/fragments/1144.false_negative b/doc/whatsnew/fragments/1144.false_negative deleted file mode 100644 index 9b30c197b7..0000000000 --- a/doc/whatsnew/fragments/1144.false_negative +++ /dev/null @@ -1,3 +0,0 @@ -Emit ``used-before-assignment`` when calling module-level functions before definition. - -Closes #1144 diff --git a/doc/whatsnew/fragments/1954.performance b/doc/whatsnew/fragments/1954.performance deleted file mode 100644 index 67027cb021..0000000000 --- a/doc/whatsnew/fragments/1954.performance +++ /dev/null @@ -1,4 +0,0 @@ -- Optimize ``is_trailing_comma()``. -- Cache ``class_is_abstract()``. - -Refs #1954 diff --git a/doc/whatsnew/fragments/2018.user_action b/doc/whatsnew/fragments/2018.user_action deleted file mode 100644 index 85b58c275d..0000000000 --- a/doc/whatsnew/fragments/2018.user_action +++ /dev/null @@ -1,23 +0,0 @@ -The ``invalid-name`` message no longer checks for a minimum length of 3 characters by default. -(This was an unadvertised commingling of concerns between casing -and name length, and users regularly reported this to be surprising.) - -If checking for a minimum length is still desired, it can be regained in two ways: - -- If you are content with a ``disallowed-name`` message (instead of - ``invalid-name``), then simply add the option ``bad-names-rgxs="^..?$"``, - which will fail 1-2 character-long names. (Ensure you enable - ``disallowed-name``.) - -- If you would prefer an ``invalid-name`` message to be emitted, or would - prefer finer-grained control over the circumstances in which messages are - emitted (classes vs. methods, etc.), then avail yourself of the regex - options described - `here `_. - (In particular, take note of the commented out options in the "example - configuration" given at the bottom of the section.) The prior regexes can - be found in the - `pull request `_ - that removed the length requirements. - -Closes #2018 diff --git a/doc/whatsnew/fragments/3613.false_positive b/doc/whatsnew/fragments/3613.false_positive deleted file mode 100644 index 5a864208ad..0000000000 --- a/doc/whatsnew/fragments/3613.false_positive +++ /dev/null @@ -1,6 +0,0 @@ -Extend concept of "function ambiguity" in ``safe_infer()`` from -differing number of function arguments to differing set of argument names. - -Solves false positives in ``tensorflow``. - -Closes #3613 diff --git a/doc/whatsnew/fragments/3670.false_positive b/doc/whatsnew/fragments/3670.false_positive deleted file mode 100644 index 562a41de26..0000000000 --- a/doc/whatsnew/fragments/3670.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix `unused-argument` false positive when `__new__` does not use all the arguments of `__init__`. - -Closes #3670 diff --git a/doc/whatsnew/fragments/3696.breaking b/doc/whatsnew/fragments/3696.breaking deleted file mode 100644 index f9b78c7fbe..0000000000 --- a/doc/whatsnew/fragments/3696.breaking +++ /dev/null @@ -1,13 +0,0 @@ -Enabling or disabling individual messages will now take effect even if an -``--enable=all`` or ``disable=all`` follows in the same configuration file -(or on the command line). - -This means for the following example, ``fixme`` messages will now be emitted: - -.. code-block:: - - pylint my_module --enable=fixme --disable=all - -To regain the prior behavior, remove the superfluous earlier option. - -Closes #3696 diff --git a/doc/whatsnew/fragments/374.bugfix b/doc/whatsnew/fragments/374.bugfix deleted file mode 100644 index 21ea4ad151..0000000000 --- a/doc/whatsnew/fragments/374.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Support ``duplicate-code`` message when parallelizing with ``--jobs``. - -Closes #374 diff --git a/doc/whatsnew/fragments/4171.bugfix b/doc/whatsnew/fragments/4171.bugfix deleted file mode 100644 index 6e9500bf5b..0000000000 --- a/doc/whatsnew/fragments/4171.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Support ``cyclic-import`` message when parallelizing with ``--jobs``. - -Closes #4171 diff --git a/doc/whatsnew/fragments/4741.feature b/doc/whatsnew/fragments/4741.feature deleted file mode 100644 index 0de7944e2a..0000000000 --- a/doc/whatsnew/fragments/4741.feature +++ /dev/null @@ -1,13 +0,0 @@ -A new ``json2`` reporter has been added. It features a more enriched output that is -easier to parse and provides more info. - -Compared to ``json`` the only changes are that messages are now under the ``"messages"`` -key and that ``"message-id"`` now follows the camelCase convention and is renamed to -``"messageId"``. -The new reporter also reports the "score" of the modules you linted as defined by the -``evaluation`` option and provides statistics about the modules you linted. - -We encourage users to use the new reporter as the ``json`` reporter will no longer -be maintained. - -Closes #4741 diff --git a/doc/whatsnew/fragments/4874.bugfix b/doc/whatsnew/fragments/4874.bugfix deleted file mode 100644 index 9dcb34c1fc..0000000000 --- a/doc/whatsnew/fragments/4874.bugfix +++ /dev/null @@ -1,5 +0,0 @@ -``--jobs`` can now be used with ``--load-plugins``. - -This had regressed in astroid 2.5.0. - -Closes #4874 diff --git a/doc/whatsnew/fragments/5159.new_check b/doc/whatsnew/fragments/5159.new_check deleted file mode 100644 index 117e6bd6f8..0000000000 --- a/doc/whatsnew/fragments/5159.new_check +++ /dev/null @@ -1,3 +0,0 @@ -Added ``DataclassChecker`` module and ``invalid-field-call`` checker to check for invalid dataclasses.field() usage. - -Refs #5159 diff --git a/doc/whatsnew/fragments/529.performance b/doc/whatsnew/fragments/529.performance deleted file mode 100644 index 69f4a4f1d8..0000000000 --- a/doc/whatsnew/fragments/529.performance +++ /dev/null @@ -1,4 +0,0 @@ -``pylint`` runs (at least) ~5% faster after improvements to ``astroid`` -that make better use of the inference cache. - -Refs pylint-dev/astroid#529 diff --git a/doc/whatsnew/fragments/5488.other b/doc/whatsnew/fragments/5488.other deleted file mode 100644 index 0f6ac5b855..0000000000 --- a/doc/whatsnew/fragments/5488.other +++ /dev/null @@ -1,3 +0,0 @@ -Pylint now exposes its type annotations. - -Closes #5488 and #2079 diff --git a/doc/whatsnew/fragments/6287.bugfix b/doc/whatsnew/fragments/6287.bugfix deleted file mode 100644 index d1d6ad7ec6..0000000000 --- a/doc/whatsnew/fragments/6287.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -docparams extension considers type comments as type documentation. - -Closes #6287 diff --git a/doc/whatsnew/fragments/6306.breaking b/doc/whatsnew/fragments/6306.breaking deleted file mode 100644 index 1262eb91bf..0000000000 --- a/doc/whatsnew/fragments/6306.breaking +++ /dev/null @@ -1,4 +0,0 @@ -Remove support for launching pylint with Python 3.7. -Code that supports Python 3.7 can still be linted with the ``--py-version=3.7`` setting. - -Refs #6306 diff --git a/doc/whatsnew/fragments/6871.user_action b/doc/whatsnew/fragments/6871.user_action deleted file mode 100644 index 74e5cbe7a5..0000000000 --- a/doc/whatsnew/fragments/6871.user_action +++ /dev/null @@ -1,16 +0,0 @@ -The compare to empty string checker (``pylint.extensions.emptystring``) and the compare to -zero checker (``pylint.extensions.compare-to-zero``) have been removed and their checks are -now part of the implicit booleaness checker: - -- ``compare-to-zero`` was renamed ``use-implicit-booleaness-not-comparison-to-zero`` and - ``compare-to-empty-string`` was renamed ``use-implicit-booleaness-not-comparison-to-string`` - and they now need to be enabled explicitly. - -- The ``pylint.extensions.emptystring`` and ``pylint.extensions.compare-to-zero`` extensions - no longer exist and need to be removed from the ``load-plugins`` option. - -- Messages related to implicit booleaness were made more explicit and actionable. - This permits to make their likeness explicit and will provide better performance as they - share most of their conditions to be raised. - -Closes #6871 diff --git a/doc/whatsnew/fragments/7163.other b/doc/whatsnew/fragments/7163.other deleted file mode 100644 index 93f731aaec..0000000000 --- a/doc/whatsnew/fragments/7163.other +++ /dev/null @@ -1,3 +0,0 @@ -Search for ``pyproject.toml`` recursively in parent directories up to a project or file system root. - -Refs #7163, Closes #3289 diff --git a/doc/whatsnew/fragments/7229.bugfix b/doc/whatsnew/fragments/7229.bugfix deleted file mode 100644 index c39e130192..0000000000 --- a/doc/whatsnew/fragments/7229.bugfix +++ /dev/null @@ -1,5 +0,0 @@ -When parsing comma-separated lists of regular expressions in the config, ignore -commas that are inside braces since those indicate quantifiers, not delineation -between expressions. - -Closes #7229 diff --git a/doc/whatsnew/fragments/7402.false_positive b/doc/whatsnew/fragments/7402.false_positive deleted file mode 100644 index aaca98eb86..0000000000 --- a/doc/whatsnew/fragments/7402.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix a false positive for ``invalid-name`` when a type-annotated class variable in an ``enum.Enum`` class has no assigned value. - -Refs #7402 diff --git a/doc/whatsnew/fragments/7506.false_positive b/doc/whatsnew/fragments/7506.false_positive deleted file mode 100644 index c6424e1f2e..0000000000 --- a/doc/whatsnew/fragments/7506.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix ``unused-import`` false positive for usage of ``six.with_metaclass``. - -Closes #7506 diff --git a/doc/whatsnew/fragments/7578.bugfix b/doc/whatsnew/fragments/7578.bugfix deleted file mode 100644 index 2b01149ca7..0000000000 --- a/doc/whatsnew/fragments/7578.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -The ``ignored-modules`` option will now be correctly taken into account for ``no-name-in-module``. - -Closes #7578 diff --git a/doc/whatsnew/fragments/7710.bugfix b/doc/whatsnew/fragments/7710.bugfix deleted file mode 100644 index 61ee5243d7..0000000000 --- a/doc/whatsnew/fragments/7710.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -``sys.argv`` is now always correctly considered as impossible to infer (instead of -using the actual values given to pylint). - -Closes #7710 diff --git a/doc/whatsnew/fragments/7737.user_action b/doc/whatsnew/fragments/7737.user_action deleted file mode 100644 index 1a992f563d..0000000000 --- a/doc/whatsnew/fragments/7737.user_action +++ /dev/null @@ -1,3 +0,0 @@ -epylint was removed. It now lives at: https://github.com/emacsorphanage/pylint. - -Refs #7737 diff --git a/doc/whatsnew/fragments/7761.false_negative b/doc/whatsnew/fragments/7761.false_negative deleted file mode 100644 index 4c1bea27b8..0000000000 --- a/doc/whatsnew/fragments/7761.false_negative +++ /dev/null @@ -1,6 +0,0 @@ -Apply ``infer_kwarg_from_call()`` to more checks - -These mostly solve false negatives for various checks, -save for one false positive for ``use-maxsplit-arg``. - -Closes #7761 diff --git a/doc/whatsnew/fragments/7767.breaking b/doc/whatsnew/fragments/7767.breaking deleted file mode 100644 index bbe9949572..0000000000 --- a/doc/whatsnew/fragments/7767.breaking +++ /dev/null @@ -1,4 +0,0 @@ -Disables placed in a ``try`` block now apply to the ``except`` block. -Previously, they only happened to do so in the presence of an ``else`` clause. - -Refs #7767 diff --git a/doc/whatsnew/fragments/7767.false_positive b/doc/whatsnew/fragments/7767.false_positive deleted file mode 100644 index 69d7d23846..0000000000 --- a/doc/whatsnew/fragments/7767.false_positive +++ /dev/null @@ -1,5 +0,0 @@ -Fix false negatives and false positives for ``too-many-try-statements``, -``too-complex``, and ``too-many-branches`` by correctly counting statements -under a ``try``. - -Refs #7767 diff --git a/doc/whatsnew/fragments/7774.bugfix b/doc/whatsnew/fragments/7774.bugfix deleted file mode 100644 index ca06d0ec5a..0000000000 --- a/doc/whatsnew/fragments/7774.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -Avoid duplicative warnings for unqualified exception names in the ``overgeneral-exceptions`` -setting when running with ``--jobs``. - -Closes #7774 diff --git a/doc/whatsnew/fragments/8112.feature b/doc/whatsnew/fragments/8112.feature deleted file mode 100644 index cee1f37a86..0000000000 --- a/doc/whatsnew/fragments/8112.feature +++ /dev/null @@ -1,3 +0,0 @@ -In Pyreverse package dependency diagrams, show when a module imports another only for type-checking. - -Closes #8112 diff --git a/doc/whatsnew/fragments/8156.false_positive b/doc/whatsnew/fragments/8156.false_positive deleted file mode 100644 index b4aa039971..0000000000 --- a/doc/whatsnew/fragments/8156.false_positive +++ /dev/null @@ -1,5 +0,0 @@ -When checking for unbalanced dict unpacking in for-loops, Pylint will now test whether the length of each value to be -unpacked matches the number of unpacking targets. Previously, Pylint would test the number of values for the loop -iteration, which would produce a false unbalanced-dict-unpacking warning. - -Closes #8156 diff --git a/doc/whatsnew/fragments/8167.false_positive b/doc/whatsnew/fragments/8167.false_positive deleted file mode 100644 index e0c341f659..0000000000 --- a/doc/whatsnew/fragments/8167.false_positive +++ /dev/null @@ -1,4 +0,0 @@ -Fix false positive for ``used-before-assignment`` when usage and assignment -are guarded by the same test in different statements. - -Closes #8167 diff --git a/doc/whatsnew/fragments/8181.feature b/doc/whatsnew/fragments/8181.feature deleted file mode 100644 index cd5b361d15..0000000000 --- a/doc/whatsnew/fragments/8181.feature +++ /dev/null @@ -1,5 +0,0 @@ -Add new option (``--show-stdlib``, ``-L``) to ``pyreverse``. -This is similar to the behavior of ``--show-builtin`` in that standard library -modules are now not included by default, and this option will include them. - -Closes #8181 diff --git a/doc/whatsnew/fragments/8189.bugfix b/doc/whatsnew/fragments/8189.bugfix deleted file mode 100644 index b7d3460567..0000000000 --- a/doc/whatsnew/fragments/8189.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Don't show class fields more than once in Pyreverse diagrams. - -Closes #8189 diff --git a/doc/whatsnew/fragments/8198.bugfix b/doc/whatsnew/fragments/8198.bugfix deleted file mode 100644 index 61b4028cea..0000000000 --- a/doc/whatsnew/fragments/8198.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -Fix ``used-before-assignment`` false negative when TYPE_CHECKING imports -are used in multiple scopes. - -Closes #8198 diff --git a/doc/whatsnew/fragments/8251.breaking b/doc/whatsnew/fragments/8251.breaking deleted file mode 100644 index 5410c9a98d..0000000000 --- a/doc/whatsnew/fragments/8251.breaking +++ /dev/null @@ -1,5 +0,0 @@ -`pyreverse` now uses a new default color palette that is more colorblind friendly. -The color scheme is taken from `Paul Tol's Notes `_. -If you prefer other colors, you can use the `--color-palette` option to specify custom colors. - -Closes #8251 diff --git a/doc/whatsnew/fragments/8260.new_check b/doc/whatsnew/fragments/8260.new_check deleted file mode 100644 index d89912f6f3..0000000000 --- a/doc/whatsnew/fragments/8260.new_check +++ /dev/null @@ -1,3 +0,0 @@ -Add ``return-in-finally`` to emit a message if a return statement was found in a finally clause. - -Closes #8260 diff --git a/doc/whatsnew/fragments/8361.bugfix b/doc/whatsnew/fragments/8361.bugfix deleted file mode 100644 index 0f2b56707b..0000000000 --- a/doc/whatsnew/fragments/8361.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -``--clear-cache-post-run`` now also clears LRU caches for pylint utilities -holding references to AST nodes. - -Closes #8361 diff --git a/doc/whatsnew/fragments/8401.internal b/doc/whatsnew/fragments/8401.internal deleted file mode 100644 index 9f4f927401..0000000000 --- a/doc/whatsnew/fragments/8401.internal +++ /dev/null @@ -1,4 +0,0 @@ -``get_message_definition`` was removed from the base checker API. You can access -message definitions through the ``MessageStore``. - -Refs #8401 diff --git a/doc/whatsnew/fragments/8403.false_positive b/doc/whatsnew/fragments/8403.false_positive deleted file mode 100644 index bfa34d17de..0000000000 --- a/doc/whatsnew/fragments/8403.false_positive +++ /dev/null @@ -1,5 +0,0 @@ -Adds ``asyncSetUp`` to the default ``defining-attr-methods`` list to silence -``attribute-defined-outside-init`` warning when using -``unittest.IsolatedAsyncioTestCase``. - -Refs #8403 diff --git a/doc/whatsnew/fragments/8404.breaking b/doc/whatsnew/fragments/8404.breaking deleted file mode 100644 index eb99510eba..0000000000 --- a/doc/whatsnew/fragments/8404.breaking +++ /dev/null @@ -1,7 +0,0 @@ -Everything related to the ``__implements__`` construct was removed. It was based on PEP245 -that was proposed in 2001 and rejected in 2006. - -The capability from pyreverse to take ``__implements__`` into account when generating diagrams -was also removed. - -Refs #8404 diff --git a/doc/whatsnew/fragments/8404.internal b/doc/whatsnew/fragments/8404.internal deleted file mode 100644 index 1a6da408a4..0000000000 --- a/doc/whatsnew/fragments/8404.internal +++ /dev/null @@ -1,8 +0,0 @@ -Everything related to the ``__implements__`` construct was removed. It was based on PEP245 -that was proposed in 2001 and rejected in 2006. - -All the classes inheriting ``Interface`` in ``pylint.interfaces`` were removed. -``Checker`` should only inherit ``BaseChecker`` or any of the other checker types -from ``pylint.checkers``. ``Reporter`` should only inherit ``BaseReporter``. - -Refs #8404 diff --git a/doc/whatsnew/fragments/8405.other b/doc/whatsnew/fragments/8405.other deleted file mode 100644 index 423e50611f..0000000000 --- a/doc/whatsnew/fragments/8405.other +++ /dev/null @@ -1,3 +0,0 @@ -All code related to the optparse config parsing has been removed. - -Refs #8405 diff --git a/doc/whatsnew/fragments/8407.internal b/doc/whatsnew/fragments/8407.internal deleted file mode 100644 index bb96c2f5dc..0000000000 --- a/doc/whatsnew/fragments/8407.internal +++ /dev/null @@ -1,5 +0,0 @@ -``modname`` and ``msg_store`` are now required to be given in ``FileState``. -``collect_block_lines`` has also been removed. ``Pylinter.current_name`` -cannot be null anymore. - -Refs #8407 diff --git a/doc/whatsnew/fragments/8408.internal b/doc/whatsnew/fragments/8408.internal deleted file mode 100644 index b63e45cc10..0000000000 --- a/doc/whatsnew/fragments/8408.internal +++ /dev/null @@ -1,3 +0,0 @@ -``Reporter.set_output`` was removed in favor of ``reporter.out = stream``. - -Refs #8408 diff --git a/doc/whatsnew/fragments/8409.internal b/doc/whatsnew/fragments/8409.internal deleted file mode 100644 index 415dec9cfc..0000000000 --- a/doc/whatsnew/fragments/8409.internal +++ /dev/null @@ -1,24 +0,0 @@ -A number of old utility functions and classes have been removed: - -``MapReduceMixin``: To make a checker reduce map data simply implement -``get_map_data`` and ``reduce_map_data``. - -``is_inside_lambda``: Use ``utils.get_node_first_ancestor_of_type(x, nodes.Lambda)`` - -``check_messages``: Use ``utils.only_required_for_messages`` - -``is_class_subscriptable_pep585_with_postponed_evaluation_enabled``: Use -``is_postponed_evaluation_enabled(node)`` and ``is_node_in_type_annotation_context(node)`` - -``get_python_path``: assumption that there's always an __init__.py is not true since -python 3.3 and is causing problems, particularly with PEP 420. Use ``discover_package_path`` -and pass source root(s). - -``fix_import_path``: Use ``augmented_sys_path`` and pass additional ``sys.path`` -entries as an argument obtained from ``discover_package_path``. - -``get_global_option``: Use ``checker.linter.config`` to get all global options. - -Related private objects have been removed as well. - -Refs #8409 diff --git a/doc/whatsnew/fragments/8410.false_positive b/doc/whatsnew/fragments/8410.false_positive deleted file mode 100644 index 264542a7de..0000000000 --- a/doc/whatsnew/fragments/8410.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -`logging-not-lazy` is not longer emitted for explicitly concatenated string arguments. - -Closes #8410 diff --git a/doc/whatsnew/fragments/8411.user_action b/doc/whatsnew/fragments/8411.user_action deleted file mode 100644 index b9132629fc..0000000000 --- a/doc/whatsnew/fragments/8411.user_action +++ /dev/null @@ -1,7 +0,0 @@ -The ``overgeneral-exceptions`` option now only takes fully qualified names -into account (``builtins.Exception`` not ``Exception``). If you overrode -this option, you need to use the fully qualified name now. - -There's still a warning, but it will be removed in 3.1.0. - -Refs #8411 diff --git a/doc/whatsnew/fragments/8412.internal b/doc/whatsnew/fragments/8412.internal deleted file mode 100644 index 7fec83c8dd..0000000000 --- a/doc/whatsnew/fragments/8412.internal +++ /dev/null @@ -1,3 +0,0 @@ -``colorize_ansi`` now only accepts a ``MessageStyle`` object. - -Refs #8412 diff --git a/doc/whatsnew/fragments/8416.breaking b/doc/whatsnew/fragments/8416.breaking deleted file mode 100644 index e30562b9cb..0000000000 --- a/doc/whatsnew/fragments/8416.breaking +++ /dev/null @@ -1,3 +0,0 @@ -``pyreverse``: Support for the ``.vcg`` output format (Visualization of Compiler Graphs) has been dropped. - -Closes #8416 diff --git a/doc/whatsnew/fragments/8424.false_positive b/doc/whatsnew/fragments/8424.false_positive deleted file mode 100644 index 22dc8b8441..0000000000 --- a/doc/whatsnew/fragments/8424.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix false positive for isinstance-second-argument-not-valid-type when union types contains None. - -Closes #8424 diff --git a/doc/whatsnew/fragments/8434.bugfix b/doc/whatsnew/fragments/8434.bugfix deleted file mode 100644 index b5a8bddcb2..0000000000 --- a/doc/whatsnew/fragments/8434.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix a crash when ``TYPE_CHECKING`` is used without importing it. - -Closes #8434 diff --git a/doc/whatsnew/fragments/8437.bugfix b/doc/whatsnew/fragments/8437.bugfix deleted file mode 100644 index c1727f9508..0000000000 --- a/doc/whatsnew/fragments/8437.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -Fix a ``used-before-assignment`` false positive when imports -are made under the ``TYPE_CHECKING`` else if branch. - -Closes #8437 diff --git a/doc/whatsnew/fragments/8453.bugfix b/doc/whatsnew/fragments/8453.bugfix deleted file mode 100644 index 6bec2b0b98..0000000000 --- a/doc/whatsnew/fragments/8453.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix a regression of ``preferred-modules`` where a partial match was used instead of the required full match. - -Closes #8453 diff --git a/doc/whatsnew/fragments/8462.breaking b/doc/whatsnew/fragments/8462.breaking deleted file mode 100644 index 467b32447f..0000000000 --- a/doc/whatsnew/fragments/8462.breaking +++ /dev/null @@ -1,5 +0,0 @@ -The warning when the now useless old pylint cache directory (pylint.d) was -found was removed. The cache dir is documented in -`the FAQ `_. - -Refs #8462 diff --git a/doc/whatsnew/fragments/8463.internal b/doc/whatsnew/fragments/8463.internal deleted file mode 100644 index 644e46cea1..0000000000 --- a/doc/whatsnew/fragments/8463.internal +++ /dev/null @@ -1,3 +0,0 @@ -Following a deprecation period, ``Pylinter.check`` now only works with sequences of strings, not strings. - -Refs #8463 diff --git a/doc/whatsnew/fragments/8464.internal b/doc/whatsnew/fragments/8464.internal deleted file mode 100644 index 4b4109c7be..0000000000 --- a/doc/whatsnew/fragments/8464.internal +++ /dev/null @@ -1,3 +0,0 @@ -Following a deprecation period, ``ColorizedTextReporter`` only accepts ``ColorMappingDict``. - -Refs #8464 diff --git a/doc/whatsnew/fragments/8465.user_action b/doc/whatsnew/fragments/8465.user_action deleted file mode 100644 index b783dacff5..0000000000 --- a/doc/whatsnew/fragments/8465.user_action +++ /dev/null @@ -1,5 +0,0 @@ -Following a deprecation period, it's no longer possible to use ``MASTER`` -or ``master`` as configuration section in ``setup.cfg`` or ``tox.ini``. It's bad practice -to not start a section title with the tool name. Please use ``pylint.main`` instead. - -Refs #8465 diff --git a/doc/whatsnew/fragments/8466.internal b/doc/whatsnew/fragments/8466.internal deleted file mode 100644 index 101a8e4ba1..0000000000 --- a/doc/whatsnew/fragments/8466.internal +++ /dev/null @@ -1,5 +0,0 @@ -Following a deprecation period, ``MessageTest``'s ``end_line`` and ``end_col_offset`` -must be accurate in functional tests (for python 3.8 or above on cpython, and for -python 3.9 or superior on pypy). - -Refs #8466 diff --git a/doc/whatsnew/fragments/8472.internal b/doc/whatsnew/fragments/8472.internal deleted file mode 100644 index 6e9c3956a9..0000000000 --- a/doc/whatsnew/fragments/8472.internal +++ /dev/null @@ -1,4 +0,0 @@ -Following a deprecation period, the ``do_exit`` argument of the ``Run`` class (and of the ``_Run`` -class in testutils) were removed. - -Refs #8472 diff --git a/doc/whatsnew/fragments/8473.internal b/doc/whatsnew/fragments/8473.internal deleted file mode 100644 index 11491dd570..0000000000 --- a/doc/whatsnew/fragments/8473.internal +++ /dev/null @@ -1,6 +0,0 @@ -Following a deprecation period, the ``py_version`` argument of the -``MessageDefinition.may_be_emitted`` function is now required. The most likely solution -is to use 'linter.config.py_version' if you need to keep using this -function, or to use 'MessageDefinition.is_message_enabled' instead. - -Refs #8473 diff --git a/doc/whatsnew/fragments/8474.internal b/doc/whatsnew/fragments/8474.internal deleted file mode 100644 index 07120ba340..0000000000 --- a/doc/whatsnew/fragments/8474.internal +++ /dev/null @@ -1,5 +0,0 @@ -Following a deprecation period, the ``OutputLine`` class now requires -the right number of argument all the time. The functional output can be -regenerated automatically to achieve that easily. - -Refs #8474 diff --git a/doc/whatsnew/fragments/8475.internal b/doc/whatsnew/fragments/8475.internal deleted file mode 100644 index 64852e27e4..0000000000 --- a/doc/whatsnew/fragments/8475.internal +++ /dev/null @@ -1,5 +0,0 @@ -Following a deprecation period, ``is_typing_guard``, ``is_node_in_typing_guarded_import_block`` and -``is_node_in_guarded_import_block`` from ``pylint.utils`` were removed: use a combination of -``is_sys_guard`` and ``in_type_checking_block`` instead. - -Refs #8475 diff --git a/doc/whatsnew/fragments/8476.feature b/doc/whatsnew/fragments/8476.feature deleted file mode 100644 index 56c0be2019..0000000000 --- a/doc/whatsnew/fragments/8476.feature +++ /dev/null @@ -1,3 +0,0 @@ -Add Pyreverse option to exclude standalone nodes from diagrams with `--no-standalone`. - -Closes #8476 diff --git a/doc/whatsnew/fragments/8477.internal b/doc/whatsnew/fragments/8477.internal deleted file mode 100644 index d7b0435210..0000000000 --- a/doc/whatsnew/fragments/8477.internal +++ /dev/null @@ -1,4 +0,0 @@ -Following a deprecation period, the ``location`` argument of the -``Message`` class must now be a ``MessageLocationTuple``. - -Refs #8477 diff --git a/doc/whatsnew/fragments/8478.internal b/doc/whatsnew/fragments/8478.internal deleted file mode 100644 index b1b1585088..0000000000 --- a/doc/whatsnew/fragments/8478.internal +++ /dev/null @@ -1,4 +0,0 @@ -Following a deprecation period, the ``check_single_file`` function of the -``Pylinter`` is replaced by ``Pylinter.check_single_file_item``. - -Refs #8478 diff --git a/doc/whatsnew/fragments/8485.false_positive b/doc/whatsnew/fragments/8485.false_positive deleted file mode 100644 index 8eac08b953..0000000000 --- a/doc/whatsnew/fragments/8485.false_positive +++ /dev/null @@ -1,5 +0,0 @@ -``invalid-name`` now allows for integers in ``typealias`` names: -- now valid: ``Good2Name``, ``GoodName2``. -- still invalid: ``_1BadName``. - -Closes #8485 diff --git a/doc/whatsnew/fragments/8487.false_positive b/doc/whatsnew/fragments/8487.false_positive deleted file mode 100644 index 9ff5e3482f..0000000000 --- a/doc/whatsnew/fragments/8487.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -No longer consider ``Union`` as type annotation as type alias for naming checks. - -Closes #8487 diff --git a/doc/whatsnew/fragments/8496.false_positive b/doc/whatsnew/fragments/8496.false_positive deleted file mode 100644 index 3ea0fca6c0..0000000000 --- a/doc/whatsnew/fragments/8496.false_positive +++ /dev/null @@ -1,5 +0,0 @@ -``unnecessary-lambda`` no longer warns on lambdas which use its parameters in -their body (other than the final arguments), e.g. -``lambda foo: (bar if foo else baz)(foo)``. - -Closes #8496 diff --git a/doc/whatsnew/fragments/8500.false_positive b/doc/whatsnew/fragments/8500.false_positive deleted file mode 100644 index ced61766ae..0000000000 --- a/doc/whatsnew/fragments/8500.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fixed `unused-import` so that it observes the `dummy-variables-rgx` option. - -Closes #8500 diff --git a/doc/whatsnew/fragments/8504.bugfix b/doc/whatsnew/fragments/8504.bugfix deleted file mode 100644 index 2b54ac7b65..0000000000 --- a/doc/whatsnew/fragments/8504.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix a crash in pyreverse when "/" characters are used in the output filename e.g pyreverse -o png -p name/ path/to/project. - -Closes #8504 diff --git a/doc/whatsnew/fragments/8522.bugfix b/doc/whatsnew/fragments/8522.bugfix deleted file mode 100644 index 2bfc88ee5f..0000000000 --- a/doc/whatsnew/fragments/8522.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Don't show arrows more than once in Pyreverse diagrams. - -Closes #8522 diff --git a/doc/whatsnew/fragments/8536.false_negative b/doc/whatsnew/fragments/8536.false_negative deleted file mode 100644 index 8b24bc96f7..0000000000 --- a/doc/whatsnew/fragments/8536.false_negative +++ /dev/null @@ -1,3 +0,0 @@ -`TypeAlias` variables defined in functions are now checked for `invalid-name` errors. - -Closes #8536 diff --git a/doc/whatsnew/fragments/8540.false_positive b/doc/whatsnew/fragments/8540.false_positive deleted file mode 100644 index 543913637d..0000000000 --- a/doc/whatsnew/fragments/8540.false_positive +++ /dev/null @@ -1,4 +0,0 @@ -`Union` typed variables without assignment are no longer treated as -`TypeAlias`. - -Closes #8540 diff --git a/doc/whatsnew/fragments/8552.false_positive b/doc/whatsnew/fragments/8552.false_positive deleted file mode 100644 index ea48314123..0000000000 --- a/doc/whatsnew/fragments/8552.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Allow parenthesized implicitly concatenated strings when `check-str-concat-over-line-jumps` is enabled. - -Closes #8552. diff --git a/doc/whatsnew/fragments/8555.false_positive b/doc/whatsnew/fragments/8555.false_positive deleted file mode 100644 index 157486b399..0000000000 --- a/doc/whatsnew/fragments/8555.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix false positive for ``positional-only-arguments-expected`` when a function contains both a positional-only parameter that has a default value, and ``**kwargs``. - -Closes #8555 diff --git a/doc/whatsnew/fragments/8558.new_check b/doc/whatsnew/fragments/8558.new_check deleted file mode 100644 index b5a8342f39..0000000000 --- a/doc/whatsnew/fragments/8558.new_check +++ /dev/null @@ -1,3 +0,0 @@ -Add a new checker ``kwarg-superseded-by-positional-arg`` to warn when a function is called with a keyword argument which shares a name with a positional-only parameter and the function contains a keyword variadic parameter dictionary. It may be surprising behaviour when the keyword argument is added to the keyword variadic parameter dictionary. - -Closes #8558 diff --git a/doc/whatsnew/fragments/8559.false_negative b/doc/whatsnew/fragments/8559.false_negative deleted file mode 100644 index 37c4151385..0000000000 --- a/doc/whatsnew/fragments/8559.false_negative +++ /dev/null @@ -1,3 +0,0 @@ -Fix false negative for ``no-value-for-parameter`` when a function, whose signature contains both a positional-only parameter ``name`` and also ``*kwargs``, is called with a keyword-argument for ``name``. - -Closes #8559 diff --git a/doc/whatsnew/fragments/8563.bugfix b/doc/whatsnew/fragments/8563.bugfix deleted file mode 100644 index ed1a7ba006..0000000000 --- a/doc/whatsnew/fragments/8563.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Improve output of ``consider-using-generator`` message for ``min()`` calls with ``default`` keyword. - -Closes #8563 diff --git a/doc/whatsnew/fragments/8570.false_positive b/doc/whatsnew/fragments/8570.false_positive deleted file mode 100644 index fec3a855e3..0000000000 --- a/doc/whatsnew/fragments/8570.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix false positive for ``keyword-arg-before-vararg`` when a positional-only parameter with a default value precedes ``*args``. - -Closes #8570 diff --git a/doc/whatsnew/fragments/8632.bugfix b/doc/whatsnew/fragments/8632.bugfix deleted file mode 100644 index c6f9c01bf6..0000000000 --- a/doc/whatsnew/fragments/8632.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -Fixed a crash when generating a configuration file: ``tomlkit.exceptions.TOMLKitError: Can't add a table to a dotted key`` -caused by tomlkit ``v0.11.8``. - -Closes #8632 diff --git a/doc/whatsnew/fragments/8660.extension b/doc/whatsnew/fragments/8660.extension deleted file mode 100644 index 2090d03ac1..0000000000 --- a/doc/whatsnew/fragments/8660.extension +++ /dev/null @@ -1,7 +0,0 @@ -Add new ``prefer-typing-namedtuple`` message to the ``CodeStyleChecker`` to suggest -rewriting calls to ``collections.namedtuple`` as classes inheriting from ``typing.NamedTuple`` -on Python 3.6+. - -Requires ``load-plugins=pylint.extensions.code_style`` and ``enable=prefer-typing-namedtuple`` to be raised. - -Closes #8660 diff --git a/doc/whatsnew/fragments/8667.false_negative b/doc/whatsnew/fragments/8667.false_negative deleted file mode 100644 index 3468a12648..0000000000 --- a/doc/whatsnew/fragments/8667.false_negative +++ /dev/null @@ -1,3 +0,0 @@ -Fix a false negative for ``too-many-arguments`` by considering positional-only and keyword-only parameters. - -Closes #8667 diff --git a/doc/whatsnew/fragments/8671.bugfix b/doc/whatsnew/fragments/8671.bugfix deleted file mode 100644 index 5177a567ba..0000000000 --- a/doc/whatsnew/fragments/8671.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix a line break error in Pyreverse dot output. - -Closes #8671 diff --git a/doc/whatsnew/fragments/8714.false_negative b/doc/whatsnew/fragments/8714.false_negative deleted file mode 100644 index eec67b204c..0000000000 --- a/doc/whatsnew/fragments/8714.false_negative +++ /dev/null @@ -1,6 +0,0 @@ -Emit ``assignment-from-no-return`` for calls to builtin methods like ``dict.update()``. -Calls to ``list.sort()`` now raise ``assignment-from-no-return`` -rather than ``assignment-from-none`` for consistency. - -Closes #8714 -Closes #8810 diff --git a/doc/whatsnew/fragments/8715.performance b/doc/whatsnew/fragments/8715.performance deleted file mode 100644 index 319af164d7..0000000000 --- a/doc/whatsnew/fragments/8715.performance +++ /dev/null @@ -1,3 +0,0 @@ -Exit immediately if all messages are disabled. - -Closes #8715 diff --git a/doc/whatsnew/fragments/8718.other b/doc/whatsnew/fragments/8718.other deleted file mode 100644 index 798d03676d..0000000000 --- a/doc/whatsnew/fragments/8718.other +++ /dev/null @@ -1,3 +0,0 @@ -Pylint now supports python 3.12. - -Refs #8718 diff --git a/doc/whatsnew/fragments/8753.bugfix b/doc/whatsnew/fragments/8753.bugfix deleted file mode 100644 index 7b0ba8cc78..0000000000 --- a/doc/whatsnew/fragments/8753.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix a false positive for ``method-hidden`` when using ``cached_property`` decorator. - -Closes #8753 diff --git a/doc/whatsnew/fragments/8760.other b/doc/whatsnew/fragments/8760.other deleted file mode 100644 index 7677084f25..0000000000 --- a/doc/whatsnew/fragments/8760.other +++ /dev/null @@ -1,3 +0,0 @@ -Add a CITATION.cff file to the root of the repository containing the necessary metadata to cite Pylint. - -Closes #8760 diff --git a/doc/whatsnew/fragments/8769.bugfix b/doc/whatsnew/fragments/8769.bugfix deleted file mode 100644 index a6535f1729..0000000000 --- a/doc/whatsnew/fragments/8769.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Dunder methods defined in lambda do not trigger ``unnecessary-dunder-call`` anymore, if they cannot be replaced by the non-dunder call. - -Closes #8769 diff --git a/doc/whatsnew/fragments/8789.other b/doc/whatsnew/fragments/8789.other deleted file mode 100644 index 8e3a266646..0000000000 --- a/doc/whatsnew/fragments/8789.other +++ /dev/null @@ -1,3 +0,0 @@ -Renamed the "unneeded-not" error into "unnecessary_negation" to be clearer. - -Closes #8789 diff --git a/doc/whatsnew/fragments/8862.breaking b/doc/whatsnew/fragments/8862.breaking deleted file mode 100644 index 1e1ecfbf31..0000000000 --- a/doc/whatsnew/fragments/8862.breaking +++ /dev/null @@ -1,4 +0,0 @@ -Following a deprecation period, ``pylint.config.PYLINTRC`` was removed. -Use the ``pylint.config.find_default_config_files`` generator instead. - -Closes #8862 diff --git a/doc/whatsnew/fragments/8888.bugfix b/doc/whatsnew/fragments/8888.bugfix deleted file mode 100644 index 7208a46493..0000000000 --- a/doc/whatsnew/fragments/8888.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Don't show duplicate type annotations in Pyreverse diagrams. - -Closes #8888 diff --git a/doc/whatsnew/fragments/8919.false_positive b/doc/whatsnew/fragments/8919.false_positive deleted file mode 100644 index 2e5972f3df..0000000000 --- a/doc/whatsnew/fragments/8919.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix false positive for ``arguments-differ`` when overriding `__init_subclass__`. - -Closes #8919 diff --git a/doc/whatsnew/fragments/8959.false_negative b/doc/whatsnew/fragments/8959.false_negative deleted file mode 100644 index 325421a70f..0000000000 --- a/doc/whatsnew/fragments/8959.false_negative +++ /dev/null @@ -1,3 +0,0 @@ -``consider-using-augmented-assign`` is now applied to dicts and lists as well. - -Closes #8959. diff --git a/doc/whatsnew/fragments/8973.user_action b/doc/whatsnew/fragments/8973.user_action deleted file mode 100644 index d70132fc45..0000000000 --- a/doc/whatsnew/fragments/8973.user_action +++ /dev/null @@ -1,3 +0,0 @@ -Package stats are now printed when running Pyreverse and a ``--verbose`` flag was added to get the original output with parsed modules. You might need to activate the verbose option if you want to keep the old output. - -Closes #8973 diff --git a/doc/whatsnew/fragments/9001.bugfix b/doc/whatsnew/fragments/9001.bugfix deleted file mode 100644 index d181e06a13..0000000000 --- a/doc/whatsnew/fragments/9001.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fixing inconsistent hashing issue in `BaseChecker` causing some reports not being exported. - -Closes #9001 diff --git a/doc/whatsnew/fragments/9014.bugfix b/doc/whatsnew/fragments/9014.bugfix deleted file mode 100644 index a461855e25..0000000000 --- a/doc/whatsnew/fragments/9014.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Don't add `Optional` to `|` annotations with `None` in Pyreverse diagrams. - -Closes #9014 diff --git a/doc/whatsnew/fragments/9036.false_positive b/doc/whatsnew/fragments/9036.false_positive deleted file mode 100644 index 91deaa2d4b..0000000000 --- a/doc/whatsnew/fragments/9036.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix a false positive for ``no-value-for-parameter`` when a staticmethod is called in a class body. - -Closes #9036 diff --git a/doc/whatsnew/fragments/9045.bugfix b/doc/whatsnew/fragments/9045.bugfix deleted file mode 100644 index c2a36f2e4a..0000000000 --- a/doc/whatsnew/fragments/9045.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Pyreverse doesn't show multiple class association arrows anymore, but only the strongest one. - -Refs #9045 diff --git a/doc/whatsnew/fragments/9059.bugfix b/doc/whatsnew/fragments/9059.bugfix deleted file mode 100644 index 89bd611e51..0000000000 --- a/doc/whatsnew/fragments/9059.bugfix +++ /dev/null @@ -1,5 +0,0 @@ -Prevented data loss in the linter stats for messages relating -to the linter itself (e.g. ``unknown-option-value``), fixing -problems with score, fail-on, etc. - -Closes #9059 diff --git a/doc/whatsnew/fragments/9074.bugfix b/doc/whatsnew/fragments/9074.bugfix deleted file mode 100644 index 16b3432fb7..0000000000 --- a/doc/whatsnew/fragments/9074.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix crash in refactoring checker when unary operand used with variable in for loop. - -Closes #9074 diff --git a/pylint/__pkginfo__.py b/pylint/__pkginfo__.py index 1d78827b0e..770c4710b2 100644 --- a/pylint/__pkginfo__.py +++ b/pylint/__pkginfo__.py @@ -9,7 +9,7 @@ from __future__ import annotations -__version__ = "3.0.0b0" +__version__ = "3.0.0" def get_numversion_from_version(v: str) -> tuple[int, int, int]: diff --git a/tbump.toml b/tbump.toml index 411ed5f74b..20083fcdb6 100644 --- a/tbump.toml +++ b/tbump.toml @@ -1,7 +1,7 @@ github_url = "https://github.com/pylint-dev/pylint" [version] -current = "3.0.0b0" +current = "3.0.0" regex = ''' ^(?P0|[1-9]\d*) \.