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 for more details!
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 (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 -- 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.
Preview features
[pycodestyle] Do not trigger E3 rules on defs following a function/method with a dummy body (#10704)
[pylint] Allow NoReturn-like functions for __str__, __len__, etc. (PLE0307) (#11017)
Parser: Use empty range when there's "gap" in token source (#11032)
[ruff] Ignore stub functions in unused-async (RUF029) (#11026)
Parser: Expect indented case block instead of match stmt (#11033)
0.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 for more details!
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 (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
-- 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.
Preview features
[pycodestyle] Do not trigger E3 rules on defs following a function/method with a dummy body (#10704)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the pip group with 6 updates:
0.110.1
0.110.2
1.34.84
1.34.89
0.11.3
0.11.4
9.5.17
9.5.18
1.1.358
1.1.359
0.3.7
0.4.1
Updates
fastapi
from 0.110.1 to 0.110.2Release notes
Sourced from fastapi's releases.
Commits
be1e3fa
🔖 Release version 0.110.24ae63ae
📝 Update release notes6d523d6
📝 Fix types in examples underdocs_src/extra_data_types
(#10535)d84d6e0
📝 Update release notesa901e2f
📝 Update references to UJSON (#11464)8a45645
📝 Update release notes74cc33d
♻️ Simplify Pydantic configs in OpenAPI models infastapi/openapi/models.py
...5815fa5
📝 Update release notes09e4859
🐛 Fix support for query parameters with list types, handle JSON encoding Pyda...071b8f2
📝 Update release notesUpdates
boto3-stubs
from 1.34.84 to 1.34.89Commits
Updates
githubkit
from 0.11.3 to 0.11.4Release notes
Sourced from githubkit's releases.
Commits
08e6b97
:bookmark: bump version 0.11.4ee90b7f
:alien: re-generate schemascf79e55
:arrow_up: upgrade dependencies99d6dae
:arrow_up: auto update by pre-commit hooks (#97)Updates
mkdocs-material
from 9.5.17 to 9.5.18Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
3b592ab
Prepare 9.5.18 releasef028004
Merge pull request #7045 from squidfunk/refactor/tooltip-positioning29658ed
Merge branch 'master' into refactor/tooltip-positioning851e5bb
Fixed rendering glitch when hovering contributor avatar599193e
Fixed overly long tooltipse15518c
Refactored tooltips4eb1a43
Added missing CSS for highlight fix5707773
Updated dependencies9d33f8a
Fixed highlighted lines in code blocks being cutoff on mobilecd08611
Updated dependenciesUpdates
pyright
from 1.1.358 to 1.1.359Commits
fbc68e1
[pyright updated to 1.1.359] Update Version (#264)Updates
ruff
from 0.3.7 to 0.4.1Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
0ff25a5
Bump version to 0.4.1 (#11035)34873ec
Add a script to fuzz the parser (courtesy ofpysource-codegen
) (#11015)d3cd61f
Use empty range when there's "gap" in token source (#11032)9b80cc0
Select fewer ruff rules when linting Python files inscripts/
(#11034)9bb23b0
Expect indented case block instead of match stmt (#11033)06c248a
[ruff]
Ignore stub functions inunused-async
(RUF029
) (#11026)27902b7
[pylint
] Implementinvalid-index-returned
(PLE0305
) (#10962)97acf1d
ENH: Bumpruff
dependency versions to support the latest release of `v0.4.0...adf63d9
[pylint
] Implementinvalid-hash-returned
(PLE0309
) (#10961)5d3c9f2
ruff server
: fix Neovim setup guide command (#11021)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show