← Back to issue list

chore(deps): update dependency ruff to ~=0.5.7

View original Github issue

Metadata

Project
craft-grammar
Number
#40
Type
pull request
State
merged
Author
renovate[bot]
Labels
Created
Updated
Closed

Current evaluation

Merged a Renovate-generated dependency update upgrading ruff from 0.4.5 to 0.5.7. The change passed CI checks, received approval, and was successfully merged into the main branch.

Suggested action:

No scores available.

Issue body

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://docs.astral.sh/ruff) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `~=0.4.5` -> `~=0.5.7` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.4.10/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.4.10/0.5.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.5.7`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#057) [Compare Source](https://togithub.com/astral-sh/ruff/compare/0.5.6...0.5.7) ##### Preview features - \[`flake8-comprehensions`] Account for list and set comprehensions in `unnecessary-literal-within-tuple-call` (`C409`) ([#&#8203;12657](https://togithub.com/astral-sh/ruff/pull/12657)) - \[`flake8-pyi`] Add autofix for `future-annotations-in-stub` (`PYI044`) ([#&#8203;12676](https://togithub.com/astral-sh/ruff/pull/12676)) - \[`flake8-return`] Avoid syntax error when auto-fixing `RET505` with mixed indentation (space and tabs) ([#&#8203;12740](https://togithub.com/astral-sh/ruff/pull/12740)) - \[`pydoclint`] Add `docstring-missing-yields` (`DOC402`) and `docstring-extraneous-yields` (`DOC403`) ([#&#8203;12538](https://togithub.com/astral-sh/ruff/pull/12538)) - \[`pydoclint`] Avoid `DOC201` if docstring begins with "Return", "Returns", "Yield", or "Yields" ([#&#8203;12675](https://togithub.com/astral-sh/ruff/pull/12675)) - \[`pydoclint`] Deduplicate collected exceptions after traversing function bodies (`DOC501`) ([#&#8203;12642](https://togithub.com/astral-sh/ruff/pull/12642)) - \[`pydoclint`] Ignore `DOC` errors for stub functions ([#&#8203;12651](https://togithub.com/astral-sh/ruff/pull/12651)) - \[`pydoclint`] Teach rules to understand reraised exceptions as being explicitly raised (`DOC501`, `DOC502`) ([#&#8203;12639](https://togithub.com/astral-sh/ruff/pull/12639)) - \[`ruff`] Implement `incorrectly-parenthesized-tuple-in-subscript` (`RUF031`) ([#&#8203;12480](https://togithub.com/astral-sh/ruff/pull/12480)) - \[`ruff`] Mark `RUF023` fix as unsafe if `__slots__` is not a set and the binding is used elsewhere ([#&#8203;12692](https://togithub.com/astral-sh/ruff/pull/12692)) ##### Rule changes - \[`refurb`] Add autofix for `implicit-cwd` (`FURB177`) ([#&#8203;12708](https://togithub.com/astral-sh/ruff/pull/12708)) - \[`ruff`] Add autofix for `zip-instead-of-pairwise` (`RUF007`) ([#&#8203;12663](https://togithub.com/astral-sh/ruff/pull/12663)) - \[`tryceratops`] Add `BaseException` to `raise-vanilla-class` rule (`TRY002`) ([#&#8203;12620](https://togithub.com/astral-sh/ruff/pull/12620)) ##### Server - Ignore non-file workspace URL; Ruff will display a warning notification in this case ([#&#8203;12725](https://togithub.com/astral-sh/ruff/pull/12725)) ##### CLI - Fix cache invalidation for nested `pyproject.toml` files ([#&#8203;12727](https://togithub.com/astral-sh/ruff/pull/12727)) ##### Bug fixes - \[`flake8-async`] Fix false positives with multiple `async with` items (`ASYNC100`) ([#&#8203;12643](https://togithub.com/astral-sh/ruff/pull/12643)) - \[`flake8-bandit`] Avoid false-positives for list concatenations in SQL construction (`S608`) ([#&#8203;12720](https://togithub.com/astral-sh/ruff/pull/12720)) - \[`flake8-bugbear`] Treat `return` as equivalent to `break` (`B909`) ([#&#8203;12646](https://togithub.com/astral-sh/ruff/pull/12646)) - \[`flake8-comprehensions`] Set comprehensions not a violation for `sum` in `unnecessary-comprehension-in-call` (`C419`) ([#&#8203;12691](https://togithub.com/astral-sh/ruff/pull/12691)) - \[`flake8-simplify`] Parenthesize conditions based on precedence when merging if arms (`SIM114`) ([#&#8203;12737](https://togithub.com/astral-sh/ruff/pull/12737)) - \[`pydoclint`] Try both 'Raises' section styles when convention is unspecified (`DOC501`) ([#&#8203;12649](https://togithub.com/astral-sh/ruff/pull/12649)) ### [`v0.5.6`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#056) [Compare Source](https://togithub.com/astral-sh/ruff/compare/0.5.5...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. ```toml [tool.ruff] extend-exclude = ["*.ipynb"] ``` ##### Preview features - Enable notebooks by default in preview mode ([#&#8203;12621](https://togithub.com/astral-sh/ruff/pull/12621)) - \[`flake8-builtins`] Implement import, lambda, and module shadowing ([#&#8203;12546](https://togithub.com/astral-sh/ruff/pull/12546)) - \[`pydoclint`] Add `docstring-missing-returns` (`DOC201`) and `docstring-extraneous-returns` (`DOC202`) ([#&#8203;12485](https://togithub.com/astral-sh/ruff/pull/12485)) ##### Rule changes - \[`flake8-return`] Exempt cached properties and other property-like decorators from explicit return rule (`RET501`) ([#&#8203;12563](https://togithub.com/astral-sh/ruff/pull/12563)) ##### Server - Make server panic hook more error resilient ([#&#8203;12610](https://togithub.com/astral-sh/ruff/pull/12610)) - Use `$/logTrace` for server trace logs in Zed and VS Code ([#&#8203;12564](https://togithub.com/astral-sh/ruff/pull/12564)) - Keep track of deleted cells for reorder change request ([#&#8203;12575](https://togithub.com/astral-sh/ruff/pull/12575)) ##### Configuration - \[`flake8-implicit-str-concat`] Always allow explicit multi-line concatenations when implicit concatenations are banned ([#&#8203;12532](https://togithub.com/astral-sh/ruff/pull/12532)) ##### Bug fixes - \[`flake8-async`] Avoid flagging `asyncio.timeout`s as unused when the context manager includes `asyncio.TaskGroup` ([#&#8203;12605](https://togithub.com/astral-sh/ruff/pull/12605)) - \[`flake8-slots`] Avoid recommending `__slots__` for classes that inherit from more than `namedtuple` ([#&#8203;12531](https://togithub.com/astral-sh/ruff/pull/12531)) - \[`isort`] Avoid marking required imports as unused ([#&#8203;12537](https://togithub.com/astral-sh/ruff/pull/12537)) - \[`isort`] Preserve trailing inline comments on import-from statements ([#&#8203;12498](https://togithub.com/astral-sh/ruff/pull/12498)) - \[`pycodestyle`] Add newlines before comments (`E305`) ([#&#8203;12606](https://togithub.com/astral-sh/ruff/pull/12606)) - \[`pycodestyle`] Don't attach comments with mismatched indents ([#&#8203;12604](https://togithub.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 ([#&#8203;12569](https://togithub.com/astral-sh/ruff/pull/12569)) - \[`pylint`] Respect start index in `unnecessary-list-index-lookup` ([#&#8203;12603](https://togithub.com/astral-sh/ruff/pull/12603)) - \[`pyupgrade`] Avoid recommending no-argument super in `slots=True` dataclasses ([#&#8203;12530](https://togithub.com/astral-sh/ruff/pull/12530)) - \[`pyupgrade`] Use colon rather than dot formatting for integer-only types ([#&#8203;12534](https://togithub.com/astral-sh/ruff/pull/12534)) - Fix NFKC normalization bug when removing unused imports ([#&#8203;12571](https://togithub.com/astral-sh/ruff/pull/12571)) ##### Other changes - Consider more stdlib decorators to be property-like ([#&#8203;12583](https://togithub.com/astral-sh/ruff/pull/12583)) - Improve handling of metaclasses in various linter rules ([#&#8203;12579](https://togithub.com/astral-sh/ruff/pull/12579)) - Improve consistency between linter rules in determining whether a function is property ([#&#8203;12581](https://togithub.com/astral-sh/ruff/pull/12581)) ### [`v0.5.5`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#055) [Compare Source](https://togithub.com/astral-sh/ruff/compare/0.5.4...0.5.5) ##### Preview features - \[`fastapi`] Implement `fastapi-redundant-response-model` (`FAST001`) and `fastapi-non-annotated-dependency`(`FAST002`) ([#&#8203;11579](https://togithub.com/astral-sh/ruff/pull/11579)) - \[`pydoclint`] Implement `docstring-missing-exception` (`DOC501`) and `docstring-extraneous-exception` (`DOC502`) ([#&#8203;11471](https://togithub.com/astral-sh/ruff/pull/11471)) ##### Rule changes - \[`numpy`] Fix NumPy 2.0 rule for `np.alltrue` and `np.sometrue` ([#&#8203;12473](https://togithub.com/astral-sh/ruff/pull/12473)) - \[`numpy`] Ignore `NPY201` inside `except` blocks for compatibility with older numpy versions ([#&#8203;12490](https://togithub.com/astral-sh/ruff/pull/12490)) - \[`pep8-naming`] Avoid applying `ignore-names` to `self` and `cls` function names (`N804`, `N805`) ([#&#8203;12497](https://togithub.com/astral-sh/ruff/pull/12497)) ##### Formatter - Fix incorrect placement of leading function comment with type params ([#&#8203;12447](https://togithub.com/astral-sh/ruff/pull/12447)) ##### Server - Do not bail code action resolution when a quick fix is requested ([#&#8203;12462](https://togithub.com/astral-sh/ruff/pull/12462)) ##### Bug fixes - Fix `Ord` implementation of `cmp_fix` ([#&#8203;12471](https://togithub.com/astral-sh/ruff/pull/12471)) - Raise syntax error for unparenthesized generator expression in multi-argument call ([#&#8203;12445](https://togithub.com/astral-sh/ruff/pull/12445)) - \[`pydoclint`] Fix panic in `DOC501` reported in [#&#8203;12428](https://togithub.com/astral-sh/ruff/pull/12428) ([#&#8203;12435](https://togithub.com/astral-sh/ruff/pull/12435)) - \[`flake8-bugbear`] Allow singleton tuples with starred expressions in `B013` ([#&#8203;12484](https://togithub.com/astral-sh/ruff/pull/12484)) ##### Documentation - Add Eglot setup guide for Emacs editor ([#&#8203;12426](https://togithub.com/astral-sh/ruff/pull/12426)) - Add note about the breaking change in `nvim-lspconfig` ([#&#8203;12507](https://togithub.com/astral-sh/ruff/pull/12507)) - Add note to include notebook files for native server ([#&#8203;12449](https://togithub.com/astral-sh/ruff/pull/12449)) - Add setup docs for Zed editor ([#&#8203;12501](https://togithub.com/astral-sh/ruff/pull/12501)) ### [`v0.5.4`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#054) [Compare Source](https://togithub.com/astral-sh/ruff/compare/0.5.3...0.5.4) ##### Rule changes - \[`ruff`] Rename `RUF007` to `zip-instead-of-pairwise` ([#&#8203;12399](https://togithub.com/astral-sh/ruff/pull/12399)) ##### Bug fixes - \[`flake8-builtins`] Avoid shadowing diagnostics for `@override` methods ([#&#8203;12415](https://togithub.com/astral-sh/ruff/pull/12415)) - \[`flake8-comprehensions`] Insert parentheses for multi-argument generators ([#&#8203;12422](https://togithub.com/astral-sh/ruff/pull/12422)) - \[`pydocstyle`] Handle escaped docstrings within docstring (`D301`) ([#&#8203;12192](https://togithub.com/astral-sh/ruff/pull/12192)) ##### Documentation - Fix GitHub link to Neovim setup ([#&#8203;12410](https://togithub.com/astral-sh/ruff/pull/12410)) - Fix `output-format` default in settings reference ([#&#8203;12409](https://togithub.com/astral-sh/ruff/pull/12409)) ### [`v0.5.3`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#053) [Compare Source](https://togithub.com/astral-sh/ruff/compare/0.5.2...0.5.3) **Ruff 0.5.3 marks the stable release of the Ruff language server and introduces revamped [documentation](https://docs.astral.sh/ruff/editors), including [setup guides for your editor of choice](https://docs.astral.sh/ruff/editors/setup) and [the language server itself](https://docs.astral.sh/ruff/editors/settings)**. ##### Preview features - Formatter: Insert empty line between suite and alternative branch after function/class definition ([#&#8203;12294](https://togithub.com/astral-sh/ruff/pull/12294)) - \[`pyupgrade`] Implement `unnecessary-default-type-args` (`UP043`) ([#&#8203;12371](https://togithub.com/astral-sh/ruff/pull/12371)) ##### Rule changes - \[`flake8-bugbear`] Detect enumerate iterations in `loop-iterator-mutation` (`B909`) ([#&#8203;12366](https://togithub.com/astral-sh/ruff/pull/12366)) - \[`flake8-bugbear`] Remove `discard`, `remove`, and `pop` allowance for `loop-iterator-mutation` (`B909`) ([#&#8203;12365](https://togithub.com/astral-sh/ruff/pull/12365)) - \[`pylint`] Allow `repeated-equality-comparison` for mixed operations (`PLR1714`) ([#&#8203;12369](https://togithub.com/astral-sh/ruff/pull/12369)) - \[`pylint`] Ignore `self` and `cls` when counting arguments (`PLR0913`) ([#&#8203;12367](https://togithub.com/astral-sh/ruff/pull/12367)) - \[`pylint`] Use UTF-8 as default encoding in `unspecified-encoding` fix (`PLW1514`) ([#&#8203;12370](https://togithub.com/astral-sh/ruff/pull/12370)) ##### Server - Build settings index in parallel for the native server ([#&#8203;12299](https://togithub.com/astral-sh/ruff/pull/12299)) - Use fallback settings when indexing the project ([#&#8203;12362](https://togithub.com/astral-sh/ruff/pull/12362)) - Consider `--preview` flag for `server` subcommand for the linter and formatter ([#&#8203;12208](https://togithub.com/astral-sh/ruff/pull/12208)) ##### Bug fixes - \[`flake8-comprehensions`] Allow additional arguments for `sum` and `max` comprehensions (`C419`) ([#&#8203;12364](https://togithub.com/astral-sh/ruff/pull/12364)) - \[`pylint`] Avoid dropping extra boolean operations in `repeated-equality-comparison` (`PLR1714`) ([#&#8203;12368](https://togithub.com/astral-sh/ruff/pull/12368)) - \[`pylint`] Consider expression before statement when determining binding kind (`PLR1704`) ([#&#8203;12346](https://togithub.com/astral-sh/ruff/pull/12346)) ##### Documentation - Add docs for Ruff language server ([#&#8203;12344](https://togithub.com/astral-sh/ruff/pull/12344)) - Migrate to standalone docs repo ([#&#8203;12341](https://togithub.com/astral-sh/ruff/pull/12341)) - Update versioning policy for editor integration ([#&#8203;12375](https://togithub.com/astral-sh/ruff/pull/12375)) ##### Other changes - Publish Wasm API to npm ([#&#8203;12317](https://togithub.com/astral-sh/ruff/pull/12317)) ### [`v0.5.2`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#052) [Compare Source](https://togithub.com/astral-sh/ruff/compare/0.5.1...0.5.2) ##### Preview features - Use `space` separator before parenthesized expressions in comprehensions with leading comments ([#&#8203;12282](https://togithub.com/astral-sh/ruff/pull/12282)) - \[`flake8-async`] Update `ASYNC100` to include `anyio` and `asyncio` ([#&#8203;12221](https://togithub.com/astral-sh/ruff/pull/12221)) - \[`flake8-async`] Update `ASYNC109` to include `anyio` and `asyncio` ([#&#8203;12236](https://togithub.com/astral-sh/ruff/pull/12236)) - \[`flake8-async`] Update `ASYNC110` to include `anyio` and `asyncio` ([#&#8203;12261](https://togithub.com/astral-sh/ruff/pull/12261)) - \[`flake8-async`] Update `ASYNC115` to include `anyio` and `asyncio` ([#&#8203;12262](https://togithub.com/astral-sh/ruff/pull/12262)) - \[`flake8-async`] Update `ASYNC116` to include `anyio` and `asyncio` ([#&#8203;12266](https://togithub.com/astral-sh/ruff/pull/12266)) ##### Rule changes - \[`flake8-return`] Exempt properties from explicit return rule (`RET501`) ([#&#8203;12243](https://togithub.com/astral-sh/ruff/pull/12243)) - \[`numpy`] Add `np.NAN`-to-`np.nan` diagnostic ([#&#8203;12292](https://togithub.com/astral-sh/ruff/pull/12292)) - \[`refurb`] Make `list-reverse-copy` an unsafe fix ([#&#8203;12303](https://togithub.com/astral-sh/ruff/pull/12303)) ##### Server - Consider `include` and `extend-include` settings in native server ([#&#8203;12252](https://togithub.com/astral-sh/ruff/pull/12252)) - Include nested configurations in settings reloading ([#&#8203;12253](https://togithub.com/astral-sh/ruff/pull/12253)) ##### CLI - Omit code frames for fixes with empty ranges ([#&#8203;12304](https://togithub.com/astral-sh/ruff/pull/12304)) - Warn about formatter incompatibility for `D203` ([#&#8203;12238](https://togithub.com/astral-sh/ruff/pull/12238)) ##### Bug fixes - Make cache-write failures non-fatal on Windows ([#&#8203;12302](https://togithub.com/astral-sh/ruff/pull/12302)) - Treat `not` operations as boolean tests ([#&#8203;12301](https://togithub.com/astral-sh/ruff/pull/12301)) - \[`flake8-bandit`] Avoid `S310` violations for HTTP-safe f-strings ([#&#8203;12305](https://togithub.com/astral-sh/ruff/pull/12305)) - \[`flake8-bandit`] Support explicit string concatenations in S310 HTTP detection ([#&#8203;12315](https://togithub.com/astral-sh/ruff/pull/12315)) - \[`flake8-bandit`] fix S113 false positive for httpx without `timeout` argument ([#&#8203;12213](https://togithub.com/astral-sh/ruff/pull/12213)) - \[`pycodestyle`] Remove "non-obvious" allowance for E721 ([#&#8203;12300](https://togithub.com/astral-sh/ruff/pull/12300)) - \[`pyflakes`] Consider `with` blocks as single-item branches for redefinition analysis ([#&#8203;12311](https://togithub.com/astral-sh/ruff/pull/12311)) - \[`refurb`] Restrict forwarding for `newline` argument in `open()` calls to Python versions >= 3.10 ([#&#8203;12244](https://togithub.com/astral-sh/ruff/pull/12244)) ##### Documentation - Update help and documentation to reflect `--output-format full` default ([#&#8203;12248](https://togithub.com/astral-sh/ruff/pull/12248)) ##### Performance - Use more threads when discovering Python files ([#&#8203;12258](https://togithub.com/astral-sh/ruff/pull/12258)) ### [`v0.5.1`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#051) [Compare Source](https://togithub.com/astral-sh/ruff/compare/0.5.0...0.5.1) ##### Preview features - \[`flake8-bugbear`] Implement mutable-contextvar-default (B039) ([#&#8203;12113](https://togithub.com/astral-sh/ruff/pull/12113)) - \[`pycodestyle`] Whitespace after decorator (`E204`) ([#&#8203;12140](https://togithub.com/astral-sh/ruff/pull/12140)) - \[`pytest`] Reverse `PT001` and `PT0023` defaults ([#&#8203;12106](https://togithub.com/astral-sh/ruff/pull/12106)) ##### Rule changes - Enable token-based rules on source with syntax errors ([#&#8203;11950](https://togithub.com/astral-sh/ruff/pull/11950)) - \[`flake8-bandit`] Detect `httpx` for `S113` ([#&#8203;12174](https://togithub.com/astral-sh/ruff/pull/12174)) - \[`numpy`] Update `NPY201` to include exception deprecations ([#&#8203;12065](https://togithub.com/astral-sh/ruff/pull/12065)) - \[`pylint`] Generate autofix for `duplicate-bases` (`PLE0241`) ([#&#8203;12105](https://togithub.com/astral-sh/ruff/pull/12105)) ##### Server - Avoid syntax error notification for source code actions ([#&#8203;12148](https://togithub.com/astral-sh/ruff/pull/12148)) - Consider the content of the new cells during notebook sync ([#&#8203;12203](https://togithub.com/astral-sh/ruff/pull/12203)) - Fix replacement edit range computation ([#&#8203;12171](https://togithub.com/astral-sh/ruff/pull/12171)) ##### Bug fixes - Disable auto-fix when source has syntax errors ([#&#8203;12134](https://togithub.com/astral-sh/ruff/pull/12134)) - Fix cache key collisions for paths with separators ([#&#8203;12159](https://togithub.com/astral-sh/ruff/pull/12159)) - Make `requires-python` inference robust to `==` ([#&#8203;12091](https://togithub.com/astral-sh/ruff/pull/12091)) - Use char-wise width instead of `str`-width ([#&#8203;12135](https://togithub.com/astral-sh/ruff/pull/12135)) - \[`pycodestyle`] Avoid `E275` if keyword followed by comma ([#&#8203;12136](https://togithub.com/astral-sh/ruff/pull/12136)) - \[`pycodestyle`] Avoid `E275` if keyword is followed by a semicolon ([#&#8203;12095](https://togithub.com/astral-sh/ruff/pull/12095)) - \[`pylint`] Skip [dummy variables](https://docs.astral.sh/ruff/settings/#lint_dummy-variable-rgx) for `PLR1704` ([#&#8203;12190](https://togithub.com/astral-sh/ruff/pull/12190)) ##### Performance - Remove allocation in `parse_identifier` ([#&#8203;12103](https://togithub.com/astral-sh/ruff/pull/12103)) - Use `CompactString` for `Identifier` AST node ([#&#8203;12101](https://togithub.com/astral-sh/ruff/pull/12101)) ### [`v0.5.0`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#050) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.4.10...0.5.0) Check out the [blog post](https://astral.sh/blog/ruff-v0.5.0) for a migration guide and overview of the changes! ##### Breaking changes See also, the "Remapped rules" section which may result in disabled rules. - Follow the XDG specification to discover user-level configurations on macOS (same as on other Unix platforms) - Selecting `ALL` now excludes deprecated rules - The released archives now include an extra level of nesting, which can be removed with `--strip-components=1` when untarring. - The release artifact's file name no longer includes the version tag. This enables users to install via `/latest` URLs on GitHub. ##### Deprecations The following rules are now deprecated: - [`syntax-error`](https://docs.astral.sh/ruff/rules/syntax-error/) (`E999`): Syntax errors are now always shown ##### Remapped rules The following rules have been remapped to new rule codes: - [`blocking-http-call-in-async-function`](https://docs.astral.sh/ruff/rules/blocking-http-call-in-async-function/): `ASYNC100` to `ASYNC210` - [`open-sleep-or-subprocess-in-async-function`](https://docs.astral.sh/ruff/rules/open-sleep-or-subprocess-in-async-function/): `ASYNC101` split into `ASYNC220`, `ASYNC221`, `ASYNC230`, and `ASYNC251` - [`blocking-os-call-in-async-function`](https://docs.astral.sh/ruff/rules/blocking-os-call-in-async-function/): `ASYNC102` has been merged into `ASYNC220` and `ASYNC221` - [`trio-timeout-without-await`](https://docs.astral.sh/ruff/rules/trio-timeout-without-await/): `TRIO100` to `ASYNC100` - [`trio-sync-call`](https://docs.astral.sh/ruff/rules/trio-sync-call/): `TRIO105` to `ASYNC105` - [`trio-async-function-with-timeout`](https://docs.astral.sh/ruff/rules/trio-async-function-with-timeout/): `TRIO109` to `ASYNC109` - [`trio-unneeded-sleep`](https://docs.astral.sh/ruff/rules/trio-unneeded-sleep/): `TRIO110` to `ASYNC110` - [`trio-zero-sleep-call`](https://docs.astral.sh/ruff/rules/trio-zero-sleep-call/): `TRIO115` to `ASYNC115` - [`repeated-isinstance-calls`](https://docs.astral.sh/ruff/rules/repeated-isinstance-calls/): `PLR1701` to `SIM101` ##### Stabilization The following rules have been stabilized and are no longer in preview: - [`mutable-fromkeys-value`](https://docs.astral.sh/ruff/rules/mutable-fromkeys-value/) (`RUF024`) - [`default-factory-kwarg`](https://docs.astral.sh/ruff/rules/default-factory-kwarg/) (`RUF026`) - [`django-extra`](https://docs.astral.sh/ruff/rules/django-extra/) (`S610`) - [`manual-dict-comprehension`](https://docs.astral.sh/ruff/rules/manual-dict-comprehension/) (`PERF403`) - [`print-empty-string`](https://docs.astral.sh/ruff/rules/print-empty-string/) (`FURB105`) - [`readlines-in-for`](https://docs.astral.sh/ruff/rules/readlines-in-for/) (`FURB129`) - [`if-expr-min-max`](https://docs.astral.sh/ruff/rules/if-expr-min-max/) (`FURB136`) - [`bit-count`](https://docs.astral.sh/ruff/rules/bit-count/) (`FURB161`) - [`redundant-log-base`](https://docs.astral.sh/ruff/rules/redundant-log-base/) (`FURB163`) - [`regex-flag-alias`](https://docs.astral.sh/ruff/rules/regex-flag-alias/) (`FURB167`) - [`isinstance-type-none`](https://docs.astral.sh/ruff/rules/isinstance-type-none/) (`FURB168`) - [`type-none-comparison`](https://docs.astral.sh/ruff/rules/type-none-comparison/) (`FURB169`) - [`implicit-cwd`](https://docs.astral.sh/ruff/rules/implicit-cwd/) (`FURB177`) - [`hashlib-digest-hex`](https://docs.astral.sh/ruff/rules/hashlib-digest-hex/) (`FURB181`) - [`list-reverse-copy`](https://docs.astral.sh/ruff/rules/list-reverse-copy/) (`FURB187`) - [`bad-open-mode`](https://docs.astral.sh/ruff/rules/bad-open-mode/) (`PLW1501`) - [`empty-comment`](https://docs.astral.sh/ruff/rules/empty-comment/) (`PLR2044`) - [`global-at-module-level`](https://docs.astral.sh/ruff/rules/global-at-module-level/) (`PLW0604`) - [`misplaced-bare-raise`](https://docs.astral.sh/ruff/rules/misplaced-bare-raise%60/) (`PLE0744`) - [`non-ascii-import-name`](https://docs.astral.sh/ruff/rules/non-ascii-import-name/) (`PLC2403`) - [`non-ascii-name`](https://docs.astral.sh/ruff/rules/non-ascii-name/) (`PLC2401`) - [`nonlocal-and-global`](https://docs.astral.sh/ruff/rules/nonlocal-and-global/) (`PLE0115`) - [`potential-index-error`](https://docs.astral.sh/ruff/rules/potential-index-error/) (`PLE0643`) - [`redeclared-assigned-name`](https://docs.astral.sh/ruff/rules/redeclared-assigned-name/) (`PLW0128`) - [`redefined-argument-from-local`](https://docs.astral.sh/ruff/rules/redefined-argument-from-local/) (`PLR1704`) - [`repeated-keyword-argument`](https://docs.astral.sh/ruff/rules/repeated-keyword-argument/) (`PLE1132`) - [`super-without-brackets`](https://docs.astral.sh/ruff/rules/super-without-brackets/) (`PLW0245`) - [`unnecessary-list-index-lookup`](https://docs.astral.sh/ruff/rules/unnecessary-list-index-lookup/) (`PLR1736`) - [`useless-exception-statement`](https://docs.astral.sh/ruff/rules/useless-exception-statement/) (`PLW0133`) - [`useless-with-lock`](https://docs.astral.sh/ruff/rules/useless-with-lock/) (`PLW2101`) The following behaviors have been stabilized: - [`is-literal`](https://docs.astral.sh/ruff/rules/is-literal/) (`F632`) now warns for identity checks against list, set or dictionary literals - [`needless-bool`](https://docs.astral.sh/ruff/rules/needless-bool/) (`SIM103`) now detects `if` expressions with implicit `else` branches - [`module-import-not-at-top-of-file`](https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file/) (`E402`) now allows `os.environ` modifications between import statements - [`type-comparison`](https://docs.astral.sh/ruff/rules/type-comparison/) (`E721`) now allows idioms such as `type(x) is int` - [`yoda-condition`](https://docs.astral.sh/ruff/rules/yoda-conditions/) (`SIM300`) now flags a wider range of expressions ##### Removals The following deprecated settings have been removed: - `output-format=text`; use `output-format=concise` or `output-format=full` - `tab-size`; use `indent-width` The following deprecated CLI options have been removed: - `--show-source`; use `--output-format=full` - `--no-show-source`; use `--output-format=concise` The following deprecated CLI commands have been removed: - `ruff <path>`; use `ruff check <path>` - `ruff --clean`; use `ruff clean` - `ruff --generate-shell-completion`; use `ruff generate-shell-completion` ##### Preview features - \[`ruff`] Add `assert-with-print-message` rule ([#&#8203;11981](https://togithub.com/astral-sh/ruff/pull/11981)) ##### CLI - Use rule name rather than message in `--statistics` ([#&#8203;11697](https://togithub.com/astral-sh/ruff/pull/11697)) - Use the output format `full` by default ([#&#8203;12010](https://togithub.com/astral-sh/ruff/pull/12010)) - Don't log syntax errors to the console ([#&#8203;11902](https://togithub.com/astral-sh/ruff/pull/11902)) ##### Rule changes - \[`ruff`] Fix false positives if `gettext` is imported using an alias (`RUF027`) ([#&#8203;12025](https://togithub.com/astral-sh/ruff/pull/12025)) - \[`npy`] Update `trapz` and `in1d` deprecation (`NPY201`) ([#&#8203;11948](https://togithub.com/astral-sh/ruff/pull/11948)) - \[`flake8-bandit`] Modify diagnostic ranges for shell-related rules ([#&#8203;10667](https://togithub.com/astral-sh/ruff/pull/10667)) ##### Server - Closing an untitled, unsaved notebook document no longer throws an error ([#&#8203;11942](https://togithub.com/astral-sh/ruff/pull/11942)) - Support the usage of tildes and environment variables in `logFile` ([#&#8203;11945](https://togithub.com/astral-sh/ruff/pull/11945)) - Add option to configure whether to show syntax errors ([#&#8203;12059](https://togithub.com/astral-sh/ruff/pull/12059)) ##### Bug fixes - \[`pycodestyle`] Avoid `E203` for f-string debug expression ([#&#8203;12024](https://togithub.com/astral-sh/ruff/pull/12024)) - \[`pep8-naming`] Match import-name ignores against both name and alias (`N812`, `N817`) ([#&#8203;12033](https://togithub.com/astral-sh/ruff/pull/12033)) - \[`pyflakes`] Detect assignments that shadow definitions (`F811`) ([#&#8203;11961](https://togithub.com/astral-sh/ruff/pull/11961)) ##### Parser - Emit a syntax error for an empty type parameter list ([#&#8203;12030](https://togithub.com/astral-sh/ruff/pull/12030)) - Avoid consuming the newline for unterminated strings ([#&#8203;12067](https://togithub.com/astral-sh/ruff/pull/12067)) - Do not include the newline in the unterminated string range ([#&#8203;12017](https://togithub.com/astral-sh/ruff/pull/12017)) - Use the correct range to highlight line continuation errors ([#&#8203;12016](https://togithub.com/astral-sh/ruff/pull/12016)) - Consider 2-character EOL before line continuations ([#&#8203;12035](https://togithub.com/astral-sh/ruff/pull/12035)) - Consider line continuation character for re-lexing ([#&#8203;12008](https://togithub.com/astral-sh/ruff/pull/12008)) ##### Other changes - Upgrade the Unicode table used for measuring the line-length ([#&#8203;11194](https://togithub.com/astral-sh/ruff/pull/11194)) - Remove the deprecation error message for the nursery selector ([#&#8203;10172](https://togithub.com/astral-sh/ruff/pull/10172)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC, 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 was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/craft-grammar). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged a Renovate-generated dependency update upgrading ruff from 0.4.5 to 0.5.7. The change passed CI checks, received approval, and was successfully merged into the main branch.
qwen3.6-35b-a3b-mtp-q6 Merged automated dependency update upgrading ruff from 0.4.5 to 0.5.7. The pull request passed CI checks and was successfully merged into the main branch.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#709 chore(deps): update dependency ruff to v0.4.3 craft-parts merged Merged automated dependency update for ruff from 0.3.5 to 0.4.3. Passed CI, received two approvals, and was applied via Renovate bot automerge, updating a single configuration file.
93%
#1071 chore(deps): update dependency ruff to v0.0.261 charmcraft merged Automatically merged via Renovate bot to update the ruff dependency from v0.0.256 to v0.0.261. The change passed CI checks and received reviewer approval before automerge.
93%
#172 chore(deps): update dependency lint/ruff to v0.1.11 craft-application merged Merged a Renovate-generated update upgrading lint/ruff from v0.1.7 to v0.1.11. The change passed CI checks, maintained 99.20% test coverage, received two approvals, and was successfully merged.
92%
#177 chore(deps): update dependency ruff to v0.1.15 starbase merged Successfully merged automated dependency update upgrading ruff from 0.0.267 to 0.1.15. The change passed CI checks, maintained 100% test coverage, and updated the project's linting tool to the latest release.
92%
#37 chore(deps): update dependency ruff to v0.0.247 starbase merged Automatically merged dependency update for ruff from v0.0.245 to v0.0.247. The change passed CI checks, received approval, and was merged via Renovate bot automation to keep the Python linter current.
92%
#699 chore(deps): update dependency ruff to v0.3.5 craft-parts closed Superseded by PR #700. The Renovate dependency update for ruff v0.3.5 was closed without merging.
92%
#182 chore(deps): update dependency ruff to v0.2.0 - autoclosed starbase closed Automatically closed by Renovate after passing CI checks and approval. The PR updated the ruff dependency from v0.1.15 to v0.2.0.
91%
#1346 chore(deps): update dependency ruff to v0.1.1 charmcraft closed The ruff dependency update to v0.1.1 was closed and superseded by PR #1347. Renovate will ignore this update and wait for a newer version.
91%
#137 chore(deps): update dependency lint/ruff to v0.1.7 craft-store merged Merged an automated Renovate update upgrading lint/ruff from v0.1.1 to v0.1.7. Approved by two reviewers, passed CI, and merged with a single-line configuration change.
91%
#155 chore(deps): update dependency lint/ruff to v0.1.15 craft-store merged Automatically updated lint/ruff from v0.1.9 to v0.1.15 via Renovate bot. The PR passed CI checks, received two approvals, and was successfully merged.
91%