astral-sh/ruff (ruff)
### [`v0.4.5`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#045)
[Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.4...v0.4.5)
##### Ruff's language server is now in Beta
`v0.4.5` marks the official Beta release of `ruff server`, an integrated language server built into Ruff.
`ruff server` supports the same feature set as `ruff-lsp`, powering linting, formatting, and
code fixes in Ruff's editor integrations -- but with superior performance and
no installation required. We'd love your feedback!
You can enable `ruff server` in the [VS Code extension](https://togithub.com/astral-sh/ruff-vscode?tab=readme-ov-file#enabling-the-rust-based-language-server) today.
To read more about this exciting milestone, check out our [blog post](https://astral.sh/blog/ruff-v0.4.5)!
##### Rule changes
- \[`flake8-future-annotations`] Reword `future-rewritable-type-annotation` (`FA100`) message ([#11381](https://togithub.com/astral-sh/ruff/pull/11381))
- \[`pycodestyle`] Consider soft keywords for `E27` rules ([#11446](https://togithub.com/astral-sh/ruff/pull/11446))
- \[`pyflakes`] Recommend adding unused import bindings to `__all__` ([#11314](https://togithub.com/astral-sh/ruff/pull/11314))
- \[`pyflakes`] Update documentation and deprecate `ignore_init_module_imports` ([#11436](https://togithub.com/astral-sh/ruff/pull/11436))
- \[`pyupgrade`] Mark quotes as unnecessary for non-evaluated annotations ([#11485](https://togithub.com/astral-sh/ruff/pull/11485))
##### Formatter
- Avoid multiline quotes warning with `quote-style = preserve` ([#11490](https://togithub.com/astral-sh/ruff/pull/11490))
##### Server
- Support Jupyter Notebook files ([#11206](https://togithub.com/astral-sh/ruff/pull/11206))
- Support `noqa` comment code actions ([#11276](https://togithub.com/astral-sh/ruff/pull/11276))
- Fix automatic configuration reloading ([#11492](https://togithub.com/astral-sh/ruff/pull/11492))
- Fix several issues with configuration in Neovim and Helix ([#11497](https://togithub.com/astral-sh/ruff/pull/11497))
##### CLI
- Add `--output-format` as a CLI option for `ruff config` ([#11438](https://togithub.com/astral-sh/ruff/pull/11438))
##### Bug fixes
- Avoid `PLE0237` for property with setter ([#11377](https://togithub.com/astral-sh/ruff/pull/11377))
- Avoid `TCH005` for `if` stmt with `elif`/`else` block ([#11376](https://togithub.com/astral-sh/ruff/pull/11376))
- Avoid flagging `__future__` annotations as required for non-evaluated type annotations ([#11414](https://togithub.com/astral-sh/ruff/pull/11414))
- Check for ruff executable in 'bin' directory as installed by 'pip install --target'. ([#11450](https://togithub.com/astral-sh/ruff/pull/11450))
- Sort edits prior to deduplicating in quotation fix ([#11452](https://togithub.com/astral-sh/ruff/pull/11452))
- Treat escaped newline as valid sequence ([#11465](https://togithub.com/astral-sh/ruff/pull/11465))
- \[`flake8-pie`] Preserve parentheses in `unnecessary-dict-kwargs` ([#11372](https://togithub.com/astral-sh/ruff/pull/11372))
- \[`pylint`] Ignore `__slots__` with dynamic values ([#11488](https://togithub.com/astral-sh/ruff/pull/11488))
- \[`pylint`] Remove `try` body from branch counting ([#11487](https://togithub.com/astral-sh/ruff/pull/11487))
- \[`refurb`] Respect operator precedence in `FURB110` ([#11464](https://togithub.com/astral-sh/ruff/pull/11464))
##### Documentation
- Add `--preview` to the README ([#11395](https://togithub.com/astral-sh/ruff/pull/11395))
- Add Python 3.13 to list of allowed Python versions ([#11411](https://togithub.com/astral-sh/ruff/pull/11411))
- Simplify Neovim setup documentation ([#11489](https://togithub.com/astral-sh/ruff/pull/11489))
- Update CONTRIBUTING.md to reflect the new parser ([#11434](https://togithub.com/astral-sh/ruff/pull/11434))
- Update server documentation with new migration guide ([#11499](https://togithub.com/astral-sh/ruff/pull/11499))
- \[`pycodestyle`] Clarify motivation for `E713` and `E714` ([#11483](https://togithub.com/astral-sh/ruff/pull/11483))
- \[`pyflakes`] Update docs to describe WAI behavior (F541) ([#11362](https://togithub.com/astral-sh/ruff/pull/11362))
- \[`pylint`] Clearly indicate what is counted as a branch ([#11423](https://togithub.com/astral-sh/ruff/pull/11423))
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 contains the following updates:
0.4.4
->0.4.5
Release Notes
astral-sh/ruff (ruff)
### [`v0.4.5`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#045) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.4...v0.4.5) ##### Ruff's language server is now in Beta `v0.4.5` marks the official Beta release of `ruff server`, an integrated language server built into Ruff. `ruff server` supports the same feature set as `ruff-lsp`, powering linting, formatting, and code fixes in Ruff's editor integrations -- but with superior performance and no installation required. We'd love your feedback! You can enable `ruff server` in the [VS Code extension](https://togithub.com/astral-sh/ruff-vscode?tab=readme-ov-file#enabling-the-rust-based-language-server) today. To read more about this exciting milestone, check out our [blog post](https://astral.sh/blog/ruff-v0.4.5)! ##### Rule changes - \[`flake8-future-annotations`] Reword `future-rewritable-type-annotation` (`FA100`) message ([#11381](https://togithub.com/astral-sh/ruff/pull/11381)) - \[`pycodestyle`] Consider soft keywords for `E27` rules ([#11446](https://togithub.com/astral-sh/ruff/pull/11446)) - \[`pyflakes`] Recommend adding unused import bindings to `__all__` ([#11314](https://togithub.com/astral-sh/ruff/pull/11314)) - \[`pyflakes`] Update documentation and deprecate `ignore_init_module_imports` ([#11436](https://togithub.com/astral-sh/ruff/pull/11436)) - \[`pyupgrade`] Mark quotes as unnecessary for non-evaluated annotations ([#11485](https://togithub.com/astral-sh/ruff/pull/11485)) ##### Formatter - Avoid multiline quotes warning with `quote-style = preserve` ([#11490](https://togithub.com/astral-sh/ruff/pull/11490)) ##### Server - Support Jupyter Notebook files ([#11206](https://togithub.com/astral-sh/ruff/pull/11206)) - Support `noqa` comment code actions ([#11276](https://togithub.com/astral-sh/ruff/pull/11276)) - Fix automatic configuration reloading ([#11492](https://togithub.com/astral-sh/ruff/pull/11492)) - Fix several issues with configuration in Neovim and Helix ([#11497](https://togithub.com/astral-sh/ruff/pull/11497)) ##### CLI - Add `--output-format` as a CLI option for `ruff config` ([#11438](https://togithub.com/astral-sh/ruff/pull/11438)) ##### Bug fixes - Avoid `PLE0237` for property with setter ([#11377](https://togithub.com/astral-sh/ruff/pull/11377)) - Avoid `TCH005` for `if` stmt with `elif`/`else` block ([#11376](https://togithub.com/astral-sh/ruff/pull/11376)) - Avoid flagging `__future__` annotations as required for non-evaluated type annotations ([#11414](https://togithub.com/astral-sh/ruff/pull/11414)) - Check for ruff executable in 'bin' directory as installed by 'pip install --target'. ([#11450](https://togithub.com/astral-sh/ruff/pull/11450)) - Sort edits prior to deduplicating in quotation fix ([#11452](https://togithub.com/astral-sh/ruff/pull/11452)) - Treat escaped newline as valid sequence ([#11465](https://togithub.com/astral-sh/ruff/pull/11465)) - \[`flake8-pie`] Preserve parentheses in `unnecessary-dict-kwargs` ([#11372](https://togithub.com/astral-sh/ruff/pull/11372)) - \[`pylint`] Ignore `__slots__` with dynamic values ([#11488](https://togithub.com/astral-sh/ruff/pull/11488)) - \[`pylint`] Remove `try` body from branch counting ([#11487](https://togithub.com/astral-sh/ruff/pull/11487)) - \[`refurb`] Respect operator precedence in `FURB110` ([#11464](https://togithub.com/astral-sh/ruff/pull/11464)) ##### Documentation - Add `--preview` to the README ([#11395](https://togithub.com/astral-sh/ruff/pull/11395)) - Add Python 3.13 to list of allowed Python versions ([#11411](https://togithub.com/astral-sh/ruff/pull/11411)) - Simplify Neovim setup documentation ([#11489](https://togithub.com/astral-sh/ruff/pull/11489)) - Update CONTRIBUTING.md to reflect the new parser ([#11434](https://togithub.com/astral-sh/ruff/pull/11434)) - Update server documentation with new migration guide ([#11499](https://togithub.com/astral-sh/ruff/pull/11499)) - \[`pycodestyle`] Clarify motivation for `E713` and `E714` ([#11483](https://togithub.com/astral-sh/ruff/pull/11483)) - \[`pyflakes`] Update docs to describe WAI behavior (F541) ([#11362](https://togithub.com/astral-sh/ruff/pull/11362)) - \[`pylint`] Clearly indicate what is counted as a branch ([#11423](https://togithub.com/astral-sh/ruff/pull/11423))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 Renovate Bot.