|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## 0.4.5 |
| 4 | + |
| 5 | +### Ruff's language server is now in Beta |
| 6 | + |
| 7 | +`v0.4.5` marks the official Beta release of `ruff server`, an integrated language server built into Ruff. |
| 8 | +`ruff server` supports the same feature set as `ruff-lsp`, powering linting, formatting, and |
| 9 | +code fixes in Ruff's editor integrations -- but with superior performance and |
| 10 | +no installation required. We'd love your feedback! |
| 11 | + |
| 12 | +You can enable `ruff server` in the [VS Code extension](https://github.com/astral-sh/ruff-vscode?tab=readme-ov-file#enabling-the-rust-based-language-server) today. |
| 13 | + |
| 14 | +To read more about this exciting milestone, check out our [blog post](https://astral.sh/blog/ruff-v0.4.5)! |
| 15 | + |
| 16 | +### Rule changes |
| 17 | + |
| 18 | +- \[`flake8-future-annotations`\] Reword `future-rewritable-type-annotation` (`FA100`) message ([#11381](https://github.com/astral-sh/ruff/pull/11381)) |
| 19 | +- \[`pycodestyle`\] Consider soft keywords for `E27` rules ([#11446](https://github.com/astral-sh/ruff/pull/11446)) |
| 20 | +- \[`pyflakes`\] Recommend adding unused import bindings to `__all__` ([#11314](https://github.com/astral-sh/ruff/pull/11314)) |
| 21 | +- \[`pyflakes`\] Update documentation and deprecate `ignore_init_module_imports` ([#11436](https://github.com/astral-sh/ruff/pull/11436)) |
| 22 | +- \[`pyupgrade`\] Mark quotes as unnecessary for non-evaluated annotations ([#11485](https://github.com/astral-sh/ruff/pull/11485)) |
| 23 | + |
| 24 | +### Formatter |
| 25 | + |
| 26 | +- Avoid multiline quotes warning with `quote-style = preserve` ([#11490](https://github.com/astral-sh/ruff/pull/11490)) |
| 27 | + |
| 28 | +### Server |
| 29 | + |
| 30 | +- Support Jupyter Notebook files ([#11206](https://github.com/astral-sh/ruff/pull/11206)) |
| 31 | +- Support `noqa` comment code actions ([#11276](https://github.com/astral-sh/ruff/pull/11276)) |
| 32 | +- Fix automatic configuration reloading ([#11492](https://github.com/astral-sh/ruff/pull/11492)) |
| 33 | +- Fix several issues with configuration in Neovim and Helix ([#11497](https://github.com/astral-sh/ruff/pull/11497)) |
| 34 | + |
| 35 | +### CLI |
| 36 | + |
| 37 | +- Add `--output-format` as a CLI option for `ruff config` ([#11438](https://github.com/astral-sh/ruff/pull/11438)) |
| 38 | + |
| 39 | +### Bug fixes |
| 40 | + |
| 41 | +- Avoid `PLE0237` for property with setter ([#11377](https://github.com/astral-sh/ruff/pull/11377)) |
| 42 | +- Avoid `TCH005` for `if` stmt with `elif`/`else` block ([#11376](https://github.com/astral-sh/ruff/pull/11376)) |
| 43 | +- Avoid flagging `__future__` annotations as required for non-evaluated type annotations ([#11414](https://github.com/astral-sh/ruff/pull/11414)) |
| 44 | +- Check for ruff executable in 'bin' directory as installed by 'pip install --target'. ([#11450](https://github.com/astral-sh/ruff/pull/11450)) |
| 45 | +- Sort edits prior to deduplicating in quotation fix ([#11452](https://github.com/astral-sh/ruff/pull/11452)) |
| 46 | +- Treat escaped newline as valid sequence ([#11465](https://github.com/astral-sh/ruff/pull/11465)) |
| 47 | +- \[`flake8-pie`\] Preserve parentheses in `unnecessary-dict-kwargs` ([#11372](https://github.com/astral-sh/ruff/pull/11372)) |
| 48 | +- \[`pylint`\] Ignore `__slots__` with dynamic values ([#11488](https://github.com/astral-sh/ruff/pull/11488)) |
| 49 | +- \[`pylint`\] Remove `try` body from branch counting ([#11487](https://github.com/astral-sh/ruff/pull/11487)) |
| 50 | +- \[`refurb`\] Respect operator precedence in `FURB110` ([#11464](https://github.com/astral-sh/ruff/pull/11464)) |
| 51 | + |
| 52 | +### Documentation |
| 53 | + |
| 54 | +- Add `--preview` to the README ([#11395](https://github.com/astral-sh/ruff/pull/11395)) |
| 55 | +- Add Python 3.13 to list of allowed Python versions ([#11411](https://github.com/astral-sh/ruff/pull/11411)) |
| 56 | +- Simplify Neovim setup documentation ([#11489](https://github.com/astral-sh/ruff/pull/11489)) |
| 57 | +- Update CONTRIBUTING.md to reflect the new parser ([#11434](https://github.com/astral-sh/ruff/pull/11434)) |
| 58 | +- Update server documentation with new migration guide ([#11499](https://github.com/astral-sh/ruff/pull/11499)) |
| 59 | +- \[`pycodestyle`\] Clarify motivation for `E713` and `E714` ([#11483](https://github.com/astral-sh/ruff/pull/11483)) |
| 60 | +- \[`pyflakes`\] Update docs to describe WAI behavior (F541) ([#11362](https://github.com/astral-sh/ruff/pull/11362)) |
| 61 | +- \[`pylint`\] Clearly indicate what is counted as a branch ([#11423](https://github.com/astral-sh/ruff/pull/11423)) |
| 62 | + |
3 | 63 | ## 0.4.4
|
4 | 64 |
|
5 | 65 | ### Preview features
|
|
0 commit comments