Zum Inhalt springen
verdict:

Biome 2.4.5

digest

note: die Zusammenfassung und die Release Notes sind auf Englisch

note: keine Zusammenfassung für dieses digest-Release

digest-Releases werden ohne Zusammenfassung gelistet. Die originalen Release Notes dieser Version stehen hier unten.

release-notesgithub.com/biomejs/biome · 297 Zeilen
  1. ## 2.4.5
  2. ### Patch Changes
  3. - [#9185](https://github.com/biomejs/biome/pull/9185) [`e43e730`](https://github.com/biomejs/biome/commit/e43e730f603bb360d2993842d1b883a787224c29) Thanks [@dyc3](https://github.com/dyc3)! - Added the nursery rule `useVueScopedStyles` for Vue SFCs. This rule enforces that `<style>` blocks have the `scoped` attribute (or `module` for CSS Modules), preventing style leakage and conflicts between components.
  4. - [#9184](https://github.com/biomejs/biome/pull/9184) [`49c8fde`](https://github.com/biomejs/biome/commit/49c8fdecf69089e1be9e58fa52f6b72fd54ce08e) Thanks [@chocky335](https://github.com/chocky335)! - Improved plugin performance by batching all plugins into a single syntax visitor with a kind-to-plugin lookup map, reducing per-node dispatch overhead from O(N) to O(1) where N is the number of plugins.
  5. - [#9283](https://github.com/biomejs/biome/pull/9283) [`071c700`](https://github.com/biomejs/biome/commit/071c70053b63c60bccc170a9d84b8b3f08060a94) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/) erroneously flagging functions and variables defined in the `<script setup>` section of Vue SFCs.
  6. - [#9221](https://github.com/biomejs/biome/pull/9221) [`4612133`](https://github.com/biomejs/biome/commit/4612133cd9677cda3c2eedb52fd8b46be579410d) Thanks [@ematipico](https://github.com/ematipico)! - Fixed an issue where the JSON reporter didn't contain the duration of the command.
  7. - [#9294](https://github.com/biomejs/biome/pull/9294) [`1805c8f`](https://github.com/biomejs/biome/commit/1805c8fb18081e88d81da2a6a542f7d69cd317a2) Thanks [@Netail](https://github.com/Netail)! - Extra rule source reference. `biome migrate eslint` should do a bit better detecting rules in your eslint configurations.
  8. - [#9178](https://github.com/biomejs/biome/pull/9178) [`101b3bb`](https://github.com/biomejs/biome/commit/101b3bb2658dd2fb7ce562f82b784fd5d068df62) Thanks [@Bertie690](https://github.com/Bertie690)! - Fixed [#9172](https://github.com/biomejs/biome/issues/9172) and [#9168](https://github.com/biomejs/biome/issues/9168):
  9. Biome now considers more constructs as valid test assertions.
  10. Previously, [`assert`](https://vitest.dev/api/assert.html), [`expectTypeOf`](https://vitest.dev/api/expect-typeof.html) and [`assertType`](https://vitest.dev/api/assert-type.html)
  11. were not recognized as valid assertions by Biome's linting rules, producing false positives in [`lint/nursery/useExpect`](https://biomejs.dev/linter/rules/use-expect) and other similar rules.
  12. Now, these rules will no longer produce errors in test cases that used these constructs instead of `expect`:
  13. ```ts
  14. import { expectTypeOf, assert, assertType } from "vitest";
  15. const myStr = "Hello from vitest!";
  16. it("should be a string", () => {
  17. expectTypeOf(myStr).toBeString();
  18. });
  19. test("should still be a string", () => {
  20. assertType<string>(myStr);
  21. });
  22. it.todo("should still still be a string", () => {
  23. assert(typeof myStr === "string");
  24. });
  25. ```
  26. - [#9173](https://github.com/biomejs/biome/pull/9173) [`32dad2d`](https://github.com/biomejs/biome/commit/32dad2deb5373950ee52f0e1c544b3313bbe6b52) Thanks [@dyc3](https://github.com/dyc3)! - Added parsing support for Svelte's new [comments-in-tags](https://github.com/sveltejs/svelte/pull/17671) feature.
  27. The HTML parser will now accept JS style comments in tags in Svelte files.
  28. ```svelte
  29. <button
  30. // single-line comment
  31. onclick={doTheThing}
  32. >click me</button>
  33. <div
  34. /* block comment */
  35. class="foo"
  36. >text</div>
  37. ```
  38. - [#8952](https://github.com/biomejs/biome/pull/8952) [`1d2ca15`](https://github.com/biomejs/biome/commit/1d2ca15f85f6968b4e4ad262a65aadc76fc54f50) Thanks [@pkallos](https://github.com/pkallos)! - Added the nursery rule [`useNullishCoalescing`](https://biomejs.dev/linter/rules/use-nullish-coalescing/). This rule suggests using the nullish coalescing operator (`??`) instead of logical OR (`||`) when the left operand may be nullish. This prevents bugs where falsy values like `0`, `''`, or `false` are incorrectly treated as missing. Addresses [#8043](https://github.com/biomejs/biome/issues/8043)
  39. ```ts
  40. // Invalid
  41. declare const x: string | null;
  42. const value = x || "default";
  43. // Valid
  44. const value = x ?? "default";
  45. ```
  46. - [#9243](https://github.com/biomejs/biome/pull/9243) [`1992a85`](https://github.com/biomejs/biome/commit/1992a852d83eb86bae4f6adb999cde284ffa9427) Thanks [@Netail](https://github.com/Netail)! - Fixed [#7813](https://github.com/biomejs/biome/issues/7813): improved the diagnostic of the rule [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/). The diagnostic now shows the name of the variable to add to the dependency array.
  47. - [#9063](https://github.com/biomejs/biome/pull/9063) [`3d0648f`](https://github.com/biomejs/biome/commit/3d0648f95a0f7a3fd8ddff58d57a239e68183fe1) Thanks [@taga3s](https://github.com/taga3s)! - Added the nursery rule [`noVueRefAsOperand`](https://biomejs.dev/linter/rules/no-vue-ref-as-operand/). This rule disallows cases where a ref is used as an operand.
  48. The following code is now flagged:
  49. ```js
  50. import { ref } from "vue";
  51. const count = ref(0);
  52. count++; // Should be: count.value++
  53. ```
  54. ```js
  55. import { ref } from "vue";
  56. const ok = ref(false);
  57. if (ok) {
  58. // Should be: if (ok.value)
  59. //
  60. }
  61. ```
  62. - [#9273](https://github.com/biomejs/biome/pull/9273) [`f239e20`](https://github.com/biomejs/biome/commit/f239e2053673fcd8ba9a0ab400420b514876f39c) Thanks [@denbezrukov](https://github.com/denbezrukov)! - Fixed [#9253](https://github.com/biomejs/biome/issues/9253): parsing of `@container scroll-state(...)` queries.
  63. ```css
  64. @container scroll-state(scrolled: bottom) {
  65. }
  66. @container scroll-state(stuck) {
  67. }
  68. @container scroll-state(not (stuck)) {
  69. }
  70. @container scroll-state((stuck) and (scrolled: bottom)) {
  71. }
  72. @container scroll-state((stuck) or (snapped: x)) {
  73. }
  74. @container main-layout scroll-state(not ((stuck) and (scrolled: bottom))) {
  75. }
  76. ```
  77. - [#9259](https://github.com/biomejs/biome/pull/9259) [`96939c0`](https://github.com/biomejs/biome/commit/96939c050e34d685c2ec7d603b9bc2478e476a8e) Thanks [@ematipico](https://github.com/ematipico)! - Fixed CSS formatter incorrectly collapsing selectors when a BOM (Byte Order Mark) character is present at the start of the file. The formatter now correctly preserves line breaks between comments and selectors in BOM-prefixed CSS files, matching Prettier's behavior.
  78. - [#9251](https://github.com/biomejs/biome/pull/9251) [`59e33fb`](https://github.com/biomejs/biome/commit/59e33fb90432fed33e349245a40d352c85f5b131) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9249](https://github.com/biomejs/biome/issues/9249): The CSS formatter no longer incorrectly breaks ratio values (like `1 / -1`) across lines when followed by comments.
  79. - [#9284](https://github.com/biomejs/biome/pull/9284) [`ec3a17f`](https://github.com/biomejs/biome/commit/ec3a17f321482ddb8ac2d67b701169a4b25df0b0) Thanks [@denbezrukov](https://github.com/denbezrukov)! - Fixed [#9253](https://github.com/biomejs/biome/issues/9253): removed false-positive diagnostics for valid `@container`/`@supports` general-enclosed queries.
  80. ```css
  81. @container scroll-state(scrolled: bottom) {
  82. }
  83. @supports foo(bar: baz) {
  84. }
  85. ```
  86. - [#9215](https://github.com/biomejs/biome/pull/9215) [`b2619a1`](https://github.com/biomejs/biome/commit/b2619a1810f8c2dfc83f03ac2d810b1d34d658c5) Thanks [@FrederickStempfle](https://github.com/FrederickStempfle)! - Fixed [#9189](https://github.com/biomejs/biome/issues/9189): `biome ci` in GitHub Actions now correctly disables colors so that `::error`/`::warning` workflow commands are not wrapped in ANSI escape codes.
  87. - [#9256](https://github.com/biomejs/biome/pull/9256) [`65ae4c1`](https://github.com/biomejs/biome/commit/65ae4c12fe1d2ac1b1cb57547a42a083c15eeb35) Thanks [@ematipico](https://github.com/ematipico)! - Fixed JSON reporter escaping of special characters in diagnostic messages. The JSON reporter now properly escapes double quotes, backslashes, and control characters in error messages and advice text, preventing invalid JSON output when diagnostics contain these characters.
  88. - [#9223](https://github.com/biomejs/biome/pull/9223) [`5b9da81`](https://github.com/biomejs/biome/commit/5b9da81189b09152d6a19b11c2911818ef812975) Thanks [@ematipico](https://github.com/ematipico)! - Fixed an issue where the JSON reporter didn't write output to a file when `--reporter-file` was specified. The output is now correctly written to the specified file instead of always going to stdout.
  89. - [#9154](https://github.com/biomejs/biome/pull/9154) [`c487e54`](https://github.com/biomejs/biome/commit/c487e54ebea4b4aa110d5b87ecf0513d0b0c7c9b) Thanks [@abossenbroek](https://github.com/abossenbroek)! - Fixed [#9115](https://github.com/biomejs/biome/issues/9115): The [`noPlaywrightMissingAwait`](https://biomejs.dev/linter/rules/no-playwright-missing-await/) rule no longer produces false positives on jest-dom matchers like `toBeVisible`, `toBeChecked`, `toHaveAttribute`, etc. For matchers shared between Playwright and jest-dom, the rule now checks whether `expect()`'s argument is a Playwright locator or page object before flagging. Added semantic variable resolution so that extracted Playwright locators (e.g. `const loc = page.locator('.item'); expect(loc).toBeVisible()`) are still correctly flagged.
  90. - [#9269](https://github.com/biomejs/biome/pull/9269) [`33e5cdf`](https://github.com/biomejs/biome/commit/33e5cdfb65fb4c63c5b186d4bf4aced73900140f) Thanks [@dyc3](https://github.com/dyc3)! - Fixed a false positive where `noUndeclaredVariables` reported bindings from Vue `<script setup>` as undeclared when used in `<template>`.
  91. This change ensures embedded bindings collected from script snippets (like imports and `defineModel` results) are respected by the rule.
  92. - [#9267](https://github.com/biomejs/biome/pull/9267) [`2c2e060`](https://github.com/biomejs/biome/commit/2c2e060207ccbe1b96fc9dd982cadff30fda259a) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9143](https://github.com/biomejs/biome/issues/9143) and [#8849](https://github.com/biomejs/biome/issues/8849): The [`noUnresolvedImports`](https://biomejs.dev/linter/rules/no-unresolved-imports/) rule no longer reports false positives for several common patterns:
  93. - `node:fs`, `node:path`, `node:url`, and other Node.js built-in modules with the `node:` prefix are now accepted.
  94. - Packages that declare their TypeScript entry point via `"typings"` (instead of `"types"`) in `package.json` now resolve correctly.
  95. - Named imports from aliased re-export chains (e.g. `export { x as y } from "..."`) are now resolved correctly through the alias.
  96. - Namespace re-exports (e.g. `export * as Ns from "..."`) are now recognized as own exports of the barrel module.
  97. - [#9254](https://github.com/biomejs/biome/pull/9254) [`f7bf12b`](https://github.com/biomejs/biome/commit/f7bf12bd53d783ce88650450603642f8034aeeeb) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#8842](https://github.com/biomejs/biome/issues/8842): The CSS formatter now correctly formats `@container scroll-state()` without adding an unwanted space between the function name and opening parenthesis.
  98. - [#9211](https://github.com/biomejs/biome/pull/9211) [`2d0b8e6`](https://github.com/biomejs/biome/commit/2d0b8e62d24876bc93933123cccda07a50ad5084) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#7905](https://github.com/biomejs/biome/issues/7905). Improved the accuracy of type-aware lint rules when analyzing re-exported functions and values.
  99. Previously, when a binding was imported from another module, its type was not correctly inferred during the type analysis phase. This caused type-aware lint rules to fail to detect issues when working with re-exported imports.
  100. The following rules now correctly handle re-exported imports:
  101. - [`useAwaitThenable`](https://biomejs.dev/linter/rules/use-await-thenable/)
  102. - [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/)
  103. - [`noMisusedPromises`](https://biomejs.dev/linter/rules/no-misused-promises/)
  104. - [`useArraySortCompare`](https://biomejs.dev/linter/rules/use-array-sort-compare/)
  105. Example of now-working detection:
  106. ```ts
  107. // getValue.ts
  108. export async function getValue(): Promise<number> {
  109. return 42;
  110. }
  111. // reexport.ts
  112. export { getValue } from "./getValue";
  113. // index.ts
  114. import { getValue } from "./reexport";
  115. // Previously: no diagnostic (type was unknown)
  116. // Now: correctly detects that getValue() returns a Promise
  117. await getValue(); // Valid - properly awaited
  118. getValue(); // Diagnostic - floating promise
  119. ```
  120. - [#8934](https://github.com/biomejs/biome/pull/8934) [`b49707c`](https://github.com/biomejs/biome/commit/b49707c5a35572ee314000eda2437c7a77b5efaa) Thanks [@tim-we](https://github.com/tim-we)! - Fixed [#8265](https://github.com/biomejs/biome/issues/8265): Biome now correctly detects test framework calls that use three arguments (label, options, callback) (e.g., `describe("foo", { retry: 2 }, () => {})`). This fixes both formatting and the [`noDuplicateTestHooks`](https://biomejs.dev/linter/rules/no-duplicate-test-hooks/) lint rule for test frameworks like Vitest.
  121. - [#9191](https://github.com/biomejs/biome/pull/9191) [`688fd34`](https://github.com/biomejs/biome/commit/688fd3480ae5c4b1d8d3a43fc5fe41c64ed0d0d1) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#9180](https://github.com/biomejs/biome/issues/9180): fixed a panic caused by an interaction between `noRedundantUseStrict` and the formatter
  122. - [#9048](https://github.com/biomejs/biome/pull/9048) [`9bbdf4d`](https://github.com/biomejs/biome/commit/9bbdf4dda73e589c82709d514083cb49ae9cda37) Thanks [@ff1451](https://github.com/ff1451)! - Added the nursery rule [`useNamedCaptureGroup`](https://biomejs.dev/linter/rules/use-named-capture-group/).
  123. The rule enforces using named capture groups in regular expressions instead of numbered ones. It supports both regex literals and `RegExp` constructor calls.
  124. ```js
  125. // Invalid: unnamed capture group
  126. /(foo)/;
  127. new RegExp("(foo)");
  128. // Valid: named capture group
  129. /(?<id>foo)/;
  130. new RegExp("(?<id>foo)");
  131. ```
  132. - [#9255](https://github.com/biomejs/biome/pull/9255) [`9b6685b`](https://github.com/biomejs/biome/commit/9b6685b4537e2b21d1fac0e761c81868676d6eb8) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [`#9234`](https://github.com/biomejs/biome/issues/9234), where some nursery rules panicked when they were configured with the option `level` without the corresponding `options`.
  133. - [#8968](https://github.com/biomejs/biome/pull/8968) [`a2b4494`](https://github.com/biomejs/biome/commit/a2b4494e86defb0d9c3796b4df6fb696ed9ff7f7) Thanks [@LouisLau-art](https://github.com/LouisLau-art)! - Fixed [#8812](https://github.com/biomejs/biome/issues/8812): `lint/suspicious/noArrayIndexKey` will now report index usage anywhere in JSX `key` template or binary expressions, not only in the last visited identifier.
  134. - [#9266](https://github.com/biomejs/biome/pull/9266) [`84935a4`](https://github.com/biomejs/biome/commit/84935a484cf7eeae0e2e0bb4be747b48db2d2d4e) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#9250](https://github.com/biomejs/biome/issues/9250): `noVueDuplicateKeys` will no longer flag keys under `watch`, preventing false positives.
  135. - [#9056](https://github.com/biomejs/biome/pull/9056) [`1f2fe2e`](https://github.com/biomejs/biome/commit/1f2fe2e716c9e47c7c37a2ec57ef32caac0746ab) Thanks [@ruidosujeira](https://github.com/ruidosujeira)! - Added the nursery rule `useArraySome` to prefer `.some()` over verbose existence checks like `filter(...).length > 0` and `findIndex(...) !== -1`, with suggestions for `find`/`findLast` existence checks. This also applies to ES2025 iterator helpers such as `Iterator.prototype.find`.
  136. - [#9163](https://github.com/biomejs/biome/pull/9163) [`f87acf6`](https://github.com/biomejs/biome/commit/f87acf675ebeca794878158cd122496b9c271673) Thanks [@JUSTIVE](https://github.com/JUSTIVE)! - Added `graphql` to valid embedded graphql template tags inside JavaScript files, when the feature `javascript.experimentalEmbeddedSnippetsEnabled` is enabled. This allows proper support for graphql tags used in RelayJS.
  137. Now, code snippets like the following are correctly formatted and limited:
  138. ```js
  139. import { graphql } from "react-relay";
  140. const query = graphql`
  141. query {
  142. user(id: 1) {
  143. id
  144. name
  145. }
  146. }
  147. `;
  148. ```
  149. - [#8773](https://github.com/biomejs/biome/pull/8773) [`6b01778`](https://github.com/biomejs/biome/commit/6b01778301978eba61ab68dabbd2bba814bb6ef3) Thanks [@xcb3d](https://github.com/xcb3d)! - Added the new nursery rule [`useUnicodeRegex`](https://biomejs.dev/linter/rules/use-unicode-regex/).
  150. The rule enforces the use of the `u` or `v` flag for regular expressions. This ensures proper handling of Unicode characters like emoji.
  151. ```js
  152. // Invalid
  153. /foo/;
  154. new RegExp("foo", "gi");
  155. // Valid
  156. /foo/u;
  157. new RegExp("foo", "giu");
  158. ```
  159. ## What's Changed
  160. * test(markdown): add minimal service plumbing for formatter integration by @jfmcdowell in https://github.com/biomejs/biome/pull/9070
  161. * feat(biome_js_analyze): implement `noVueRefAsOperand` by @taga3s in https://github.com/biomejs/biome/pull/9063
  162. * perf(parse/tailwind): use `lookup_byte` for slightly better throughput by @dyc3 in https://github.com/biomejs/biome/pull/9183
  163. * refactor(core): move js semantic model by @ematipico in https://github.com/biomejs/biome/pull/8361
  164. * feat(markdown): add prettier tests for markdown formatter by @tidefield in https://github.com/biomejs/biome/pull/9076
  165. * fix(lint): code action for `noRedundantUseStrict` no longer produces syntactically invalid nodes by @dyc3 in https://github.com/biomejs/biome/pull/9191
  166. * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/9198
  167. * chore(deps): update rust crate anyhow to 1.0.102 by @renovate[bot] in https://github.com/biomejs/biome/pull/9200
  168. * chore(deps): update rust crate jiff to 0.2.21 by @renovate[bot] in https://github.com/biomejs/biome/pull/9201
  169. * chore(deps): update pnpm to v10.30.1 by @renovate[bot] in https://github.com/biomejs/biome/pull/9204
  170. * fix(deps): update @biomejs packages by @renovate[bot] in https://github.com/biomejs/biome/pull/9203
  171. * chore(deps): update dependency tombi to v0.7.31 by @renovate[bot] in https://github.com/biomejs/biome/pull/9199
  172. * feat: graphql as valid graphql tag by @JUSTIVE in https://github.com/biomejs/biome/pull/9163
  173. * ci: reduce workflow triggering to cron schedule by @ematipico in https://github.com/biomejs/biome/pull/9207
  174. * perf(linter): batch plugins into single visitor with anchor-kind dispatch by @chocky335 in https://github.com/biomejs/biome/pull/9184
  175. * refactor(markdown): split list item parser by @jfmcdowell in https://github.com/biomejs/biome/pull/9167
  176. * fix(lint): consider more constructs as valid test assertions by @Bertie690 in https://github.com/biomejs/biome/pull/9178
  177. * feat(css): scss basic expressions by @denbezrukov in https://github.com/biomejs/biome/pull/9212
  178. * fix(cli): json reporter by @ematipico in https://github.com/biomejs/biome/pull/9221
  179. * fix(markdown-parser): promote blockquote prefix markers from skipped trivia to explicit CST nodes by @jfmcdowell in https://github.com/biomejs/biome/pull/9219
  180. * fix(cli): json reporter file by @ematipico in https://github.com/biomejs/biome/pull/9223
  181. * feat(css): add SCSS unary and binary expression by @denbezrukov in https://github.com/biomejs/biome/pull/9222
  182. * fix: redact duration propertly by @ematipico in https://github.com/biomejs/biome/pull/9225
  183. * feat(css): add scss keyword and arbitrary arguments by @denbezrukov in https://github.com/biomejs/biome/pull/9227
  184. * feat(lint): add useNullishCoalescing nursery rule by @pkallos in https://github.com/biomejs/biome/pull/8952
  185. * chore(deps): update rust crate regex to 1.12.3 by @renovate[bot] in https://github.com/biomejs/biome/pull/9202
  186. * refactor(css): inline function argument expressions by @denbezrukov in https://github.com/biomejs/biome/pull/9241
  187. * feat(parse/html/svelte): new svelte syntax for comments inside tags by @dyc3 in https://github.com/biomejs/biome/pull/9173
  188. * fix(js_analyze): mention which dependency the useExhaustiveDependencies fix adds to the list by @Netail in https://github.com/biomejs/biome/pull/9243
  189. * fix(cli): disable colors when GitHub Actions auto-enables github reporter by @FrederickStempfle in https://github.com/biomejs/biome/pull/9215
  190. * ci: fix autofix by @ematipico in https://github.com/biomejs/biome/pull/9247
  191. * refactor(yaml): accept a list of properties by @l0ngvh in https://github.com/biomejs/biome/pull/9220
  192. * fix(noPlaywrightMissingAwait): fix false positives with jest-dom matchers by @abossenbroek in https://github.com/biomejs/biome/pull/9154
  193. * feat: prefer-array-some from eslint-plugin-unicorn by @ruidosujeira in https://github.com/biomejs/biome/pull/9056
  194. * fix(noDuplicateTestHooks): check for options argument by @tim-we in https://github.com/biomejs/biome/pull/8934
  195. * refactor: use semantic model for module graph by @ematipico in https://github.com/biomejs/biome/pull/9211
  196. * fix(css/parser): correctly parse container query scroll-state by @ematipico in https://github.com/biomejs/biome/pull/9254
  197. * perf(rowan): text edits by slicing text by @ematipico in https://github.com/biomejs/biome/pull/9252
  198. * fix(css/parser): bom parsing by @ematipico in https://github.com/biomejs/biome/pull/9259
  199. * refactor(markdown-parser): promote pre-marker indent to explicit CST by @jfmcdowell in https://github.com/biomejs/biome/pull/9224
  200. * refactor(markdown-parser): extract magic numbers to named constants by @jfmcdowell in https://github.com/biomejs/biome/pull/9228
  201. * fix(analyzer): some rules panicked by @ematipico in https://github.com/biomejs/biome/pull/9255
  202. * fix(css/formatter): ratio printing by @ematipico in https://github.com/biomejs/biome/pull/9251
  203. * refactor(markdown-parser): replace remaining magic numbers with named constants by @jfmcdowell in https://github.com/biomejs/biome/pull/9264
  204. * feat(lint): add nursery rule useNamedCaptureGroup by @ff1451 in https://github.com/biomejs/biome/pull/9048
  205. * fix(noVueDuplicateKeys): fix false positives when keys are defined in `watch` by @dyc3 in https://github.com/biomejs/biome/pull/9266
  206. * refactor(markdown-parser): deduplicate link scan/parse with BumpMode by @jfmcdowell in https://github.com/biomejs/biome/pull/9192
  207. * feat(lint): add ||= to ??= detection in useNullishCoalescing by @pkallos in https://github.com/biomejs/biome/pull/9257
  208. * fix(lint): noArrayIndexKey should flag index anywhere in template by @LouisLau-art in https://github.com/biomejs/biome/pull/8968
  209. * fix(dx): deny `type Options = ()` in rules by @dyc3 in https://github.com/biomejs/biome/pull/9281
  210. * fix(cli): json reporter escaping by @ematipico in https://github.com/biomejs/biome/pull/9256
  211. * fix(noUndeclaredVariables): consult embedded bindings service before flagging false positives by @dyc3 in https://github.com/biomejs/biome/pull/9269
  212. * feat(css): add support for `@container scroll-state` at-rule and associated queries by @denbezrukov in https://github.com/biomejs/biome/pull/9273
  213. * feat(lint/html): add `useVueScopedStyles` by @dyc3 in https://github.com/biomejs/biome/pull/9185
  214. * chore(deps): update rust:1.93.1-bookworm docker digest to 7c4ae64 by @renovate[bot] in https://github.com/biomejs/biome/pull/9289
  215. * chore(deps): update rust:1.93.1-bullseye docker digest to fae8ebc by @renovate[bot] in https://github.com/biomejs/biome/pull/9290
  216. * chore: extra rule source by @Netail in https://github.com/biomejs/biome/pull/9294
  217. * fix(module_graph): properly index and resolve barrel exports by @ematipico in https://github.com/biomejs/biome/pull/9267
  218. * fix(css): parse scroll-state and general-enclosed queries by @denbezrukov in https://github.com/biomejs/biome/pull/9284
  219. * feat(linter): add useUnicodeRegex rule by @xcb3d in https://github.com/biomejs/biome/pull/8773
  220. * fix(noUndeclaredVariables): fix false positives for functions and variables defined in vue `<script setup>` components by @dyc3 in https://github.com/biomejs/biome/pull/9283
  221. * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/9188
  222. ## New Contributors
  223. * @JUSTIVE made their first contribution in https://github.com/biomejs/biome/pull/9163
  224. * @chocky335 made their first contribution in https://github.com/biomejs/biome/pull/9184
  225. * @pkallos made their first contribution in https://github.com/biomejs/biome/pull/8952
  226. * @FrederickStempfle made their first contribution in https://github.com/biomejs/biome/pull/9215
  227. * @xcb3d made their first contribution in https://github.com/biomejs/biome/pull/8773
  228. **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.4...@biomejs/biome@2.4.5

auf github ansehenimported 2026-09-28 über npm