pylint-dev/pylint (pylint)
### [`v3.2.2`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.2.2)
[Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.2.1...v3.2.2)
## What's new in Pylint 3.2.2?
Release date: 2024-05-20
## False Positives Fixed
- Fix multiple false positives for generic class syntax added in Python 3.12 (PEP 695).
Closes [#9406](https://togithub.com/pylint-dev/pylint/issues/9406)
- Exclude context manager without cleanup from
`contextmanager-generator-missing-cleanup` checks.
Closes [#9625](https://togithub.com/pylint-dev/pylint/issues/9625)
### [`v3.2.1`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.2.1)
[Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.2.0...v3.2.1)
## What's new in Pylint 3.2.1?
Release date: 2024-05-18
## False Positives Fixed
- Exclude if/else branches containing terminating functions (e.g. `sys.exit()`)
from `possibly-used-before-assignment` checks.
Closes [#9627](https://togithub.com/pylint-dev/pylint/issues/9627)
- Don't emit `typevar-name-incorrect-variance` warnings for PEP 695 style TypeVars.
The variance is inferred automatically by the type checker.
Adding `_co` or `_contra` suffix can help to reason about TypeVar.
Refs [#9638](https://togithub.com/pylint-dev/pylint/issues/9638)
- Fix a false positive for `possibly-used-before-assignment` when using
`typing.assert_never()` (3.11+) to indicate exhaustiveness.
Closes [#9643](https://togithub.com/pylint-dev/pylint/issues/9643)
## Other Bug Fixes
- Fix a false negative for `--ignore-patterns` when the directory to be linted is specified using a dot(`.`) and all files are ignored instead of only the files whose name begin with a dot.
Closes [#9273](https://togithub.com/pylint-dev/pylint/issues/9273)
- Restore "errors / warnings by module" section to report output (with `-ry`).
Closes [#9145](https://togithub.com/pylint-dev/pylint/issues/9145)
- `trailing-comma-tuple` should now be correctly emitted when it was disabled globally
but enabled via local message control, after removal of an over-optimisation.
Refs [#9608](https://togithub.com/pylint-dev/pylint/issues/9608)
- Add `--prefer-stubs=yes` option to opt-in to the astroid 3.2 feature
that prefers `.pyi` stubs over same-named `.py` files. This has the
potential to reduce `no-member` errors but at the cost of more errors
such as `not-an-iterable` from function bodies appearing as `...`.
Defaults to `no`.
Closes [#9626](https://togithub.com/pylint-dev/pylint/issues/9626)
Closes [#9623](https://togithub.com/pylint-dev/pylint/issues/9623)
## Internal Changes
- Update astroid version to 3.2.1. This solves some reports of `RecursionError`
and also makes the *prefer .pyi stubs* feature in astroid 3.2.0 *opt-in*
with the aforementioned `--prefer-stubs=y` option.
Refs [#9139](https://togithub.com/pylint-dev/pylint/issues/9139)
### [`v3.2.0`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.2.0)
[Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.1.1...v3.2.0)
## What's new in Pylint 3.2.0?
Release date: 2024-05-14
Of note: a `github` reporter, two new checks (`possibly-used-before-assignment` and `contextmanager-generator-missing-cleanup`), performance improvements, and an `astroid` upgrade providing support for `@overload` and `.pyi` stubs.
## New Features
- Understand `six.PY2` and `six.PY3` for conditional imports.
Closes [#3501](https://togithub.com/pylint-dev/pylint/issues/3501)
- A new `github` reporter has been added. This reporter returns the output of `pylint` in a format that
Github can use to automatically annotate code. Use it with `pylint --output-format=github` on your Github Workflows.
Closes [#9443](https://togithub.com/pylint-dev/pylint/issues/9443).
## New Checks
- Add check `possibly-used-before-assignment` when relying on names after an `if/else`
switch when one branch failed to define the name, raise, or return.
Closes [#1727](https://togithub.com/pylint-dev/pylint/issues/1727)
- Checks for generators that use contextmanagers that don't handle cleanup properly.
Is meant to raise visibilty on the case that a generator is not fully exhausted and the contextmanager is not cleaned up properly.
A contextmanager must yield a non-constant value and not handle cleanup for GeneratorExit.
The using generator must attempt to use the yielded context value `with x() as y` and not just `with x()`.
Closes [#2832](https://togithub.com/pylint-dev/pylint/issues/2832)
## False Negatives Fixed
- If and Try nodes are now checked for useless return statements as well.
Closes [#9449](https://togithub.com/pylint-dev/pylint/issues/9449).
- Fix false negative for `property-with-parameters` in the case of parameters which are `positional-only`, `keyword-only`, `variadic positional` or `variadic keyword`.
Closes [#9584](https://togithub.com/pylint-dev/pylint/issues/9584)
## False Positives Fixed
- pylint now understands the `@overload` decorator return values better.
Closes [#4696](https://togithub.com/pylint-dev/pylint/issues/4696)
Refs [#9606](https://togithub.com/pylint-dev/pylint/issues/9606)
## Performance Improvements
- Ignored modules are now not checked at all, instead of being checked and then
ignored. This should speed up the analysis of large codebases which have
ignored modules.
Closes [#9442](https://togithub.com/pylint-dev/pylint/issues/9442)
- ImportChecker's logic has been modified to avoid context files when possible. This makes it possible
to cache module searches on astroid and reduce execution times.
Refs [#9310](https://togithub.com/pylint-dev/pylint/issues/9310).
- An internal check for `trailing-comma-tuple` being enabled for a file or not is now
done once per file instead of once for each token.
Refs [#9608](https://togithub.com/pylint-dev/pylint/issues/9608).
### [`v3.1.1`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.1.1)
[Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.1.0...v3.1.1)
## What's new in Pylint 3.1.1?
Release date: 2024-05-13
## False Positives Fixed
- Treat `attrs.define` and `attrs.frozen` as dataclass decorators in
`too-few-public-methods` check.
Closes [#9345](https://togithub.com/pylint-dev/pylint/issues/9345)
- Fix a false positive with `singledispatchmethod-function` when a method is decorated with both `functools.singledispatchmethod` and `staticmethod`.
Closes [#9531](https://togithub.com/pylint-dev/pylint/issues/9531)
- Fix a false positive for `consider-using-dict-items` when iterating using `keys()` and then deleting an item using the key as a lookup.
Closes [#9554](https://togithub.com/pylint-dev/pylint/issues/9554)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.1.0
->3.2.2
Release Notes
pylint-dev/pylint (pylint)
### [`v3.2.2`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.2.2) [Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.2.1...v3.2.2) ## What's new in Pylint 3.2.2? Release date: 2024-05-20 ## False Positives Fixed - Fix multiple false positives for generic class syntax added in Python 3.12 (PEP 695). Closes [#9406](https://togithub.com/pylint-dev/pylint/issues/9406) - Exclude context manager without cleanup from `contextmanager-generator-missing-cleanup` checks. Closes [#9625](https://togithub.com/pylint-dev/pylint/issues/9625) ### [`v3.2.1`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.2.1) [Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.2.0...v3.2.1) ## What's new in Pylint 3.2.1? Release date: 2024-05-18 ## False Positives Fixed - Exclude if/else branches containing terminating functions (e.g. `sys.exit()`) from `possibly-used-before-assignment` checks. Closes [#9627](https://togithub.com/pylint-dev/pylint/issues/9627) - Don't emit `typevar-name-incorrect-variance` warnings for PEP 695 style TypeVars. The variance is inferred automatically by the type checker. Adding `_co` or `_contra` suffix can help to reason about TypeVar. Refs [#9638](https://togithub.com/pylint-dev/pylint/issues/9638) - Fix a false positive for `possibly-used-before-assignment` when using `typing.assert_never()` (3.11+) to indicate exhaustiveness. Closes [#9643](https://togithub.com/pylint-dev/pylint/issues/9643) ## Other Bug Fixes - Fix a false negative for `--ignore-patterns` when the directory to be linted is specified using a dot(`.`) and all files are ignored instead of only the files whose name begin with a dot. Closes [#9273](https://togithub.com/pylint-dev/pylint/issues/9273) - Restore "errors / warnings by module" section to report output (with `-ry`). Closes [#9145](https://togithub.com/pylint-dev/pylint/issues/9145) - `trailing-comma-tuple` should now be correctly emitted when it was disabled globally but enabled via local message control, after removal of an over-optimisation. Refs [#9608](https://togithub.com/pylint-dev/pylint/issues/9608) - Add `--prefer-stubs=yes` option to opt-in to the astroid 3.2 feature that prefers `.pyi` stubs over same-named `.py` files. This has the potential to reduce `no-member` errors but at the cost of more errors such as `not-an-iterable` from function bodies appearing as `...`. Defaults to `no`. Closes [#9626](https://togithub.com/pylint-dev/pylint/issues/9626) Closes [#9623](https://togithub.com/pylint-dev/pylint/issues/9623) ## Internal Changes - Update astroid version to 3.2.1. This solves some reports of `RecursionError` and also makes the *prefer .pyi stubs* feature in astroid 3.2.0 *opt-in* with the aforementioned `--prefer-stubs=y` option. Refs [#9139](https://togithub.com/pylint-dev/pylint/issues/9139) ### [`v3.2.0`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.2.0) [Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.1.1...v3.2.0) ## What's new in Pylint 3.2.0? Release date: 2024-05-14 Of note: a `github` reporter, two new checks (`possibly-used-before-assignment` and `contextmanager-generator-missing-cleanup`), performance improvements, and an `astroid` upgrade providing support for `@overload` and `.pyi` stubs. ## New Features - Understand `six.PY2` and `six.PY3` for conditional imports. Closes [#3501](https://togithub.com/pylint-dev/pylint/issues/3501) - A new `github` reporter has been added. This reporter returns the output of `pylint` in a format that Github can use to automatically annotate code. Use it with `pylint --output-format=github` on your Github Workflows. Closes [#9443](https://togithub.com/pylint-dev/pylint/issues/9443). ## New Checks - Add check `possibly-used-before-assignment` when relying on names after an `if/else` switch when one branch failed to define the name, raise, or return. Closes [#1727](https://togithub.com/pylint-dev/pylint/issues/1727) - Checks for generators that use contextmanagers that don't handle cleanup properly. Is meant to raise visibilty on the case that a generator is not fully exhausted and the contextmanager is not cleaned up properly. A contextmanager must yield a non-constant value and not handle cleanup for GeneratorExit. The using generator must attempt to use the yielded context value `with x() as y` and not just `with x()`. Closes [#2832](https://togithub.com/pylint-dev/pylint/issues/2832) ## False Negatives Fixed - If and Try nodes are now checked for useless return statements as well. Closes [#9449](https://togithub.com/pylint-dev/pylint/issues/9449). - Fix false negative for `property-with-parameters` in the case of parameters which are `positional-only`, `keyword-only`, `variadic positional` or `variadic keyword`. Closes [#9584](https://togithub.com/pylint-dev/pylint/issues/9584) ## False Positives Fixed - pylint now understands the `@overload` decorator return values better. Closes [#4696](https://togithub.com/pylint-dev/pylint/issues/4696) Refs [#9606](https://togithub.com/pylint-dev/pylint/issues/9606) ## Performance Improvements - Ignored modules are now not checked at all, instead of being checked and then ignored. This should speed up the analysis of large codebases which have ignored modules. Closes [#9442](https://togithub.com/pylint-dev/pylint/issues/9442) - ImportChecker's logic has been modified to avoid context files when possible. This makes it possible to cache module searches on astroid and reduce execution times. Refs [#9310](https://togithub.com/pylint-dev/pylint/issues/9310). - An internal check for `trailing-comma-tuple` being enabled for a file or not is now done once per file instead of once for each token. Refs [#9608](https://togithub.com/pylint-dev/pylint/issues/9608). ### [`v3.1.1`](https://togithub.com/pylint-dev/pylint/releases/tag/v3.1.1) [Compare Source](https://togithub.com/pylint-dev/pylint/compare/v3.1.0...v3.1.1) ## What's new in Pylint 3.1.1? Release date: 2024-05-13 ## False Positives Fixed - Treat `attrs.define` and `attrs.frozen` as dataclass decorators in `too-few-public-methods` check. Closes [#9345](https://togithub.com/pylint-dev/pylint/issues/9345) - Fix a false positive with `singledispatchmethod-function` when a method is decorated with both `functools.singledispatchmethod` and `staticmethod`. Closes [#9531](https://togithub.com/pylint-dev/pylint/issues/9531) - Fix a false positive for `consider-using-dict-items` when iterating using `keys()` and then deleting an item using the key as a lookup. Closes [#9554](https://togithub.com/pylint-dev/pylint/issues/9554)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.