diff --git a/CHANGELOG.md b/CHANGELOG.md index 3707d70b1d..89f87ad40f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,54 @@ # Changelog +## 0.14.10 + +Released on 2025-12-18. + +### Preview features + +- [formatter] Fluent formatting of method chains ([#21369](https://github.com/astral-sh/ruff/pull/21369)) +- [formatter] Keep lambda parameters on one line and parenthesize the body if it expands ([#21385](https://github.com/astral-sh/ruff/pull/21385)) +- \[`flake8-implicit-str-concat`\] New rule to prevent implicit string concatenation in collections (`ISC004`) ([#21972](https://github.com/astral-sh/ruff/pull/21972)) +- \[`flake8-use-pathlib`\] Make fixes unsafe when types change in compound statements (`PTH104`, `PTH105`, `PTH109`, `PTH115`) ([#22009](https://github.com/astral-sh/ruff/pull/22009)) +- \[`refurb`\] Extend support for `Path.open` (`FURB101`, `FURB103`) ([#21080](https://github.com/astral-sh/ruff/pull/21080)) + +### Bug fixes + +- \[`pyupgrade`\] Fix parsing named Unicode escape sequences (`UP032`) ([#21901](https://github.com/astral-sh/ruff/pull/21901)) + +### Rule changes + +- \[`eradicate`\] Ignore `ruff:disable` and `ruff:enable` comments in `ERA001` ([#22038](https://github.com/astral-sh/ruff/pull/22038)) +- \[`flake8-pytest-style`\] Allow `match` and `check` keyword arguments without an expected exception type (`PT010`) ([#21964](https://github.com/astral-sh/ruff/pull/21964)) +- [syntax-errors] Annotated name cannot be global ([#20868](https://github.com/astral-sh/ruff/pull/20868)) + +### Documentation + +- Add `uv` and `ty` to the Ruff README ([#21996](https://github.com/astral-sh/ruff/pull/21996)) +- Document known lambda formatting deviations from Black ([#21954](https://github.com/astral-sh/ruff/pull/21954)) +- Update `setup.md` ([#22024](https://github.com/astral-sh/ruff/pull/22024)) +- \[`flake8-bandit`\] Fix broken link (`S704`) ([#22039](https://github.com/astral-sh/ruff/pull/22039)) + +### Other changes + +- Fix playground Share button showing "Copied!" before clipboard copy completes ([#21942](https://github.com/astral-sh/ruff/pull/21942)) + +### Contributors + +- [@dylwil3](https://github.com/dylwil3) +- [@charliecloudberry](https://github.com/charliecloudberry) +- [@charliermarsh](https://github.com/charliermarsh) +- [@chirizxc](https://github.com/chirizxc) +- [@ntBre](https://github.com/ntBre) +- [@zanieb](https://github.com/zanieb) +- [@amyreese](https://github.com/amyreese) +- [@hauntsaninja](https://github.com/hauntsaninja) +- [@11happy](https://github.com/11happy) +- [@mahiro72](https://github.com/mahiro72) +- [@MichaReiser](https://github.com/MichaReiser) +- [@phongddo](https://github.com/phongddo) +- [@PeterJCLaw](https://github.com/PeterJCLaw) + ## 0.14.9 Released on 2025-12-11. diff --git a/Cargo.lock b/Cargo.lock index 0cdc6e1039..04e6e832d4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2887,7 +2887,7 @@ dependencies = [ [[package]] name = "ruff" -version = "0.14.9" +version = "0.14.10" dependencies = [ "anyhow", "argfile", @@ -3145,7 +3145,7 @@ dependencies = [ [[package]] name = "ruff_linter" -version = "0.14.9" +version = "0.14.10" dependencies = [ "aho-corasick", "anyhow", @@ -3504,7 +3504,7 @@ dependencies = [ [[package]] name = "ruff_wasm" -version = "0.14.9" +version = "0.14.10" dependencies = [ "console_error_panic_hook", "console_log", diff --git a/README.md b/README.md index 98eb377010..a02b264112 100644 --- a/README.md +++ b/README.md @@ -150,8 +150,8 @@ curl -LsSf https://astral.sh/ruff/install.sh | sh powershell -c "irm https://astral.sh/ruff/install.ps1 | iex" # For a specific version. -curl -LsSf https://astral.sh/ruff/0.14.9/install.sh | sh -powershell -c "irm https://astral.sh/ruff/0.14.9/install.ps1 | iex" +curl -LsSf https://astral.sh/ruff/0.14.10/install.sh | sh +powershell -c "irm https://astral.sh/ruff/0.14.10/install.ps1 | iex" ``` You can also install Ruff via [Homebrew](https://formulae.brew.sh/formula/ruff), [Conda](https://anaconda.org/conda-forge/ruff), @@ -184,7 +184,7 @@ Ruff can also be used as a [pre-commit](https://pre-commit.com/) hook via [`ruff ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.9 + rev: v0.14.10 hooks: # Run the linter. - id: ruff-check diff --git a/crates/ruff/Cargo.toml b/crates/ruff/Cargo.toml index 76dfe3dfe5..3cec346c16 100644 --- a/crates/ruff/Cargo.toml +++ b/crates/ruff/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ruff" -version = "0.14.9" +version = "0.14.10" publish = true authors = { workspace = true } edition = { workspace = true } diff --git a/crates/ruff_linter/Cargo.toml b/crates/ruff_linter/Cargo.toml index 28f4b0e413..e39217ebd3 100644 --- a/crates/ruff_linter/Cargo.toml +++ b/crates/ruff_linter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ruff_linter" -version = "0.14.9" +version = "0.14.10" publish = false authors = { workspace = true } edition = { workspace = true } diff --git a/crates/ruff_wasm/Cargo.toml b/crates/ruff_wasm/Cargo.toml index 254f6d5fdc..8292932401 100644 --- a/crates/ruff_wasm/Cargo.toml +++ b/crates/ruff_wasm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ruff_wasm" -version = "0.14.9" +version = "0.14.10" publish = false authors = { workspace = true } edition = { workspace = true } diff --git a/docs/integrations.md b/docs/integrations.md index d459ea6959..63ecac4a8c 100644 --- a/docs/integrations.md +++ b/docs/integrations.md @@ -80,7 +80,7 @@ You can add the following configuration to `.gitlab-ci.yml` to run a `ruff forma stage: build interruptible: true image: - name: ghcr.io/astral-sh/ruff:0.14.9-alpine + name: ghcr.io/astral-sh/ruff:0.14.10-alpine before_script: - cd $CI_PROJECT_DIR - ruff --version @@ -106,7 +106,7 @@ Ruff can be used as a [pre-commit](https://pre-commit.com) hook via [`ruff-pre-c ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.9 + rev: v0.14.10 hooks: # Run the linter. - id: ruff-check @@ -119,7 +119,7 @@ To enable lint fixes, add the `--fix` argument to the lint hook: ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.9 + rev: v0.14.10 hooks: # Run the linter. - id: ruff-check @@ -133,7 +133,7 @@ To avoid running on Jupyter Notebooks, remove `jupyter` from the list of allowed ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.9 + rev: v0.14.10 hooks: # Run the linter. - id: ruff-check diff --git a/docs/tutorial.md b/docs/tutorial.md index 04169bc1f4..865150f21f 100644 --- a/docs/tutorial.md +++ b/docs/tutorial.md @@ -369,7 +369,7 @@ This tutorial has focused on Ruff's command-line interface, but Ruff can also be ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.9 + rev: v0.14.10 hooks: # Run the linter. - id: ruff-check diff --git a/pyproject.toml b/pyproject.toml index 96f840d03b..63f53b359c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "ruff" -version = "0.14.9" +version = "0.14.10" description = "An extremely fast Python linter and code formatter, written in Rust." authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }] readme = "README.md" diff --git a/scripts/benchmarks/pyproject.toml b/scripts/benchmarks/pyproject.toml index 55a526eb3b..6a5099c38f 100644 --- a/scripts/benchmarks/pyproject.toml +++ b/scripts/benchmarks/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "scripts" -version = "0.14.9" +version = "0.14.10" description = "" authors = ["Charles Marsh "]