Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions doc/whatsnew/3/3.3/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,45 @@ Summary -- Release highlights

.. towncrier release notes start

What's new in Pylint 3.3.9?
---------------------------
Release date: 2025-10-05


False Positives Fixed
---------------------

- Fix used-before-assignment for PEP 695 type aliases and parameters.

Closes #9815 (`#9815 <https://github.com/pylint-dev/pylint/issues/9815>`_)

- No longer flag undeprecated functions in ``importlib.resources`` as deprecated.

Closes #10593 (`#10593 <https://github.com/pylint-dev/pylint/issues/10593>`_)



Other Bug Fixes
---------------

- Fix false positive ``inconsistent-return-statements`` when using ``quit()`` or ``exit()`` functions.

Closes #10508 (`#10508 <https://github.com/pylint-dev/pylint/issues/10508>`_)

- Fixed crash in 'unnecessary-list-index-lookup' when starting an enumeration using
minus the length of an iterable inside a dict comprehension when the len call was only
made in this dict comprehension, and not elsewhere. Also changed the approach,
to use inference in all cases but the simple ones, so we don't have to fix crashes
one by one for arbitrarily complex expressions in enumerate.

Closes #10510 (`#10510 <https://github.com/pylint-dev/pylint/issues/10510>`_)

- Fix false positive ``undefined-variable`` (E0602) for for-loop variable shadowing patterns like ``for item in item:`` when the variable was previously defined.

Closes #10562 (`#10562 <https://github.com/pylint-dev/pylint/issues/10562>`_)



What's new in Pylint 3.3.8?
---------------------------
Release date: 2025-08-09
Expand Down
3 changes: 0 additions & 3 deletions doc/whatsnew/fragments/10508.bugfix

This file was deleted.

7 changes: 0 additions & 7 deletions doc/whatsnew/fragments/10510.bugfix

This file was deleted.

3 changes: 0 additions & 3 deletions doc/whatsnew/fragments/10562.bugfix

This file was deleted.

3 changes: 0 additions & 3 deletions doc/whatsnew/fragments/10593.false_positive

This file was deleted.

3 changes: 0 additions & 3 deletions doc/whatsnew/fragments/9815.false_positive

This file was deleted.

8 changes: 4 additions & 4 deletions examples/pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -436,9 +436,9 @@ disable=raw-checker-failed,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
use-implicit-booleaness-not-comparison-to-string,
use-implicit-booleaness-not-comparison-to-zero,
use-symbolic-message-instead
use-implicit-booleaness-not-comparison-to-zero

# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
Expand Down Expand Up @@ -531,8 +531,8 @@ min-similarity-lines=4
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4

# Spelling dictionary name. Available dictionaries: en (aspell), en_AU
# (aspell), en_CA (aspell), en_GB (aspell), en_US (aspell).
# Spelling dictionary name. No available dictionaries : You need to install
# both the python package and the system dependency for enchant to work.
spelling-dict=

# List of comma separated words that should be considered directives if they
Expand Down
6 changes: 3 additions & 3 deletions examples/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -381,9 +381,9 @@ disable = [
"suppressed-message",
"useless-suppression",
"deprecated-pragma",
"use-symbolic-message-instead",
"use-implicit-booleaness-not-comparison-to-string",
"use-implicit-booleaness-not-comparison-to-zero",
"use-symbolic-message-instead",
]

# Enable the message, report, category or checker with the given id(s). You can
Expand Down Expand Up @@ -470,8 +470,8 @@ min-similarity-lines = 4
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions = 4

# Spelling dictionary name. Available dictionaries: en (aspell), en_AU (aspell),
# en_CA (aspell), en_GB (aspell), en_US (aspell).
# Spelling dictionary name. No available dictionaries : You need to install both
# the python package and the system dependency for enchant to work.
# spelling-dict =

# List of comma separated words that should be considered directives if they
Expand Down
2 changes: 1 addition & 1 deletion pylint/__pkginfo__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from __future__ import annotations

__version__ = "3.3.8"
__version__ = "3.3.9"


def get_numversion_from_version(v: str) -> tuple[int, int, int]:
Expand Down
3 changes: 2 additions & 1 deletion script/.contributors_aliases.json
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,8 @@
"66853113+pre-commit-ci[bot]@users.noreply.github.com",
"49699333+dependabot[bot]@users.noreply.github.com",
"212256041+pylint-backport-bot[bot]@users.noreply.github.com",
"41898282+github-actions[bot]@users.noreply.github.com"
"41898282+github-actions[bot]@users.noreply.github.com",
"212256041+pylint-backport[bot]@users.noreply.github.com"
],
"name": "bot"
},
Expand Down
2 changes: 1 addition & 1 deletion tbump.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
github_url = "https://github.com/pylint-dev/pylint"

[version]
current = "3.3.8"
current = "3.3.9"
regex = '''
^(?P<major>0|[1-9]\d*)
\.
Expand Down
2 changes: 1 addition & 1 deletion towncrier.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tool.towncrier]
version = "3.3.8"
version = "3.3.9"
directory = "doc/whatsnew/fragments"
filename = "doc/whatsnew/3/3.3/index.rst"
template = "doc/whatsnew/fragments/_template.rst"
Expand Down
Loading