Closed renovate[bot] closed 1 month ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 94.59%. Comparing base (
20a7b4c
) to head (7f5d3a0
). Report is 1 commits behind head on master.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This PR contains the following updates:
3.2.0
->3.3.1
Release Notes
pylint-dev/pylint (pylint)
### [`v3.3.1`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.3.1) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.3.0...v3.3.1) ## What's new in Pylint 3.3.1? Release date: 2024-09-24 ## False Positives Fixed - Fix regression causing some f-strings to not be inferred as strings. Closes [#9947](https://redirect.github.com/pylint-dev/pylint/issues/9947) ### [`v3.3.0`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.3.0) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.7...v3.3.0) Release date: 2024-09-20 ## Changes requiring user actions - We migrated `symilar` to argparse, from getopt, so the error and help output changed (for the better). We exit with 2 instead of sometime 1, sometime 2. The error output is not captured by the runner anymore. It's not possible to use a value for the boolean options anymore (`--ignore-comments 1` should become `--ignore-comments`). Refs [#9731](https://redirect.github.com/pylint-dev/pylint/issues/9731) ## New Features - Add new `declare-non-slot` error which reports when a class has a `__slots__` member and a type hint on the class is not present in `__slots__`. Refs [#9499](https://redirect.github.com/pylint-dev/pylint/issues/9499) ## New Checks - Added `too-many-positional-arguments` to allow distinguishing the configuration for too many total arguments (with keyword-only params specified after `*`) from the configuration for too many positional-or-keyword or positional-only arguments. As part of evaluating whether this check makes sense for your project, ensure you adjust the value of `--max-positional-arguments`. Closes [#9099](https://redirect.github.com/pylint-dev/pylint/issues/9099) - Add `using-exception-group-in-unsupported-version` and `using-generic-type-syntax-in-unsupported-version` for uses of Python 3.11+ or 3.12+ features on lower supported versions provided with `--py-version`. Closes [#9791](https://redirect.github.com/pylint-dev/pylint/issues/9791) - Add `using-assignment-expression-in-unsupported-version` for uses of `:=` (walrus operator) on Python versions below 3.8 provided with `--py-version`. Closes [#9820](https://redirect.github.com/pylint-dev/pylint/issues/9820) - Add `using-positional-only-args-in-unsupported-version` for uses of positional-only args on Python versions below 3.8 provided with `--py-version`. Closes [#9823](https://redirect.github.com/pylint-dev/pylint/issues/9823) - Add `unnecessary-default-type-args` to the `typing` extension to detect the use of unnecessary default type args for `typing.Generator` and `typing.AsyncGenerator`. Refs [#9938](https://redirect.github.com/pylint-dev/pylint/issues/9938) ## False Negatives Fixed - Fix computation of never-returning function: `Never` is handled in addition to `NoReturn`, and priority is given to the explicit `--never-returning-functions` option. Closes [#7565](https://redirect.github.com/pylint-dev/pylint/issues/7565). - Fix a false negative for `await-outside-async` when await is inside Lambda. Refs [#9653](https://redirect.github.com/pylint-dev/pylint/issues/9653) - Fix a false negative for `duplicate-argument-name` by including `positional-only`, `*args` and `**kwargs` arguments in the check. Closes [#9669](https://redirect.github.com/pylint-dev/pylint/issues/9669) - Fix false negative for `multiple-statements` when multiple statements are present on `else` and `finally` lines of `try`. Refs [#9759](https://redirect.github.com/pylint-dev/pylint/issues/9759) - Fix false negatives when `isinstance` does not have exactly two arguments. pylint now emits a `too-many-function-args` or `no-value-for-parameter` appropriately for `isinstance` calls. Closes [#9847](https://redirect.github.com/pylint-dev/pylint/issues/9847) ## Other Bug Fixes - `--enable` with `--disable=all` now produces an error, when an unknown msg code is used. Internal `pylint` messages are no longer affected by `--disable=all`. Closes [#9403](https://redirect.github.com/pylint-dev/pylint/issues/9403) - Impossible to compile regexes for paths in the configuration or argument given to pylint won't crash anymore but raise an argparse error and display the error message from `re.compile` instead. Closes [#9680](https://redirect.github.com/pylint-dev/pylint/issues/9680) - Fix a bug where a `tox.ini` file with pylint configuration was ignored and it exists in the current directory. `.cfg` and `.ini` files containing a `Pylint` configuration may now use a section named `[pylint]`. This enhancement impacts the scenario where these file types are used as defaults when they are present and have not been explicitly referred to, using the `--rcfile` option. Closes [#9727](https://redirect.github.com/pylint-dev/pylint/issues/9727) - Improve file discovery for directories that are not python packages. Closes [#9764](https://redirect.github.com/pylint-dev/pylint/issues/9764) ## Other Changes - Remove support for launching pylint with Python 3.8. Code that supports Python 3.8 can still be linted with the `--py-version=3.8` setting. Refs [#9774](https://redirect.github.com/pylint-dev/pylint/issues/9774) - Add support for Python 3.13. Refs [#9852](https://redirect.github.com/pylint-dev/pylint/issues/9852) ## Internal Changes - All variables, classes, functions and file names containing the word 'similar', when it was, in fact, referring to 'symilar' (the standalone program for the duplicate-code check) were renamed to 'symilar'. Closes [#9734](https://redirect.github.com/pylint-dev/pylint/issues/9734) - Remove old-style classes (Python 2) code and remove check for new-style class since everything is new-style in Python 3. Updated doc for exception checker to remove reference to new style class. Refs [#9925](https://redirect.github.com/pylint-dev/pylint/issues/9925) ### [`v3.2.7`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.7) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.6...v3.2.7) ## What's new in Pylint 3.2.7? Release date: 2024-08-31 ## False Positives Fixed - Fixed a false positive `unreachable` for `NoReturn` coroutine functions. Closes [#9840](https://redirect.github.com/pylint-dev/pylint/issues/9840) ## Other Bug Fixes - Fix crash in refactoring checker when calling a lambda bound as a method. Closes [#9865](https://redirect.github.com/pylint-dev/pylint/issues/9865) - Fix a crash in `undefined-loop-variable` when providing the `iterable` argument to `enumerate()`. Closes [#9875](https://redirect.github.com/pylint-dev/pylint/issues/9875) - Fix to address indeterminacy of error message in case a module name is same as another in a separate namespace. Refs [#9883](https://redirect.github.com/pylint-dev/pylint/issues/9883) ### [`v3.2.6`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.6) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.5...v3.2.6) ## What's new in Pylint 3.2.6? Release date: 2024-07-21 ## False Positives Fixed - Quiet false positives for `unexpected-keyword-arg` when pylint cannot determine which of two or more dynamically defined classes is being instantiated. Closes [#9672](https://redirect.github.com/pylint-dev/pylint/issues/9672) - Fix a false positive for `missing-param-doc` where a method which is decorated with `typing.overload` was expected to have a docstring specifying its parameters. Closes [#9739](https://redirect.github.com/pylint-dev/pylint/issues/9739) - Fix a regression that raised `invalid-name` on class attributes merely overriding invalid names from an ancestor. Closes [#9765](https://redirect.github.com/pylint-dev/pylint/issues/9765) - Treat `assert_never()` the same way when imported from `typing_extensions`. Closes [#9780](https://redirect.github.com/pylint-dev/pylint/issues/9780) - Fix a false positive for `consider-using-min-max-builtin` when the assignment target is an attribute. Refs [#9800](https://redirect.github.com/pylint-dev/pylint/issues/9800) ## Other Bug Fixes - Fix an `AssertionError` arising from properties that return partial functions. Closes [#9214](https://redirect.github.com/pylint-dev/pylint/issues/9214) - Fix a crash when a subclass extends `__slots__`. Closes [#9814](https://redirect.github.com/pylint-dev/pylint/issues/9814) ### [`v3.2.5`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.5) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.4...v3.2.5) ## What's new in Pylint 3.2.5 ? Release date: 2024-06-28 ## Other Bug Fixes - Fixed a false positive `unreachable-code` when using `typing.Any` as return type in python 3.8, the `typing.NoReturn` are not taken into account anymore for python 3.8 however. Closes [#9751](https://redirect.github.com/pylint-dev/pylint/issues/9751) ### [`v3.2.4`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.4) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.3...v3.2.4) ## What's new in Pylint 3.2.4? Release date: 2024-06-26 ## False Positives Fixed - Prevent emitting `possibly-used-before-assignment` when relying on names only potentially not defined in conditional blocks guarded by functions annotated with `typing.Never` or `typing.NoReturn`. Closes [#9674](https://redirect.github.com/pylint-dev/pylint/issues/9674) ## Other Bug Fixes - Fixed a crash when the lineno of a variable used as an annotation wasn't available for `undefined-variable`. Closes [#8866](https://redirect.github.com/pylint-dev/pylint/issues/8866) - Fixed a crash when the `start` value in an `enumerate` was non-constant and impossible to infer (like in`enumerate(apples, start=int(random_apple_index)`) for `unnecessary-list-index-lookup`. Closes [#9078](https://redirect.github.com/pylint-dev/pylint/issues/9078) - Fixed a crash in `symilar` when the `-d` or `-i` short option were not properly recognized. It's still impossible to do `-d=1` (you must do `-d 1`). Closes [#9343](https://redirect.github.com/pylint-dev/pylint/issues/9343) ### [`v3.2.3`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.3) [Compare Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.2...v3.2.3) ## False Positives Fixed - Classes with only an Ellipsis (`...`) in their body do not trigger 'multiple-statements' anymore if they are inlined (in accordance with black's 2024 style). Closes [#9398](https://redirect.github.com/pylint-dev/pylint/issues/9398) - Fix a false positive for `redefined-outer-name` when there is a name defined in an exception-handling block which shares the same name as a local variable that has been defined in a function body. Closes [#9671](https://redirect.github.com/pylint-dev/pylint/issues/9671) - Fix a false positive for `use-yield-from` when using the return value from the `yield` atom. Closes [#9696](https://redirect.github.com/pylint-dev/pylint/issues/9696) ### [`v3.2.2`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.2) [Compare Source](https://redirect.github.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://redirect.github.com/pylint-dev/pylint/issues/9406) - Exclude context manager without cleanup from `contextmanager-generator-missing-cleanup` checks. Closes [#9625](https://redirect.github.com/pylint-dev/pylint/issues/9625) ### [`v3.2.1`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.1) [Compare Source](https://redirect.github.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://redirect.github.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://redirect.github.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://redirect.github.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://redirect.github.com/pylint-dev/pylint/issues/9273) - Restore "errors / warnings by module" section to report output (with `-ry`). Closes [#9145](https://redirect.github.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://redirect.github.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://redirect.github.com/pylint-dev/pylint/issues/9626) Closes [#9623](https://redirect.github.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://redirect.github.com/pylint-dev/pylint/issues/9139)Configuration
📅 Schedule: Branch creation - "before 4am" in timezone America/Chicago, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.