pylint-dev/pylint (pylint)
### [`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).
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» 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.1
->3.2.0
Release Notes
pylint-dev/pylint (pylint)
### [`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).Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» 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.