diff options
author | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2023-03-07 22:57:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-07 22:57:04 +0100 |
commit | ee2e63519b15683d8c93626695c97936eb956ebf (patch) | |
tree | f390f30ae273f8dd4c1829e32e079a18ab71ceba | |
parent | ca2549708acd3ede6621c56477b1c0333eb62254 (diff) | |
download | pylint-git-ee2e63519b15683d8c93626695c97936eb956ebf.tar.gz |
Bump pylint to 2.17.0, update changelog (#8395)
38 files changed, 228 insertions, 120 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 47e3c05c5..59af3e059 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -19,8 +19,8 @@ Maintainers - Jacob Walls <jacobtylerwalls@gmail.com> - Hippo91 <guillaume.peillex@gmail.com> - Mark Byrne <31762852+mbyrnepr2@users.noreply.github.com> -- Matus Valo <matusvalo@users.noreply.github.com> - Andreas Finkler <3929834+DudeNr33@users.noreply.github.com> +- Matus Valo <matusvalo@users.noreply.github.com> - Dani Alcala <112832187+clavedeluna@users.noreply.github.com> - Łukasz Rogalski <rogalski.91@gmail.com> - Ashley Whetter <ashley@awhetter.co.uk> @@ -99,6 +99,7 @@ contributors: - Cezar Elnazli <cezar.elnazli2@gmail.com>: deprecated-method - Joseph Young <80432516+jpy-git@users.noreply.github.com> (jpy-git) - Tim Martin <tim@asymptotic.co.uk> +- Ollie <46904826+ollie-iterators@users.noreply.github.com> - Tushar Sadhwani <tushar.sadhwani000@gmail.com> (tusharsadhwani) - Nicolas Chauvat <nicolas.chauvat@logilab.fr> - orSolocate <38433858+orSolocate@users.noreply.github.com> @@ -120,6 +121,8 @@ contributors: - David Liu <david@cs.toronto.edu> (david-yz-liu) - Dan Goldsmith <djgoldsmith@googlemail.com>: support for msg-template in HTML reporter. - Buck Evan <buck.2019@gmail.com> +- Zen Lee <53538590+zenlyj@users.noreply.github.com> +- Robert Hofer <hofrob@protonmail.com> - Mariatta Wijaya <Mariatta@users.noreply.github.com> * Added new check `logging-fstring-interpolation` * Documentation typo fixes @@ -166,9 +169,9 @@ contributors: - Andreas Freimuth <andreas.freimuth@united-bits.de>: fix indentation checking with tabs - Alexandru Coman <fcoman@bitdefender.com> - jpkotta <jpkotta@gmail.com> -- Zen Lee <53538590+zenlyj@users.noreply.github.com> - Takahide Nojima <nozzy123nozzy@gmail.com> - Taewon D. Kim <kimt33@mcmaster.ca> +- Stavros Ntentos <133706+stdedos@users.noreply.github.com> - Sneaky Pete <sneakypete81@gmail.com> - Sergey B Kirpichev <skirpichev@gmail.com> - Sandro Tosi <sandro.tosi@gmail.com>: Debian packaging @@ -189,6 +192,7 @@ contributors: - Marcus Näslund <naslundx@gmail.com> (naslundx) - Marco Pernigotti <7657251+mpernigo@users.noreply.github.com> - Marco Forte <fortemarco.irl@gmail.com> +- James Addison <55152140+jayaddison@users.noreply.github.com> - Ionel Maries Cristian <contact@ionelmc.ro> - Gergely Kalmár <gergely.kalmar@logikal.jp> - Damien Baty <damien.baty@polyconseil.fr> @@ -196,7 +200,9 @@ contributors: - Anubhav <35621759+anubh-v@users.noreply.github.com> - Antonio Quarta <sgheppy88@gmail.com> - Andrew J. Simmons <anjsimmo@gmail.com> +- Alexey Pelykh <alexey.pelykh@gmail.com> - wtracy <afishionado@gmail.com> +- jessebrennan <jesse@jesse.computer> - chohner <mail@chohner.com> - Tiago Honorato <61059243+tiagohonorato@users.noreply.github.com> - Steven M. Vascellaro <svascellaro@gmail.com> @@ -242,7 +248,6 @@ contributors: - Tyler Thieding <tyler@thieding.com> - Tobias Hernstig <30827238+thernstig@users.noreply.github.com> - Thomas Grainger <tagrain@gmail.com> -- Stavros Ntentos <133706+stdedos@users.noreply.github.com> - Smixi <sismixx@hotmail.fr> - Simu Toni <simutoni@gmail.com> - Sergei Lebedev <185856+superbobry@users.noreply.github.com> @@ -272,7 +277,6 @@ 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> @@ -286,6 +290,7 @@ contributors: - Elias Dorneles <eliasdorneles@gmail.com>: minor adjust to config defaults and docs - Derek Harland <derek.harland@finq.co.nz> - David Pursehouse <david.pursehouse@gmail.com> +- Dave Bunten <dave.bunten@cuanschutz.edu> - Daniel Mouritzen <dmrtzn@gmail.com> - Daniel Miller <millerdev@gmail.com> - Christoph Blessing <33834216+cblessing24@users.noreply.github.com> @@ -359,6 +364,7 @@ contributors: * Added --list-msgs-enabled command - Tomer Chachamu <tomer.chachamu@gmail.com>: simplifiable-if-expression - Tomasz Magulski <tomasz@magullab.io> +- Tom <tsarantis@proton.me> - Tim Hatch <tim@timhatch.com> - Tim Gates <tim.gates@iress.com> - Thomas Benhamou <thomas@lightricks.com> @@ -385,13 +391,13 @@ contributors: - Ruro <ruro.ruro@ya.ru> - Roman Ivanov <me@roivanov.com> - Robert Schweizer <robert_schweizer@gmx.de> -- Robert Hofer <hofrob@protonmail.com> - Reverb Chu <reverbc@users.noreply.github.com> - Renat Galimov <renat2017@gmail.com> - Rebecca Turner <rbt@sent.as> (9999years) - Randall Leeds <randall@bleeds.info> - Ramon Saraiva <ramonsaraiva@gmail.com> - Ramiro Leal-Cavazos <ramiroleal050@gmail.com> (ramiro050): Fixed bug preventing pylint from working with Emacs tramp +- R. N. West <98110034+rnwst@users.noreply.github.com> - Qwiddle13 <32040075+Qwiddle13@users.noreply.github.com> - Quentin Young <qlyoung@users.noreply.github.com> - Prajwal Borkar <sunnyborkar7777@gmail.com> @@ -506,7 +512,6 @@ 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> @@ -551,6 +556,7 @@ contributors: - Andrzej Klajnert <github@aklajnert.pl> - Andrew Howe <howeaj@users.noreply.github.com> - Andres Perez Hortal <andresperezcba@gmail.com> +- Andre Hora <andrehora@users.noreply.github.com> - Alok Singh <8325708+alok@users.noreply.github.com> - Allan Chandler <95424144+allanc65@users.noreply.github.com> (allanc65) * Fixed issue 5452, false positive missing-param-doc for multi-line Google-style params diff --git a/doc/user_guide/checkers/features.rst b/doc/user_guide/checkers/features.rst index ee6d0e22e..9a7c8a4ff 100644 --- a/doc/user_guide/checkers/features.rst +++ b/doc/user_guide/checkers/features.rst @@ -324,6 +324,9 @@ Classes checker Messages Used when an instance attribute is defined outside the __init__ method. :subclassed-final-class (W0240): *Class %r is a subclass of a class decorated with typing.final: %r* Used when a class decorated with typing.final has been subclassed. +:implicit-flag-alias (W0213): *Flag member %(overlap)s shares bit positions with %(sources)s* + Used when multiple integer values declared within an enum.IntFlag class share + a common bit position. :abstract-method (W0223): *Method %r is abstract in class %r but is not overridden in child class %r* Used when an abstract method (i.e. raise NotImplementedError) is not overridden in concrete class. @@ -742,9 +745,9 @@ Verbatim name of the checker is ``nonascii-checker``. Nonascii-Checker checker Messages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :non-ascii-file-name (W2402): *%s name "%s" contains a non-ASCII character.* - Under python 3.5, PEP 3131 only allows non-ascii identifiers, not file - names.Since Python 3.5, even though Python supports UTF-8 files, some editors - or tools don't. + Under python 3.5, PEP 3131 allows non-ascii identifiers, but not non-ascii + file names.Since Python 3.5, even though Python supports UTF-8 files, some + editors or tools don't. :non-ascii-name (C2401): *%s name "%s" contains a non-ASCII character, consider renaming it.* Used when the name contains at least one non-ASCII unicode character. See https://peps.python.org/pep-0672/#confusing-features for a background why @@ -1264,9 +1267,8 @@ Unicode Checker checker Messages :invalid-unicode-codec (E2501): *UTF-16 and UTF-32 aren't backward compatible. Use UTF-8 instead* For compatibility use UTF-8 instead of UTF-16/UTF-32. See also https://bugs.python.org/issue1503789 for a history of this issue. And - https://softwareengineering.stackexchange.com/questions/102205/should- - utf-16-be-considered-harmful for some possible problems when using UTF-16 for - instance. + https://softwareengineering.stackexchange.com/questions/102205/ for some + possible problems when using UTF-16 for instance. :bad-file-encoding (C2503): *PEP8 recommends UTF-8 as encoding for Python files* PEP8 recommends UTF-8 default encoding for Python files. See https://peps.python.org/pep-0008/#source-file-encoding diff --git a/doc/user_guide/configuration/all-options.rst b/doc/user_guide/configuration/all-options.rst index 21c58a057..13d67c280 100644 --- a/doc/user_guide/configuration/all-options.rst +++ b/doc/user_guide/configuration/all-options.rst @@ -499,6 +499,13 @@ Standard Checkers **Default:** ``('abc.abstractproperty',)`` +--typealias-rgx +""""""""""""""" +*Regular expression matching correct type alias names. If left empty, type alias names will be checked with the set naming style.* + +**Default:** ``None`` + + --typevar-rgx """"""""""""" *Regular expression matching correct type variable names. If left empty, type variable names will be checked with the set naming style.* @@ -589,6 +596,8 @@ Standard Checkers property-classes = ["abc.abstractproperty"] + # typealias-rgx = + # typevar-rgx = variable-naming-style = "snake_case" @@ -624,7 +633,7 @@ Standard Checkers """"""""""""""""""" *List of member names, which should be excluded from the protected access warning.* -**Default:** ``('_asdict', '_fields', '_replace', '_source', '_make')`` +**Default:** ``('_asdict', '_fields', '_replace', '_source', '_make', 'os._exit')`` --valid-classmethod-first-arg @@ -656,7 +665,7 @@ Standard Checkers defining-attr-methods = ["__init__", "__new__", "setUp", "__post_init__"] - exclude-protected = ["_asdict", "_fields", "_replace", "_source", "_make"] + exclude-protected = ["_asdict", "_fields", "_replace", "_source", "_make", "os._exit"] valid-classmethod-first-arg = ["cls"] diff --git a/doc/user_guide/messages/messages_overview.rst b/doc/user_guide/messages/messages_overview.rst index a1962f8e0..167802ae2 100644 --- a/doc/user_guide/messages/messages_overview.rst +++ b/doc/user_guide/messages/messages_overview.rst @@ -252,6 +252,7 @@ All messages in the warning category: warning/global-statement warning/global-variable-not-assigned warning/global-variable-undefined + warning/implicit-flag-alias warning/implicit-str-concat warning/import-self warning/inconsistent-quotes diff --git a/doc/whatsnew/2/2.17/index.rst b/doc/whatsnew/2/2.17/index.rst index 393fb86de..3197bc7c7 100644 --- a/doc/whatsnew/2/2.17/index.rst +++ b/doc/whatsnew/2/2.17/index.rst @@ -12,3 +12,168 @@ Summary -- Release highlights ============================= .. towncrier release notes start + +What's new in Pylint 2.17.0? +---------------------------- +Release date: 2023-03-07 + + +New Features +------------ + +- `pyreverse` now supports custom color palettes with the `--color-palette` + option. + + Closes #6738 (`#6738 <https://github.com/PyCQA/pylint/issues/6738>`_) + +- Add ``invalid-name`` check for ``TypeAlias`` names. + + Closes #7081. (`#7081 <https://github.com/PyCQA/pylint/issues/7081>`_) + +- Accept values of the form ``<class name>.<attribute name>`` for the + ``exclude-protected`` list. + + Closes #7343 (`#7343 <https://github.com/PyCQA/pylint/issues/7343>`_) + +- Add `--version` option to `pyreverse`. + + Refs #7851 (`#7851 <https://github.com/PyCQA/pylint/issues/7851>`_) + +- Adds new functionality with preferred-modules configuration to detect + submodules. + + Refs #7957 (`#7957 <https://github.com/PyCQA/pylint/issues/7957>`_) + +- Support implicit namespace packages (PEP 420). + + Closes #8154 (`#8154 <https://github.com/PyCQA/pylint/issues/8154>`_) + +- Add globbing pattern support for ``--source-roots``. + + Closes #8290 (`#8290 <https://github.com/PyCQA/pylint/issues/8290>`_) + +- Support globbing pattern when defining which file/directory/module to lint. + + Closes #8310 (`#8310 <https://github.com/PyCQA/pylint/issues/8310>`_) + +- pylint now supports ``TryStar`` nodes from Python 3.11 and should be fully + compatible with Python 3.11. + + Closes #8387 (`#8387 <https://github.com/PyCQA/pylint/issues/8387>`_) + + + +New Checks +---------- + +- Add a ``bad-chained-comparison`` check that emits a warning when + there is a chained comparison where one expression is semantically + incompatible with the other. + + Closes #6559 (`#6559 <https://github.com/PyCQA/pylint/issues/6559>`_) + +- Adds an ``implicit-flag-alias`` check that emits a warning when a class + derived from ``enum.IntFlag`` assigns distinct integer values that share + common bit positions. + + Refs #8102 (`#8102 <https://github.com/PyCQA/pylint/issues/8102>`_) + + + +False Positives Fixed +--------------------- + +- Fix various false positives for functions that return directly from + structural pattern matching cases. + + Closes #5288 (`#5288 <https://github.com/PyCQA/pylint/issues/5288>`_) + +- Fix false positive for ``used-before-assignment`` when + ``typing.TYPE_CHECKING`` is used with if/elif/else blocks. + + Closes #7574 (`#7574 <https://github.com/PyCQA/pylint/issues/7574>`_) + +- Fix false positive for isinstance-second-argument-not-valid-type with union + types. + + Closes #8205 (`#8205 <https://github.com/PyCQA/pylint/issues/8205>`_) + +- Fix false positive for ``used-before-assignment`` for named expressions + appearing after the first element in a list, tuple, or set. + + Closes #8252 (`#8252 <https://github.com/PyCQA/pylint/issues/8252>`_) + +- Fix false positive for ``wrong-spelling-in-comment`` with class names in a + python 2 type comment. + + Closes #8370 (`#8370 <https://github.com/PyCQA/pylint/issues/8370>`_) + + + +False Negatives Fixed +--------------------- + +- Fix a false negative for 'missing-parentheses-for-call-in-test' when + inference + failed for the internal of the call as we did not need that information to + raise + correctly. + + Refs #8185 (`#8185 <https://github.com/PyCQA/pylint/issues/8185>`_) + +- Fix false negative for inconsistent-returns with while-loops. + + Closes #8280 (`#8280 <https://github.com/PyCQA/pylint/issues/8280>`_) + + + +Other Bug Fixes +--------------- + +- Fix ``used-before-assignment`` false positive when the walrus operator + is used with a ternary operator in dictionary key/value initialization. + + Closes #8125 (`#8125 <https://github.com/PyCQA/pylint/issues/8125>`_) + +- Fix ``no-name-in-module`` false positive raised when a package defines a + variable with the + same name as one of its submodules. + + Closes #8148 (`#8148 <https://github.com/PyCQA/pylint/issues/8148>`_) + +- Fix a crash happening for python interpreter < 3.9 following a failed typing + update. + + Closes #8161 (`#8161 <https://github.com/PyCQA/pylint/issues/8161>`_) + +- Fix ``nested-min-max`` suggestion message to indicate it's possible to splat + iterable objects. + + Closes #8168 (`#8168 <https://github.com/PyCQA/pylint/issues/8168>`_) + +- Fix a crash happening when a class attribute was negated in the start + argument of an enumerate. + + Closes #8207 (`#8207 <https://github.com/PyCQA/pylint/issues/8207>`_) + +- Prevent emitting ``invalid-name`` for the line on which a ``global`` + statement is declared. + + Closes #8307 (`#8307 <https://github.com/PyCQA/pylint/issues/8307>`_) + + + +Other Changes +------------- + +- Update explanation for ``global-variable-not-assigned`` and add confidence. + + Closes #5073 (`#5073 <https://github.com/PyCQA/pylint/issues/5073>`_) + +- The governance model and the path to become a maintainer have been documented + as + part of our effort to guarantee that the software supply chain in which + pylint is + included is secure. + + Refs #8329 (`#8329 <https://github.com/PyCQA/pylint/issues/8329>`_) diff --git a/doc/whatsnew/fragments/5073.other b/doc/whatsnew/fragments/5073.other deleted file mode 100644 index 610bda9fb..000000000 --- a/doc/whatsnew/fragments/5073.other +++ /dev/null @@ -1,3 +0,0 @@ -Update explanation for ``global-variable-not-assigned`` and add confidence. - -Closes #5073 diff --git a/doc/whatsnew/fragments/5288.false_positive b/doc/whatsnew/fragments/5288.false_positive deleted file mode 100644 index bdc696622..000000000 --- a/doc/whatsnew/fragments/5288.false_positive +++ /dev/null @@ -1,4 +0,0 @@ -Fix various false positives for functions that return directly from -structural pattern matching cases. - -Closes #5288 diff --git a/doc/whatsnew/fragments/6559.new_check b/doc/whatsnew/fragments/6559.new_check deleted file mode 100644 index fa4f146e3..000000000 --- a/doc/whatsnew/fragments/6559.new_check +++ /dev/null @@ -1,4 +0,0 @@ -Add a ``bad-chained-comparison`` check that emits a warning when -there is a chained comparison where one expression is semantically incompatible with the other. - -Closes #6559 diff --git a/doc/whatsnew/fragments/6738.feature b/doc/whatsnew/fragments/6738.feature deleted file mode 100644 index d6895df36..000000000 --- a/doc/whatsnew/fragments/6738.feature +++ /dev/null @@ -1,3 +0,0 @@ -`pyreverse` now supports custom color palettes with the `--color-palette` option. - -Closes #6738 diff --git a/doc/whatsnew/fragments/7081.feature b/doc/whatsnew/fragments/7081.feature deleted file mode 100644 index 07e3a236e..000000000 --- a/doc/whatsnew/fragments/7081.feature +++ /dev/null @@ -1,3 +0,0 @@ -Add ``invalid-name`` check for ``TypeAlias`` names. - -Closes #7081. diff --git a/doc/whatsnew/fragments/7343.feature b/doc/whatsnew/fragments/7343.feature deleted file mode 100644 index 2e9fa83c1..000000000 --- a/doc/whatsnew/fragments/7343.feature +++ /dev/null @@ -1,3 +0,0 @@ -Accept values of the form ``<class name>.<attribute name>`` for the ``exclude-protected`` list. - -Closes #7343 diff --git a/doc/whatsnew/fragments/7574.false_positive b/doc/whatsnew/fragments/7574.false_positive deleted file mode 100644 index a7b91b481..000000000 --- a/doc/whatsnew/fragments/7574.false_positive +++ /dev/null @@ -1,4 +0,0 @@ -Fix false positive for ``used-before-assignment`` when -``typing.TYPE_CHECKING`` is used with if/elif/else blocks. - -Closes #7574 diff --git a/doc/whatsnew/fragments/7851.feature b/doc/whatsnew/fragments/7851.feature deleted file mode 100644 index 36860ae12..000000000 --- a/doc/whatsnew/fragments/7851.feature +++ /dev/null @@ -1,3 +0,0 @@ -Add `--version` option to `pyreverse`. - -Refs #7851 diff --git a/doc/whatsnew/fragments/7957.feature b/doc/whatsnew/fragments/7957.feature deleted file mode 100644 index 325f61d13..000000000 --- a/doc/whatsnew/fragments/7957.feature +++ /dev/null @@ -1,3 +0,0 @@ -Adds new functionality with preferred-modules configuration to detect submodules. - -Refs #7957 diff --git a/doc/whatsnew/fragments/8102.new_check b/doc/whatsnew/fragments/8102.new_check deleted file mode 100644 index 0bffd4add..000000000 --- a/doc/whatsnew/fragments/8102.new_check +++ /dev/null @@ -1,5 +0,0 @@ -Adds an ``implicit-flag-alias`` check that emits a warning when a class -derived from ``enum.IntFlag`` assigns distinct integer values that share -common bit positions. - -Refs #8102 diff --git a/doc/whatsnew/fragments/8125.bugfix b/doc/whatsnew/fragments/8125.bugfix deleted file mode 100644 index bb7860f92..000000000 --- a/doc/whatsnew/fragments/8125.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -Fix ``used-before-assignment`` false positive when the walrus operator -is used with a ternary operator in dictionary key/value initialization. - -Closes #8125 diff --git a/doc/whatsnew/fragments/8148.bugfix b/doc/whatsnew/fragments/8148.bugfix deleted file mode 100644 index de3c8ab57..000000000 --- a/doc/whatsnew/fragments/8148.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -Fix ``no-name-in-module`` false positive raised when a package defines a variable with the -same name as one of its submodules. - -Closes #8148 diff --git a/doc/whatsnew/fragments/8154.feature b/doc/whatsnew/fragments/8154.feature deleted file mode 100644 index 9c46a1c8d..000000000 --- a/doc/whatsnew/fragments/8154.feature +++ /dev/null @@ -1,3 +0,0 @@ -Support implicit namespace packages (PEP 420). - -Closes #8154 diff --git a/doc/whatsnew/fragments/8161.bugfix b/doc/whatsnew/fragments/8161.bugfix deleted file mode 100644 index 957099180..000000000 --- a/doc/whatsnew/fragments/8161.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix a crash happening for python interpreter < 3.9 following a failed typing update. - -Closes #8161 diff --git a/doc/whatsnew/fragments/8168.bugfix b/doc/whatsnew/fragments/8168.bugfix deleted file mode 100644 index dd846b734..000000000 --- a/doc/whatsnew/fragments/8168.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix ``nested-min-max`` suggestion message to indicate it's possible to splat iterable objects. - -Closes #8168 diff --git a/doc/whatsnew/fragments/8185.false_negative b/doc/whatsnew/fragments/8185.false_negative deleted file mode 100644 index 4d2f878cd..000000000 --- a/doc/whatsnew/fragments/8185.false_negative +++ /dev/null @@ -1,5 +0,0 @@ -Fix a false negative for 'missing-parentheses-for-call-in-test' when inference -failed for the internal of the call as we did not need that information to raise -correctly. - -Refs #8185 diff --git a/doc/whatsnew/fragments/8205.false_positive b/doc/whatsnew/fragments/8205.false_positive deleted file mode 100644 index 6bf596592..000000000 --- a/doc/whatsnew/fragments/8205.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix false positive for isinstance-second-argument-not-valid-type with union types. - -Closes #8205 diff --git a/doc/whatsnew/fragments/8207.bugfix b/doc/whatsnew/fragments/8207.bugfix deleted file mode 100644 index fc7001b0c..000000000 --- a/doc/whatsnew/fragments/8207.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Fix a crash happening when a class attribute was negated in the start argument of an enumerate. - -Closes #8207 diff --git a/doc/whatsnew/fragments/8252.false_positive b/doc/whatsnew/fragments/8252.false_positive deleted file mode 100644 index 2c449ac36..000000000 --- a/doc/whatsnew/fragments/8252.false_positive +++ /dev/null @@ -1,4 +0,0 @@ -Fix false positive for ``used-before-assignment`` for named expressions -appearing after the first element in a list, tuple, or set. - -Closes #8252 diff --git a/doc/whatsnew/fragments/8280.false_negative b/doc/whatsnew/fragments/8280.false_negative deleted file mode 100644 index 848b71d7c..000000000 --- a/doc/whatsnew/fragments/8280.false_negative +++ /dev/null @@ -1,3 +0,0 @@ -Fix false negative for inconsistent-returns with while-loops. - -Closes #8280 diff --git a/doc/whatsnew/fragments/8290.feature b/doc/whatsnew/fragments/8290.feature deleted file mode 100644 index 1099518d8..000000000 --- a/doc/whatsnew/fragments/8290.feature +++ /dev/null @@ -1,3 +0,0 @@ -Add globbing pattern support for ``--source-roots``. - -Closes #8290 diff --git a/doc/whatsnew/fragments/8307.bugfix b/doc/whatsnew/fragments/8307.bugfix deleted file mode 100644 index f86f7b67b..000000000 --- a/doc/whatsnew/fragments/8307.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -Prevent emitting ``invalid-name`` for the line on which a ``global`` statement is declared. - -Closes #8307 diff --git a/doc/whatsnew/fragments/8310.feature b/doc/whatsnew/fragments/8310.feature deleted file mode 100644 index a835be097..000000000 --- a/doc/whatsnew/fragments/8310.feature +++ /dev/null @@ -1,3 +0,0 @@ -Support globbing pattern when defining which file/directory/module to lint. - -Closes #8310 diff --git a/doc/whatsnew/fragments/8329.other b/doc/whatsnew/fragments/8329.other deleted file mode 100644 index 1c22feacd..000000000 --- a/doc/whatsnew/fragments/8329.other +++ /dev/null @@ -1,5 +0,0 @@ -The governance model and the path to become a maintainer have been documented as -part of our effort to guarantee that the software supply chain in which pylint is -included is secure. - -Refs #8329 diff --git a/doc/whatsnew/fragments/8370.false_positive b/doc/whatsnew/fragments/8370.false_positive deleted file mode 100644 index a641ecbbf..000000000 --- a/doc/whatsnew/fragments/8370.false_positive +++ /dev/null @@ -1,3 +0,0 @@ -Fix false positive for ``wrong-spelling-in-comment`` with class names in a python 2 type comment. - -Closes #8370 diff --git a/doc/whatsnew/fragments/8387.feature b/doc/whatsnew/fragments/8387.feature deleted file mode 100644 index 2b4df0001..000000000 --- a/doc/whatsnew/fragments/8387.feature +++ /dev/null @@ -1,3 +0,0 @@ -pylint now supports ``TryStar`` nodes from Python 3.11 and should be fully compatible with Python 3.11. - -Closes #8387 diff --git a/examples/pylintrc b/examples/pylintrc index 879c1d4f1..70c5ff87c 100644 --- a/examples/pylintrc +++ b/examples/pylintrc @@ -90,14 +90,15 @@ persistent=yes # the version used to run pylint. py-version=3.10 -# Add paths to the list of the source roots. The source root is an absolute -# path or a path relative to the current working directory used to -# determine a package namespace for modules located under the source root. -source-roots=src,tests - # Discover python modules and packages in the file system subtree. recursive=no +# Add paths to the list of the source roots. Supports globbing patterns. The +# source root is an absolute path or a path relative to the current working +# directory used to determine a package namespace for modules located under the +# source root. +source-roots= + # When enabled, pylint would attempt to guess common misconfiguration and emit # user-friendly hints instead of false-positive error messages. suggestion-mode=yes @@ -233,6 +234,10 @@ no-docstring-rgx=^_ # These decorators are taken in consideration only for invalid-name. property-classes=abc.abstractproperty +# Regular expression matching correct type alias names. If left empty, type +# alias names will be checked with the set naming style. +#typealias-rgx= + # Regular expression matching correct type variable names. If left empty, type # variable names will be checked with the set naming style. #typevar-rgx= @@ -259,11 +264,7 @@ defining-attr-methods=__init__, # List of member names, which should be excluded from the protected access # warning. -exclude-protected=_asdict, - _fields, - _replace, - _source, - _make +exclude-protected=_asdict,_fields,_replace,_source,_make,os._exit # List of valid names for the first argument in a class method. valid-classmethod-first-arg=cls diff --git a/examples/pyproject.toml b/examples/pyproject.toml index 71490d860..1608d2cbb 100644 --- a/examples/pyproject.toml +++ b/examples/pyproject.toml @@ -83,6 +83,12 @@ py-version = "3.10" # Discover python modules and packages in the file system subtree. # recursive = +# Add paths to the list of the source roots. Supports globbing patterns. The +# source root is an absolute path or a path relative to the current working +# directory used to determine a package namespace for modules located under the +# source root. +# source-roots = + # When enabled, pylint would attempt to guess common misconfiguration and emit # user-friendly hints instead of false-positive error messages. suggestion-mode = true @@ -200,6 +206,10 @@ no-docstring-rgx = "^_" # decorators are taken in consideration only for invalid-name. property-classes = ["abc.abstractproperty"] +# Regular expression matching correct type alias names. If left empty, type alias +# names will be checked with the set naming style. +# typealias-rgx = + # Regular expression matching correct type variable names. If left empty, type # variable names will be checked with the set naming style. # typevar-rgx = @@ -220,7 +230,7 @@ defining-attr-methods = ["__init__", "__new__", "setUp", "__post_init__"] # List of member names, which should be excluded from the protected access # warning. -exclude-protected = ["_asdict", "_fields", "_replace", "_source", "_make"] +exclude-protected = ["_asdict", "_fields", "_replace", "_source", "_make", "os._exit"] # List of valid names for the first argument in a class method. valid-classmethod-first-arg = ["cls"] diff --git a/pylint/__pkginfo__.py b/pylint/__pkginfo__.py index 587dcadcb..4a6eb6090 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.17.0-dev0" +__version__ = "2.17.0" def get_numversion_from_version(v: str) -> tuple[int, int, int]: diff --git a/pylint/checkers/refactoring/refactoring_checker.py b/pylint/checkers/refactoring/refactoring_checker.py index 26877ccdb..b0a87b4c9 100644 --- a/pylint/checkers/refactoring/refactoring_checker.py +++ b/pylint/checkers/refactoring/refactoring_checker.py @@ -460,7 +460,7 @@ class RefactoringChecker(checkers.BaseTokenChecker): "R1732": ( "Consider using 'with' for resource-allocating operations", "consider-using-with", - "Emitted if a resource-allocating assignment or call may be replaced by a 'with' block." + "Emitted if a resource-allocating assignment or call may be replaced by a 'with' block. " "By using 'with' the release of the allocated resources is ensured even in the case " "of an exception.", ), diff --git a/pylint/checkers/unicode.py b/pylint/checkers/unicode.py index 3e2bccfa5..c7e011b6f 100644 --- a/pylint/checkers/unicode.py +++ b/pylint/checkers/unicode.py @@ -330,7 +330,7 @@ class UnicodeChecker(checkers.BaseRawFileChecker): "For compatibility use UTF-8 instead of UTF-16/UTF-32. " "See also https://bugs.python.org/issue1503789 for a history " "of this issue. And " - "https://softwareengineering.stackexchange.com/questions/102205/" + "https://softwareengineering.stackexchange.com/questions/102205/ " "for some possible problems when using UTF-16 for instance." ), ), diff --git a/script/.contributors_aliases.json b/script/.contributors_aliases.json index 64a8ca377..7a3c4e04b 100644 --- a/script/.contributors_aliases.json +++ b/script/.contributors_aliases.json @@ -345,6 +345,10 @@ "mails": ["daniel.werner@scalableminds.com"], "name": "Daniel Werner" }, + "dave.bunten@cuanschutz.edu": { + "mails": ["dave.bunten@cuanschutz.edu", "ekgto445@gmail.com"], + "name": "Dave Bunten" + }, "david.douard@sdfa3.org": { "mails": ["david.douard@sdfa3.org", "david.douard@logilab.fr"], "name": "David Douard" @@ -506,7 +510,7 @@ "name": "Steven Myint" }, "hofrob@protonmail.com": { - "mails": ["hofrob@protonmail.com"], + "mails": ["hofrob@protonmail.com", "1058012+hofrob@users.noreply.github.com"], "name": "Robert Hofer" }, "hugovk@users.noreply.github.com": { diff --git a/tbump.toml b/tbump.toml index d59587858..a00de0224 100644 --- a/tbump.toml +++ b/tbump.toml @@ -1,7 +1,7 @@ github_url = "https://github.com/PyCQA/pylint" [version] -current = "2.17.0-dev0" +current = "2.17.0" regex = ''' ^(?P<major>0|[1-9]\d*) \. |