Skip to content
verdict:

Biome 2.5.7

digest

note: no summary for this digest release

Digest releases are listed without a summary. The original release notes for this version are below.

release-notesgithub.com/biomejs/biome · 320 lines
  1. ## 2.5.7
  2. ### Patch Changes
  3. - [#10822](https://github.com/biomejs/biome/pull/10822) [`c171b3b`](https://github.com/biomejs/biome/commit/c171b3bd513d49c35b66cdc74a5de0ca0766b6ef) Thanks [@pkallos](https://github.com/pkallos)! - Added the option `ignoreIfStatements` to [useNullishCoalescing](https://biomejs.dev/linter/rules/use-nullish-coalescing/). Biome now flags `if` statements that only assign to a nullish variable (such as `if (!a) { a = b }`) and can rewrite them to `??=`. When enabled, Biome ignores those `if` statements.
  4. - [#11136](https://github.com/biomejs/biome/pull/11136) [`e63354c`](https://github.com/biomejs/biome/commit/e63354cf280783fa6380951342bdacc3fd55e681) Thanks [@AkashNaickar](https://github.com/AkashNaickar)! - Added a new nursery rule [`noExtendNative`](https://biomejs.dev/linter/rules/no-extend-native/), which reports extending the prototype of a built-in object.
  5. - [#10094](https://github.com/biomejs/biome/pull/10094) [`e007143`](https://github.com/biomejs/biome/commit/e00714360807115210e549caca0f235431ca9a8a) Thanks [@THEjacob1000](https://github.com/THEjacob1000)! - Added the nursery rule [`noTailwindArbitraryValue`](https://biomejs.dev/linter/rules/no-tailwind-arbitrary-value/). Biome now reports Tailwind CSS arbitrary values such as `w-[400px]`, including in HTML/JSX class attributes, configured utility functions, and tagged templates.
  6. - [#11184](https://github.com/biomejs/biome/pull/11184) [`135f476`](https://github.com/biomejs/biome/commit/135f476de8b853f9dc2ff2679ea3525432e66e8e) Thanks [@subotac](https://github.com/subotac)! - Fixed [#11176](https://github.com/biomejs/biome/issues/11176): `noUnknownPseudoClass` now recognizes Vue's `:deep()` pseudo-class inside `.vue` style blocks.
  7. - [#8239](https://github.com/biomejs/biome/pull/8239) [`a519f9d`](https://github.com/biomejs/biome/commit/a519f9d19e56015ec906efac4629fbb15708f5e2) Thanks [@cormacrelf](https://github.com/cormacrelf)! - Fixed [#8233](https://github.com/biomejs/biome/issues/8233), where Biome CLI in
  8. stdin mode didn't work correctly when handling files in projects with nested
  9. configurations. For example, with the following structure,
  10. `--stdin-file-path=subdirectory/...` would not use the nested configuration in
  11. `subdirectory/biome.json`:
  12. ```
  13. ├── biome.json
  14. └── subdirectory
  15. ├── biome.json
  16. └── lib.js
  17. ```
  18. ```shell
  19. biome format --write --stdin-file-path=subdirectory/lib.js < subdirectory/lib.js
  20. ```
  21. Now, the nested configuration is correctly picked up and applied.
  22. In addition, Biome now shows a warning if `--stdin-file-path` is provided but
  23. that path is ignored and therefore not formatted or fixed.
  24. - [#11138](https://github.com/biomejs/biome/pull/11138) [`8c2c6bd`](https://github.com/biomejs/biome/commit/8c2c6bd96c035e506bc60b75448afb039e331fb1) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [`noUnnecessaryConditions`](https://biomejs.dev/linter/rules/no-unnecessary-conditions/): Biome now chooses the same function overload as TypeScript when an argument is a callback, so conditions that were previously missed are reported.
  25. The following code is now invalid, because a parameter typed `() => void` accepts an `async` callback and `schedule` therefore returns `string`:
  26. ```ts
  27. declare function schedule(handler: () => void): string;
  28. declare function schedule(handler: () => Promise<void>): string | undefined;
  29. schedule(async () => {}) ?? "fallback";
  30. ```
  31. The following code is also now invalid, because `map(() => 42)` returns `42`:
  32. ```ts
  33. type Mapper<T> = () => T;
  34. declare function map<T>(mapper: Mapper<T>): T;
  35. map(() => 42) || flag;
  36. ```
  37. - [#11138](https://github.com/biomejs/biome/pull/11138) [`8c2c6bd`](https://github.com/biomejs/biome/commit/8c2c6bd96c035e506bc60b75448afb039e331fb1) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#11087](https://github.com/biomejs/biome/issues/11087): [`noUnnecessaryConditions`](https://biomejs.dev/linter/rules/no-unnecessary-conditions/) no longer reports optional chains and nullish coalescing whose receiver can be nullish.
  38. For example, the optional chain and fallback in the following code are no longer reported:
  39. ```ts
  40. declare const usage: { range: { startDate: string } } | null;
  41. const startDate = usage?.range.startDate ?? "N/A";
  42. ```
  43. - [#11118](https://github.com/biomejs/biome/pull/11118) [`9c16840`](https://github.com/biomejs/biome/commit/9c16840801a806ba34fbba7da28b9724d250207a) Thanks [@subotac](https://github.com/subotac)! - Fixed [#11098](https://github.com/biomejs/biome/issues/11098): The HTML formatter now preserves the configured trailing newline when a file ends with a comment.
  44. ```diff
  45. -<!-- trailing comment -->
  46. \ No newline at end of file
  47. +<!-- trailing comment -->
  48. ```
  49. - [#11201](https://github.com/biomejs/biome/pull/11201) [`0e80610`](https://github.com/biomejs/biome/commit/0e8061069915651a6f7cbba918a0bde0dbc1491f) Thanks [@Bishwas-py](https://github.com/Bishwas-py)! - Fixed [#11182](https://github.com/biomejs/biome/issues/11182): suppression comments for [`noPositiveTabindex`](https://biomejs.dev/linter/rules/no-positive-tabindex/) now suppress the rule in HTML files when the attributes of the element span multiple lines.
  50. - [#11079](https://github.com/biomejs/biome/pull/11079) [`607afd2`](https://github.com/biomejs/biome/commit/607afd2488efb30cff5ea4b27de4d98eca728e0f) Thanks [@dyc3](https://github.com/dyc3)! - The HTML formatter now lays out the `srcset` attribute of `<img>` and `<source>` as the list of candidates it is. Runs of whitespace between candidates collapse, and once the list no longer fits on one line each candidate goes on its own line with the descriptors aligned:
  51. ```diff
  52. - <img srcset="/visual@0.5.png 400w, /visual.png 805w, /visual@2x.png 1610w, /visual@3x.png 2415w" />
  53. + <img
  54. + srcset="
  55. + /visual@0.5.png 400w,
  56. + /visual.png 805w,
  57. + /visual@2x.png 1610w,
  58. + /visual@3x.png 2415w
  59. + "
  60. + />
  61. ```
  62. - [#11156](https://github.com/biomejs/biome/pull/11156) [`fed72c7`](https://github.com/biomejs/biome/commit/fed72c7e8a2bff2942d5970f182262d18e049914) Thanks [@saberoueslati](https://github.com/saberoueslati)! - Fixed [#11129](https://github.com/biomejs/biome/issues/11129): [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/) no longer reports Vue bindings as unused when they are assigned through automatically unwrapped template refs.
  63. - [#11124](https://github.com/biomejs/biome/pull/11124) [`d890b39`](https://github.com/biomejs/biome/commit/d890b39c3ef21040bded453d9af91e1b301a0d67) Thanks [@denbezrukov](https://github.com/denbezrukov)! - Fixed CSS formatting of line comments between a declaration colon and value to preserve their source indentation.
  64. ```diff
  65. .test {
  66. background:
  67. - /////// foo
  68. - // bar
  69. + /////// foo
  70. + // bar
  71. radial-gradient(circle, #000, transparent);
  72. }
  73. ```
  74. - [#11113](https://github.com/biomejs/biome/pull/11113) [`3d8ab73`](https://github.com/biomejs/biome/commit/3d8ab73619f1c62a2d544d41ffee16eab9307d51) Thanks [@denbezrukov](https://github.com/denbezrukov)! - Fixed CSS formatting of long block comments between comma-separated property values:
  75. ```diff
  76. .foo {
  77. box-shadow:
  78. - 1000px /* long long long long long long long long long long long long comment */ 1000px /* long long long long long long long long long comment */ 2px color(srgb 0.555555555 0.555555555 0.555555555),
  79. + 1000px
  80. + /* long long long long long long long long long long long long comment */
  81. + 1000px /* long long long long long long long long long comment */ 2px
  82. + color(srgb 0.555555555 0.555555555 0.555555555),
  83. 1px 1px black;
  84. }
  85. ```
  86. - [#11127](https://github.com/biomejs/biome/pull/11127) [`da5c1a5`](https://github.com/biomejs/biome/commit/da5c1a539bac009eb1bc275b9bd8194f9ca7d5fa) Thanks [@dyc3](https://github.com/dyc3)! - The HTML formatter now picks the quote character for an attribute by counting the quotes in the value rather than looking only for a double quote. `&apos;` and `&quot;` count as the characters they stand for, and only the character that ends up as the delimiter stays escaped:
  87. ```diff
  88. - <div title='123 &apos;&quot; 456'></div>
  89. + <div title="123 '&quot; 456"></div>
  90. ```
  91. Entities that are not quotes, such as `&amp;` or `&[#39](https://github.com/biomejs/biome/issues/39);`, are left exactly as written.
  92. - [#11193](https://github.com/biomejs/biome/pull/11193) [`77035bb`](https://github.com/biomejs/biome/commit/77035bb3777805c682eefa4cbed5464c94baccba) Thanks [@dyc3](https://github.com/dyc3)! - Fixed the HTML formatter collapsing the blank line between an element and the text that follows it. A blank line before text is now kept, the way one before another element already was:
  93. ```diff
  94. <div>foo</div>
  95. -
  96. text
  97. ```
  98. - [#11106](https://github.com/biomejs/biome/pull/11106) [`ad80f57`](https://github.com/biomejs/biome/commit/ad80f572c922fc2a80c90b8e26a66300dfb82d24) Thanks [@dyc3](https://github.com/dyc3)! - The HTML formatter now writes the HTML5 doctype in lowercase, matching Prettier:
  99. ```diff
  100. - <!DOCTYPE html>
  101. + <!doctype html>
  102. ```
  103. This only applies to a plain `.html` file whose doctype stands alone. A doctype that names a DTD keeps the case it was written with, since the rest of the declaration is not lowercased either:
  104. ```html
  105. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  106. ```
  107. A `.vue`, `.svelte`, or `.astro` file keeps whatever the author wrote.
  108. - [#11188](https://github.com/biomejs/biome/pull/11188) [`60679db`](https://github.com/biomejs/biome/commit/60679dbe6d53c9b78571042b0b8c906bd345e52d) Thanks [@dyc3](https://github.com/dyc3)! - Fixed the HTML formatter printing a comment twice when it ended the line of the last element in a document:
  109. ```diff
  110. - text<!-- a --><!-- a -->
  111. + text<!-- a -->
  112. ```
  113. - [#11077](https://github.com/biomejs/biome/pull/11077) [`4dcd0d9`](https://github.com/biomejs/biome/commit/4dcd0d99579650191696dc5fb8b16dd69d65c4ee) Thanks [@dyc3](https://github.com/dyc3)! - Fixed a bug where the HTML formatter collapsed the whitespace inside `<textarea>`, `<xmp>` and `<plaintext>`, changing what the page renders.
  114. ```diff
  115. - <textarea>
  116. - line one
  117. - line two </textarea>
  118. + <textarea>line one line two</textarea>
  119. ```
  120. Biome now prints the content of these elements exactly as it appears in the source, matching the existing behavior for `<pre>`.
  121. - [#11194](https://github.com/biomejs/biome/pull/11194) [`abfbb11`](https://github.com/biomejs/biome/commit/abfbb11da260852f0b4aa15f36207314ccfae436) Thanks [@dyc3](https://github.com/dyc3)! - Fixed the HTML formatter refusing to format a Svelte file containing an array pattern that skips a position:
  122. ```svelte
  123. {#each animals as [, value]}
  124. <p>{value}</p>
  125. {/each}
  126. ```
  127. - [#10094](https://github.com/biomejs/biome/pull/10094) [`e007143`](https://github.com/biomejs/biome/commit/e00714360807115210e549caca0f235431ca9a8a) Thanks [@THEjacob1000](https://github.com/THEjacob1000)! - Fixed [`useSortedClasses`](https://biomejs.dev/linter/rules/use-sorted-classes/) to correctly detect unsorted classes in static member expression tagged templates (e.g. `tw.div\`...\``). Previously, these were silently skipped due to surrounding whitespace trivia not being stripped from the tag name.
  128. - [#11078](https://github.com/biomejs/biome/pull/11078) [`10da30e`](https://github.com/biomejs/biome/commit/10da30e0013c35fe2f4d3e335b88a539ae6eb87a) Thanks [@dyc3](https://github.com/dyc3)! - Fixed Vue single-file components failing to parse when they contain a custom block such as `<i18n>` or `<docs>`, or a `<template>` written in another language. Their content is no longer read as HTML, so a block may hold whatever its own tooling expects:
  129. ```vue
  130. <docs>
  131. This block is prose, and it may mention a `<my-component>` without closing it.
  132. </docs>
  133. <template lang="pug">
  134. .test
  135. #foo
  136. </template>
  137. ```
  138. Previously both blocks produced a parse error and the whole file was left unformatted. Biome now prints their content unchanged while still formatting the opening tag.
  139. - [#11231](https://github.com/biomejs/biome/pull/11231) [`4afd901`](https://github.com/biomejs/biome/commit/4afd901edd5d921d63a259a049c6a774269c7b82) Thanks [@ematipico](https://github.com/ematipico)! - Improved the performance of the following lint rules:
  140. - [`noArguments`](https://biomejs.dev/linter/rules/no-arguments/).
  141. - [`noGlobalAssign`](https://biomejs.dev/linter/rules/no-global-assign/).
  142. - [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/).
  143. - [`noRestrictedGlobals`](https://biomejs.dev/linter/rules/no-restricted-globals/).
  144. - [`noInvalidUseBeforeDeclaration`](https://biomejs.dev/linter/rules/no-invalid-use-before-declaration/).
  145. - [`noShadow`](https://biomejs.dev/linter/rules/no-shadow/).
  146. - [`noRedeclare`](https://biomejs.dev/linter/rules/no-redeclare/).
  147. - [#11134](https://github.com/biomejs/biome/pull/11134) [`2fa0a62`](https://github.com/biomejs/biome/commit/2fa0a62224af7a13869a28ef80aefa5ea75ebfd2) Thanks [@yanthomasdev](https://github.com/yanthomasdev)! - Clarified the warning emitted when using the experimental `json` and `json-pretty` reporters.
  148. - [#11198](https://github.com/biomejs/biome/pull/11198) [`ed88b13`](https://github.com/biomejs/biome/commit/ed88b13a6d95fe564aaee6c731651e7dec8266db) Thanks [@saberoueslati](https://github.com/saberoueslati)! - Fixed [#11171](https://github.com/biomejs/biome/issues/11171): variables referenced only inside a Svelte attachment (`{@attach ...}`) are no longer reported as unused by [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/) and [`noUnusedImports`](https://biomejs.dev/linter/rules/no-unused-imports/).
  149. - [#11155](https://github.com/biomejs/biome/pull/11155) [`6ee17ea`](https://github.com/biomejs/biome/commit/6ee17ea2df979a67df5d1263734f28f77c6512a6) Thanks [@dyc3](https://github.com/dyc3)! - Improved performance when printing diagnostics to the console.
  150. - [#11160](https://github.com/biomejs/biome/pull/11160) [`217f8ad`](https://github.com/biomejs/biome/commit/217f8adbc2f700ab4c92cb227434c2afba9f9611) Thanks [@dyc3](https://github.com/dyc3)! - Improved the performance of [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) by skipping type inference for assignment statements, which are always considered handled.
  151. - [#11159](https://github.com/biomejs/biome/pull/11159) [`26c23d9`](https://github.com/biomejs/biome/commit/26c23d96ced1a6eca496955fbe93279da2747346) Thanks [@saberoueslati](https://github.com/saberoueslati)! - Fixed [#11144](https://github.com/biomejs/biome/issues/11144): [`noFloatingPromises`](https://biomejs.dev/linter/rules/no-floating-promises/) no longer reports already-awaited optional Promise values.
  152. - [#11138](https://github.com/biomejs/biome/pull/11138) [`8c2c6bd`](https://github.com/biomejs/biome/commit/8c2c6bd96c035e506bc60b75448afb039e331fb1) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#11121](https://github.com/biomejs/biome/issues/11121): [`noUnnecessaryConditions`](https://biomejs.dev/linter/rules/no-unnecessary-conditions/) no longer reports conditions based on an inapplicable function overload.
  153. For example, the condition in the following code is no longer reported because `query({})` selects the overload that returns `boolean`:
  154. ```ts
  155. declare function query(options: { initial: string }): { isPending: false };
  156. declare function query(options: { initial?: string }): { isPending: boolean };
  157. const { isPending } = query({});
  158. isPending || fallback;
  159. ```
  160. - [#11152](https://github.com/biomejs/biome/pull/11152) [`c4fc6a9`](https://github.com/biomejs/biome/commit/c4fc6a90777358905cf99b3261a479de73d7d383) Thanks [@dyc3](https://github.com/dyc3)! - Improved the performance of collecting rule timings with `--profile-rules` in heavily multithreaded environments.
  161. - [#11128](https://github.com/biomejs/biome/pull/11128) [`4d3ff76`](https://github.com/biomejs/biome/commit/4d3ff7689c36af5149142d9a4a23165154359655) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#7635](https://github.com/biomejs/biome/issues/7635): [`noDeprecatedImports`](https://biomejs.dev/linter/rules/no-deprecated-imports/) now detects deprecated ambient declarations that are exported separately.
  162. - [#11117](https://github.com/biomejs/biome/pull/11117) [`01f7ef5`](https://github.com/biomejs/biome/commit/01f7ef58d4c19a587b01754c96b577a2a5a47418) Thanks [@subotac](https://github.com/subotac)! - Fixed [#11014](https://github.com/biomejs/biome/issues/11014): [`noDelete`](https://biomejs.dev/linter/rules/no-delete/) no longer reports `process.env["FOO"]` style property deletions.
  163. - [#11168](https://github.com/biomejs/biome/pull/11168) [`9847e68`](https://github.com/biomejs/biome/commit/9847e680ff8bb891a6c910e881af98a4fffa33c2) Thanks [@saberoueslati](https://github.com/saberoueslati)! - Added the nursery rule [`noNonScalableViewport`](https://biomejs.dev/linter/rules/no-non-scalable-viewport), which reports viewport metadata that disables user scaling with `user-scalable=no`.
  164. For example:
  165. ```html
  166. <meta name="viewport" content="width=device-width, user-scalable=no" />
  167. ```
  168. - [#11154](https://github.com/biomejs/biome/pull/11154) [`a1d6b1f`](https://github.com/biomejs/biome/commit/a1d6b1fc544c6c6cc1dd38f87898d34738fbe97b) Thanks [@dyc3](https://github.com/dyc3)! - Improved the performance of [`noImportCycles`](https://biomejs.dev/linter/rules/no-import-cycles/) by skipping graph traversals for imports that cannot be part of a cycle.
  169. - [#11175](https://github.com/biomejs/biome/pull/11175) [`d96d6dd`](https://github.com/biomejs/biome/commit/d96d6dd07702828f7e7a5ce59f8fc00006f6ee46) Thanks [@ematipico](https://github.com/ematipico)! - Fixed CSS parsing of registered custom properties: Biome now correctly validates the `syntax` descriptor of `@property` rules.
  170. ## What's Changed
  171. * fix(html): preserve trailing newline after comments by @subotac in https://github.com/biomejs/biome/pull/11118
  172. * fix(format/html): preserve the content of preformatted elements by @dyc3 in https://github.com/biomejs/biome/pull/11077
  173. * feat(format/yaml): explicit block mapping entries by @dyc3 in https://github.com/biomejs/biome/pull/11053
  174. * feat(format/yaml): normalize scalar quotes by @dyc3 in https://github.com/biomejs/biome/pull/11054
  175. * fix(parser/yaml): plain scalar `#` and alias name lexing by @dyc3 in https://github.com/biomejs/biome/pull/11061
  176. * feat(format/yaml): normalize node property placement by @dyc3 in https://github.com/biomejs/biome/pull/11062
  177. * feat(format/yaml): middle comments by @dyc3 in https://github.com/biomejs/biome/pull/11063
  178. * feat(css_formatter): scss and css comments inside declarations by @denbezrukov in https://github.com/biomejs/biome/pull/11113
  179. * chore: trim published crate sizes with cargo diet by @dreyfus92 in https://github.com/biomejs/biome/pull/11123
  180. * feat(useSortedClasses): resolve bare functional utilities with defaults in sort_v4 by @johncarmack1984 in https://github.com/biomejs/biome/pull/11120
  181. * feat(lint): add ignoreIfStatements option to useNullishCoalescing by @pkallos in https://github.com/biomejs/biome/pull/10822
  182. * feat(md/fmt): dedent code blocks, normalize strings, indentation fixes by @ematipico in https://github.com/biomejs/biome/pull/11111
  183. * fix: `--stdin-file-path` with nested configuration by @cormacrelf in https://github.com/biomejs/biome/pull/8239
  184. * fix(noDelete): allow computed process.env deletion by @subotac in https://github.com/biomejs/biome/pull/11117
  185. * chore(xtask): migrate Date global type by @minseong0324 in https://github.com/biomejs/biome/pull/11107
  186. * feat(format/yaml): flow collection blank lines and spacing by @dyc3 in https://github.com/biomejs/biome/pull/11064
  187. * feat(format/yaml): explicit-form mapping keys by @dyc3 in https://github.com/biomejs/biome/pull/11065
  188. * feat(format/yaml): document separation and trailing newlines by @dyc3 in https://github.com/biomejs/biome/pull/11066
  189. * feat(format/yaml): block scalar trailing comment lines by @dyc3 in https://github.com/biomejs/biome/pull/11058
  190. * fix(css_formatter): preserve property value comment indentation by @denbezrukov in https://github.com/biomejs/biome/pull/11124
  191. * feat(fmt/md): prose-wrap formatting for markdown by @ematipico in https://github.com/biomejs/biome/pull/11115
  192. * feat(lint): add nursery rule noTailwindArbitraryValue by @THEjacob1000 in https://github.com/biomejs/biome/pull/10094
  193. * fix(parser/yaml): property attachment across lines in block mappings by @dyc3 in https://github.com/biomejs/biome/pull/11057
  194. * fix(css): resolve empty syntax node pointers by @denbezrukov in https://github.com/biomejs/biome/pull/11132
  195. * fix(inference): regression in optional chain types by @ematipico in https://github.com/biomejs/biome/pull/11138
  196. * docs: rework CLI by @yanthomasdev in https://github.com/biomejs/biome/pull/11134
  197. * fix(html): track Vue template assignment references by @saberoueslati in https://github.com/biomejs/biome/pull/11156
  198. * feat(css): property syntax value codec by @ematipico in https://github.com/biomejs/biome/pull/11148
  199. * feat(lint): add noExtendNative nursery rule by @AkashNaickar in https://github.com/biomejs/biome/pull/11136
  200. * feat(css): property semantic model by @ematipico in https://github.com/biomejs/biome/pull/11149
  201. * perf(console): batch writes when printing instead of one char at a time by @dyc3 in https://github.com/biomejs/biome/pull/11155
  202. * fix(lint): detect deprecated ambient imports by @ematipico in https://github.com/biomejs/biome/pull/11128
  203. * chore(xtask): migrate RegExp global types by @minseong0324 in https://github.com/biomejs/biome/pull/11108
  204. * perf(rule_profiler): thread local profilers, aggregate at the end by @dyc3 in https://github.com/biomejs/biome/pull/11152
  205. * perf(noFloatingPromises): short circuit assignment statements by @dyc3 in https://github.com/biomejs/biome/pull/11160
  206. * feat(module-graph): css traversal for properties by @ematipico in https://github.com/biomejs/biome/pull/11153
  207. * fix(inference): collapse instance wrappers around unions by @saberoueslati in https://github.com/biomejs/biome/pull/11159
  208. * fix(parse/html): read Vue SFC custom blocks as opaque text by @dyc3 in https://github.com/biomejs/biome/pull/11078
  209. * feat(format/html): lay out the srcset attribute by @dyc3 in https://github.com/biomejs/biome/pull/11079
  210. * fix(format/html): write the HTML5 doctype in lowercase by @dyc3 in https://github.com/biomejs/biome/pull/11106
  211. * fix(format/html): pick attribute quotes by counting them by @dyc3 in https://github.com/biomejs/biome/pull/11127
  212. * chore(xtask): migrate Map and Set global types by @minseong0324 in https://github.com/biomejs/biome/pull/11109
  213. * feat(lint): add noNonScalableViewport rule by @saberoueslati in https://github.com/biomejs/biome/pull/11168
  214. * chore(xtask): migrate Array global types by @minseong0324 in https://github.com/biomejs/biome/pull/11125
  215. * fix(css_parser): tighten interpolated identifier boundaries by @denbezrukov in https://github.com/biomejs/biome/pull/11181
  216. * fix(analyze): recognize references in Svelte attachments by @saberoueslati in https://github.com/biomejs/biome/pull/11198
  217. * fix(lint/css): recognize Vue :deep() pseudo-class by @subotac in https://github.com/biomejs/biome/pull/11184
  218. * chore(deps): update rust crate serde to 1.0.229 by @renovate[bot] in https://github.com/biomejs/biome/pull/11200
  219. * chore(deps): update rust crate camino to 1.2.5 by @renovate[bot] in https://github.com/biomejs/biome/pull/11197
  220. * chore(deps): update rust crate schemars to 1.2.2 by @renovate[bot] in https://github.com/biomejs/biome/pull/11199
  221. * chore(deps): update rust crate serde_json to 1.0.151 by @renovate[bot] in https://github.com/biomejs/biome/pull/11203
  222. * chore(deps): update rust crate bpaf to 0.9.27 by @renovate[bot] in https://github.com/biomejs/biome/pull/11196
  223. * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/11204
  224. * chore(deps): update pnpm to v11.18.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/11205
  225. * test(format/html): enable `html_embeds` feature for tests by @dyc3 in https://github.com/biomejs/biome/pull/11216
  226. * perf(noImportCycles): prune DFS traversals by grouping strongly connected components by @dyc3 in https://github.com/biomejs/biome/pull/11154
  227. * feat(graph): traversal of HTML-ish files by @ematipico in https://github.com/biomejs/biome/pull/11158
  228. * feat(css): js traverse, source order paths, cache traverse by @ematipico in https://github.com/biomejs/biome/pull/11169
  229. * fix(css): validate @property syntax descriptors by @ematipico in https://github.com/biomejs/biome/pull/11175
  230. * test(format/html): run the prettier-plugin-svelte suite by @dyc3 in https://github.com/biomejs/biome/pull/11130
  231. * fix(format/html): stop printing a document's last comment twice by @dyc3 in https://github.com/biomejs/biome/pull/11188
  232. * fix(noPositiveTabindex): make suppression comments work on multiline HTML tags by @Bishwas-py in https://github.com/biomejs/biome/pull/11201
  233. * perf(lint): reduce trigger of rules by @ematipico in https://github.com/biomejs/biome/pull/11231
  234. * fix(format/html): keep the blank line before text by @dyc3 in https://github.com/biomejs/biome/pull/11193
  235. * fix(format/html): format a Svelte array pattern that skips a position by @dyc3 in https://github.com/biomejs/biome/pull/11194
  236. * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/11119
  237. ## New Contributors
  238. * @subotac made their first contribution in https://github.com/biomejs/biome/pull/11118
  239. * @dreyfus92 made their first contribution in https://github.com/biomejs/biome/pull/11123
  240. * @THEjacob1000 made their first contribution in https://github.com/biomejs/biome/pull/10094
  241. * @saberoueslati made their first contribution in https://github.com/biomejs/biome/pull/11156
  242. * @AkashNaickar made their first contribution in https://github.com/biomejs/biome/pull/11136
  243. * @Bishwas-py made their first contribution in https://github.com/biomejs/biome/pull/11201
  244. **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/biome@2.5.6...@biomejs/biome@2.5.7

view on githubimported 2026-09-28 via npm