00dd547: Agent hooks now fix only the file the agent edited. The generated hook command passes a new --hook flag, and ultracite fix --hook reads the agent's payload from stdin: Claude Code and CodeBuddy (tool_input.file_path), Cursor (file_path) and Windsurf (tool_info.file_path). A file outside the project, one that no longer exists, or one the project's linters do not handle is skipped. A payload with no readable file path keeps the previous whole-project run. Re-running ultracite init rewrites a hook from an earlier init to the new command, including one generated before this change or for a different package manager or linter.
300a814: Update @biomejs/biome to 2.5.14. Releases 2.5.13 and 2.5.14 add only nursery rules (14 of them, including noReturnInFinally, noSvelteAtHtmlTags and useValidTestTitle), with no stable-group additions, removals or promotions. The Biome presets deliberately leave nursery rules off, so they are unchanged.
b59b8aa: Update oxfmt to 0.70.0 and re-target the markdown ::: fence patch. Releases 0.68 through 0.70 change no options; they fix suppression-comment handling, comment placement around operators and as/satisfies, and several YAML and CSS edge cases. oxfmt 0.69 also ships a native markdown formatter, but .md files still go through the Prettier-based path, so the fence patch still applies.
548c8b0: Update oxlint to 1.85.0. Releases 1.83 through 1.85 add and remove no rules and change no options, so the presets are unchanged. Note that jest/prefer-strict-equal, vitest/prefer-strict-equal, vitest/prefer-to-be-truthy and vitest/prefer-to-be-falsy now offer suggestions instead of fixes, so ultracite fix reports them rather than rewriting them. unicorn/consistent-function-scoping also now catches functions that only capture variables from an outer ancestor scope.
The ESLint core preset picks up unicorn's ten new JavaScript rules automatically: no-async-iterator-callback, no-unused-builtin-method-return (which replaces the now-deprecated no-unused-array-method-return), no-unused-iterator-helper, no-useless-set-construction, no-using-resource-escape, prefer-combined-guards, prefer-iterator-zip, prefer-json-import, prefer-temporal-conversion and prefer-uint8array-hex. The CSS-only unicorn rules added in v75 stay off for JavaScript files. unicorn 76 makes no-immediate-mutation skip conditional mutations and no-break-in-nested-loop skip continue by default; the preset keeps those defaults because oxlint's no-immediate-mutation behaves the same way and checking continue would contradict prefer-continue.
0bcb2c6: Update prettier-plugin-astro to 1.1.0 (the version ultracite init installs for Astro projects with Prettier) and refresh the transitive Prettier lock to 3.9.9. Prettier 3.9.7 through 3.9.9 are formatting fixes with no option changes, so the Prettier preset is unchanged. prettier-plugin-astro 1.1 makes astroAllowShorthand tri-state. When it is unset, which is how Ultracite's generated config leaves it, attributes now stay as written instead of {value} being expanded to value={value}. Set astroAllowShorthand: false in your Prettier config to keep the 1.0 behaviour.
8b39375: Update @shadcn/lint to 0.2.0 (the version ultracite init installs for the opt-in ultracite/oxlint/shadcn preset). The release adds Vue and Svelte support and fixes theme, barrel and class-site discovery; the rules and their options are unchanged, so the preset is too. Under Oxlint the plugin reads only the <script> blocks of .vue and .svelte files, not their templates.
0bc6cd6: Update eslint-plugin-sonarjs to 4.2.1. The ESLint preset adopts its 16 new rules automatically (Vue, Cypress, Playwright, Testing Library, Vitest, Lodash, jQuery and Axios checks). The ultracite/oxlint/js-plugins preset now enables every sonarjs rule that does not need type information, adding 35 rules. These include the 15 new non-type-aware rules and nine test rules that older versions of oxlint's JS plugin bridge could not load. sonarjs 4.2.1 also raised the no-nested-functions default threshold from 4 to 5; both presets pin threshold: 4 to keep the previous strictness.
Configuration
📅Schedule: (in timezone Europe/Warsaw)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [ultracite](https://www.ultracite.ai/) ([source](https://github.com/haydenbleasel/ultracite)) | [`7.12.0` → `7.12.1`](https://renovatebot.com/diffs/npm/ultracite/7.12.0/7.12.1) |  |  |
---
### Release Notes
<details>
<summary>haydenbleasel/ultracite (ultracite)</summary>
### [`v7.12.1`](https://github.com/haydenbleasel/ultracite/releases/tag/ultracite%407.12.1)
[Compare Source](https://github.com/haydenbleasel/ultracite/compare/ultracite@7.12.0...ultracite@7.12.1)
##### Patch Changes
- [`00dd547`](https://github.com/haydenbleasel/ultracite/commit/00dd547): Agent hooks now fix only the file the agent edited. The generated hook command passes a new `--hook` flag, and `ultracite fix --hook` reads the agent's payload from stdin: Claude Code and CodeBuddy (`tool_input.file_path`), Cursor (`file_path`) and Windsurf (`tool_info.file_path`). A file outside the project, one that no longer exists, or one the project's linters do not handle is skipped. A payload with no readable file path keeps the previous whole-project run. Re-running `ultracite init` rewrites a hook from an earlier init to the new command, including one generated before this change or for a different package manager or linter.
- [`300a814`](https://github.com/haydenbleasel/ultracite/commit/300a814): Update `@biomejs/biome` to 2.5.14. Releases 2.5.13 and 2.5.14 add only nursery rules (14 of them, including `noReturnInFinally`, `noSvelteAtHtmlTags` and `useValidTestTitle`), with no stable-group additions, removals or promotions. The Biome presets deliberately leave nursery rules off, so they are unchanged.
- [`b8b183b`](https://github.com/haydenbleasel/ultracite/commit/b8b183b): Update dependencies (`@clack/prompts` 1.8, `empathic` 2.1, `magicast`, `nypm`, `string-width` 8.3, `yaml` and `zod` 4.6).
- [`b59b8aa`](https://github.com/haydenbleasel/ultracite/commit/b59b8aa): Update oxfmt to 0.70.0 and re-target the markdown `:::` fence patch. Releases 0.68 through 0.70 change no options; they fix suppression-comment handling, comment placement around operators and `as`/`satisfies`, and several YAML and CSS edge cases. oxfmt 0.69 also ships a native markdown formatter, but `.md` files still go through the Prettier-based path, so the fence patch still applies.
- [`548c8b0`](https://github.com/haydenbleasel/ultracite/commit/548c8b0): Update oxlint to 1.85.0. Releases 1.83 through 1.85 add and remove no rules and change no options, so the presets are unchanged. Note that `jest/prefer-strict-equal`, `vitest/prefer-strict-equal`, `vitest/prefer-to-be-truthy` and `vitest/prefer-to-be-falsy` now offer suggestions instead of fixes, so `ultracite fix` reports them rather than rewriting them. `unicorn/consistent-function-scoping` also now catches functions that only capture variables from an outer ancestor scope.
- [`0bc6cd6`](https://github.com/haydenbleasel/ultracite/commit/0bc6cd6): Update the ESLint family: `eslint` 10.11, `eslint-plugin-unicorn` 76, `@typescript-eslint/*` 8.70.1, `eslint-plugin-jsdoc` 64.5, `eslint-plugin-astro` 3.2, `eslint-plugin-n` 18.4, `eslint-plugin-vue` 10.11.1, `@tanstack/eslint-plugin-query` 5.104, `@next/eslint-plugin-next` 16.3.6, `@darraghor/eslint-plugin-nestjs-typed` 7.5.6, `eslint-plugin-qwik` 1.20.1, `eslint-plugin-html` 8.2.1 and `eslint-plugin-react-doctor` / `oxlint-plugin-react-doctor` 0.9.14.
The ESLint core preset picks up unicorn's ten new JavaScript rules automatically: `no-async-iterator-callback`, `no-unused-builtin-method-return` (which replaces the now-deprecated `no-unused-array-method-return`), `no-unused-iterator-helper`, `no-useless-set-construction`, `no-using-resource-escape`, `prefer-combined-guards`, `prefer-iterator-zip`, `prefer-json-import`, `prefer-temporal-conversion` and `prefer-uint8array-hex`. The CSS-only unicorn rules added in v75 stay off for JavaScript files. unicorn 76 makes `no-immediate-mutation` skip conditional mutations and `no-break-in-nested-loop` skip `continue` by default; the preset keeps those defaults because oxlint's `no-immediate-mutation` behaves the same way and checking `continue` would contradict `prefer-continue`.
- [`0bcb2c6`](https://github.com/haydenbleasel/ultracite/commit/0bcb2c6): Update `prettier-plugin-astro` to 1.1.0 (the version `ultracite init` installs for Astro projects with Prettier) and refresh the transitive Prettier lock to 3.9.9. Prettier 3.9.7 through 3.9.9 are formatting fixes with no option changes, so the Prettier preset is unchanged. prettier-plugin-astro 1.1 makes `astroAllowShorthand` tri-state. When it is unset, which is how Ultracite's generated config leaves it, attributes now stay as written instead of `{value}` being expanded to `value={value}`. Set `astroAllowShorthand: false` in your Prettier config to keep the 1.0 behaviour.
- [`8b39375`](https://github.com/haydenbleasel/ultracite/commit/8b39375): Update `@shadcn/lint` to 0.2.0 (the version `ultracite init` installs for the opt-in `ultracite/oxlint/shadcn` preset). The release adds Vue and Svelte support and fixes theme, barrel and class-site discovery; the rules and their options are unchanged, so the preset is too. Under Oxlint the plugin reads only the `<script>` blocks of `.vue` and `.svelte` files, not their templates.
- [`0bc6cd6`](https://github.com/haydenbleasel/ultracite/commit/0bc6cd6): Update `eslint-plugin-sonarjs` to 4.2.1. The ESLint preset adopts its 16 new rules automatically (Vue, Cypress, Playwright, Testing Library, Vitest, Lodash, jQuery and Axios checks). The `ultracite/oxlint/js-plugins` preset now enables every sonarjs rule that does not need type information, adding 35 rules. These include the 15 new non-type-aware rules and nine test rules that older versions of oxlint's JS plugin bridge could not load. sonarjs 4.2.1 also raised the `no-nested-functions` default threshold from 4 to 5; both presets pin `threshold: 4` to keep the previous strictness.
</details>
---
### Configuration
📅 **Schedule**: (in timezone Europe/Warsaw)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, 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 [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC43NC4wIiwidXBkYXRlZEluVmVyIjoiNDQuNzQuMCIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6WyJkZXBzLWNvZGUiLCJyZW5vdmF0ZSJdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
7.12.0→7.12.1Release Notes
haydenbleasel/ultracite (ultracite)
v7.12.1Compare Source
Patch Changes
00dd547: Agent hooks now fix only the file the agent edited. The generated hook command passes a new--hookflag, andultracite fix --hookreads the agent's payload from stdin: Claude Code and CodeBuddy (tool_input.file_path), Cursor (file_path) and Windsurf (tool_info.file_path). A file outside the project, one that no longer exists, or one the project's linters do not handle is skipped. A payload with no readable file path keeps the previous whole-project run. Re-runningultracite initrewrites a hook from an earlier init to the new command, including one generated before this change or for a different package manager or linter.300a814: Update@biomejs/biometo 2.5.14. Releases 2.5.13 and 2.5.14 add only nursery rules (14 of them, includingnoReturnInFinally,noSvelteAtHtmlTagsanduseValidTestTitle), with no stable-group additions, removals or promotions. The Biome presets deliberately leave nursery rules off, so they are unchanged.b8b183b: Update dependencies (@clack/prompts1.8,empathic2.1,magicast,nypm,string-width8.3,yamlandzod4.6).b59b8aa: Update oxfmt to 0.70.0 and re-target the markdown:::fence patch. Releases 0.68 through 0.70 change no options; they fix suppression-comment handling, comment placement around operators andas/satisfies, and several YAML and CSS edge cases. oxfmt 0.69 also ships a native markdown formatter, but.mdfiles still go through the Prettier-based path, so the fence patch still applies.548c8b0: Update oxlint to 1.85.0. Releases 1.83 through 1.85 add and remove no rules and change no options, so the presets are unchanged. Note thatjest/prefer-strict-equal,vitest/prefer-strict-equal,vitest/prefer-to-be-truthyandvitest/prefer-to-be-falsynow offer suggestions instead of fixes, soultracite fixreports them rather than rewriting them.unicorn/consistent-function-scopingalso now catches functions that only capture variables from an outer ancestor scope.0bc6cd6: Update the ESLint family:eslint10.11,eslint-plugin-unicorn76,@typescript-eslint/*8.70.1,eslint-plugin-jsdoc64.5,eslint-plugin-astro3.2,eslint-plugin-n18.4,eslint-plugin-vue10.11.1,@tanstack/eslint-plugin-query5.104,@next/eslint-plugin-next16.3.6,@darraghor/eslint-plugin-nestjs-typed7.5.6,eslint-plugin-qwik1.20.1,eslint-plugin-html8.2.1 andeslint-plugin-react-doctor/oxlint-plugin-react-doctor0.9.14.The ESLint core preset picks up unicorn's ten new JavaScript rules automatically:
no-async-iterator-callback,no-unused-builtin-method-return(which replaces the now-deprecatedno-unused-array-method-return),no-unused-iterator-helper,no-useless-set-construction,no-using-resource-escape,prefer-combined-guards,prefer-iterator-zip,prefer-json-import,prefer-temporal-conversionandprefer-uint8array-hex. The CSS-only unicorn rules added in v75 stay off for JavaScript files. unicorn 76 makesno-immediate-mutationskip conditional mutations andno-break-in-nested-loopskipcontinueby default; the preset keeps those defaults because oxlint'sno-immediate-mutationbehaves the same way and checkingcontinuewould contradictprefer-continue.0bcb2c6: Updateprettier-plugin-astroto 1.1.0 (the versionultracite initinstalls for Astro projects with Prettier) and refresh the transitive Prettier lock to 3.9.9. Prettier 3.9.7 through 3.9.9 are formatting fixes with no option changes, so the Prettier preset is unchanged. prettier-plugin-astro 1.1 makesastroAllowShorthandtri-state. When it is unset, which is how Ultracite's generated config leaves it, attributes now stay as written instead of{value}being expanded tovalue={value}. SetastroAllowShorthand: falsein your Prettier config to keep the 1.0 behaviour.8b39375: Update@shadcn/lintto 0.2.0 (the versionultracite initinstalls for the opt-inultracite/oxlint/shadcnpreset). The release adds Vue and Svelte support and fixes theme, barrel and class-site discovery; the rules and their options are unchanged, so the preset is too. Under Oxlint the plugin reads only the<script>blocks of.vueand.sveltefiles, not their templates.0bc6cd6: Updateeslint-plugin-sonarjsto 4.2.1. The ESLint preset adopts its 16 new rules automatically (Vue, Cypress, Playwright, Testing Library, Vitest, Lodash, jQuery and Axios checks). Theultracite/oxlint/js-pluginspreset now enables every sonarjs rule that does not need type information, adding 35 rules. These include the 15 new non-type-aware rules and nine test rules that older versions of oxlint's JS plugin bridge could not load. sonarjs 4.2.1 also raised theno-nested-functionsdefault threshold from 4 to 5; both presets pinthreshold: 4to keep the previous strictness.Configuration
📅 Schedule: (in timezone Europe/Warsaw)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.