diff --git a/CHANGELOG.md b/CHANGELOG.md index b64810f92ddc40..399e9f021a192e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,54 @@ # Changelog +## 0.5.6 + +Ruff 0.5.6 automatically enables linting and formatting of notebooks in *preview mode*. +You can opt-out of this behavior by adding `*.ipynb` to the `extend-exclude` setting. + +### Preview features + +- Enable notebooks by default in preview mode ([#12621](https://github.com/astral-sh/ruff/pull/12621)) +- [`flake8-builtins`] Implement import, lambda, and module shadowing ([#12546](https://github.com/astral-sh/ruff/pull/12546)) +- [`pydoclint`] Add `docstring-missing-returns` (`DOC201`) and `docstring-extraneous-returns` (`DOC202`) ([#12485](https://github.com/astral-sh/ruff/pull/12485)) + +### Rule changes + +- [`flake8-return`] Exempt cached properties and other property-like decorators from explicit return rule (`RET501`) ([#12563](https://github.com/astral-sh/ruff/pull/12563)) + +### Server + +- Make server panic hook more error resilient ([#12610](https://github.com/astral-sh/ruff/pull/12610)) +- Use `$/logTrace` for server trace logs in Zed and VS Code ([#12564](https://github.com/astral-sh/ruff/pull/12564)) +- Keep track of deleted cells for reorder change request ([#12575](https://github.com/astral-sh/ruff/pull/12575)) + +### Configuration + +- [`flake8-implicit-str-concat`] Always allow explicit multi-line concatenations when implicit are banned ([#12532](https://github.com/astral-sh/ruff/pull/12532)) + +### Bug fixes + +- [`flake8-async`] Avoid unused async when context manager includes `TaskGroup` ([#12605](https://github.com/astral-sh/ruff/pull/12605)) +- [`flake8-slots`] Avoid recommending `__slots__` for classes that inherit from more than `namedtuple` ([#12531](https://github.com/astral-sh/ruff/pull/12531)) +- [`isort`] Avoid marking required imports as unused ([#12537](https://github.com/astral-sh/ruff/pull/12537)) +- [`isort`] Preserve trailing inline comments on import-from statements ([#12498](https://github.com/astral-sh/ruff/pull/12498)) +- [`pycodestyle`] Add newlines before comments (`E305`) ([#12606](https://github.com/astral-sh/ruff/pull/12606)) +- [`pycodestyle`] Don't attach comments with mismatched indents ([#12604](https://github.com/astral-sh/ruff/pull/12604)) +- [`pyflakes`] Fix preview-mode bugs in `F401` when attempting to autofix unused first-party submodule imports in an `__init__.py` file ([#12569](https://github.com/astral-sh/ruff/pull/12569)) +- [`pylint`] Respect start index in `unnecessary-list-index-lookup` ([#12603](https://github.com/astral-sh/ruff/pull/12603)) +- [`pyupgrade`] Avoid recommending no-argument super in `slots=True` dataclasses ([#12530](https://github.com/astral-sh/ruff/pull/12530)) +- [`pyupgrade`] Use colon rather than dot formatting for integer-only types ([#12534](https://github.com/astral-sh/ruff/pull/12534)) +- Fix NFKC normalization bug when removing unused imports ([#12571](https://github.com/astral-sh/ruff/pull/12571)) + +### Documentation +- +- Recommend client config for `trace` setting in Neovim ([#12562](https://github.com/astral-sh/ruff/pull/12562)) + +### Other changes + +- Consider more stdlib decorators to be property-like ([#12583](https://github.com/astral-sh/ruff/pull/12583)) +- Improve handling of metaclasses in various linter rules ([#12579](https://github.com/astral-sh/ruff/pull/12579)) +- Improve consistency between linter rules in determining whether a function is property ([#12581](https://github.com/astral-sh/ruff/pull/12581)) + ## 0.5.5 ### Preview features @@ -2085,9 +2134,9 @@ Read Ruff's new [versioning policy](https://docs.astral.sh/ruff/versioning/). - Unsafe fixes are no longer displayed or applied without opt-in ([#7769](https://github.com/astral-sh/ruff/pull/7769)) - Drop formatting specific rules from the default set ([#7900](https://github.com/astral-sh/ruff/pull/7900)) - The deprecated `format` setting has been removed ([#7984](https://github.com/astral-sh/ruff/pull/7984)) - - The `format` setting cannot be used to configure the output format, use `output-format` instead - - The `RUFF_FORMAT` environment variable is ignored, use `RUFF_OUTPUT_FORMAT` instead - - The `--format` option has been removed from `ruff check`, use `--output-format` instead + - The `format` setting cannot be used to configure the output format, use `output-format` instead + - The `RUFF_FORMAT` environment variable is ignored, use `RUFF_OUTPUT_FORMAT` instead + - The `--format` option has been removed from `ruff check`, use `--output-format` instead ### Rule changes diff --git a/Cargo.lock b/Cargo.lock index ab8ead5b80cb55..6f4fe43f9a437d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "ruff" -version = "0.5.5" +version = "0.5.6" dependencies = [ "anyhow", "argfile", @@ -2279,7 +2279,7 @@ dependencies = [ [[package]] name = "ruff_linter" -version = "0.5.5" +version = "0.5.6" dependencies = [ "aho-corasick", "annotate-snippets 0.9.2", @@ -2599,7 +2599,7 @@ dependencies = [ [[package]] name = "ruff_wasm" -version = "0.5.5" +version = "0.5.6" dependencies = [ "console_error_panic_hook", "console_log", diff --git a/README.md b/README.md index 45ceffd3a6acc5..59fdb7b7fd4499 100644 --- a/README.md +++ b/README.md @@ -136,8 +136,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.5.5/install.sh | sh -powershell -c "irm https://astral.sh/ruff/0.5.5/install.ps1 | iex" +curl -LsSf https://astral.sh/ruff/0.5.6/install.sh | sh +powershell -c "irm https://astral.sh/ruff/0.5.6/install.ps1 | iex" ``` You can also install Ruff via [Homebrew](https://formulae.brew.sh/formula/ruff), [Conda](https://anaconda.org/conda-forge/ruff), @@ -170,7 +170,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.5.5 + rev: v0.5.6 hooks: # Run the linter. - id: ruff diff --git a/crates/ruff/Cargo.toml b/crates/ruff/Cargo.toml index 3596d52f42b847..83c3ead1392e07 100644 --- a/crates/ruff/Cargo.toml +++ b/crates/ruff/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ruff" -version = "0.5.5" +version = "0.5.6" publish = true authors = { workspace = true } edition = { workspace = true } diff --git a/crates/ruff_linter/Cargo.toml b/crates/ruff_linter/Cargo.toml index b98ee74d72f575..d838cf9f8dceb9 100644 --- a/crates/ruff_linter/Cargo.toml +++ b/crates/ruff_linter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ruff_linter" -version = "0.5.5" +version = "0.5.6" publish = false authors = { workspace = true } edition = { workspace = true } diff --git a/crates/ruff_wasm/Cargo.toml b/crates/ruff_wasm/Cargo.toml index 8fab77ef21949d..f18f3f831c5bd0 100644 --- a/crates/ruff_wasm/Cargo.toml +++ b/crates/ruff_wasm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ruff_wasm" -version = "0.5.5" +version = "0.5.6" publish = false authors = { workspace = true } edition = { workspace = true } diff --git a/docs/integrations.md b/docs/integrations.md index 2e4eeaae25cb9e..dc86c661388997 100644 --- a/docs/integrations.md +++ b/docs/integrations.md @@ -78,7 +78,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.5.5 + rev: v0.5.6 hooks: # Run the linter. - id: ruff @@ -91,7 +91,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.5.5 + rev: v0.5.6 hooks: # Run the linter. - id: ruff @@ -105,7 +105,7 @@ To run the hooks over Jupyter Notebooks too, add `jupyter` to the list of allowe ```yaml - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.5.5 + rev: v0.5.6 hooks: # Run the linter. - id: ruff diff --git a/pyproject.toml b/pyproject.toml index 1a5ebb878a0b0c..7893f33bf42de3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "ruff" -version = "0.5.5" +version = "0.5.6" 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 3dce8897db58af..827244f699b97d 100644 --- a/scripts/benchmarks/pyproject.toml +++ b/scripts/benchmarks/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "scripts" -version = "0.5.5" +version = "0.5.6" description = "" authors = ["Charles Marsh "]