Reign of Nether Modpack
- Python 64.7%
- Nix 35.3%
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [ruff](https://docs.astral.sh/ruff) ([source](https://github.com/astral-sh/ruff), [changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `==0.14.7` → `==0.15.3` |  |  | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.15.3`](https://github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0153) [Compare Source](https://github.com/astral-sh/ruff/compare/0.15.2...0.15.3) Released on 2026-02-26. ##### Preview features - Drop explicit support for `.qmd` file extension ([#​23572](https://github.com/astral-sh/ruff/pull/23572)) This can now be enabled instead by setting the [`extension`](https://docs.astral.sh/ruff/settings/#extension) option: ```toml # ruff.toml extension = { qmd = "markdown" } # pyproject.toml [tool.ruff] extension = { qmd = "markdown" } ``` - Include configured extensions in file discovery ([#​23400](https://github.com/astral-sh/ruff/pull/23400)) - \[`flake8-bandit`] Allow suspicious imports in `TYPE_CHECKING` blocks (`S401`-`S415`) ([#​23441](https://github.com/astral-sh/ruff/pull/23441)) - \[`flake8-bugbear`] Allow `B901` in pytest hook wrappers ([#​21931](https://github.com/astral-sh/ruff/pull/21931)) - \[`flake8-import-conventions`] Add missing conventions from upstream (`ICN001`, `ICN002`) ([#​21373](https://github.com/astral-sh/ruff/pull/21373)) - \[`pydocstyle`] Add rule to enforce docstring section ordering (`D420`) ([#​23537](https://github.com/astral-sh/ruff/pull/23537)) - \[`pylint`] Implement `swap-with-temporary-variable` (`PLR1712`) ([#​22205](https://github.com/astral-sh/ruff/pull/22205)) - \[`ruff`] Add `unnecessary-assign-before-yield` (`RUF070`) ([#​23300](https://github.com/astral-sh/ruff/pull/23300)) - \[`ruff`] Support file-level noqa in `RUF102` ([#​23535](https://github.com/astral-sh/ruff/pull/23535)) - \[`ruff`] Suppress diagnostic for invalid f-strings before Python 3.12 (`RUF027`) ([#​23480](https://github.com/astral-sh/ruff/pull/23480)) - \[`flake8-bandit`] Don't flag `BaseLoader`/`CBaseLoader` as unsafe (`S506`) ([#​23510](https://github.com/astral-sh/ruff/pull/23510)) ##### Bug fixes - Avoid infinite loop between `I002` and `PYI025` ([#​23352](https://github.com/astral-sh/ruff/pull/23352)) - \[`pyflakes`] Fix false positive for `@overload` from `lint.typing-modules` (`F811`) ([#​23357](https://github.com/astral-sh/ruff/pull/23357)) - \[`pyupgrade`] Fix false positive for `TypeVar` default before Python 3.12 (`UP046`) ([#​23540](https://github.com/astral-sh/ruff/pull/23540)) - \[`pyupgrade`] Fix handling of `\N` in raw strings (`UP032`) ([#​22149](https://github.com/astral-sh/ruff/pull/22149)) ##### Rule changes - Render sub-diagnostics in the GitHub output format ([#​23455](https://github.com/astral-sh/ruff/pull/23455)) - \[`flake8-bugbear`] Tag certain `B007` diagnostics as unnecessary ([#​23453](https://github.com/astral-sh/ruff/pull/23453)) - \[`ruff`] Ignore unknown rule codes in `RUF100` ([#​23531](https://github.com/astral-sh/ruff/pull/23531)) These are now flagged by [`RUF102`](https://docs.astral.sh/ruff/rules/invalid-rule-code/) instead. ##### Documentation - Fix missing settings links for several linters ([#​23519](https://github.com/astral-sh/ruff/pull/23519)) - Update isort action comments heading ([#​23515](https://github.com/astral-sh/ruff/pull/23515)) - \[`pydocstyle`] Fix double comma in description of `D404` ([#​23440](https://github.com/astral-sh/ruff/pull/23440)) ##### Other changes - Update the Python module (notably `find_ruff_bin`) for parity with uv ([#​23406](https://github.com/astral-sh/ruff/pull/23406)) ##### Contributors - [@​zanieb](https://github.com/zanieb) - [@​o1x3](https://github.com/o1x3) - [@​assadyousuf](https://github.com/assadyousuf) - [@​kar-ganap](https://github.com/kar-ganap) - [@​denyszhak](https://github.com/denyszhak) - [@​amyreese](https://github.com/amyreese) - [@​carljm](https://github.com/carljm) - [@​anishgirianish](https://github.com/anishgirianish) - [@​Bnyro](https://github.com/Bnyro) - [@​danparizher](https://github.com/danparizher) - [@​ntBre](https://github.com/ntBre) - [@​gcomneno](https://github.com/gcomneno) - [@​jaap3](https://github.com/jaap3) - [@​stakeswky](https://github.com/stakeswky) ### [`v0.15.2`](https://github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0152) [Compare Source](https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2) Released on 2026-02-19. ##### Preview features - Expand the default rule set ([#​23385](https://github.com/astral-sh/ruff/pull/23385)) In preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults: - [`multiple-imports-on-one-line`](https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line) (`E401`) - [`module-import-not-at-top-of-file`](https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file) (`E402`) - [`module-import-not-at-top-of-file`](https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file) (`E701`) - [`multiple-statements-on-one-line-semicolon`](https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon) (`E702`) - [`useless-semicolon`](https://docs.astral.sh/ruff/rules/useless-semicolon) (`E703`) - [`none-comparison`](https://docs.astral.sh/ruff/rules/none-comparison) (`E711`) - [`true-false-comparison`](https://docs.astral.sh/ruff/rules/true-false-comparison) (`E712`) - [`not-in-test`](https://docs.astral.sh/ruff/rules/not-in-test) (`E713`) - [`not-is-test`](https://docs.astral.sh/ruff/rules/not-is-test) (`E714`) - [`type-comparison`](https://docs.astral.sh/ruff/rules/type-comparison) (`E721`) - [`lambda-assignment`](https://docs.astral.sh/ruff/rules/lambda-assignment) (`E731`) - [`ambiguous-variable-name`](https://docs.astral.sh/ruff/rules/ambiguous-variable-name) (`E741`) - [`ambiguous-class-name`](https://docs.astral.sh/ruff/rules/ambiguous-class-name) (`E742`) - [`ambiguous-function-name`](https://docs.astral.sh/ruff/rules/ambiguous-function-name) (`E743`) - [`undefined-local-with-import-star`](https://docs.astral.sh/ruff/rules/undefined-local-with-import-star) (`F403`) - [`undefined-local-with-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage) (`F405`) - [`undefined-local-with-nested-import-star-usage`](https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage) (`F406`) - [`forward-annotation-syntax-error`](https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error) (`F722`) If you use preview and prefer the old defaults, you can restore them with configuration like: ```toml # ruff.toml [lint] select = ["E4", "E7", "E9", "F"] # pyproject.toml [tool.ruff.lint] select = ["E4", "E7", "E9", "F"] ``` If you do give them a try, feel free to share your feedback in the [GitHub discussion](https://github.com/astral-sh/ruff/discussions/23203)! - \[`flake8-pyi`] Also check string annotations (`PYI041`) ([#​19023](https://github.com/astral-sh/ruff/pull/19023)) ##### Bug fixes - \[`flake8-async`] Fix `in_async_context` logic ([#​23426](https://github.com/astral-sh/ruff/pull/23426)) - \[`ruff`] Fix for `RUF102` should delete entire comment ([#​23380](https://github.com/astral-sh/ruff/pull/23380)) - \[`ruff`] Suppress diagnostic for strings with backslashes in interpolations before Python 3.12 (`RUF027`) ([#​21069](https://github.com/astral-sh/ruff/pull/21069)) - \[`flake8-bugbear`] Fix `B023` false positive for immediately-invoked lambdas ([#​23294](https://github.com/astral-sh/ruff/pull/23294)) - \[parser] Fix false syntax error for match-like annotated assignments ([#​23297](https://github.com/astral-sh/ruff/pull/23297)) - \[parser] Fix indentation tracking after line continuations ([#​23417](https://github.com/astral-sh/ruff/pull/23417)) ##### Rule changes - \[`flake8-executable`] Allow global flags in uv shebangs (`EXE003`) ([#​22582](https://github.com/astral-sh/ruff/pull/22582)) - \[`pyupgrade`] Fix handling of `typing.{io,re}` (`UP035`) ([#​23131](https://github.com/astral-sh/ruff/pull/23131)) - \[`ruff`] Detect `PLC0207` on chained `str.split()` calls ([#​23275](https://github.com/astral-sh/ruff/pull/23275)) ##### CLI - Remove invalid inline `noqa` warning ([#​23270](https://github.com/astral-sh/ruff/pull/23270)) ##### Configuration - Add extension mapping to configuration file options ([#​23384](https://github.com/astral-sh/ruff/pull/23384)) ##### Documentation - Add `Q004` to the list of conflicting rules ([#​23340](https://github.com/astral-sh/ruff/pull/23340)) - \[`ruff`] Expand `lint.external` docs and add sub-diagnostic (`RUF100`, `RUF102`) ([#​23268](https://github.com/astral-sh/ruff/pull/23268)) ##### Contributors - [@​dylwil3](https://github.com/dylwil3) - [@​Jkhall81](https://github.com/Jkhall81) - [@​danparizher](https://github.com/danparizher) - [@​dhruvmanila](https://github.com/dhruvmanila) - [@​harupy](https://github.com/harupy) - [@​ngnpope](https://github.com/ngnpope) - [@​amyreese](https://github.com/amyreese) - [@​kar-ganap](https://github.com/kar-ganap) - [@​robsdedude](https://github.com/robsdedude) - [@​shaanmajid](https://github.com/shaanmajid) - [@​ntBre](https://github.com/ntBre) - [@​toslunar](https://github.com/toslunar) ### [`v0.15.1`](https://github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0151) [Compare Source](https://github.com/astral-sh/ruff/compare/0.15.0...0.15.1) Released on 2026-02-12. ##### Preview features - \[`airflow`] Add ruff rules to catch deprecated Airflow imports for Airflow 3.1 (`AIR321`) ([#​22376](https://github.com/astral-sh/ruff/pull/22376)) - \[`airflow`] Third positional parameter not named `ti_key` should be flagged for `BaseOperatorLink.get_link` (`AIR303`) ([#​22828](https://github.com/astral-sh/ruff/pull/22828)) - \[`flake8-gettext`] Fix false negatives for plural argument of `ngettext` (`INT001`, `INT002`, `INT003`) ([#​21078](https://github.com/astral-sh/ruff/pull/21078)) - \[`pyflakes`] Fix infinite loop in preview fix for `unused-import` (`F401`) ([#​23038](https://github.com/astral-sh/ruff/pull/23038)) - \[`pygrep-hooks`] Detect non-existent mock methods in standalone expressions (`PGH005`) ([#​22830](https://github.com/astral-sh/ruff/pull/22830)) - \[`pylint`] Allow dunder submodules and improve diagnostic range (`PLC2701`) ([#​22804](https://github.com/astral-sh/ruff/pull/22804)) - \[`pyupgrade`] Improve diagnostic range for tuples (`UP024`) ([#​23013](https://github.com/astral-sh/ruff/pull/23013)) - \[`refurb`] Check subscripts in tuple do not use lambda parameters in `reimplemented-operator` (`FURB118`) ([#​23079](https://github.com/astral-sh/ruff/pull/23079)) - \[`ruff`] Detect mutable defaults in `field` calls (`RUF008`) ([#​23046](https://github.com/astral-sh/ruff/pull/23046)) - \[`ruff`] Ignore std `cmath.inf` (`RUF069`) ([#​23120](https://github.com/astral-sh/ruff/pull/23120)) - \[`ruff`] New rule `float-equality-comparison` (`RUF069`) ([#​20585](https://github.com/astral-sh/ruff/pull/20585)) - Don't format unlabeled Markdown code blocks ([#​23106](https://github.com/astral-sh/ruff/pull/23106)) - Markdown formatting support in LSP ([#​23063](https://github.com/astral-sh/ruff/pull/23063)) - Support Quarto Markdown language markers ([#​22947](https://github.com/astral-sh/ruff/pull/22947)) - Support formatting `pycon` Markdown code blocks ([#​23112](https://github.com/astral-sh/ruff/pull/23112)) - Use extension mapping to select Markdown code block language ([#​22934](https://github.com/astral-sh/ruff/pull/22934)) ##### Bug fixes - Avoid false positive for undefined variables in `FAST001` ([#​23224](https://github.com/astral-sh/ruff/pull/23224)) - Avoid introducing syntax errors for `FAST003` autofix ([#​23227](https://github.com/astral-sh/ruff/pull/23227)) - Avoid suggesting `InitVar` for `__post_init__` that references PEP 695 type parameters ([#​23226](https://github.com/astral-sh/ruff/pull/23226)) - Deduplicate type variables in generic functions ([#​23225](https://github.com/astral-sh/ruff/pull/23225)) - Fix exception handler parenthesis removal for Python 3.14+ ([#​23126](https://github.com/astral-sh/ruff/pull/23126)) - Fix f-string middle panic when parsing t-strings ([#​23232](https://github.com/astral-sh/ruff/pull/23232)) - Wrap `RUF020` target for multiline fixes ([#​23210](https://github.com/astral-sh/ruff/pull/23210)) - Wrap `UP007` target for multiline fixes ([#​23208](https://github.com/astral-sh/ruff/pull/23208)) - Fix missing diagnostics for last range suppression in file ([#​23242](https://github.com/astral-sh/ruff/pull/23242)) - \[`pyupgrade`] Fix syntax error on string with newline escape and comment (`UP037`) ([#​22968](https://github.com/astral-sh/ruff/pull/22968)) ##### Rule changes - Use `ruff` instead of `Ruff` as the program name in GitHub output format ([#​23240](https://github.com/astral-sh/ruff/pull/23240)) - \[`PT006`] Fix syntax error when unpacking nested tuples in `parametrize` fixes ([#​22441](https://github.com/astral-sh/ruff/issues/22441)) ([#​22464](https://github.com/astral-sh/ruff/pull/22464)) - \[`airflow`] Catch deprecated attribute access from context key for Airflow 3.0 (`AIR301`) ([#​22850](https://github.com/astral-sh/ruff/pull/22850)) - \[`airflow`] Capture deprecated arguments and a decorator (`AIR301`) ([#​23170](https://github.com/astral-sh/ruff/pull/23170)) - \[`flake8-boolean-trap`] Add `multiprocessing.Value` to excluded functions for `FBT003` ([#​23010](https://github.com/astral-sh/ruff/pull/23010)) - \[`flake8-bugbear`] Add a secondary annotation showing the previous occurrence (`B033`) ([#​22634](https://github.com/astral-sh/ruff/pull/22634)) - \[`flake8-type-checking`] Add sub-diagnostic showing the runtime use of an annotation (`TC004`) ([#​23091](https://github.com/astral-sh/ruff/pull/23091)) - \[`isort`] Support configurable import section heading comments ([#​23151](https://github.com/astral-sh/ruff/pull/23151)) - \[`ruff`] Improve the diagnostic for `RUF012` ([#​23202](https://github.com/astral-sh/ruff/pull/23202)) ##### Formatter - Suppress diagnostic output for `format --check --silent` ([#​17736](https://github.com/astral-sh/ruff/pull/17736)) ##### Documentation - Add tabbed shell completion documentation ([#​23169](https://github.com/astral-sh/ruff/pull/23169)) - Explain how to enable Markdown formatting for pre-commit hook ([#​23077](https://github.com/astral-sh/ruff/pull/23077)) - Fixed import in `runtime-evaluated-decorators` example ([#​23187](https://github.com/astral-sh/ruff/pull/23187)) - Update ruff server contributing guide ([#​23060](https://github.com/astral-sh/ruff/pull/23060)) ##### Other changes - Exclude WASM artifacts from GitHub releases ([#​23221](https://github.com/astral-sh/ruff/pull/23221)) ##### Contributors - [@​mkniewallner](https://github.com/mkniewallner) - [@​bxff](https://github.com/bxff) - [@​dylwil3](https://github.com/dylwil3) - [@​Avasam](https://github.com/Avasam) - [@​amyreese](https://github.com/amyreese) - [@​charliermarsh](https://github.com/charliermarsh) - [@​Alex-ley-scrub](https://github.com/Alex-ley-scrub) - [@​Kalmaegi](https://github.com/Kalmaegi) - [@​danparizher](https://github.com/danparizher) - [@​AiyionPrime](https://github.com/AiyionPrime) - [@​eureka928](https://github.com/eureka928) - [@​11happy](https://github.com/11happy) - [@​Jkhall81](https://github.com/Jkhall81) - [@​chirizxc](https://github.com/chirizxc) - [@​leandrobbraga](https://github.com/leandrobbraga) - [@​tvatter](https://github.com/tvatter) - [@​anishgirianish](https://github.com/anishgirianish) - [@​shaanmajid](https://github.com/shaanmajid) - [@​ntBre](https://github.com/ntBre) - [@​sjyangkevin](https://github.com/sjyangkevin) ### [`v0.15.0`](https://github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#0150) [Compare Source](https://github.com/astral-sh/ruff/compare/0.14.14...0.15.0) Released on 2026-02-03. Check out the [blog post](https://astral.sh/blog/ruff-v0.15.0) for a migration guide and overview of the changes! ##### Breaking changes - Ruff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes. - The linter now supports block suppression comments. For example, to suppress `N803` for all parameters in this function: ```python # ruff: disable[N803] def foo( legacyArg1, legacyArg2, legacyArg3, legacyArg4, ): ... # ruff: enable[N803] ``` See the [documentation](https://docs.astral.sh/ruff/linter/#block-level) for more details. - The `ruff:alpine` Docker image is now based on Alpine 3.23 (up from 3.21). - The `ruff:debian` and `ruff:debian-slim` Docker images are now based on Debian 13 "Trixie" instead of Debian 12 "Bookworm." - Binaries for the `ppc64` (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed. - Ruff now resolves all `extend`ed configuration files before falling back on a default Python version. ##### Stabilization The following rules have been stabilized and are no longer in preview: - [`blocking-http-call-httpx-in-async-function`](https://docs.astral.sh/ruff/rules/blocking-http-call-httpx-in-async-function) (`ASYNC212`) - [`blocking-path-method-in-async-function`](https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function) (`ASYNC240`) - [`blocking-input-in-async-function`](https://docs.astral.sh/ruff/rules/blocking-input-in-async-function) (`ASYNC250`) - [`map-without-explicit-strict`](https://docs.astral.sh/ruff/rules/map-without-explicit-strict) (`B912`) - [`if-exp-instead-of-or-operator`](https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator) (`FURB110`) - [`single-item-membership-test`](https://docs.astral.sh/ruff/rules/single-item-membership-test) (`FURB171`) - [`missing-maxsplit-arg`](https://docs.astral.sh/ruff/rules/missing-maxsplit-arg) (`PLC0207`) - [`unnecessary-lambda`](https://docs.astral.sh/ruff/rules/unnecessary-lambda) (`PLW0108`) - [`unnecessary-empty-iterable-within-deque-call`](https://docs.astral.sh/ruff/rules/unnecessary-empty-iterable-within-deque-call) (`RUF037`) - [`in-empty-collection`](https://docs.astral.sh/ruff/rules/in-empty-collection) (`RUF060`) - [`legacy-form-pytest-raises`](https://docs.astral.sh/ruff/rules/legacy-form-pytest-raises) (`RUF061`) - [`non-octal-permissions`](https://docs.astral.sh/ruff/rules/non-octal-permissions) (`RUF064`) - [`invalid-rule-code`](https://docs.astral.sh/ruff/rules/invalid-rule-code) (`RUF102`) - [`invalid-suppression-comment`](https://docs.astral.sh/ruff/rules/invalid-suppression-comment) (`RUF103`) - [`unmatched-suppression-comment`](https://docs.astral.sh/ruff/rules/unmatched-suppression-comment) (`RUF104`) - [`replace-str-enum`](https://docs.astral.sh/ruff/rules/replace-str-enum) (`UP042`) The following behaviors have been stabilized: - The `--output-format` flag is now respected when running Ruff in `--watch` mode, and the `full` output format is now used by default, matching the regular CLI output. - [`builtin-attribute-shadowing`](https://docs.astral.sh/ruff/rules/builtin-attribute-shadowing/) (`A003`) now detects the use of shadowed built-in names in additional contexts like decorators, default arguments, and other attribute definitions. - [`duplicate-union-member`](https://docs.astral.sh/ruff/rules/duplicate-union-member/) (`PYI016`) now considers `typing.Optional` when searching for duplicate union members. - [`split-static-string`](https://docs.astral.sh/ruff/rules/split-static-string/) (`SIM905`) now offers an autofix when the `maxsplit` argument is provided, even without a `sep` argument. - [`dict-get-with-none-default`](https://docs.astral.sh/ruff/rules/dict-get-with-none-default/) (`SIM910`) now applies to more types of key expressions. - [`super-call-with-parameters`](https://docs.astral.sh/ruff/rules/super-call-with-parameters/) (`UP008`) now has a safe fix when it will not delete comments. - [`unnecessary-default-type-args`](https://docs.astral.sh/ruff/rules/unnecessary-default-type-args/) (`UP043`) now applies to stub (`.pyi`) files on Python versions before 3.13. ##### Formatter This release introduces the new 2026 style guide, with the following changes: - Lambda parameters are now kept on the same line and lambda bodies will be parenthesized to let them break across multiple lines ([#​21385](https://github.com/astral-sh/ruff/pull/21385)) - Parentheses around tuples of exceptions in `except` clauses will now be removed on Python 3.14 and later ([#​20768](https://github.com/astral-sh/ruff/pull/20768)) - A single empty line is now permitted at the beginning of function bodies ([#​21110](https://github.com/astral-sh/ruff/pull/21110)) - Parentheses are avoided for long `as` captures in `match` statements ([#​21176](https://github.com/astral-sh/ruff/pull/21176)) - Extra spaces between escaped quotes and ending triple quotes can now be omitted ([#​17216](https://github.com/astral-sh/ruff/pull/17216)) - Blank lines are now enforced before classes with decorators in stub files ([#​18888](https://github.com/astral-sh/ruff/pull/18888)) ##### Preview features - Apply formatting to Markdown code blocks ([#​22470](https://github.com/astral-sh/ruff/pull/22470), [#​22990](https://github.com/astral-sh/ruff/pull/22990), [#​22996](https://github.com/astral-sh/ruff/pull/22996)) See the [documentation](https://docs.astral.sh/ruff/formatter/#markdown-code-formatting) for more details. ##### Bug fixes - Fix suppression indentation matching ([#​22903](https://github.com/astral-sh/ruff/pull/22903)) ##### Rule changes - Customize where the `fix_title` sub-diagnostic appears ([#​23044](https://github.com/astral-sh/ruff/pull/23044)) - \[`FastAPI`] Add sub-diagnostic explaining why a fix was unavailable (`FAST002`) ([#​22565](https://github.com/astral-sh/ruff/pull/22565)) - \[`flake8-annotations`] Don't suggest `NoReturn` for functions raising `NotImplementedError` (`ANN201`, `ANN202`, `ANN205`, `ANN206`) ([#​21311](https://github.com/astral-sh/ruff/pull/21311)) - \[`pyupgrade`] Make fix unsafe if it deletes comments (`UP017`) ([#​22873](https://github.com/astral-sh/ruff/pull/22873)) - \[`pyupgrade`] Make fix unsafe if it deletes comments (`UP020`) ([#​22872](https://github.com/astral-sh/ruff/pull/22872)) - \[`pyupgrade`] Make fix unsafe if it deletes comments (`UP033`) ([#​22871](https://github.com/astral-sh/ruff/pull/22871)) - \[`refurb`] Do not add `abc.ABC` if already present (`FURB180`) ([#​22234](https://github.com/astral-sh/ruff/pull/22234)) - \[`refurb`] Make fix unsafe if it deletes comments (`FURB110`) ([#​22768](https://github.com/astral-sh/ruff/pull/22768)) - \[`ruff`] Add sub-diagnostics with permissions (`RUF064`) ([#​22972](https://github.com/astral-sh/ruff/pull/22972)) ##### Server - Identify notebooks by LSP `didOpen` instead of `.ipynb` file extension ([#​22810](https://github.com/astral-sh/ruff/pull/22810)) ##### CLI - Add `--color` CLI option to force colored output ([#​22806](https://github.com/astral-sh/ruff/pull/22806)) ##### Documentation - Document `-` stdin convention in CLI help text ([#​22817](https://github.com/astral-sh/ruff/pull/22817)) - \[`refurb`] Change example to `re.search` with `^` anchor (`FURB167`) ([#​22984](https://github.com/astral-sh/ruff/pull/22984)) - Fix link to Sphinx code block directives ([#​23041](https://github.com/astral-sh/ruff/pull/23041)) - \[`pydocstyle`] Clarify which quote styles are allowed (`D300`) ([#​22825](https://github.com/astral-sh/ruff/pull/22825)) - \[`flake8-bugbear`] Improve docs for `no-explicit-stacklevel` (`B028`) ([#​22538](https://github.com/astral-sh/ruff/pull/22538)) ##### Other changes - Update MSRV to 1.91 ([#​22874](https://github.com/astral-sh/ruff/pull/22874)) ##### Contributors - [@​danparizher](https://github.com/danparizher) - [@​chirizxc](https://github.com/chirizxc) - [@​amyreese](https://github.com/amyreese) - [@​Jkhall81](https://github.com/Jkhall81) - [@​cwkang1998](https://github.com/cwkang1998) - [@​manzt](https://github.com/manzt) - [@​11happy](https://github.com/11happy) - [@​hugovk](https://github.com/hugovk) - [@​caiquejjx](https://github.com/caiquejjx) - [@​ntBre](https://github.com/ntBre) - [@​akawd](https://github.com/akawd) - [@​konstin](https://github.com/konstin) ### [`v0.14.14`](https://github.com/astral-sh/ruff/releases/tag/0.14.14) [Compare Source](https://github.com/astral-sh/ruff/compare/0.14.13...0.14.14) #### Release Notes Released on 2026-01-22. ##### Preview features - Preserve required parentheses in lambda bodies ([#​22747](https://github.com/astral-sh/ruff/pull/22747)) - Combine range suppression code diagnostics ([#​22613](https://github.com/astral-sh/ruff/pull/22613)) - \[`airflow`] Second positional argument to `Asset`/`Dataset` should not be a dictionary (`AIR303`) ([#​22453](https://github.com/astral-sh/ruff/pull/22453)) - \[`ruff`] Detect duplicate entries in `__all__` (`RUF068`) ([#​22114](https://github.com/astral-sh/ruff/pull/22114)) ##### Bug fixes - \[`pyupgrade`] Allow shadowing non-builtin bindings (`UP029`) ([#​22749](https://github.com/astral-sh/ruff/pull/22749)) - \[`pyupgrade`] Apply `UP045` to string arguments of `typing.cast` ([#​22320](https://github.com/astral-sh/ruff/pull/22320)) - \[`flake8-pie`] Detect duplicated declared class fields in `PIE794` ([#​22717](https://github.com/astral-sh/ruff/pull/22717)) ##### Rule changes - \[`flake8-pyi`] Fix inconsistent handling of forward references for `__new__`, `__enter__`, `__aenter__` in `PYI034` ([#​22798](https://github.com/astral-sh/ruff/pull/22798)) - \[`flake8-pytest-style`] Support `check` parameter in `PT011` ([#​22725](https://github.com/astral-sh/ruff/pull/22725)) - \[`ruff`] Add exception for `ctypes.Structure._fields_` (`RUF012`) ([#​22559](https://github.com/astral-sh/ruff/pull/22559)) - Many fixes are now marked unsafe if they would remove comments: - \[`flake8-bugbear`] [`B009`](https://github.com/astral-sh/ruff/pull/22656), [`B010`](https://github.com/astral-sh/ruff/pull/22657), [`B013`](https://github.com/astral-sh/ruff/pull/22658), [`B014`](https://github.com/astral-sh/ruff/pull/22659), [`B033`](https://github.com/astral-sh/ruff/pull/22632) - \[`flake8-simplify`] [`SIM910`](https://github.com/astral-sh/ruff/pull/22662), [`SIM911`](https://github.com/astral-sh/ruff/pull/22661) - \[`pyupgrade`] [`UP007`](https://github.com/astral-sh/ruff/pull/22772), [`UP039`](https://github.com/astral-sh/ruff/pull/22774), [`UP041`](https://github.com/astral-sh/ruff/pull/22773), [`UP045`](https://github.com/astral-sh/ruff/pull/22772) - \[`refurb`] [`FURB105`](https://github.com/astral-sh/ruff/pull/22767), [`FURB116`](https://github.com/astral-sh/ruff/pull/22681), [`FURB136`](https://github.com/astral-sh/ruff/pull/22680), [`FURB140`](https://github.com/astral-sh/ruff/pull/22679), [`FURB145`](https://github.com/astral-sh/ruff/pull/22670), [`FURB154`](https://github.com/astral-sh/ruff/pull/22669), [`FURB157`](https://github.com/astral-sh/ruff/pull/22668), [`FURB164`](https://github.com/astral-sh/ruff/pull/22667),[`FURB181`](https://github.com/astral-sh/ruff/pull/22666), [`FURB188`](https://github.com/astral-sh/ruff/pull/22665) - \[`ruff`] [`RUF019`](https://github.com/astral-sh/ruff/pull/22663), [`RUF020`](https://github.com/astral-sh/ruff/pull/22664) ##### Documentation - Add `--exit-non-zero-on-format` to formatter exit codes section ([#​22761](https://github.com/astral-sh/ruff/pull/22761)) - Update contributing guide for adding a new rule ([#​22779](https://github.com/astral-sh/ruff/pull/22779)) - \[`FastAPI`] Document fix safety for `FAST001` ([#​22655](https://github.com/astral-sh/ruff/pull/22655)) - \[`flake8-async`] Tweak explanation to focus on latency/efficiency tradeoff (`ASYNC110`) ([#​22715](https://github.com/astral-sh/ruff/pull/22715)) - \[`pandas-vet`] Make example error out-of-the-box (`PD002`) ([#​22561](https://github.com/astral-sh/ruff/pull/22561)) - \[`refurb`] Make the example work out of box (`FURB101`) ([#​22770](https://github.com/astral-sh/ruff/pull/22770)) - \[`refurb`] Make the example work out of box (`FURB103`) ([#​22769](https://github.com/astral-sh/ruff/pull/22769)) ##### Contributors - [@​alejsdev](https://github.com/alejsdev) - [@​ntBre](https://github.com/ntBre) - [@​caiquejjx](https://github.com/caiquejjx) - [@​chirizxc](https://github.com/chirizxc) - [@​denyszhak](https://github.com/denyszhak) - [@​sjyangkevin](https://github.com/sjyangkevin) - [@​MeGaGiGaGon](https://github.com/MeGaGiGaGon) - [@​leandrobbraga](https://github.com/leandrobbraga) - [@​MichaReiser](https://github.com/MichaReiser) - [@​carljm](https://github.com/carljm) - [@​amyreese](https://github.com/amyreese) - [@​zsol](https://github.com/zsol) - [@​harupy](https://github.com/harupy) #### Install ruff 0.14.14 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-installer.sh | sh ``` ##### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-installer.ps1 | iex" ``` #### Download ruff 0.14.14 | File | Platform | Checksum | | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | [ruff-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-apple-darwin.tar.gz.sha256) | | [ruff-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-apple-darwin.tar.gz.sha256) | | [ruff-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-pc-windows-msvc.zip.sha256) | | [ruff-i686-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-i686-pc-windows-msvc.zip.sha256) | | [ruff-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-pc-windows-msvc.zip.sha256) | | [ruff-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-i686-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [ruff-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [ruff-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-s390x-unknown-linux-gnu.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [ruff-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-aarch64-unknown-linux-musl.tar.gz.sha256) | | [ruff-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-i686-unknown-linux-musl.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-x86_64-unknown-linux-musl.tar.gz.sha256) | | [ruff-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [ruff-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.14/ruff-armv7-unknown-linux-musleabihf.tar.gz.sha256) | ### [`v0.14.13`](https://github.com/astral-sh/ruff/releases/tag/0.14.13) #### Release Notes Released on 2026-01-15. This is a follow-up release to 0.14.12. Because of an issue publishing the WASM packages, there is no GitHub release or Git tag for 0.14.12, although the package was published to PyPI. The contents of the 0.14.13 release are identical to 0.14.12. #### 0.14.12 ##### Preview features - \[`flake8-blind-except`] Allow more logging methods (`BLE001`) ([#​22057](https://github.com/astral-sh/ruff/pull/22057)) - \[`ruff`] Respect `lint.pydocstyle.property-decorators` in `RUF066` ([#​22515](https://github.com/astral-sh/ruff/pull/22515)) ##### Bug fixes - Fix configuration path in `--show-settings` ([#​22478](https://github.com/astral-sh/ruff/pull/22478)) - Respect `fmt: skip` for multiple statements on the same logical line ([#​22119](https://github.com/astral-sh/ruff/pull/22119)) ##### Rule changes - \[`pydocstyle`] Update Rust crate imperative to v1.0.7 (`D401`) ([#​22519](https://github.com/astral-sh/ruff/pull/22519)) - \[`isort`] Insert imports in alphabetical order (`I002`) ([#​22493](https://github.com/astral-sh/ruff/pull/22493)) ##### Documentation - Add llms.txt support for documentation ([#​22463](https://github.com/astral-sh/ruff/pull/22463)) - Use prek in documentation and CI ([#​22505](https://github.com/astral-sh/ruff/pull/22505)) - \[`flake8-pytest-style`] Add `check` parameter example to `PT017` docs ([#​22546](https://github.com/astral-sh/ruff/pull/22546)) - \[`ruff`] Make example error out-of-the-box (`RUF103`) ([#​22558](https://github.com/astral-sh/ruff/pull/22558)) - \[`ruff`] document `RUF100` trailing comment fix behavior ([#​22479](https://github.com/astral-sh/ruff/pull/22479)) ##### Other changes - wasm: Require explicit logging initialization ([#​22587](https://github.com/astral-sh/ruff/pull/22587)) ##### Contributors - [@​terror](https://github.com/terror) - [@​harupy](https://github.com/harupy) - [@​Jkhall81](https://github.com/Jkhall81) - [@​dhruvmanila](https://github.com/dhruvmanila) - [@​lubaskinc0de](https://github.com/lubaskinc0de) - [@​zanieb](https://github.com/zanieb) - [@​MeGaGiGaGon](https://github.com/MeGaGiGaGon) - [@​charliermarsh](https://github.com/charliermarsh) - [@​renovate](https://github.com/renovate) - [@​dylwil3](https://github.com/dylwil3) - [@​MichaReiser](https://github.com/MichaReiser) - [@​11happy](https://github.com/11happy) #### Install ruff 0.14.13 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-installer.sh | sh ``` ##### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-installer.ps1 | iex" ``` #### Download ruff 0.14.13 | File | Platform | Checksum | | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | [ruff-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-apple-darwin.tar.gz.sha256) | | [ruff-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-apple-darwin.tar.gz.sha256) | | [ruff-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-pc-windows-msvc.zip.sha256) | | [ruff-i686-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-i686-pc-windows-msvc.zip.sha256) | | [ruff-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-pc-windows-msvc.zip.sha256) | | [ruff-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-i686-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [ruff-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [ruff-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-s390x-unknown-linux-gnu.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [ruff-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-aarch64-unknown-linux-musl.tar.gz.sha256) | | [ruff-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-i686-unknown-linux-musl.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-x86_64-unknown-linux-musl.tar.gz.sha256) | | [ruff-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [ruff-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.13/ruff-armv7-unknown-linux-musleabihf.tar.gz.sha256) | ### [`v0.14.11`](https://github.com/astral-sh/ruff/releases/tag/0.14.11) [Compare Source](https://github.com/astral-sh/ruff/compare/0.14.10...0.14.11) #### Release Notes Released on 2026-01-08. ##### Preview features - Consolidate diagnostics for matched disable/enable suppression comments ([#​22099](https://github.com/astral-sh/ruff/pull/22099)) - Report diagnostics for invalid/unmatched range suppression comments ([#​21908](https://github.com/astral-sh/ruff/pull/21908)) - \[`airflow`] Passing positional argument into `airflow.lineage.hook.HookLineageCollector.create_asset` is not allowed (`AIR303`) ([#​22046](https://github.com/astral-sh/ruff/pull/22046)) - \[`refurb`] Mark `FURB192` fix as always unsafe ([#​22210](https://github.com/astral-sh/ruff/pull/22210)) - \[`ruff`] Add `non-empty-init-module` (`RUF067`) ([#​22143](https://github.com/astral-sh/ruff/pull/22143)) ##### Bug fixes - Fix GitHub format for multi-line diagnostics ([#​22108](https://github.com/astral-sh/ruff/pull/22108)) - \[`flake8-unused-arguments`] Mark `**kwargs` in `TypeVar` as used (`ARG001`) ([#​22214](https://github.com/astral-sh/ruff/pull/22214)) ##### Rule changes - Add `help:` subdiagnostics for several Ruff rules that can sometimes appear to disagree with `ty` ([#​22331](https://github.com/astral-sh/ruff/pull/22331)) - \[`pylint`] Demote `PLW1510` fix to display-only ([#​22318](https://github.com/astral-sh/ruff/pull/22318)) - \[`pylint`] Ignore identical members (`PLR1714`) ([#​22220](https://github.com/astral-sh/ruff/pull/22220)) - \[`pylint`] Improve diagnostic range for `PLC0206` ([#​22312](https://github.com/astral-sh/ruff/pull/22312)) - \[`ruff`] Improve fix title for `RUF102` invalid rule code ([#​22100](https://github.com/astral-sh/ruff/pull/22100)) - \[`flake8-simplify`]: Avoid unnecessary builtins import for `SIM105` ([#​22358](https://github.com/astral-sh/ruff/pull/22358)) ##### Configuration - Allow Python 3.15 as valid `target-version` value in preview ([#​22419](https://github.com/astral-sh/ruff/pull/22419)) - Check `required-version` before parsing rules ([#​22410](https://github.com/astral-sh/ruff/pull/22410)) - Include configured `src` directories when resolving graphs ([#​22451](https://github.com/astral-sh/ruff/pull/22451)) ##### Documentation - Update `T201` suggestion to not use root logger to satisfy `LOG015` ([#​22059](https://github.com/astral-sh/ruff/pull/22059)) - Fix `iter` example in unsafe fixes doc ([#​22118](https://github.com/astral-sh/ruff/pull/22118)) - \[`flake8_print`] better suggestion for `basicConfig` in `T201` docs ([#​22101](https://github.com/astral-sh/ruff/pull/22101)) - \[`pylint`] Restore the fix safety docs for `PLW0133` ([#​22211](https://github.com/astral-sh/ruff/pull/22211)) - Fix Jupyter notebook discovery info for editors ([#​22447](https://github.com/astral-sh/ruff/pull/22447)) ##### Contributors - [@​charliermarsh](https://github.com/charliermarsh) - [@​ntBre](https://github.com/ntBre) - [@​cenviity](https://github.com/cenviity) - [@​njhearp](https://github.com/njhearp) - [@​cbachhuber](https://github.com/cbachhuber) - [@​jelle-openai](https://github.com/jelle-openai) - [@​AlexWaygood](https://github.com/AlexWaygood) - [@​ValdonVitija](https://github.com/ValdonVitija) - [@​BurntSushi](https://github.com/BurntSushi) - [@​Jkhall81](https://github.com/Jkhall81) - [@​PeterJCLaw](https://github.com/PeterJCLaw) - [@​harupy](https://github.com/harupy) - [@​amyreese](https://github.com/amyreese) - [@​sjyangkevin](https://github.com/sjyangkevin) - [@​woodruffw](https://github.com/woodruffw) #### Install ruff 0.14.11 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-installer.sh | sh ``` ##### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-installer.ps1 | iex" ``` #### Download ruff 0.14.11 | File | Platform | Checksum | | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | [ruff-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-apple-darwin.tar.gz.sha256) | | [ruff-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-apple-darwin.tar.gz.sha256) | | [ruff-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-pc-windows-msvc.zip.sha256) | | [ruff-i686-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-i686-pc-windows-msvc.zip.sha256) | | [ruff-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-pc-windows-msvc.zip.sha256) | | [ruff-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-i686-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [ruff-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [ruff-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-s390x-unknown-linux-gnu.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [ruff-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-aarch64-unknown-linux-musl.tar.gz.sha256) | | [ruff-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-i686-unknown-linux-musl.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-x86_64-unknown-linux-musl.tar.gz.sha256) | | [ruff-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [ruff-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.11/ruff-armv7-unknown-linux-musleabihf.tar.gz.sha256) | ### [`v0.14.10`](https://github.com/astral-sh/ruff/releases/tag/0.14.10) [Compare Source](https://github.com/astral-sh/ruff/compare/0.14.9...0.14.10) #### Release Notes 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) #### Install ruff 0.14.10 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-installer.sh | sh ``` ##### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-installer.ps1 | iex" ``` #### Download ruff 0.14.10 | File | Platform | Checksum | | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | [ruff-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-apple-darwin.tar.gz.sha256) | | [ruff-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-apple-darwin.tar.gz.sha256) | | [ruff-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-pc-windows-msvc.zip.sha256) | | [ruff-i686-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-i686-pc-windows-msvc.zip.sha256) | | [ruff-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-pc-windows-msvc.zip.sha256) | | [ruff-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-i686-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [ruff-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [ruff-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-s390x-unknown-linux-gnu.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [ruff-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-aarch64-unknown-linux-musl.tar.gz.sha256) | | [ruff-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-i686-unknown-linux-musl.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-x86_64-unknown-linux-musl.tar.gz.sha256) | | [ruff-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [ruff-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.10/ruff-armv7-unknown-linux-musleabihf.tar.gz.sha256) | ### [`v0.14.9`](https://github.com/astral-sh/ruff/releases/tag/0.14.9) [Compare Source](https://github.com/astral-sh/ruff/compare/0.14.8...0.14.9) #### Release Notes Released on 2025-12-11. ##### Preview features - \[`ruff`] New `RUF100` diagnostics for unused range suppressions ([#​21783](https://github.com/astral-sh/ruff/pull/21783)) - \[`pylint`] Detect subclasses of builtin exceptions (`PLW0133`) ([#​21382](https://github.com/astral-sh/ruff/pull/21382)) ##### Bug fixes - Fix comment placement in lambda parameters ([#​21868](https://github.com/astral-sh/ruff/pull/21868)) - Skip over trivia tokens after re-lexing ([#​21895](https://github.com/astral-sh/ruff/pull/21895)) - \[`flake8-bandit`] Fix false positive when using non-standard `CSafeLoader` path (S506). ([#​21830](https://github.com/astral-sh/ruff/pull/21830)) - \[`flake8-bugbear`] Accept immutable slice default arguments (`B008`) ([#​21823](https://github.com/astral-sh/ruff/pull/21823)) ##### Rule changes - \[`pydocstyle`] Suppress `D417` for parameters with `Unpack` annotations ([#​21816](https://github.com/astral-sh/ruff/pull/21816)) ##### Performance - Use `memchr` for computing line indexes ([#​21838](https://github.com/astral-sh/ruff/pull/21838)) ##### Documentation - Document `*.pyw` is included by default in preview ([#​21885](https://github.com/astral-sh/ruff/pull/21885)) - Document range suppressions, reorganize suppression docs ([#​21884](https://github.com/astral-sh/ruff/pull/21884)) - Update mkdocs-material to 9.7.0 (Insiders now free) ([#​21797](https://github.com/astral-sh/ruff/pull/21797)) ##### Contributors - [@​Avasam](https://github.com/Avasam) - [@​MichaReiser](https://github.com/MichaReiser) - [@​charliermarsh](https://github.com/charliermarsh) - [@​amyreese](https://github.com/amyreese) - [@​phongddo](https://github.com/phongddo) - [@​prakhar1144](https://github.com/prakhar1144) - [@​mahiro72](https://github.com/mahiro72) - [@​ntBre](https://github.com/ntBre) - [@​LoicRiegel](https://github.com/LoicRiegel) #### Install ruff 0.14.9 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-installer.sh | sh ``` ##### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-installer.ps1 | iex" ``` #### Download ruff 0.14.9 | File | Platform | Checksum | | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | [ruff-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-apple-darwin.tar.gz.sha256) | | [ruff-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-apple-darwin.tar.gz.sha256) | | [ruff-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-pc-windows-msvc.zip.sha256) | | [ruff-i686-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-i686-pc-windows-msvc.zip.sha256) | | [ruff-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-pc-windows-msvc.zip.sha256) | | [ruff-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-i686-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [ruff-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [ruff-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-s390x-unknown-linux-gnu.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [ruff-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-aarch64-unknown-linux-musl.tar.gz.sha256) | | [ruff-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-i686-unknown-linux-musl.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-x86_64-unknown-linux-musl.tar.gz.sha256) | | [ruff-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [ruff-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.9/ruff-armv7-unknown-linux-musleabihf.tar.gz.sha256) | ### [`v0.14.8`](https://github.com/astral-sh/ruff/releases/tag/0.14.8) [Compare Source](https://github.com/astral-sh/ruff/compare/0.14.7...0.14.8) #### Release Notes Released on 2025-12-04. ##### Preview features - \[`flake8-bugbear`] Catch `yield` expressions within other statements (`B901`) ([#​21200](https://github.com/astral-sh/ruff/pull/21200)) - \[`flake8-use-pathlib`] Mark fixes unsafe for return type changes (`PTH104`, `PTH105`, `PTH109`, `PTH115`) ([#​21440](https://github.com/astral-sh/ruff/pull/21440)) ##### Bug fixes - Fix syntax error false positives for `await` outside functions ([#​21763](https://github.com/astral-sh/ruff/pull/21763)) - \[`flake8-simplify`] Fix truthiness assumption for non-iterable arguments in tuple/list/set calls (`SIM222`, `SIM223`) ([#​21479](https://github.com/astral-sh/ruff/pull/21479)) ##### Documentation - Suggest using `--output-file` option in GitLab integration ([#​21706](https://github.com/astral-sh/ruff/pull/21706)) ##### Other changes - \[syntax-error] Default type parameter followed by non-default type parameter ([#​21657](https://github.com/astral-sh/ruff/pull/21657)) ##### Contributors - [@​kieran-ryan](https://github.com/kieran-ryan) - [@​11happy](https://github.com/11happy) - [@​danparizher](https://github.com/danparizher) - [@​ntBre](https://github.com/ntBre) #### Install ruff 0.14.8 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.sh | sh ``` ##### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-installer.ps1 | iex" ``` #### Download ruff 0.14.8 | File | Platform | Checksum | | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | [ruff-aarch64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-apple-darwin.tar.gz.sha256) | | [ruff-x86\_64-apple-darwin.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-apple-darwin.tar.gz.sha256) | | [ruff-aarch64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-pc-windows-msvc.zip.sha256) | | [ruff-i686-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-i686-pc-windows-msvc.zip.sha256) | | [ruff-x86\_64-pc-windows-msvc.zip](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-pc-windows-msvc.zip.sha256) | | [ruff-aarch64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-i686-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-i686-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-powerpc64-unknown-linux-gnu.tar.gz) | PPC64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256) | | [ruff-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [ruff-s390x-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-s390x-unknown-linux-gnu.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-gnu.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [ruff-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [ruff-aarch64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-aarch64-unknown-linux-musl.tar.gz.sha256) | | [ruff-i686-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-i686-unknown-linux-musl.tar.gz.sha256) | | [ruff-x86\_64-unknown-linux-musl.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-x86_64-unknown-linux-musl.tar.gz.sha256) | | [ruff-arm-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [ruff-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/astral-sh/ruff/releases/download/0.14.8/ruff-armv7-unknown-linux-musleabihf.tar.gz.sha256) | </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS4zIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMSIsInRhcmdldEJyYW5jaCI6InRydW5rIiwibGFiZWxzIjpbXX0=--> Reviewed-on: #36 Co-authored-by: Renovate <renovate@csw.im> Co-committed-by: Renovate <renovate@csw.im> |
||
|---|---|---|
| .forgejo/workflows | ||
| build | ||
| config/essential-mod-partner | ||
| mods | ||
| scripts | ||
| .editorconfig | ||
| .envrc | ||
| .gitattributes | ||
| .gitignore | ||
| .packwizignore | ||
| .pre-commit-config.yaml | ||
| flake.lock | ||
| flake.nix | ||
| index.pw.toml | ||
| LICENSE.md | ||
| pack.toml | ||
| pyproject.toml | ||
| renovate.json | ||
| server.properties | ||
| unsup.ini | ||
| uv.lock | ||