Skip to content

Commit d8089b2

Browse files
chore(deps): update linters (#2526)
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Type | Update | Change | Pending | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---|---| | [aqua:owenlamont/ryl](https://redirect.github.com/owenlamont/ryl) | tools | minor | `0.22.0` → `0.24.0` | | ![age](https://developer.mend.io/api/mc/badges/age/github-tags/owenlamont%2fryl/0.24.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/owenlamont%2fryl/0.22.0/0.24.0?slim=true) | | [biome](https://redirect.github.com/biomejs/biome) | tools | patch | `2.5.13` → `2.5.15` | | ![age](https://developer.mend.io/api/mc/badges/age/github-tags/biomejs%2fbiome/2.5.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/biomejs%2fbiome/2.5.13/2.5.15?slim=true) | | [checkstyle](https://redirect.github.com/checkstyle/checkstyle) | tools | major | `13.8.0` → `14.3.0` | | ![age](https://developer.mend.io/api/mc/badges/age/github-tags/checkstyle%2fcheckstyle/14.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/checkstyle%2fcheckstyle/13.8.0/14.3.0?slim=true) | | [editorconfig-checker](https://redirect.github.com/editorconfig-checker/editorconfig-checker) | tools | patch | `4.0.1` → `4.0.2` | | ![age](https://developer.mend.io/api/mc/badges/age/github-releases/editorconfig-checker%2feditorconfig-checker/4.0.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/editorconfig-checker%2feditorconfig-checker/4.0.1/4.0.2?slim=true) | | [google-java-format](https://redirect.github.com/google/google-java-format) | tools | minor | `1.36.1` → `1.37.0` | | ![age](https://developer.mend.io/api/mc/badges/age/github-tags/google%2fgoogle-java-format/1.37.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/google%2fgoogle-java-format/1.36.1/1.37.0?slim=true) | | [npm:renovate](https://renovatebot.com) ([source](https://redirect.github.com/renovatebot/renovate)) | tools | minor | [`44.82.0` → `44.132.2`](https://octochangelog.com/compare?repo=renovatebot%2Frenovate&from=44.82.0&to=44.132.2) | `44.134.1` (+7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/renovate/44.132.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/renovate/44.82.0/44.132.2?slim=true) | | [ruff](https://redirect.github.com/astral-sh/ruff) | tools | patch | `0.16.7` → `0.16.10` | | ![age](https://developer.mend.io/api/mc/badges/age/github-releases/astral-sh%2fruff/0.16.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/astral-sh%2fruff/0.16.7/0.16.10?slim=true) | | [rumdl](https://redirect.github.com/rvben/rumdl) | tools | patch | `v0.2.73` → `v0.2.78` | | ![age](https://developer.mend.io/api/mc/badges/age/github-releases/rvben%2frumdl/v0.2.78?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/rvben%2frumdl/v0.2.73/v0.2.78?slim=true) | | [typos](https://redirect.github.com/crate-ci/typos) | tools | patch | `1.50.1` → `1.50.3` | | ![age](https://developer.mend.io/api/mc/badges/age/github-releases/crate-ci%2ftypos/1.50.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/crate-ci%2ftypos/1.50.1/1.50.3?slim=true) | --- ### Release Notes <details> <summary>owenlamont/ryl (aqua:owenlamont/ryl)</summary> ### [`v0.24.0`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.24.0) [Compare Source](https://redirect.github.com/owenlamont/ryl/compare/v0.23.0...v0.24.0) #### What's Changed - ci: sync the winget fork with a fork-scoped token and fail loudly by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;469](https://redirect.github.com/owenlamont/ryl/pull/469) - fix: find an ancestor config when run from a subdirectory by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;473](https://redirect.github.com/owenlamont/ryl/pull/473) - fix: reject a positional path with the migrate flags by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;474](https://redirect.github.com/owenlamont/ryl/pull/474) - perf: share each resolved config across files instead of cloning it by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;475](https://redirect.github.com/owenlamont/ryl/pull/475) - perf: load each discovered config file once per run by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;477](https://redirect.github.com/owenlamont/ryl/pull/477) - refactor: resolve tag namespaces with granit's suffix\_in\_namespace by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;482](https://redirect.github.com/owenlamont/ryl/pull/482) - fix: port yamllint's indentation algorithm onto granit tokens by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;483](https://redirect.github.com/owenlamont/ryl/pull/483) - feat: honour ryl directives beside other inline comments by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;488](https://redirect.github.com/owenlamont/ryl/pull/488) - feat: enable every rule with ALL and the --enable flag by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;490](https://redirect.github.com/owenlamont/ryl/pull/490) - feat: add comments max-spaces-from-content option by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;489](https://redirect.github.com/owenlamont/ryl/pull/489) - feat: safe truthy fix re-cases True/FALSE to an allowed boolean spelling by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;493](https://redirect.github.com/owenlamont/ryl/pull/493) - feat: sort keys with their comments in key-ordering --fix by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;492](https://redirect.github.com/owenlamont/ryl/pull/492) - feat: add custom key orders to key-ordering by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;494](https://redirect.github.com/owenlamont/ryl/pull/494) - docs: catalog comments checking a block scalar header comment by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;496](https://redirect.github.com/owenlamont/ryl/pull/496) - fix: print TOML config parse errors on one line by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;497](https://redirect.github.com/owenlamont/ryl/pull/497) - fix: count --fix fixes per safe-fix rule, as ruff does by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;498](https://redirect.github.com/owenlamont/ryl/pull/498) - chore: release 0.24.0 by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;499](https://redirect.github.com/owenlamont/ryl/pull/499) **Full Changelog**: <https://github.com/owenlamont/ryl/compare/v0.23.0...v0.24.0> ### [`v0.23.0`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.23.0) [Compare Source](https://redirect.github.com/owenlamont/ryl/compare/v0.22.0...v0.23.0) #### What's Changed - chore: bump the Rust toolchain to 1.98.1 and trim AGENTS.md by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;428](https://redirect.github.com/owenlamont/ryl/pull/428) - chore: refresh dependencies and linters by [@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot] in [#&#8203;429](https://redirect.github.com/owenlamont/ryl/pull/429) - ci: sync the winget-pkgs fork before submitting by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;430](https://redirect.github.com/owenlamont/ryl/pull/430) - docs: pin the rust-version/toolchain sync rule back into AGENTS.md by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;431](https://redirect.github.com/owenlamont/ryl/pull/431) - docs: move CLI Behavior and testing traps into dev skills by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;434](https://redirect.github.com/owenlamont/ryl/pull/434) - chore: delete the codex-review and retrospective dev skills by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;436](https://redirect.github.com/owenlamont/ryl/pull/436) - refactor: decode UTF-16 via String::from\_utf16le/be by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;437](https://redirect.github.com/owenlamont/ryl/pull/437) - chore: drop the filing-issues dev skill, promoted upstream by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;438](https://redirect.github.com/owenlamont/ryl/pull/438) - chore: bump five prek pins by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;439](https://redirect.github.com/owenlamont/ryl/pull/439) - docs: document file ignores and the GitHub Actions truthy case by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;440](https://redirect.github.com/owenlamont/ryl/pull/440) - fix: reject TOML-only keys in yamllint-compatible YAML config by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;441](https://redirect.github.com/owenlamont/ryl/pull/441) - Bump the "dependencies" group with 2 updates across multiple ecosystems by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;443](https://redirect.github.com/owenlamont/ryl/pull/443) - chore(deps): bump rustls to 0.23.45 for RUSTSEC-2026-0285 by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;453](https://redirect.github.com/owenlamont/ryl/pull/453) - chore: refresh dependencies and linters by [@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot] in [#&#8203;448](https://redirect.github.com/owenlamont/ryl/pull/448) - chore: drop the CLAUDE.md shim, now that AGENTS.md is read natively by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;452](https://redirect.github.com/owenlamont/ryl/pull/452) - Bump the "dependencies" group with 2 updates across multiple ecosystems by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;451](https://redirect.github.com/owenlamont/ryl/pull/451) - chore: refresh dependencies and linters by [@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot] in [#&#8203;454](https://redirect.github.com/owenlamont/ryl/pull/454) - chore: refresh dependencies and linters by [@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot] in [#&#8203;456](https://redirect.github.com/owenlamont/ryl/pull/456) - Bump the "dependencies" group with 1 update across multiple ecosystems by [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in [#&#8203;455](https://redirect.github.com/owenlamont/ryl/pull/455) - chore: bump the Rust toolchain to 1.99.0 by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;458](https://redirect.github.com/owenlamont/ryl/pull/458) - refactor: adopt Rust 1.85–1.99 std and language features by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;463](https://redirect.github.com/owenlamont/ryl/pull/463) - test: property-test that the safe-fix pipeline converges by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;462](https://redirect.github.com/owenlamont/ryl/pull/462) - fix: stop ignore matching panicking on absolute paths under a relative base by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;459](https://redirect.github.com/owenlamont/ryl/pull/459) - fix: match per-file-ignores against the resolved path by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;460](https://redirect.github.com/owenlamont/ryl/pull/460) - feat: warn on bare `ryl <paths>` in favour of `ryl check` by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;461](https://redirect.github.com/owenlamont/ryl/pull/461) - docs: require ruff/rumdl/ty/biome precedent for user-facing design calls by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;466](https://redirect.github.com/owenlamont/ryl/pull/466) - fix: loop the --fix pipeline to a fixed point by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;465](https://redirect.github.com/owenlamont/ryl/pull/465) - fix: report a --fix pipeline that fails to converge, as ruff does by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;467](https://redirect.github.com/owenlamont/ryl/pull/467) - chore: release 0.23.0 by [@&#8203;owenlamont](https://redirect.github.com/owenlamont) in [#&#8203;468](https://redirect.github.com/owenlamont/ryl/pull/468) **Full Changelog**: <https://github.com/owenlamont/ryl/compare/v0.22.0...v0.23.0> </details> <details> <summary>biomejs/biome (biome)</summary> ### [`v2.5.15`](https://redirect.github.com/biomejs/biome/releases/tag/%40biomejs/biome%402.5.15): Biome CLI v2.5.15 [Compare Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.5.14...@biomejs/biome@2.5.15) #### 2.5.15 ##### Patch Changes - [#&#8203;10634](https://redirect.github.com/biomejs/biome/pull/10634) [`b436ba0`](https://redirect.github.com/biomejs/biome/commit/b436ba00de298d5002a3d3bb1fae1d2a882f6d58) Thanks [@&#8203;subaru-hello](https://redirect.github.com/subaru-hello)! - Added the new nursery rule [`noReactObjectTypeAsDefaultProp`](https://biomejs.dev/linter/rules/no-react-object-type-as-default-prop/), which disallows array, object, and function values as default props in React components. For example, the following snippet triggers the rule. ```jsx function Component({ items = [] }) { return items; } ``` - [#&#8203;11956](https://redirect.github.com/biomejs/biome/pull/11956) [`faa8b37`](https://redirect.github.com/biomejs/biome/commit/faa8b374da7e196c937258c5442b4f773b4ba574) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`noSvelteExportLet`](https://biomejs.dev/linter/rules/no-svelte-export-let/), which disallows declaring Svelte component props with the legacy `export let` syntax. Use the `$props()` rune instead. ```svelte <script> export let name; </script> ``` - [#&#8203;10816](https://redirect.github.com/biomejs/biome/pull/10816) [`1b9479e`](https://redirect.github.com/biomejs/biome/commit/1b9479e4c85dd11af68ec14cbe43a5000edce86e) Thanks [@&#8203;Th3S4mur41](https://redirect.github.com/Th3S4mur41)! - Added a new nursery rule [`useLogicalProperties`](https://biomejs.dev/linter/rules/use-logical-properties) that enforces the use of logical properties in CSS, promoting better internationalization and accessibility practices. The rule supports a `direction` option with `"ltr"` as the default and `"rtl"` as the alternative. This is a first rule covering parts of [#&#8203;9034](https://redirect.github.com/biomejs/biome/issues/9034) ```json { "linter": { "rules": { "nursery": { "useLogicalProperties": { "level": "warn", "options": { "direction": "rtl" } } } } } } ``` - [#&#8203;11960](https://redirect.github.com/biomejs/biome/pull/11960) [`1fdb5c2`](https://redirect.github.com/biomejs/biome/commit/1fdb5c2609fbb64bd3442099f88c40b814405931) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`useSvelteKitRuneImports`](https://biomejs.dev/linter/rules/use-svelte-kit-rune-imports/), which reports imports from the deprecated `$app/stores` module and suggests `$app/state` instead. ```js import { page } from "$app/stores"; ``` - [#&#8203;11723](https://redirect.github.com/biomejs/biome/pull/11723) [`3b429d1`](https://redirect.github.com/biomejs/biome/commit/3b429d182588aa19d35190a935e4dcdc5b693e5e) Thanks [@&#8203;m1handr](https://redirect.github.com/m1handr)! - Fixed [#&#8203;11656](https://redirect.github.com/biomejs/biome/issues/11656): [`noAstroSetHtmlDirective`](https://biomejs.dev/linter/rules/no-astro-set-html-directive/) now correctly reports `set:html` directives inside Astro template expressions. - [#&#8203;12023](https://redirect.github.com/biomejs/biome/pull/12023) [`874d5ae`](https://redirect.github.com/biomejs/biome/commit/874d5aed43b2ae15e62e28b1909545eba5918f0b) Thanks [@&#8203;codspeed](https://redirect.github.com/apps/codspeed)! - Improved the performance of the HTML formatter up to 4x. - [#&#8203;11761](https://redirect.github.com/biomejs/biome/pull/11761) [`a3462fe`](https://redirect.github.com/biomejs/biome/commit/a3462fee0a32a764dd30dbc01f24c072fafea75a) Thanks [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati)! - Fixed [#&#8203;11351](https://redirect.github.com/biomejs/biome/issues/11351): [`useSimplifiedLogicExpression`](https://biomejs.dev/linter/rules/use-simplified-logic-expression/) no longer reports boolean literals on the right side of `||` and `&&` outside boolean contexts, because removing them can change the result of the expression. For example, `y = x || false` is no longer reported, while `if (x || false)` still is. - [#&#8203;11732](https://redirect.github.com/biomejs/biome/pull/11732) [`ff4c4dd`](https://redirect.github.com/biomejs/biome/commit/ff4c4dd922c360fdc9386495d617e63821cc43ee) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`noMeaninglessVoidOperator`](https://biomejs.dev/linter/rules/no-meaningless-void-operator/), which reports unnecessary uses of `void`, such as `void log()` when `log` returns `void`. The rule allows discarded call results, thenables, `void 0`, and calls returning `never`. - [#&#8203;11975](https://redirect.github.com/biomejs/biome/pull/11975) [`40dd3fb`](https://redirect.github.com/biomejs/biome/commit/40dd3fb86d22ba155d0e1d081302abbcba0aa4ee) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed the indentation of multiline Astro expressions, in templates and attribute values, when running `biome check --write`. Biome now formats Astro expressions with `biome format` too, and places them at the column of the surrounding markup. ```diff <div> {items.map((item) => ( - <span>{item}</span> -))} + <span>{item}</span> + ))} </div> ``` - [#&#8203;12016](https://redirect.github.com/biomejs/biome/pull/12016) [`09d4000`](https://redirect.github.com/biomejs/biome/commit/09d4000ae7414226a10bcd968765f42ebb9ed13c) Thanks [@&#8203;codspeed](https://redirect.github.com/apps/codspeed)! - Improved the performance of indexing and analysis of big files up to 2x. The improvements are mostly visible in projects that make use of project and types lint rules. - [#&#8203;11750](https://redirect.github.com/biomejs/biome/pull/11750) [`089bde0`](https://redirect.github.com/biomejs/biome/commit/089bde07e3849bd88ac24bf604ab0231672371b0) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`useStrictBooleanExpressions`](https://biomejs.dev/linter/rules/use-strict-boolean-expressions/), which reports ambiguous truthiness checks such as `if (value)` when `value` has type `number | undefined`. Non-nullable strings and numbers and nullable objects are allowed; the rule has no options. - [#&#8203;11494](https://redirect.github.com/biomejs/biome/pull/11494) [`ad5b362`](https://redirect.github.com/biomejs/biome/commit/ad5b362fd17e488f50934306534cc2742b0cf84e) Thanks [@&#8203;jp-knj](https://redirect.github.com/jp-knj)! - Added the nursery rule [`noAstroConflictingSetDirectives`](https://biomejs.dev/linter/rules/no-astro-conflicting-set-directives/), which reports Astro elements with multiple content sources, such as `set:html`, `set:text`, and child content. For example, `<div set:html={html}>content</div>` triggers the rule. - [#&#8203;11878](https://redirect.github.com/biomejs/biome/pull/11878) [`84d1b3b`](https://redirect.github.com/biomejs/biome/commit/84d1b3b045e8acfef730b4e5010baad4b7725d8f) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11748](https://redirect.github.com/biomejs/biome/issues/11748): [`useExhaustiveSwitchCases`](https://biomejs.dev/linter/rules/use-exhaustive-switch-cases/) now reports missing cases for values created with the mapping overload of `Array.from`, including arrays imported from another module. - [#&#8203;11802](https://redirect.github.com/biomejs/biome/pull/11802) [`7d1f37e`](https://redirect.github.com/biomejs/biome/commit/7d1f37ec11a58e2d972329cf89b5d91758b06f6b) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Tailwind classes will now be detected in Svelte, Vue, and Astro class attribute expressions that don't use a class merging function. - [#&#8203;11910](https://redirect.github.com/biomejs/biome/pull/11910) [`9e50ea2`](https://redirect.github.com/biomejs/biome/commit/9e50ea2537c3d541f5b99dc3d4a6eb5120b1ba69) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;11504](https://redirect.github.com/biomejs/biome/issues/11504), a regression where Biome would silently ignore errors in the configuration file. Now errors are correctly retained and checked before executing any command. - [#&#8203;11921](https://redirect.github.com/biomejs/biome/pull/11921) [`d568632`](https://redirect.github.com/biomejs/biome/commit/d56863253fbed960b102f58e8fef475c22889301) Thanks [@&#8203;hirehamir](https://redirect.github.com/hirehamir)! - Fixed [#&#8203;10846](https://redirect.github.com/biomejs/biome/issues/10846): when plugins fail to load, Biome now prints each failing plugin's path on its own line, instead of concatenating bare messages like `Cannot read file.Cannot read file.`. - [#&#8203;11930](https://redirect.github.com/biomejs/biome/pull/11930) [`82ea5a6`](https://redirect.github.com/biomejs/biome/commit/82ea5a6175840bc2df0114c16fab0f6d6de06edd) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11927](https://redirect.github.com/biomejs/biome/issues/11927): The HTML formatter no longer duplicates comments around Svelte blocks. This affected a comment after a block such as `{#if}` or `{#each}` at the end of an element, and a comment on the same line as the last element inside a block, before `{:else}`, `{/if}`, or a similar tag. - [#&#8203;11931](https://redirect.github.com/biomejs/biome/pull/11931) [`0cc46d8`](https://redirect.github.com/biomejs/biome/commit/0cc46d8d7c300452159fa65546d1b576efadd605) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed the indentation of comments at the end of a Svelte block's contents. A comment before `{:else}`, `{:then}`, `{/if}`, or a similar tag is now indented with the block's contents instead of with the tag. ```diff {#if condition} <span>Text</span> -<!-- comment --> + <!-- comment --> {/if} ``` - [#&#8203;12031](https://redirect.github.com/biomejs/biome/pull/12031) [`ef0edd4`](https://redirect.github.com/biomejs/biome/commit/ef0edd4a2fe3eaf29b2c52d5c9eb0c67f85e2ab5) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;12027](https://redirect.github.com/biomejs/biome/issues/12027): Biome's test rules no longer mistake regular method calls named `test`, `it`, or `describe` for tests. For example, [`useValidTestTitle`](https://biomejs.dev/linter/rules/use-valid-test-title/) used to report the following regular expression check as a test with an invalid title: ```js const isComment = /^\s*#/.test(line); ``` - [#&#8203;11959](https://redirect.github.com/biomejs/biome/pull/11959) [`8477e61`](https://redirect.github.com/biomejs/biome/commit/8477e610a8ba787234ee2d21efc05680a72beec2) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11950](https://redirect.github.com/biomejs/biome/issues/11950): [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/) now reports arrow functions with expression bodies that only reference themselves, such as `let h = () => h();`. - [#&#8203;11915](https://redirect.github.com/biomejs/biome/pull/11915) [`3260602`](https://redirect.github.com/biomejs/biome/commit/3260602e03dd44b79afbd36ec77a71a1e87b7ed7) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;11841](https://redirect.github.com/biomejs/biome/issues/11841), where suppression comments had no effect on some parts of HTML-ish files and on snippets embedded in JavaScript files. Now the following suppression works as expected: ```vue <!-- biome-ignore lint/correctness/noUndeclaredVariables: intentionally external --> <div :title="missingValue"></div> ``` - [#&#8203;11952](https://redirect.github.com/biomejs/biome/pull/11952) [`b51040e`](https://redirect.github.com/biomejs/biome/commit/b51040ee3ab66880c925298977229294248dc636) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11951](https://redirect.github.com/biomejs/biome/issues/11951): the GritQL formatter no longer inserts a space after a `within` pattern without an `until` clause. ```diff -$arg <: within `bar($_)` , +$arg <: within `bar($_)`, ``` - [#&#8203;11794](https://redirect.github.com/biomejs/biome/pull/11794) [`429cf95`](https://redirect.github.com/biomejs/biome/commit/429cf950d29cfa852dfcbcdd9fdb219b2a01af9b) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`noTailwindRawColors`](https://biomejs.dev/linter/rules/no-tailwind-raw-colors/) for JavaScript and HTML. It disallows Tailwind palette colors such as `bg-pink-500` and `text-white`, encouraging design system color utilities such as `bg-primary`. - [#&#8203;11837](https://redirect.github.com/biomejs/biome/pull/11837) [`f5e249b`](https://redirect.github.com/biomejs/biome/commit/f5e249b27d2ddf21f92fdd3a531adfd6c411c633) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11836](https://redirect.github.com/biomejs/biome/issues/11836): `biome check --write` no longer adds invalid parentheses around Svelte `{@const}` declarations when experimental HTML support and formatting are enabled. - [#&#8203;11978](https://redirect.github.com/biomejs/biome/pull/11978) [`8be0b9e`](https://redirect.github.com/biomejs/biome/commit/8be0b9ed7617ccc53fd2554fb42c855b222b5a43) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11817](https://redirect.github.com/biomejs/biome/issues/11817): Biome no longer crashes when its output is piped to a program that exits early, such as `head`. Output to the closed pipe is now discarded and Biome exits normally. - [#&#8203;11868](https://redirect.github.com/biomejs/biome/pull/11868) [`3841c26`](https://redirect.github.com/biomejs/biome/commit/3841c26f45fa13998f6201921ee5ccd0b0063fb7) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;8986](https://redirect.github.com/biomejs/biome/issues/8986): Biome's language server now scopes all watched-file patterns to each workspace folder, falling back to the deprecated `rootUri` when no workspace folders are provided. Clients without relative-pattern support receive compatible absolute glob patterns. - [#&#8203;11928](https://redirect.github.com/biomejs/biome/pull/11928) [`0015681`](https://redirect.github.com/biomejs/biome/commit/001568183912d1a14bd22d0d20a46e7c7f6bcbb5) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Restricted access to the Unix daemon socket to the user running Biome. The socket now lives in a `biome-daemon` directory inside Biome's cache directory that only this user can access, and the socket itself has mode `0600`. - [#&#8203;11835](https://redirect.github.com/biomejs/biome/pull/11835) [`589ca1a`](https://redirect.github.com/biomejs/biome/commit/589ca1a0dd9f93a3ef3f3dac98d01720ae78bdcf) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Updated [`useReactCompiler`](https://biomejs.dev/linter/rules/use-react-compiler/): Biome now reports React Compiler diagnostics regardless of the React version declared in `package.json`. - [#&#8203;11907](https://redirect.github.com/biomejs/biome/pull/11907) [`b7d9037`](https://redirect.github.com/biomejs/biome/commit/b7d903781c7968517675de39d3f086184d83faf7) Thanks [@&#8203;posido](https://redirect.github.com/posido)! - Fixed [withastro/compiler-rs#194](https://redirect.github.com/withastro/compiler-rs/issues/194): the HTML parser no longer treats a regex literal that starts with `>` as the end of a self-closing tag. Astro frontmatter such as `const escaped = s.replace(/>/g, "&gt;");` no longer swallows the closing `---` fence, and the same regex inside a template expression no longer runs past its closing `}`. A regex literal after a keyword such as `return`, as in `return />'/.test(s)`, is now recognized too. - [#&#8203;12021](https://redirect.github.com/biomejs/biome/pull/12021) [`59cc595`](https://redirect.github.com/biomejs/biome/commit/59cc595c62882861ac1b1d166da155762a826abb) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Type inference performance has been significantly improved. Some popular libraries like Zod, Valibot, Arktype, Effect, Kysely, and Drizzle have gained a \~2-240x speedup in our benchmarks. This improvement affects all rules that use type information. - [#&#8203;12044](https://redirect.github.com/biomejs/biome/pull/12044) [`c73fb91`](https://redirect.github.com/biomejs/biome/commit/c73fb915eb80f843cf6b2ff7f68f8ad3850be1b4) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;12042](https://redirect.github.com/biomejs/biome/issues/12042): the HTML formatter no longer removes the space between text and an inline element on the next line when it joins the lines. ```diff - <p>a <em>b</em> c<u>d</u></p> + <p>a <em>b</em> c <u>d</u></p> ``` - [#&#8203;11965](https://redirect.github.com/biomejs/biome/pull/11965) [`f90bf38`](https://redirect.github.com/biomejs/biome/commit/f90bf384bd4d4237e74618e48704933915fa8a78) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed module resolution in long-running workspaces so imports reflect package manifest and TypeScript path-mapping changes without requiring the importing file to be edited. - [#&#8203;11860](https://redirect.github.com/biomejs/biome/pull/11860) [`0884e29`](https://redirect.github.com/biomejs/biome/commit/0884e294b47a3486bbaf190792aecd095443d664) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Removed the `attributes` and `functions` options from the nursery rule [`noTailwindArbitraryValue`](https://biomejs.dev/linter/rules/no-tailwind-arbitrary-value/). The rule now uses the same Tailwind detection as [`useTailwindShorthandClasses`](https://biomejs.dev/linter/rules/use-tailwind-shorthand-classes/). - [#&#8203;11969](https://redirect.github.com/biomejs/biome/pull/11969) [`865cd30`](https://redirect.github.com/biomejs/biome/commit/865cd30770b8e3060b7a5fdbcc09a44d25ed15d5) Thanks [@&#8203;AlbinoGeek](https://redirect.github.com/AlbinoGeek)! - Fixed [#&#8203;11962](https://redirect.github.com/biomejs/biome/issues/11962): [`noUnknownTypeSelector`](https://biomejs.dev/linter/rules/no-unknown-type-selector/) no longer reports view transition names inside view transition pseudo-elements, such as `page` in `::view-transition-group(page)`. - [#&#8203;11914](https://redirect.github.com/biomejs/biome/pull/11914) [`06ff47b`](https://redirect.github.com/biomejs/biome/commit/06ff47b16dee1dd3c0a7768b390074055d6d4afc) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11897](https://redirect.github.com/biomejs/biome/issues/11897): the safe fix for [`noUselessStringConcat`](https://biomejs.dev/linter/rules/no-useless-string-concat/) now escapes embedded double quotes when combining literals, preserving valid JavaScript and existing escape sequences. - [#&#8203;11997](https://redirect.github.com/biomejs/biome/pull/11997) [`af7825f`](https://redirect.github.com/biomejs/biome/commit/af7825fd24783f4a41ed845b44dca5ce36ae59f8) Thanks [@&#8203;github-actions](https://redirect.github.com/apps/github-actions)! - The [noRestrictedDependencies](https://biomejs.dev/linter/rules/no-restricted-dependencies/) rule has been updated with new module replacement data, it should now detect for more relevant replacements. - [#&#8203;11827](https://redirect.github.com/biomejs/biome/pull/11827) [`31bb662`](https://redirect.github.com/biomejs/biome/commit/31bb6627e5c54c6840e51eb61c0aec9f0da6113e) Thanks [@&#8203;dfedoryshchev](https://redirect.github.com/dfedoryshchev)! - Fixed [#&#8203;11566](https://redirect.github.com/biomejs/biome/issues/11566): [`useNamingConvention`](https://biomejs.dev/linter/rules/use-naming-convention/) no longer reports a `namespace` declared inside `declare global` or inside an external module declaration. Both positions are documented as always ignored, and the rule offered a safe fix, so `biome check --write` renamed the declaration: ```ts export {} declare global { // no longer renamed to `Jsx` namespace JSX {} } ``` - [#&#8203;11814](https://redirect.github.com/biomejs/biome/pull/11814) [`23ba25f`](https://redirect.github.com/biomejs/biome/commit/23ba25f191eb8ff91114f6b44bdb81cab5d6900e) Thanks [@&#8203;siketyan](https://redirect.github.com/siketyan)! - Fixed type inference through generic type aliases that instantiate another generic type with a nested generic argument, such as `type Nested<T> = Box<Wrapper<T>>`. Type-aware rules now resolve members of such types: ```ts declare const nested: Nested<number>; // noUnnecessaryConditions now reports that `??` is unnecessary. const inner = nested.value.inner ?? 1; ``` - [#&#8203;11908](https://redirect.github.com/biomejs/biome/pull/11908) [`dd5a5ce`](https://redirect.github.com/biomejs/biome/commit/dd5a5cedf0e5bfdce8af0cd4f2b250a9f82848a4) Thanks [@&#8203;siketyan](https://redirect.github.com/siketyan)! - Fixed [#&#8203;11880](https://redirect.github.com/biomejs/biome/issues/11880): Biome no longer misparses a `<<` expression followed by a later `>>>` as TypeScript type arguments. For example, `const mask = 1 << bits` followed by `const m = mask >>> 0` on the next line now parses correctly. - [#&#8203;11882](https://redirect.github.com/biomejs/biome/pull/11882) [`28c817d`](https://redirect.github.com/biomejs/biome/commit/28c817d16375bd451d29d1b18c2cf4419cf22ef8) Thanks [@&#8203;mikehasa](https://redirect.github.com/mikehasa)! - Fixed a bug in [`noOctalEscape`](https://biomejs.dev/linter/rules/no-octal-escape/) where the safe fix could silently change a string's value. A legacy octal escape is at most two digits when the leading digit is `4`-`7`, so `"\751"` is `"\75"` + `"1"` (i.e. `"=1"`) but was rewritten to the single character `ǩ`; it is now rewritten to `"\x3d1"`. - [#&#8203;11861](https://redirect.github.com/biomejs/biome/pull/11861) [`81b0adb`](https://redirect.github.com/biomejs/biome/commit/81b0adb8dc80a99bddc47f80cae61edfecdda214) Thanks [@&#8203;Netail](https://redirect.github.com/Netail)! - Added the new nursery rule [`noSelfImport`](https://biomejs.dev/linter/rules/no-self-import/), which forbids a module from importing itself. ```js // foo.js import foo from "./foo.js"; ``` - [#&#8203;12041](https://redirect.github.com/biomejs/biome/pull/12041) [`5e14509`](https://redirect.github.com/biomejs/biome/commit/5e1450901a405d1d62d1716789996e301ab5de22) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed a stack overflow in type-aware lint rules, such as [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/) and [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/), when generic types in files that import each other reference one another in their type parameters. ```ts // entity.ts import type { Repository } from "./repository"; export interface Entity<R extends Repository<any> = Repository<any>> {} // repository.ts import type { Entity } from "./entity"; export interface Repository<E extends Entity<any> = Entity<any>> {} ``` - [#&#8203;11838](https://redirect.github.com/biomejs/biome/pull/11838) [`9bbff0c`](https://redirect.github.com/biomejs/biome/commit/9bbff0cdf3a5268db87a0d378dd9ffaaf04a3595) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`usePromiseRejectErrors`](https://biomejs.dev/linter/rules/use-promise-reject-errors/), which requires Error objects as Promise rejection reasons. ```js Promise.reject("Request failed"); new Promise((resolve, reject) => reject(42)); ``` - [#&#8203;11917](https://redirect.github.com/biomejs/biome/pull/11917) [`717db8c`](https://redirect.github.com/biomejs/biome/commit/717db8c25737bacd0456c17bef9dda66f3c082c5) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Added the nursery rule [`noMisplacedListElements`](https://biomejs.dev/linter/rules/no-misplaced-list-elements/) for HTML and JSX, which requires `<li>` elements with an HTML element parent to be children of `<ul>`, `<ol>`, or `<menu>`. For example, `<div><li>Item</li></div>` is invalid. - [#&#8203;11919](https://redirect.github.com/biomejs/biome/pull/11919) [`8d0b990`](https://redirect.github.com/biomejs/biome/commit/8d0b990cb3dbb95354839e61561df8c14b86a273) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11899](https://redirect.github.com/biomejs/biome/issues/11899): disabling a domain no longer disables rules that also belong to another enabled domain. For example, with `"domains": { "react": "all", "next": "none" }`, [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) and [`useHookAtTopLevel`](https://biomejs.dev/linter/rules/use-hook-at-top-level/) are now enabled. Rules enabled explicitly in the configuration also stay enabled when one of their domains is set to `"none"`. - [#&#8203;11814](https://redirect.github.com/biomejs/biome/pull/11814) [`23ba25f`](https://redirect.github.com/biomejs/biome/commit/23ba25f191eb8ff91114f6b44bdb81cab5d6900e) Thanks [@&#8203;siketyan](https://redirect.github.com/siketyan)! - Fixed [#&#8203;11810](https://redirect.github.com/biomejs/biome/issues/11810) and [#&#8203;11813](https://redirect.github.com/biomejs/biome/issues/11813): type-aware rules such as [`noUnnecessaryConditions`](https://biomejs.dev/linter/rules/no-unnecessary-conditions/) and [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) no longer take several seconds when a member is accessed on a recursive generic type alias, such as react-hook-form's `FieldPathValue` or zustand's `Mutate`. - [#&#8203;11983](https://redirect.github.com/biomejs/biome/pull/11983) [`cc39794`](https://redirect.github.com/biomejs/biome/commit/cc3979413d3ab043f29764ba4502f7e20b460928) Thanks [@&#8203;AlbinoGeek](https://redirect.github.com/AlbinoGeek)! - Fixed [#&#8203;11939](https://redirect.github.com/biomejs/biome/issues/11939): the fix of [`useRegexLiterals`](https://biomejs.dev/linter/rules/use-regex-literals/) no longer escapes a slash that is already escaped. `new RegExp("\\/")` is now fixed to `/\//` instead of the invalid `/\\//`. - [#&#8203;11869](https://redirect.github.com/biomejs/biome/pull/11869) [`3a21c80`](https://redirect.github.com/biomejs/biome/commit/3a21c80bd00808685b88e03f477114d9f2a96251) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [`#9105`](https://redirect.github.com/biomejs/biome/issues/9105): `vcs.useIgnoreFile` now evaluates parent directory patterns when matching child paths, preserving re-included directories such as `!/src` while ignoring their excluded siblings. - [#&#8203;11875](https://redirect.github.com/biomejs/biome/pull/11875) [`2cdd220`](https://redirect.github.com/biomejs/biome/commit/2cdd220cd8fc1303d045241d50d6ed33aa3213c2) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11867](https://redirect.github.com/biomejs/biome/issues/11867): [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/) incorrectly reported Vue slot props declared with `v-slot` or its `#` shorthand, including destructured props. - [#&#8203;12021](https://redirect.github.com/biomejs/biome/pull/12021) [`59cc595`](https://redirect.github.com/biomejs/biome/commit/59cc595c62882861ac1b1d166da155762a826abb) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Type inference accuracy has been improved significantly. More global types, like `Array`, `Map`, `Set`, etc., are now fully defined. This should decrease false positives on all typed rules, since less types will be unknown. - [#&#8203;11929](https://redirect.github.com/biomejs/biome/pull/11929) [`aef690d`](https://redirect.github.com/biomejs/biome/commit/aef690d673e657c6f783127cdf572175c7165f0e) Thanks [@&#8203;Th3S4mur41](https://redirect.github.com/Th3S4mur41)! - Fixed [`noUnknownProperty`](https://biomejs.dev/linter/rules/no-unknown-property/) to recognize the `frame-sizing` CSS property. - [#&#8203;12022](https://redirect.github.com/biomejs/biome/pull/12022) [`6233eb2`](https://redirect.github.com/biomejs/biome/commit/6233eb2ad0a5e8e920e21123475fd137e3ab24b7) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;12020](https://redirect.github.com/biomejs/biome/issues/12020): the HTML parser now reports an error for a mismatched closing tag like the `</span>` in `<p>two</span></p>`. Previously, it accepted `</span>` as the end of `<p>` because `span` contains the letter `p`, and the formatter deleted everything after it. HTML tag names are matched case-insensitively, so `<DIV></div>` is no longer reported as mismatched. A closing tag with no opening tag at the top level of a file, like the second `</p>` in `<p>a</p></p><p>b</p>`, is now also reported as an error, instead of the formatter deleting it and everything after it. - [#&#8203;12037](https://redirect.github.com/biomejs/biome/pull/12037) [`48cdbb8`](https://redirect.github.com/biomejs/biome/commit/48cdbb86486cd21959352e945103d5fa0a3a746f) Thanks [@&#8203;ff1451](https://redirect.github.com/ff1451)! - Fixed [#&#8203;11898](https://redirect.github.com/biomejs/biome/issues/11898): [`noUselessReturn`](https://biomejs.dev/linter/rules/no-useless-return/) no longer offers a safe fix for a `return;` that is the body of an unbraced `if`, `else`, or label, because removing it produced invalid code. The safe fix now also keeps comments placed before or after the removed `return;`. ```js function foo() { // Still reported, but the return is no longer removed if (aborted) return; } ``` - [#&#8203;12030](https://redirect.github.com/biomejs/biome/pull/12030) [`4ff83dd`](https://redirect.github.com/biomejs/biome/commit/4ff83dd3ed3f265c9ae1e0c41e7a655511f1b264) Thanks [@&#8203;ematipico](https://redirect.github.com/ematipico)! - Fixed [#&#8203;9155](https://redirect.github.com/biomejs/biome/issues/9155): Biome no longer reports a parse error for typed slot props in Vue files, such as `v-slot="{ value }: { value: ValueType }"`. Types used in slot props annotations are now correctly detected as used by [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/). - [#&#8203;11955](https://redirect.github.com/biomejs/biome/pull/11955) [`088164f`](https://redirect.github.com/biomejs/biome/commit/088164f398f5edcf4c1c763514d4916d46c37119) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11946](https://redirect.github.com/biomejs/biome/issues/11946): [`noUnreachable`](https://biomejs.dev/linter/rules/no-unreachable/) and [`useGetterReturn`](https://biomejs.dev/linter/rules/use-getter-return/) now recognize `while` and `do...while` loops with truthy literal conditions as infinite unless control flow exits the loop. - [#&#8203;11958](https://redirect.github.com/biomejs/biome/pull/11958) [`6964bfc`](https://redirect.github.com/biomejs/biome/commit/6964bfc8a13c4bceed358da57d17f4ff4a728d8c) Thanks [@&#8203;erenbati](https://redirect.github.com/erenbati)! - Fixed [#&#8203;11924](https://redirect.github.com/biomejs/biome/issues/11924): [`noFocusedTests`](https://biomejs.dev/linter/rules/no-focused-tests/) no longer reports chained method calls such as `builder.image(url).fit("max")` as focused tests. - [#&#8203;11908](https://redirect.github.com/biomejs/biome/pull/11908) [`dd5a5ce`](https://redirect.github.com/biomejs/biome/commit/dd5a5cedf0e5bfdce8af0cd4f2b250a9f82848a4) Thanks [@&#8203;siketyan](https://redirect.github.com/siketyan)! - Fixed parsing of left shifts between TypeScript instantiation expressions. Biome now parses `f<T> << f<T>` as a left shift of two instantiation expressions, matching TypeScript, instead of reporting a parse error. - [#&#8203;11877](https://redirect.github.com/biomejs/biome/pull/11877) [`5a53b2c`](https://redirect.github.com/biomejs/biome/commit/5a53b2c87191ea531f6c426dc5e166241b6db621) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11278](https://redirect.github.com/biomejs/biome/issues/11278): [`noUnnecessaryConditions`](https://biomejs.dev/linter/rules/no-unnecessary-conditions/) no longer incorrectly reports optional chaining on `RegExp.exec()` results, including patterns created with `new RegExp()`. Biome now infers the nullable `RegExpExecArray | null` return type, preserving necessary checks such as `new RegExp(pattern).exec(input)?.[1]`. - [#&#8203;11906](https://redirect.github.com/biomejs/biome/pull/11906) [`b87822d`](https://redirect.github.com/biomejs/biome/commit/b87822d8b92d96fe226dc582b309a609a0c82974) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed [#&#8203;11900](https://redirect.github.com/biomejs/biome/issues/11900): [`useForOf`](https://biomejs.dev/linter/rules/use-for-of/) no longer reports loops that update their index inside the body, including `i += 1` and `argv[++i]`. - [#&#8203;11834](https://redirect.github.com/biomejs/biome/pull/11834) [`f89dd4f`](https://redirect.github.com/biomejs/biome/commit/f89dd4f2d52e4919133429fa4550912510517a9a) Thanks [@&#8203;dyc3](https://redirect.github.com/dyc3)! - Fixed incorrect type inference when generic parameters are reused across inherited types or swapped in recursive types. #### What's Changed - refactor(js\_runtime): reduce code and binary size by [@&#8203;siketyan](https://redirect.github.com/siketyan) in [#&#8203;11721](https://redirect.github.com/biomejs/biome/pull/11721) - feat(codegen): lower generic type constraints by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11795](https://redirect.github.com/biomejs/biome/pull/11795) - feat(codegen): lower Symbol static members by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11796](https://redirect.github.com/biomejs/biome/pull/11796) - feat(codegen): lower Symbol call signatures by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11797](https://redirect.github.com/biomejs/biome/pull/11797) - refactor(codegen): deduplicate local types by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11798](https://redirect.github.com/biomejs/biome/pull/11798) - fix(type\_inference): skip non-generic references in substitutions by [@&#8203;siketyan](https://redirect.github.com/siketyan) in [#&#8203;11814](https://redirect.github.com/biomejs/biome/pull/11814) - docs: replace retired VS Marketplace badges by [@&#8203;siketyan](https://redirect.github.com/siketyan) in [#&#8203;11816](https://redirect.github.com/biomejs/biome/pull/11816) - perf(analyze): optimize useIndexOf callback traversal by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11806](https://redirect.github.com/biomejs/biome/pull/11806) - perf(noBeforeInteractiveScriptOutsideDocument): avoid hitting the filesystem, before easier checks by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11805](https://redirect.github.com/biomejs/biome/pull/11805) - fix(useNamingConvention): ignore namespaces inside declare global and external modules by [@&#8203;dfedoryshchev](https://redirect.github.com/dfedoryshchev) in [#&#8203;11827](https://redirect.github.com/biomejs/biome/pull/11827) - fix(tailwind): detect tailwind classes in class expressions by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11802](https://redirect.github.com/biomejs/biome/pull/11802) - fix(useSimplifiedLogicExpression): don't simplify right-side boolean literals by [@&#8203;saberoueslati](https://redirect.github.com/saberoueslati) in [#&#8203;11761](https://redirect.github.com/biomejs/biome/pull/11761) - fix(useReactCompiler): remove React 19 version requirement by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11835](https://redirect.github.com/biomejs/biome/pull/11835) - fix(svelte): preserve const tag assignment syntax by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11837](https://redirect.github.com/biomejs/biome/pull/11837) - feat(md): suppressions support by [@&#8203;ematipico](https://redirect.github.com/ematipico) in [#&#8203;11840](https://redirect.github.com/biomejs/biome/pull/11840) - feat(linter): add noReactObjectTypeAsDefaultProp rule by [@&#8203;subaru-hello](https://redirect.github.com/subaru-hello) in [#&#8203;10634](https://redirect.github.com/biomejs/biome/pull/10634) - chore(skill): tests and codegen by [@&#8203;ematipico](https://redirect.github.com/ematipico) in [#&#8203;11848](https://redirect.github.com/biomejs/biome/pull/11848) - chore(tooling): publish crates by [@&#8203;ematipico](https://redirect.github.com/ematipico) in [#&#8203;11850](https://redirect.github.com/biomejs/biome/pull/11850) - release: crates v0.7.0 by [@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot] in [#&#8203;11853](https://redirect.github.com/biomejs/biome/pull/11853) - chore(renovate): stop updating tailwindcss in the preset generator by [@&#8203;johncarmack1984](https://redirect.github.com/johncarmack1984) in [#&#8203;11852](https://redirect.github.com/biomejs/biome/pull/11852) - ci: fail when the Tailwind preset can't be generated or is out of date by [@&#8203;johncarmack1984](https://redirect.github.com/johncarmack1984) in [#&#8203;11851](https://redirect.github.com/biomejs/biome/pull/11851) - feat(codegen): lower array type syntax by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11799](https://redirect.github.com/biomejs/biome/pull/11799) - feat(codegen): lower method generic parameters by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11843](https://redirect.github.com/biomejs/biome/pull/11843) - fix(noAstroSetHtmlDirective): report directive inside Astro template expressions by [@&#8203;m1handr](https://redirect.github.com/m1handr) in [#&#8203;11723](https://redirect.github.com/biomejs/biome/pull/11723) - chore(useSortedClasses): update the Tailwind v4 preset to tailwindcss 4.3.3 by [@&#8203;johncarmack1984](https://redirect.github.com/johncarmack1984) in [#&#8203;11856](https://redirect.github.com/biomejs/biome/pull/11856) - fix(rules\_check): support HTML-like documentation snippets for JavaScript rules ([#&#8203;11755](https://redirect.github.com/biomejs/biome/issues/11755)) by [@&#8203;m1handr](https://redirect.github.com/m1handr) in [#&#8203;11762](https://redirect.github.com/biomejs/biome/pull/11762) - fix(noTailwindArbitraryValue): use shared syntax query by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11860](https://redirect.github.com/biomejs/biome/pull/11860) - feat: noSelfImport by [@&#8203;Netail](https://redirect.github.com/Netail) in [#&#8203;11861](https://redirect.github.com/biomejs/biome/pull/11861) - feat(lint/js): add usePromiseRejectErrors by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11838](https://redirect.github.com/biomejs/biome/pull/11838) - feat(lint): add noTailwindRawColors lint rule by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11794](https://redirect.github.com/biomejs/biome/pull/11794) - feat(yaml/fmt): suppression comments by [@&#8203;ematipico](https://redirect.github.com/ematipico) in [#&#8203;11842](https://redirect.github.com/biomejs/biome/pull/11842) - fix(vcs): checks for parent ignore files by [@&#8203;ematipico](https://redirect.github.com/ematipico) in [#&#8203;11869](https://redirect.github.com/biomejs/biome/pull/11869) - fix(lsp): relative glob patterns by [@&#8203;ematipico](https://redirect.github.com/ematipico) in [#&#8203;11868](https://redirect.github.com/biomejs/biome/pull/11868) - chore(deps): update dependency [@&#8203;changesets/cli](https://redirect.github.com/changesets/cli) to v3.0.3 by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in [#&#8203;11864](https://redirect.github.com/biomejs/biome/pull/11864) - fix(lint): recognize Vue slot bindings by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11875](https://redirect.github.com/biomejs/biome/pull/11875) - chore(deps): update dependency tombi to v1.5.5 by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in [#&#8203;11866](https://redirect.github.com/biomejs/biome/pull/11866) - chore(deps): update dependency [@&#8203;types/node](https://redirect.github.com/types/node) to v24.13.5 by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in [#&#8203;11865](https://redirect.github.com/biomejs/biome/pull/11865) - feat(type\_info): lower the Math global class by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11857](https://redirect.github.com/biomejs/biome/pull/11857) - feat(codegen): extend lowering to function types and overloaded call signatures by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11844](https://redirect.github.com/biomejs/biome/pull/11844) - feat(codegen): lower generic construct signatures by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11855](https://redirect.github.com/biomejs/biome/pull/11855) - feat(types): lower readonly types and infer const generics by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11859](https://redirect.github.com/biomejs/biome/pull/11859) - feat(codegen): lower builtin constructors and Iterable by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11870](https://redirect.github.com/biomejs/biome/pull/11870) - feat(codegen): resolve predefined types with generic arguments by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11871](https://redirect.github.com/biomejs/biome/pull/11871) - fix(types): lower RegExp declarations and preserve nullable exec results by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11877](https://redirect.github.com/biomejs/biome/pull/11877) - fix(codegen): lower Array.from declarations by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11878](https://redirect.github.com/biomejs/biome/pull/11878) - fix(lint/noOctalEscape): preserve string value when fixing octal escapes with leading digit 4-7 by [@&#8203;mikehasa](https://redirect.github.com/mikehasa) in [#&#8203;11882](https://redirect.github.com/biomejs/biome/pull/11882) - test(codegen): clean up useless tests by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11885](https://redirect.github.com/biomejs/biome/pull/11885) - feat(codegen): lower keyof type operators by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11886](https://redirect.github.com/biomejs/biome/pull/11886) - feat(codegen): lower indexed access types by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11889](https://redirect.github.com/biomejs/biome/pull/11889) - fix(parse/js): don't misparse `<<` as type arguments when the closing `>` is missing by [@&#8203;siketyan](https://redirect.github.com/siketyan) in [#&#8203;11908](https://redirect.github.com/biomejs/biome/pull/11908) - ci: silent verification job by [@&#8203;ematipico](https://redirect.github.com/ematipico) in [#&#8203;11911](https://redirect.github.com/biomejs/biome/pull/11911) - feat(lint): add useLogicalProperties rule by [@&#8203;Th3S4mur41](https://redirect.github.com/Th3S4mur41) in [#&#8203;10816](https://redirect.github.com/biomejs/biome/pull/10816) - fix(html/parser): lex a regex that starts with `>` as a regex by [@&#8203;posido](https://redirect.github.com/posido) in [#&#8203;11907](https://redirect.github.com/biomejs/biome/pull/11907) - fix(lint/useForOf): ignore loops updating index in body by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11906](https://redirect.github.com/biomejs/biome/pull/11906) - feat(types): lower computed members and infer symbol-keyed access by [@&#8203;dyc3](https://redirect.github.com/dyc3) in [#&#8203;11890](https://redirect.github.com/biomejs/biome/pull/11890) - feat(type-inference): lower Intl namesp > ❗ **Important** > > ✂ PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "before 4am on Monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/prometheus/client_java). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMjUuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> --------- Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
1 parent fc5d0ba commit d8089b2

2 files changed

Lines changed: 171 additions & 173 deletions

File tree

‎docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-common.txt‎

Lines changed: 1 addition & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)