diff --git a/CHANGELOG.md b/CHANGELOG.md index 4088e44..4266c88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- Pin `ruff` to `>=0.16,<0.17` and state the lint rules explicitly with + `[tool.ruff.lint] select`. Ruff's *default* rule set widened in 0.16, which + turned CI red on unchanged code; the selection is now a project decision + rather than whatever the installed ruff defaults to. Development-only, no + effect on the package. + ## [0.3.0] - 2026-05-19 ### Added diff --git a/pyproject.toml b/pyproject.toml index 385f11b..6c23569 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ Issues = "https://github.com/jbloomlab/tree-annotated-plot/issues" [project.optional-dependencies] dev = [ "pytest>=8", - "ruff>=0.6", + "ruff>=0.16,<0.17", "black>=24", ] docs = [ @@ -58,3 +58,10 @@ target-version = ["py311"] [tool.ruff] target-version = "py311" + +[tool.ruff.lint] +# Ruff's default rule set is not stable across releases -- 0.16 broadened it, +# which turned CI red on unchanged code. State the rules we lint against so a +# ruff upgrade changes them only when we say so. These are ruff's pre-0.16 +# defaults, which is what this project has been checked against all along. +select = ["E4", "E7", "E9", "F"]