Sourced from black's releases.
24.4.0
Stable style
- Fix unwanted crashes caused by AST equivalency check (#4290)
Preview style
if
guards incase
blocks are now wrapped in parentheses when the line is too long. (#4269)- Stop moving multiline strings to a new line unless inside brackets (#4289)
Integrations
- Add a new option
use_pyproject
to the GitHub Actionpsf/black
. This will read the Black version frompyproject.toml
. (#4294)
Sourced from black's changelog.
24.4.0
Stable style
- Fix unwanted crashes caused by AST equivalency check (#4290)
Preview style
if
guards incase
blocks are now wrapped in parentheses when the line is too long. (#4269)- Stop moving multiline strings to a new line unless inside brackets (#4289)
Integrations
- Add a new option
use_pyproject
to the GitHub Actionpsf/black
. This will read the Black version frompyproject.toml
. (#4294)
8fe6270
Prepare release 24.4.0 (#4307)6b25e7c
Bump peter-evans/find-comment from 3.0.0 to 3.1.0 (#4304)07fe1ca
docs: remove repetitive word (#4303)3383f53
GitHub Action: Allow reading version from pyproject.toml (#4294)c8f1a55
[pre-commit.ci] pre-commit autoupdate (#4297)836acad
Improve AST safety check (#4290)13bd092
fix: Stop moving multiline strings to a new line unless inside brackets
(#4289)c9d2635
Remove mocking from tests (#4287)bf11956
Fix two logging calls in the test helper (#4286)97993f9
Bump pypa/cibuildwheel from 2.16.5 to 2.17.0 (#4283)Sourced from ruff's releases.
v0.4.1
Changes
Preview features
- [
pylint
] Implementinvalid-hash-returned
(PLE0309
) (#10961)- [
pylint
] Implementinvalid-index-returned
(PLE0305
) (#10962)Bug fixes
- [
pylint
] AllowNoReturn
-like functions for__str__
,__len__
, etc. (PLE0307
) (#11017)- Parser: Use empty range when there's "gap" in token source (#11032)
- [
ruff
] Ignore stub functions inunused-async
(RUF029
) (#11026)- Parser: Expect indented case block instead of match stmt (#11033)
Contributors
v0.4.0
Changes
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!
See #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 (LSP). It uses a multi-threaded, lock-free architecture inspired byrust-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
, andruff.applyOrganizeImports
- Supports
source.fixAll
andsource.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
... (truncated)
Sourced from ruff's changelog.
0.4.1
Preview features
- [
pylint
] Implementinvalid-hash-returned
(PLE0309
) (#10961)- [
pylint
] Implementinvalid-index-returned
(PLE0305
) (#10962)Bug fixes
- [
pylint
] AllowNoReturn
-like functions for__str__
,__len__
, etc. (PLE0307
) (#11017)- Parser: Use empty range when there's "gap" in token source (#11032)
- [
ruff
] Ignore stub functions inunused-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!
See #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 (LSP). It uses a multi-threaded, lock-free architecture inspired byrust-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
, andruff.applyOrganizeImports
- Supports
source.fixAll
andsource.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 triggerE3
rules ondef
s following a function/method with a dummy body (#10704)- [
pylint
] Implementinvalid-bytes-returned
(E0308
) (#10959)- [
pylint
] Implementinvalid-length-returned
(E0303
) (#10963)- [
pylint
] Implementself-cls-assignment
(W0642
) (#9267)- [
pylint
] Omit stubs frominvalid-bool
andinvalid-str-return-type
(#11008)- [
ruff
] New ruleunused-async
(RUF029
) to detect unneededasync
keywords on functions (#9966)
... (truncated)
0ff25a5
Bump version to 0.4.1 (#11035)34873ec
Add a script to fuzz the parser (courtesy of
pysource-codegen
) (#11015)d3cd61f
Use empty range when there's "gap" in token source (#11032)9b80cc0
Select fewer ruff rules when linting Python files in
scripts/
(#11034)9bb23b0
Expect indented case block instead of match stmt (#11033)06c248a
[ruff]
Ignore stub functions in unused-async
(RUF029
) (#11026)27902b7
[pylint
] Implement invalid-index-returned
(PLE0305
) (#10962)97acf1d
ENH: Bump ruff
dependency versions to support the latest
release of `v0.4.0...adf63d9
[pylint
] Implement invalid-hash-returned
(PLE0309
) (#10961)5d3c9f2
ruff server
: fix Neovim setup guide command (#11021)