Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
Release Notes
actions/checkout (actions/checkout)
### [`v4.1.4`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v414)
[Compare Source](https://togithub.com/actions/checkout/compare/v4.1.3...v4.1.4)
- Disable `extensions.worktreeConfig` when disabling `sparse-checkout` by [@jww3](https://togithub.com/jww3) in [https://github.com/actions/checkout/pull/1692](https://togithub.com/actions/checkout/pull/1692)
- Add dependabot config by [@cory-miller](https://togithub.com/cory-miller) in [https://github.com/actions/checkout/pull/1688](https://togithub.com/actions/checkout/pull/1688)
- Bump the minor-actions-dependencies group with 2 updates by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/checkout/pull/1693](https://togithub.com/actions/checkout/pull/1693)
- Bump word-wrap from 1.2.3 to 1.2.5 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/checkout/pull/1643](https://togithub.com/actions/checkout/pull/1643)
### [`v4.1.3`](https://togithub.com/actions/checkout/releases/tag/v4.1.3)
[Compare Source](https://togithub.com/actions/checkout/compare/v4.1.2...v4.1.3)
#### What's Changed
- Update `actions/checkout` version in `update-main-version.yml` by [@jww3](https://togithub.com/jww3) in [https://github.com/actions/checkout/pull/1650](https://togithub.com/actions/checkout/pull/1650)
- Check git version before attempting to disable `sparse-checkout` by [@jww3](https://togithub.com/jww3) in [https://github.com/actions/checkout/pull/1656](https://togithub.com/actions/checkout/pull/1656)
- Add SSH user parameter by [@cory-miller](https://togithub.com/cory-miller) in [https://github.com/actions/checkout/pull/1685](https://togithub.com/actions/checkout/pull/1685)
**Full Changelog**: https://github.com/actions/checkout/compare/v4.1.2...v4.1.3
### [`v4.1.2`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v412)
[Compare Source](https://togithub.com/actions/checkout/compare/v4.1.1...v4.1.2)
- Fix: Disable sparse checkout whenever `sparse-checkout` option is not present [@dscho](https://togithub.com/dscho) in [https://github.com/actions/checkout/pull/1598](https://togithub.com/actions/checkout/pull/1598)
psf/black (black)
### [`v24.4.2`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2442)
[Compare Source](https://togithub.com/psf/black/compare/24.4.1...24.4.2)
This is a bugfix release to fix two regressions in the new f-string parser introduced in
24.4.1.
##### Parser
- Fix regression where certain complex f-strings failed to parse ([#4332](https://togithub.com/psf/black/issues/4332))
##### Performance
- Fix bad performance on certain complex string literals ([#4331](https://togithub.com/psf/black/issues/4331))
### [`v24.4.1`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2441)
[Compare Source](https://togithub.com/psf/black/compare/24.4.0...24.4.1)
##### Highlights
- Add support for the new Python 3.12 f-string syntax introduced by PEP 701 ([#3822](https://togithub.com/psf/black/issues/3822))
##### Stable style
- Fix crash involving indented dummy functions containing newlines ([#4318](https://togithub.com/psf/black/issues/4318))
##### Parser
- Add support for type parameter defaults, a new syntactic feature added to Python 3.13
by PEP 696 ([#4327](https://togithub.com/psf/black/issues/4327))
##### Integrations
- Github Action now works even when `git archive` is skipped ([#4313](https://togithub.com/psf/black/issues/4313))
charliermarsh/ruff-pre-commit (charliermarsh/ruff-pre-commit)
### [`v0.4.2`](https://togithub.com/astral-sh/ruff-pre-commit/releases/tag/v0.4.2)
[Compare Source](https://togithub.com/charliermarsh/ruff-pre-commit/compare/v0.4.1...v0.4.2)
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.2
### [`v0.4.1`](https://togithub.com/astral-sh/ruff-pre-commit/releases/tag/v0.4.1)
[Compare Source](https://togithub.com/charliermarsh/ruff-pre-commit/compare/v0.4.0...v0.4.1)
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.1
### [`v0.4.0`](https://togithub.com/astral-sh/ruff-pre-commit/releases/tag/v0.4.0)
[Compare Source](https://togithub.com/charliermarsh/ruff-pre-commit/compare/v0.3.7...v0.4.0)
See: https://github.com/astral-sh/ruff/releases/tag/v0.4.0
python/mypy (mypy)
### [`v1.10.0`](https://togithub.com/python/mypy/compare/1.9.0...v1.10.0)
[Compare Source](https://togithub.com/python/mypy/compare/1.9.0...v1.10.0)
pre-commit/pre-commit (pre-commit)
### [`v3.7.0`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#370---2024-03-24)
[Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.6.2...v3.7.0)
\==================
##### Features
- Use a tty for `docker` and `docker_image` hooks when `--color` is specified.
- [#3122](https://togithub.com/pre-commit/pre-commit/issues/3122) PR by [@glehmann](https://togithub.com/glehmann).
##### Fixes
- Fix `fail_fast` for individual hooks stopping when previous hooks had failed.
- [#3167](https://togithub.com/pre-commit/pre-commit/issues/3167) issue by [@tp832944](https://togithub.com/tp832944).
- [#3168](https://togithub.com/pre-commit/pre-commit/issues/3168) PR by [@asottile](https://togithub.com/asottile).
##### Updating
- The per-hook behaviour of `fail_fast` was fixed. If you want the pre-3.7.0
behaviour, add `fail_fast: true` to all hooks before the last `fail_fast`
hook.
### [`v3.6.2`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#362---2024-02-18)
[Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.6.1...v3.6.2)
\==================
##### Fixes
- Fix building golang hooks during `git commit --all`.
- [#3130](https://togithub.com/pre-commit/pre-commit/issues/3130) PR by [@asottile](https://togithub.com/asottile).
- [#2722](https://togithub.com/pre-commit/pre-commit/issues/2722) issue by [@pestanko](https://togithub.com/pestanko) and [@matthewhughes934](https://togithub.com/matthewhughes934).
### [`v3.6.1`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#361---2024-02-10)
[Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.6.0...v3.6.1)
\==================
##### Fixes
- Remove `PYTHONEXECUTABLE` from environment when running.
- [#3110](https://togithub.com/pre-commit/pre-commit/issues/3110) PR by [@untitaker](https://togithub.com/untitaker).
- Handle staged-files-only with only a crlf diff.
- [#3126](https://togithub.com/pre-commit/pre-commit/issues/3126) PR by [@asottile](https://togithub.com/asottile).
- issue by [@tyyrok](https://togithub.com/tyyrok).
### [`v3.6.0`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#360---2023-12-09)
[Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.5.0...v3.6.0)
\==================
##### Features
- Check `minimum_pre_commit_version` first when parsing configs.
- [#3092](https://togithub.com/pre-commit/pre-commit/issues/3092) PR by [@asottile](https://togithub.com/asottile).
##### Fixes
- Fix deprecation warnings for `importlib.resources`.
- [#3043](https://togithub.com/pre-commit/pre-commit/issues/3043) PR by [@asottile](https://togithub.com/asottile).
- Fix deprecation warnings for rmtree.
- [#3079](https://togithub.com/pre-commit/pre-commit/issues/3079) PR by [@edgarrmondragon](https://togithub.com/edgarrmondragon).
##### Updating
- Drop support for python<3.9.
- [#3042](https://togithub.com/pre-commit/pre-commit/issues/3042) PR by [@asottile](https://togithub.com/asottile).
- [#3093](https://togithub.com/pre-commit/pre-commit/issues/3093) PR by [@asottile](https://togithub.com/asottile).
astral-sh/ruff (ruff)
### [`v0.4.2`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#042)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.1...v0.4.2)
##### Rule changes
- \[`flake8-pyi`] Allow for overloaded `__exit__` and `__aexit__` definitions (`PYI036`) ([#11057](https://togithub.com/astral-sh/ruff/pull/11057))
- \[`pyupgrade`] Catch usages of `"%s" % var` and provide an unsafe fix (`UP031`) ([#11019](https://togithub.com/astral-sh/ruff/pull/11019))
- \[`refurb`] Implement new rule that suggests min/max over `sorted()` (`FURB192`) ([#10868](https://togithub.com/astral-sh/ruff/pull/10868))
##### Server
- Fix an issue with missing diagnostics for Neovim and Helix ([#11092](https://togithub.com/astral-sh/ruff/pull/11092))
- Implement hover documentation for `noqa` codes ([#11096](https://togithub.com/astral-sh/ruff/pull/11096))
- Introduce common Ruff configuration options with new server settings ([#11062](https://togithub.com/astral-sh/ruff/pull/11062))
##### Bug fixes
- Use `macos-12` for building release wheels to enable macOS 11 compatibility ([#11146](https://togithub.com/astral-sh/ruff/pull/11146))
- \[`flake8-blind-expect`] Allow raise from in `BLE001` ([#11131](https://togithub.com/astral-sh/ruff/pull/11131))
- \[`flake8-pyi`] Allow simple assignments to `None` in enum class scopes (`PYI026`) ([#11128](https://togithub.com/astral-sh/ruff/pull/11128))
- \[`flake8-simplify`] Avoid raising `SIM911` for non-`zip` attribute calls ([#11126](https://togithub.com/astral-sh/ruff/pull/11126))
- \[`refurb`] Avoid `operator.itemgetter` suggestion for single-item tuple ([#11095](https://togithub.com/astral-sh/ruff/pull/11095))
- \[`ruff`] Respect per-file-ignores for `RUF100` with no other diagnostics ([#11058](https://togithub.com/astral-sh/ruff/pull/11058))
- \[`ruff`] Fix async comprehension false positive (`RUF029`) ([#11070](https://togithub.com/astral-sh/ruff/pull/11070))
##### Documentation
- \[`flake8-bugbear`] Document explicitly disabling strict zip (`B905`) ([#11040](https://togithub.com/astral-sh/ruff/pull/11040))
- \[`flake8-type-checking`] Mention `lint.typing-modules` in `TCH001`, `TCH002`, and `TCH003` ([#11144](https://togithub.com/astral-sh/ruff/pull/11144))
- \[`isort`] Improve documentation around custom `isort` sections ([#11050](https://togithub.com/astral-sh/ruff/pull/11050))
- \[`pylint`] Fix documentation oversight for `invalid-X-returns` ([#11094](https://togithub.com/astral-sh/ruff/pull/11094))
##### Performance
- Use `matchit` to resolve per-file settings ([#11111](https://togithub.com/astral-sh/ruff/pull/11111))
### [`v0.4.1`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#041)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.0...v0.4.1)
##### Preview features
- \[`pylint`] Implement `invalid-hash-returned` (`PLE0309`) ([#10961](https://togithub.com/astral-sh/ruff/pull/10961))
- \[`pylint`] Implement `invalid-index-returned` (`PLE0305`) ([#10962](https://togithub.com/astral-sh/ruff/pull/10962))
##### Bug fixes
- \[`pylint`] Allow `NoReturn`-like functions for `__str__`, `__len__`, etc. (`PLE0307`) ([#11017](https://togithub.com/astral-sh/ruff/pull/11017))
- Parser: Use empty range when there's "gap" in token source ([#11032](https://togithub.com/astral-sh/ruff/pull/11032))
- \[`ruff`] Ignore stub functions in `unused-async` (`RUF029`) ([#11026](https://togithub.com/astral-sh/ruff/pull/11026))
- Parser: Expect indented case block instead of match stmt ([#11033](https://togithub.com/astral-sh/ruff/pull/11033))
### [`v0.4.0`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#040)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.3.7...v0.4.0)
##### A new, hand-written parser
Ruff's new parser is **>2x faster**, which translates to a **20-40% speedup** for all linting and formatting invocations.
There's a lot to say about this exciting change, so check out the [blog post](https://astral.sh/blog/ruff-v0.4.0) for more details!
See [#10036](https://togithub.com/astral-sh/ruff/pull/10036) for implementation details.
##### A new language server in Rust
With this release, we also want to highlight our new language server. `ruff server` is a Rust-powered language
server that comes built-in with Ruff. It can be used with any editor that supports the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP).
It uses a multi-threaded, lock-free architecture inspired by `rust-analyzer` and it will open the door for a lot
of exciting features. It’s also faster than our previous [Python-based language server](https://togithub.com/astral-sh/ruff-lsp)
\-- but you probably guessed that already.
`ruff server` is only in alpha, but it has a lot of features that you can try out today:
- Lints Python files automatically and shows quick-fixes when available
- Formats Python files, with support for range formatting
- Comes with commands for quickly performing actions: `ruff.applyAutofix`, `ruff.applyFormat`, and `ruff.applyOrganizeImports`
- Supports `source.fixAll` and `source.organizeImports` source actions
- Automatically reloads your project configuration when you change it
To setup `ruff server` with your editor, refer to the [README.md](https://togithub.com/astral-sh/ruff/blob/main/crates/ruff_server/README.md).
##### Preview features
- \[`pycodestyle`] Do not trigger `E3` rules on `def`s following a function/method with a dummy body ([#10704](https://togithub.com/astral-sh/ruff/pull/10704))
- \[`pylint`] Implement `invalid-bytes-returned` (`E0308`) ([#10959](https://togithub.com/astral-sh/ruff/pull/10959))
- \[`pylint`] Implement `invalid-length-returned` (`E0303`) ([#10963](https://togithub.com/astral-sh/ruff/pull/10963))
- \[`pylint`] Implement `self-cls-assignment` (`W0642`) ([#9267](https://togithub.com/astral-sh/ruff/pull/9267))
- \[`pylint`] Omit stubs from `invalid-bool` and `invalid-str-return-type` ([#11008](https://togithub.com/astral-sh/ruff/pull/11008))
- \[`ruff`] New rule `unused-async` (`RUF029`) to detect unneeded `async` keywords on functions ([#9966](https://togithub.com/astral-sh/ruff/pull/9966))
##### Rule changes
- \[`flake8-bandit`] Allow `urllib.request.urlopen` calls with static `Request` argument (`S310`) ([#10964](https://togithub.com/astral-sh/ruff/pull/10964))
- \[`flake8-bugbear`] Treat `raise NotImplemented`-only bodies as stub functions (`B006`) ([#10990](https://togithub.com/astral-sh/ruff/pull/10990))
- \[`flake8-slots`] Respect same-file `Enum` subclasses (`SLOT000`) ([#11006](https://togithub.com/astral-sh/ruff/pull/11006))
- \[`pylint`] Support inverted comparisons (`PLR1730`) ([#10920](https://togithub.com/astral-sh/ruff/pull/10920))
##### Linter
- Improve handling of builtin symbols in linter rules ([#10919](https://togithub.com/astral-sh/ruff/pull/10919))
- Improve display of rules in `--show-settings` ([#11003](https://togithub.com/astral-sh/ruff/pull/11003))
- Improve inference capabilities of the `BuiltinTypeChecker` ([#10976](https://togithub.com/astral-sh/ruff/pull/10976))
- Resolve classes and functions relative to script name ([#10965](https://togithub.com/astral-sh/ruff/pull/10965))
- Improve performance of `RuleTable::any_enabled` ([#10971](https://togithub.com/astral-sh/ruff/pull/10971))
##### Server
*This section is devoted to updates for our new language server, written in Rust.*
- Enable ruff-specific source actions ([#10916](https://togithub.com/astral-sh/ruff/pull/10916))
- Refreshes diagnostics for open files when file configuration is changed ([#10988](https://togithub.com/astral-sh/ruff/pull/10988))
- Important errors are now shown as popups ([#10951](https://togithub.com/astral-sh/ruff/pull/10951))
- Introduce settings for directly configuring the linter and formatter ([#10984](https://togithub.com/astral-sh/ruff/pull/10984))
- Resolve configuration for each document individually ([#10950](https://togithub.com/astral-sh/ruff/pull/10950))
- Write a setup guide for Neovim ([#10987](https://togithub.com/astral-sh/ruff/pull/10987))
##### Configuration
- Add `RUFF_OUTPUT_FILE` environment variable support ([#10992](https://togithub.com/astral-sh/ruff/pull/10992))
##### Bug fixes
- Avoid `non-augmented-assignment` for reversed, non-commutative operators (`PLR6104`) ([#10909](https://togithub.com/astral-sh/ruff/pull/10909))
- Limit commutative non-augmented-assignments to primitive data types (`PLR6104`) ([#10912](https://togithub.com/astral-sh/ruff/pull/10912))
- Respect `per-file-ignores` for `RUF100` on blanket `# noqa` ([#10908](https://togithub.com/astral-sh/ruff/pull/10908))
- Consider `if` expression for parenthesized with items parsing ([#11010](https://togithub.com/astral-sh/ruff/pull/11010))
- Consider binary expr for parenthesized with items parsing ([#11012](https://togithub.com/astral-sh/ruff/pull/11012))
- Reset `FOR_TARGET` context for all kinds of parentheses ([#11009](https://togithub.com/astral-sh/ruff/pull/11009))
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] 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:
v4.1.1
->v4.1.4
^24.4.0
->^24.4.2
v0.3.7
->v0.4.2
^1.9.0
->^1.10.0
^3.5.0
->^3.7.0
24.4.0
->24.4.2
^0.3.7
->^0.4.2
Note: The
pre-commit
manager in Renovate is not supported by thepre-commit
maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.Release Notes
actions/checkout (actions/checkout)
### [`v4.1.4`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v414) [Compare Source](https://togithub.com/actions/checkout/compare/v4.1.3...v4.1.4) - Disable `extensions.worktreeConfig` when disabling `sparse-checkout` by [@jww3](https://togithub.com/jww3) in [https://github.com/actions/checkout/pull/1692](https://togithub.com/actions/checkout/pull/1692) - Add dependabot config by [@cory-miller](https://togithub.com/cory-miller) in [https://github.com/actions/checkout/pull/1688](https://togithub.com/actions/checkout/pull/1688) - Bump the minor-actions-dependencies group with 2 updates by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/checkout/pull/1693](https://togithub.com/actions/checkout/pull/1693) - Bump word-wrap from 1.2.3 to 1.2.5 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/checkout/pull/1643](https://togithub.com/actions/checkout/pull/1643) ### [`v4.1.3`](https://togithub.com/actions/checkout/releases/tag/v4.1.3) [Compare Source](https://togithub.com/actions/checkout/compare/v4.1.2...v4.1.3) #### What's Changed - Update `actions/checkout` version in `update-main-version.yml` by [@jww3](https://togithub.com/jww3) in [https://github.com/actions/checkout/pull/1650](https://togithub.com/actions/checkout/pull/1650) - Check git version before attempting to disable `sparse-checkout` by [@jww3](https://togithub.com/jww3) in [https://github.com/actions/checkout/pull/1656](https://togithub.com/actions/checkout/pull/1656) - Add SSH user parameter by [@cory-miller](https://togithub.com/cory-miller) in [https://github.com/actions/checkout/pull/1685](https://togithub.com/actions/checkout/pull/1685) **Full Changelog**: https://github.com/actions/checkout/compare/v4.1.2...v4.1.3 ### [`v4.1.2`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v412) [Compare Source](https://togithub.com/actions/checkout/compare/v4.1.1...v4.1.2) - Fix: Disable sparse checkout whenever `sparse-checkout` option is not present [@dscho](https://togithub.com/dscho) in [https://github.com/actions/checkout/pull/1598](https://togithub.com/actions/checkout/pull/1598)psf/black (black)
### [`v24.4.2`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2442) [Compare Source](https://togithub.com/psf/black/compare/24.4.1...24.4.2) This is a bugfix release to fix two regressions in the new f-string parser introduced in 24.4.1. ##### Parser - Fix regression where certain complex f-strings failed to parse ([#4332](https://togithub.com/psf/black/issues/4332)) ##### Performance - Fix bad performance on certain complex string literals ([#4331](https://togithub.com/psf/black/issues/4331)) ### [`v24.4.1`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2441) [Compare Source](https://togithub.com/psf/black/compare/24.4.0...24.4.1) ##### Highlights - Add support for the new Python 3.12 f-string syntax introduced by PEP 701 ([#3822](https://togithub.com/psf/black/issues/3822)) ##### Stable style - Fix crash involving indented dummy functions containing newlines ([#4318](https://togithub.com/psf/black/issues/4318)) ##### Parser - Add support for type parameter defaults, a new syntactic feature added to Python 3.13 by PEP 696 ([#4327](https://togithub.com/psf/black/issues/4327)) ##### Integrations - Github Action now works even when `git archive` is skipped ([#4313](https://togithub.com/psf/black/issues/4313))charliermarsh/ruff-pre-commit (charliermarsh/ruff-pre-commit)
### [`v0.4.2`](https://togithub.com/astral-sh/ruff-pre-commit/releases/tag/v0.4.2) [Compare Source](https://togithub.com/charliermarsh/ruff-pre-commit/compare/v0.4.1...v0.4.2) See: https://github.com/astral-sh/ruff/releases/tag/v0.4.2 ### [`v0.4.1`](https://togithub.com/astral-sh/ruff-pre-commit/releases/tag/v0.4.1) [Compare Source](https://togithub.com/charliermarsh/ruff-pre-commit/compare/v0.4.0...v0.4.1) See: https://github.com/astral-sh/ruff/releases/tag/v0.4.1 ### [`v0.4.0`](https://togithub.com/astral-sh/ruff-pre-commit/releases/tag/v0.4.0) [Compare Source](https://togithub.com/charliermarsh/ruff-pre-commit/compare/v0.3.7...v0.4.0) See: https://github.com/astral-sh/ruff/releases/tag/v0.4.0python/mypy (mypy)
### [`v1.10.0`](https://togithub.com/python/mypy/compare/1.9.0...v1.10.0) [Compare Source](https://togithub.com/python/mypy/compare/1.9.0...v1.10.0)pre-commit/pre-commit (pre-commit)
### [`v3.7.0`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#370---2024-03-24) [Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.6.2...v3.7.0) \================== ##### Features - Use a tty for `docker` and `docker_image` hooks when `--color` is specified. - [#3122](https://togithub.com/pre-commit/pre-commit/issues/3122) PR by [@glehmann](https://togithub.com/glehmann). ##### Fixes - Fix `fail_fast` for individual hooks stopping when previous hooks had failed. - [#3167](https://togithub.com/pre-commit/pre-commit/issues/3167) issue by [@tp832944](https://togithub.com/tp832944). - [#3168](https://togithub.com/pre-commit/pre-commit/issues/3168) PR by [@asottile](https://togithub.com/asottile). ##### Updating - The per-hook behaviour of `fail_fast` was fixed. If you want the pre-3.7.0 behaviour, add `fail_fast: true` to all hooks before the last `fail_fast` hook. ### [`v3.6.2`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#362---2024-02-18) [Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.6.1...v3.6.2) \================== ##### Fixes - Fix building golang hooks during `git commit --all`. - [#3130](https://togithub.com/pre-commit/pre-commit/issues/3130) PR by [@asottile](https://togithub.com/asottile). - [#2722](https://togithub.com/pre-commit/pre-commit/issues/2722) issue by [@pestanko](https://togithub.com/pestanko) and [@matthewhughes934](https://togithub.com/matthewhughes934). ### [`v3.6.1`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#361---2024-02-10) [Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.6.0...v3.6.1) \================== ##### Fixes - Remove `PYTHONEXECUTABLE` from environment when running. - [#3110](https://togithub.com/pre-commit/pre-commit/issues/3110) PR by [@untitaker](https://togithub.com/untitaker). - Handle staged-files-only with only a crlf diff. - [#3126](https://togithub.com/pre-commit/pre-commit/issues/3126) PR by [@asottile](https://togithub.com/asottile). - issue by [@tyyrok](https://togithub.com/tyyrok). ### [`v3.6.0`](https://togithub.com/pre-commit/pre-commit/blob/HEAD/CHANGELOG.md#360---2023-12-09) [Compare Source](https://togithub.com/pre-commit/pre-commit/compare/v3.5.0...v3.6.0) \================== ##### Features - Check `minimum_pre_commit_version` first when parsing configs. - [#3092](https://togithub.com/pre-commit/pre-commit/issues/3092) PR by [@asottile](https://togithub.com/asottile). ##### Fixes - Fix deprecation warnings for `importlib.resources`. - [#3043](https://togithub.com/pre-commit/pre-commit/issues/3043) PR by [@asottile](https://togithub.com/asottile). - Fix deprecation warnings for rmtree. - [#3079](https://togithub.com/pre-commit/pre-commit/issues/3079) PR by [@edgarrmondragon](https://togithub.com/edgarrmondragon). ##### Updating - Drop support for python<3.9. - [#3042](https://togithub.com/pre-commit/pre-commit/issues/3042) PR by [@asottile](https://togithub.com/asottile). - [#3093](https://togithub.com/pre-commit/pre-commit/issues/3093) PR by [@asottile](https://togithub.com/asottile).astral-sh/ruff (ruff)
### [`v0.4.2`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#042) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.1...v0.4.2) ##### Rule changes - \[`flake8-pyi`] Allow for overloaded `__exit__` and `__aexit__` definitions (`PYI036`) ([#11057](https://togithub.com/astral-sh/ruff/pull/11057)) - \[`pyupgrade`] Catch usages of `"%s" % var` and provide an unsafe fix (`UP031`) ([#11019](https://togithub.com/astral-sh/ruff/pull/11019)) - \[`refurb`] Implement new rule that suggests min/max over `sorted()` (`FURB192`) ([#10868](https://togithub.com/astral-sh/ruff/pull/10868)) ##### Server - Fix an issue with missing diagnostics for Neovim and Helix ([#11092](https://togithub.com/astral-sh/ruff/pull/11092)) - Implement hover documentation for `noqa` codes ([#11096](https://togithub.com/astral-sh/ruff/pull/11096)) - Introduce common Ruff configuration options with new server settings ([#11062](https://togithub.com/astral-sh/ruff/pull/11062)) ##### Bug fixes - Use `macos-12` for building release wheels to enable macOS 11 compatibility ([#11146](https://togithub.com/astral-sh/ruff/pull/11146)) - \[`flake8-blind-expect`] Allow raise from in `BLE001` ([#11131](https://togithub.com/astral-sh/ruff/pull/11131)) - \[`flake8-pyi`] Allow simple assignments to `None` in enum class scopes (`PYI026`) ([#11128](https://togithub.com/astral-sh/ruff/pull/11128)) - \[`flake8-simplify`] Avoid raising `SIM911` for non-`zip` attribute calls ([#11126](https://togithub.com/astral-sh/ruff/pull/11126)) - \[`refurb`] Avoid `operator.itemgetter` suggestion for single-item tuple ([#11095](https://togithub.com/astral-sh/ruff/pull/11095)) - \[`ruff`] Respect per-file-ignores for `RUF100` with no other diagnostics ([#11058](https://togithub.com/astral-sh/ruff/pull/11058)) - \[`ruff`] Fix async comprehension false positive (`RUF029`) ([#11070](https://togithub.com/astral-sh/ruff/pull/11070)) ##### Documentation - \[`flake8-bugbear`] Document explicitly disabling strict zip (`B905`) ([#11040](https://togithub.com/astral-sh/ruff/pull/11040)) - \[`flake8-type-checking`] Mention `lint.typing-modules` in `TCH001`, `TCH002`, and `TCH003` ([#11144](https://togithub.com/astral-sh/ruff/pull/11144)) - \[`isort`] Improve documentation around custom `isort` sections ([#11050](https://togithub.com/astral-sh/ruff/pull/11050)) - \[`pylint`] Fix documentation oversight for `invalid-X-returns` ([#11094](https://togithub.com/astral-sh/ruff/pull/11094)) ##### Performance - Use `matchit` to resolve per-file settings ([#11111](https://togithub.com/astral-sh/ruff/pull/11111)) ### [`v0.4.1`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#041) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.0...v0.4.1) ##### Preview features - \[`pylint`] Implement `invalid-hash-returned` (`PLE0309`) ([#10961](https://togithub.com/astral-sh/ruff/pull/10961)) - \[`pylint`] Implement `invalid-index-returned` (`PLE0305`) ([#10962](https://togithub.com/astral-sh/ruff/pull/10962)) ##### Bug fixes - \[`pylint`] Allow `NoReturn`-like functions for `__str__`, `__len__`, etc. (`PLE0307`) ([#11017](https://togithub.com/astral-sh/ruff/pull/11017)) - Parser: Use empty range when there's "gap" in token source ([#11032](https://togithub.com/astral-sh/ruff/pull/11032)) - \[`ruff`] Ignore stub functions in `unused-async` (`RUF029`) ([#11026](https://togithub.com/astral-sh/ruff/pull/11026)) - Parser: Expect indented case block instead of match stmt ([#11033](https://togithub.com/astral-sh/ruff/pull/11033)) ### [`v0.4.0`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#040) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.3.7...v0.4.0) ##### A new, hand-written parser Ruff's new parser is **>2x faster**, which translates to a **20-40% speedup** for all linting and formatting invocations. There's a lot to say about this exciting change, so check out the [blog post](https://astral.sh/blog/ruff-v0.4.0) for more details! See [#10036](https://togithub.com/astral-sh/ruff/pull/10036) for implementation details. ##### A new language server in Rust With this release, we also want to highlight our new language server. `ruff server` is a Rust-powered language server that comes built-in with Ruff. It can be used with any editor that supports the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP). It uses a multi-threaded, lock-free architecture inspired by `rust-analyzer` and it will open the door for a lot of exciting features. It’s also faster than our previous [Python-based language server](https://togithub.com/astral-sh/ruff-lsp) \-- but you probably guessed that already. `ruff server` is only in alpha, but it has a lot of features that you can try out today: - Lints Python files automatically and shows quick-fixes when available - Formats Python files, with support for range formatting - Comes with commands for quickly performing actions: `ruff.applyAutofix`, `ruff.applyFormat`, and `ruff.applyOrganizeImports` - Supports `source.fixAll` and `source.organizeImports` source actions - Automatically reloads your project configuration when you change it To setup `ruff server` with your editor, refer to the [README.md](https://togithub.com/astral-sh/ruff/blob/main/crates/ruff_server/README.md). ##### Preview features - \[`pycodestyle`] Do not trigger `E3` rules on `def`s following a function/method with a dummy body ([#10704](https://togithub.com/astral-sh/ruff/pull/10704)) - \[`pylint`] Implement `invalid-bytes-returned` (`E0308`) ([#10959](https://togithub.com/astral-sh/ruff/pull/10959)) - \[`pylint`] Implement `invalid-length-returned` (`E0303`) ([#10963](https://togithub.com/astral-sh/ruff/pull/10963)) - \[`pylint`] Implement `self-cls-assignment` (`W0642`) ([#9267](https://togithub.com/astral-sh/ruff/pull/9267)) - \[`pylint`] Omit stubs from `invalid-bool` and `invalid-str-return-type` ([#11008](https://togithub.com/astral-sh/ruff/pull/11008)) - \[`ruff`] New rule `unused-async` (`RUF029`) to detect unneeded `async` keywords on functions ([#9966](https://togithub.com/astral-sh/ruff/pull/9966)) ##### Rule changes - \[`flake8-bandit`] Allow `urllib.request.urlopen` calls with static `Request` argument (`S310`) ([#10964](https://togithub.com/astral-sh/ruff/pull/10964)) - \[`flake8-bugbear`] Treat `raise NotImplemented`-only bodies as stub functions (`B006`) ([#10990](https://togithub.com/astral-sh/ruff/pull/10990)) - \[`flake8-slots`] Respect same-file `Enum` subclasses (`SLOT000`) ([#11006](https://togithub.com/astral-sh/ruff/pull/11006)) - \[`pylint`] Support inverted comparisons (`PLR1730`) ([#10920](https://togithub.com/astral-sh/ruff/pull/10920)) ##### Linter - Improve handling of builtin symbols in linter rules ([#10919](https://togithub.com/astral-sh/ruff/pull/10919)) - Improve display of rules in `--show-settings` ([#11003](https://togithub.com/astral-sh/ruff/pull/11003)) - Improve inference capabilities of the `BuiltinTypeChecker` ([#10976](https://togithub.com/astral-sh/ruff/pull/10976)) - Resolve classes and functions relative to script name ([#10965](https://togithub.com/astral-sh/ruff/pull/10965)) - Improve performance of `RuleTable::any_enabled` ([#10971](https://togithub.com/astral-sh/ruff/pull/10971)) ##### Server *This section is devoted to updates for our new language server, written in Rust.* - Enable ruff-specific source actions ([#10916](https://togithub.com/astral-sh/ruff/pull/10916)) - Refreshes diagnostics for open files when file configuration is changed ([#10988](https://togithub.com/astral-sh/ruff/pull/10988)) - Important errors are now shown as popups ([#10951](https://togithub.com/astral-sh/ruff/pull/10951)) - Introduce settings for directly configuring the linter and formatter ([#10984](https://togithub.com/astral-sh/ruff/pull/10984)) - Resolve configuration for each document individually ([#10950](https://togithub.com/astral-sh/ruff/pull/10950)) - Write a setup guide for Neovim ([#10987](https://togithub.com/astral-sh/ruff/pull/10987)) ##### Configuration - Add `RUFF_OUTPUT_FILE` environment variable support ([#10992](https://togithub.com/astral-sh/ruff/pull/10992)) ##### Bug fixes - Avoid `non-augmented-assignment` for reversed, non-commutative operators (`PLR6104`) ([#10909](https://togithub.com/astral-sh/ruff/pull/10909)) - Limit commutative non-augmented-assignments to primitive data types (`PLR6104`) ([#10912](https://togithub.com/astral-sh/ruff/pull/10912)) - Respect `per-file-ignores` for `RUF100` on blanket `# noqa` ([#10908](https://togithub.com/astral-sh/ruff/pull/10908)) - Consider `if` expression for parenthesized with items parsing ([#11010](https://togithub.com/astral-sh/ruff/pull/11010)) - Consider binary expr for parenthesized with items parsing ([#11012](https://togithub.com/astral-sh/ruff/pull/11012)) - Reset `FOR_TARGET` context for all kinds of parentheses ([#11009](https://togithub.com/astral-sh/ruff/pull/11009))Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.