Skip to content
verdict:

Biome 2.3.12

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 · 411 lines
  1. ## 2.3.12
  2. ### Patch Changes
  3. - [#8653](https://github.com/biomejs/biome/pull/8653) [`047576d`](https://github.com/biomejs/biome/commit/047576d1077f0399aca5eb13819863eefcdaf28c) Thanks [@dyc3](https://github.com/dyc3)! - Added new nursery rule [`noDuplicateAttributes`](https://biomejs.dev/linter/rules/no-duplicate-attributes/) to forbid duplicate attributes in HTML elements.
  4. - [#8648](https://github.com/biomejs/biome/pull/8648) [`96d09f4`](https://github.com/biomejs/biome/commit/96d09f4ff5a64828efafa2c2b99c22de913d000c) Thanks [@BaeSeokJae](https://github.com/BaeSeokJae)! - Added a new nursery rule [`noVueOptionsApi`](https://biomejs.dev/linter/rules/no-vue-options-api/).
  5. Biome now reports Vue Options API usage, which is incompatible with Vue 3.6's Vapor Mode.
  6. This rule detects Options API patterns in `<script>` blocks, `defineComponent()`, and `createApp()` calls,
  7. helping prepare codebases for Vapor Mode adoption.
  8. For example, the following now triggers this rule:
  9. ```vue
  10. <script>
  11. export default {
  12. data() {
  13. return { count: 0 };
  14. },
  15. };
  16. </script>
  17. ```
  18. - [#8832](https://github.com/biomejs/biome/pull/8832) [`b08270b`](https://github.com/biomejs/biome/commit/b08270b21b5348e04457c7d6b621569952a744e1) Thanks [@Exudev](https://github.com/Exudev)! - Fixed [#8809](https://github.com/biomejs/biome/issues/8809), [#7985](https://github.com/biomejs/biome/issues/7985), and [#8136](https://github.com/biomejs/biome/issues/8136): the `noSecrets` rule no longer reports false positives on common CamelCase identifiers like `paddingBottom`, `backgroundColor`, `unhandledRejection`, `uncaughtException`, and `IngestGatewayLogGroup`.
  19. The entropy calculation algorithm now uses "average run length" to distinguish between legitimate CamelCase patterns (which have longer runs of same-case letters) and suspicious alternating case patterns (which have short runs).
  20. - [#8793](https://github.com/biomejs/biome/pull/8793) [`c19fb0e`](https://github.com/biomejs/biome/commit/c19fb0e4c6b70f0604aa136d784696f8292f66ce) Thanks [@TheBaconWizard](https://github.com/TheBaconWizard)! - Properly handle `parameters` metavariables for `arrow_function` GritQL queries. The following `biome search` command no longer throws an error:
  21. ```shell
  22. biome search 'arrow_function(parameters=$parameters, body=$body)'
  23. ```
  24. - [#8561](https://github.com/biomejs/biome/pull/8561) [`981affb`](https://github.com/biomejs/biome/commit/981affb8b6ad7970d081a1686b87f35c1a5a4455) Thanks [@wataryooou](https://github.com/wataryooou)! - Fixed `noUnusedVariables` to ignore type parameters declared in ambient contexts such as `declare module` blocks.
  25. - [#8817](https://github.com/biomejs/biome/pull/8817) [`652cfbb`](https://github.com/biomejs/biome/commit/652cfbb85ab1e7839721dca1f87cacf9577c40ea) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#8765](https://github.com/biomejs/biome/issues/8765): The HTML parser can now parse directive modifiers with a single colon, e.g. `@keydown.:`.
  26. - [#8704](https://github.com/biomejs/biome/pull/8704) [`a1914d4`](https://github.com/biomejs/biome/commit/a1914d45c80efc90e58dee95b4fa34b3c8154831) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`noRootType`](https://biomejs.dev/linter/rules/no-root-type).
  27. Disallow the usage of specified root types. (e.g. `mutation` and/or `subscription`)
  28. **Invalid:**
  29. ```json
  30. {
  31. "options": {
  32. "disallow": ["mutation"]
  33. }
  34. }
  35. ```
  36. ```graphql
  37. type Mutation {
  38. SetMessage(message: String): String
  39. }
  40. ```
  41. - [#8712](https://github.com/biomejs/biome/pull/8712) [`251b47b`](https://github.com/biomejs/biome/commit/251b47ba3e0f47ecaa818b547aeb61be83e1c59c) Thanks [@Netail](https://github.com/Netail)! - Renamed the following GraphQL nursery rules to match the Biome standard:
  42. - `useUniqueArgumentNames` -> `noDuplicateArgumentNames`
  43. - `useUniqueFieldDefinitionNames` -> `noDuplicateFieldDefinitionNames`
  44. - `useUniqueGraphqlOperationName` -> `noDuplicateGraphqlOperationName`
  45. - `useUniqueInputFieldNames` -> `noDuplicateInputFieldNames`
  46. - `useUniqueVariableNames` -> `noDuplicateVariableNames`
  47. Run the `biome migrate --write` command to automatically update the configuration file.
  48. - [#7602](https://github.com/biomejs/biome/pull/7602) [`957cd8e`](https://github.com/biomejs/biome/commit/957cd8e83cf543db300dba9fc85e52a3ef6226b5) Thanks [@kedevked](https://github.com/kedevked)! - Added the nursery lint rule `useErrorCause`.
  49. This rule enforces that errors caught in a `catch` clause are not rethrown without wrapping them in a new `Error` object and specifying the original error as the `cause`. This helps preserve the error’s stack trace and context for better debugging.
  50. It can be configured with the following option:
  51. - `requireCatchParameter`: (default: `true`)
  52. - When `true`, the rule requires that `catch` clauses have a parameter. If a `throw` statement appears inside a `catch` clause without a parameter, it will be flagged.
  53. **Invalid examples**:
  54. ```js
  55. try {
  56. foo();
  57. } catch {
  58. throw new Error("fail");
  59. }
  60. ```
  61. ```js
  62. try {
  63. foo();
  64. } catch (err) {
  65. throw new Error(err.message);
  66. }
  67. ```
  68. **Valid examples:**
  69. ```js
  70. try {
  71. foo();
  72. } catch (err) {
  73. throw new Error("fail", { cause: err });
  74. }
  75. ```
  76. ```js
  77. try {
  78. foo();
  79. } catch (error) {
  80. throw new Error("Something went wrong", { cause: error });
  81. }
  82. ```
  83. **Valid example** when `requireCatchParameter` is `false`:
  84. Valid:
  85. ```js
  86. try {
  87. foo();
  88. } catch {
  89. throw new Error("fail");
  90. }
  91. ```
  92. - [#8725](https://github.com/biomejs/biome/pull/8725) [`95aba98`](https://github.com/biomejs/biome/commit/95aba98823d80b5581c3e55153d6a8804e690757) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#8715](https://github.com/biomejs/biome/issues/8715): The CSS parser will now recover slightly better if a semicolon is missing from Tailwind's `@apply` at-rule.
  93. - [#8616](https://github.com/biomejs/biome/pull/8616) [`4ee3bda`](https://github.com/biomejs/biome/commit/4ee3bda49b45084c07051554267756262c201416) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`useLoneAnonymousOperation`](https://biomejs.dev/linter/rules/use-lone-anonymous-operation/). Disallow anonymous operations when more than one operation specified in document.
  94. **Invalid:**
  95. ```graphql
  96. query {
  97. fieldA
  98. }
  99. query B {
  100. fieldB
  101. }
  102. ```
  103. - [#8624](https://github.com/biomejs/biome/pull/8624) [`291c9f2`](https://github.com/biomejs/biome/commit/291c9f2d42a0525e6f7c0b8759db5bb17a815543) Thanks [@taga3s](https://github.com/taga3s)! - Added the nursery rule [`useInlineScriptId`](https://biomejs.dev/linter/rules/use-inline-script-id/) to the Next.js domain.
  104. This rule enforces `id` attribute on `next/script` components with inline content or `dangerouslySetInnerHTML`.
  105. The following code is invalid:
  106. ```jsx
  107. import Script from "next/script";
  108. export default function Page() {
  109. return (
  110. <Script>{`console.log('Hello');`}</Script> // must have `id` attribute
  111. );
  112. }
  113. ```
  114. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#3512](https://github.com/biomejs/biome/issues/3512):
  115. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now properly handles nested destructuring patterns
  116. from hook results.
  117. ```tsx
  118. const [[x, y], setXY] = useState([1, 2]);
  119. useEffect(() => {
  120. console.log(x, y);
  121. }, [x, y]); // x and y are now correctly recognized as unstable
  122. ```
  123. - [#8757](https://github.com/biomejs/biome/pull/8757) [`17ed9d3`](https://github.com/biomejs/biome/commit/17ed9d368edd31ee572aaed92c0867ef1b305c0c) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`noDivRegex`](https://biomejs.dev/linter/rules/no-div-regex). Disallow equal signs explicitly at the beginning of regular expressions.
  124. **Invalid:**
  125. ```js
  126. var f = function () {
  127. return /=foo/;
  128. };
  129. ```
  130. - [#8836](https://github.com/biomejs/biome/pull/8836) [`aab1d17`](https://github.com/biomejs/biome/commit/aab1d17aaa3619e53340e8f1376c31625f97a8ac) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#7858](https://github.com/biomejs/biome/issues/7858): Biome now parses Astro files with empty frontmatter blocks.
  131. - [#8755](https://github.com/biomejs/biome/pull/8755) [`3a15c29`](https://github.com/biomejs/biome/commit/3a15c295181ac6399c42017c4039a4ecb72e2dc3) Thanks [@arturalkaim](https://github.com/arturalkaim)! - Fixed [#6670](https://github.com/biomejs/biome/issues/6670). The `$filename` metavariable can now be used in GritQL `where` clauses to filter matches by filename.
  132. - [#8821](https://github.com/biomejs/biome/pull/8821) [`63e68a1`](https://github.com/biomejs/biome/commit/63e68a164ac247ad6c650934f2d2d9ec861eafe7) Thanks [@playhardgopro](https://github.com/playhardgopro)! - Fixed several bugs in Vue conditional rules (`useVueValidVIf`, `useVueValidVElse`, and `useVueValidVElseIf`) related to whitespace handling, newlines, and self-closing tags.
  133. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#3685](https://github.com/biomejs/biome/issues/3685):
  134. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now properly handles transparent expression
  135. wrappers like non-null assertions and type assertions in dependency comparisons.
  136. ```tsx
  137. useMemo(() => Boolean(myObj!.x), [myObj!.x]); // No longer reports incorrect diagnostics
  138. useMemo(() => myObj!.x?.y === true, [myObj!.x?.y]); // Now correctly matches dependencies
  139. ```
  140. - [#8597](https://github.com/biomejs/biome/pull/8597) [`f764007`](https://github.com/biomejs/biome/commit/f7640071fa356808947bb6a4c563a04890311cc0) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`noDuplicateEnumValueNames`](https://biomejs.dev/linter/rules/no-duplicate-enum-value-names/). Enforce unique enum value names.
  141. **Invalid:**
  142. ```graphql
  143. enum A {
  144. TEST
  145. TesT
  146. }
  147. ```
  148. - [#8679](https://github.com/biomejs/biome/pull/8679) [`33dfd7c`](https://github.com/biomejs/biome/commit/33dfd7c4eb657e7986040fc32e8840d14d0340ad) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#8678](https://github.com/biomejs/biome/issues/8678). Now Biome correctly parses components inside Vue, Svelte and Astro files when they have the same name of self-closing elements.
  149. - [#8617](https://github.com/biomejs/biome/pull/8617) [`31a9bfe`](https://github.com/biomejs/biome/commit/31a9bfe57d532183aaf146de892bb670908ad456) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`useLoneExecutableDefinition`](https://biomejs.dev/linter/rules/use-lone-executable-definition/). Require queries, mutations, subscriptions or fragments to be located in separate files.
  150. **Invalid:**
  151. ```graphql
  152. query Foo {
  153. id
  154. }
  155. fragment Bar on Baz {
  156. id
  157. }
  158. ```
  159. - [#8697](https://github.com/biomejs/biome/pull/8697) [`8519669`](https://github.com/biomejs/biome/commit/8519669542b1d923b36afa72ed297f8db54659c8) Thanks [@Faizanq](https://github.com/Faizanq)! - Added the nursery lint rule [`noExcessiveLinesPerFile`](https://biomejs.dev/linter/rules/no-excessive-lines-per-file/) to CSS and GraphQL.
  160. - [#8711](https://github.com/biomejs/biome/pull/8711) [`365f7aa`](https://github.com/biomejs/biome/commit/365f7aa2631700e8379d8633aae676f5de8b0918) Thanks [@Netail](https://github.com/Netail)! - Added new nursery rule [`noDuplicateEnumValues`](https://biomejs.dev/linter/rules/no-duplicate-enum-values), which disallows defining an enum with multiple members initialized to the same value.
  161. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#5914](https://github.com/biomejs/biome/issues/5914):
  162. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now properly handles variables declared in the same
  163. statement.
  164. ```tsx
  165. const varA = Math.random(),
  166. varB = useMemo(() => varA, [varA]); // varA is now correctly recognized as needed
  167. ```
  168. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#8427](https://github.com/biomejs/biome/issues/8427):
  169. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now properly resolves variable references to detect
  170. captured dependencies.
  171. ```tsx
  172. const fe = fetchEntity;
  173. useEffect(() => {
  174. fe(id);
  175. }, [id, fe]); // fe is now correctly detected as needed
  176. ```
  177. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#8484](https://github.com/biomejs/biome/issues/8484):
  178. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now properly handles member access on stable hook
  179. results.
  180. ```tsx
  181. const stableObj = useStable();
  182. useMemo(() => {
  183. return stableObj.stableValue; // stableObj.stableValue is now correctly recognized as stable
  184. }, []);
  185. ```
  186. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#7982](https://github.com/biomejs/biome/issues/7982):
  187. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now properly handles callback expressions with type
  188. assertions.
  189. ```tsx
  190. const callback = useCallback(
  191. (() => {
  192. return count * 2;
  193. }) as Function,
  194. [count], // count is now correctly detected
  195. );
  196. ```
  197. - [#8766](https://github.com/biomejs/biome/pull/8766) [`39eb545`](https://github.com/biomejs/biome/commit/39eb545a9750d1b12b85c88fa052df9a334ba2b9) Thanks [@Netail](https://github.com/Netail)! - Fixed [#8761](https://github.com/biomejs/biome/issues/8761): Reverted wrapping the URL of rule descriptions with `<>`, causing broken URLs in VSCode.
  198. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#3080](https://github.com/biomejs/biome/issues/3080):
  199. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now properly analyzes captures within referenced
  200. functions passed to hooks.
  201. ```tsx
  202. function myEffect() {
  203. console.log(foo, bar);
  204. }
  205. useEffect(myEffect, [foo, bar]); // foo and bar are now correctly detected
  206. ```
  207. - [#8740](https://github.com/biomejs/biome/pull/8740) [`4962ed0`](https://github.com/biomejs/biome/commit/4962ed0d11bc5155aa9a89bf98fac9412f43c8f9) Thanks [@Netail](https://github.com/Netail)! - Extra rule source references. `biome migrate eslint` should do a bit better detecting rules in your eslint configurations.
  208. - [#8776](https://github.com/biomejs/biome/pull/8776) [`395746f`](https://github.com/biomejs/biome/commit/395746f9a0147ab766fc3cded3883857c02d9c16) Thanks [@codiini](https://github.com/codiini)! - Fixed [#6003](https://github.com/biomejs/biome/issues/6003): `noUselessUndefinedInitialization` no longer reports exported variables initialized to `undefined`. In Svelte 4, this pattern is used to declare optional component props.
  209. - [#8767](https://github.com/biomejs/biome/pull/8767) [`0d15370`](https://github.com/biomejs/biome/commit/0d1537037d96f559a04eb37f6cb5aafb16735ea6) Thanks [@mdevils](https://github.com/mdevils)! - Fixed [#4248](https://github.com/biomejs/biome/issues/4248):
  210. [`useExhaustiveDependencies`](https://biomejs.dev/linter/rules/use-exhaustive-dependencies/) now correctly handles function props passed as
  211. callbacks.
  212. ```tsx
  213. const data = React.useMemo(getData, [getData]); // getData is now correctly recognized as needed
  214. ```
  215. - [#8819](https://github.com/biomejs/biome/pull/8819) [`bc191ff`](https://github.com/biomejs/biome/commit/bc191ff7e515946d40d1e8440ede09cf9f291fa7) Thanks [@Netail](https://github.com/Netail)! - Fixed [#6567](https://github.com/biomejs/biome/issues/6567):
  216. [`noUnknownProperty`](https://biomejs.dev/linter/rules/no-unknown-property/) now ignores unknown properties in at-rules which support descriptors.
  217. - [#8787](https://github.com/biomejs/biome/pull/8787) [`adb652f`](https://github.com/biomejs/biome/commit/adb652fe94788ded0c76ae7146206dd286035e15) Thanks [@tuyuritio](https://github.com/tuyuritio)! - Fixed [#8777](https://github.com/biomejs/biome/issues/8777): Add support for `:active-view-transition` pseudo-class.
  218. - [#8639](https://github.com/biomejs/biome/pull/8639) [`6577e32`](https://github.com/biomejs/biome/commit/6577e32ddf855bd1b1cc05b0f496b89001ce2925) Thanks [@ohnoah](https://github.com/ohnoah)! - Added the nursery lint rule [`noExcessiveLinesPerFile`](https://biomejs.dev/linter/rules/no-excessive-lines-per-file/).
  219. Biome now reports files that exceed a configurable line limit.
  220. ```js
  221. // maxLines: 2
  222. const a = 1;
  223. const b = 2;
  224. const c = 3;
  225. ```
  226. - [#8753](https://github.com/biomejs/biome/pull/8753) [`71b5c6e`](https://github.com/biomejs/biome/commit/71b5c6e2ecf544e979527c79d41cfe85c148047d) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`noExcessiveClassesPerFile`](https://biomejs.dev/linter/rules/no-excessive-classes-per-file). Enforce a maximum number of classes per file.
  227. **Invalid:**
  228. ```js
  229. class Foo {}
  230. class Bar {}
  231. ```
  232. - [#8754](https://github.com/biomejs/biome/pull/8754) [`d6b2bda`](https://github.com/biomejs/biome/commit/d6b2bda038d0bfa5db040bef434741d09733b8fc) Thanks [@Netail](https://github.com/Netail)! - Added the nursery rule [`noFloatingClasses`](https://biomejs.dev/linter/rules/no-floating-classes). Disallow `new` operators outside of assignments or comparisons.
  233. **Invalid:**
  234. ```js
  235. new Date();
  236. ```
  237. ## What's Changed
  238. * feat(graphql_analyze): implement useUniqueEnumValueNames by @Netail in https://github.com/biomejs/biome/pull/8597
  239. * chore(github): update issue templates by @DayKev in https://github.com/biomejs/biome/pull/8668
  240. * feat(graphql_analyze): implement useLoneExecutableDefinition by @Netail in https://github.com/biomejs/biome/pull/8617
  241. * chore: remove old unused options by @Netail in https://github.com/biomejs/biome/pull/8676
  242. * feat(biome_js_analyze): implement noExcessiveLinesPerFile by @ohnoah in https://github.com/biomejs/biome/pull/8639
  243. * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/8684
  244. * chore(deps): update dependency tombi to v0.7.14 by @renovate[bot] in https://github.com/biomejs/biome/pull/8683
  245. * fix(html/parser): parsing of components by @ematipico in https://github.com/biomejs/biome/pull/8679
  246. * chore(deps): update rust crate libc to 0.2.179 by @renovate[bot] in https://github.com/biomejs/biome/pull/8686
  247. * fix(deps): update rust crate libc to 0.2.179 by @renovate[bot] in https://github.com/biomejs/biome/pull/8688
  248. * chore(deps): update dependency dprint to v0.51.1 by @renovate[bot] in https://github.com/biomejs/biome/pull/8689
  249. * chore(deps): update taiki-e/install-action action to v2.65.13 by @renovate[bot] in https://github.com/biomejs/biome/pull/8687
  250. * feat: add useErrorCause Rule by @kedevked in https://github.com/biomejs/biome/pull/7602
  251. * fix(lint): noUnusedVariables should ignore type parameters in ambient context by @wataryooou in https://github.com/biomejs/biome/pull/8561
  252. * chore: add css, graphql & html new assist rule tasks by @Netail in https://github.com/biomejs/biome/pull/8703
  253. * feat(analyze/html): add noDuplicateAttributes by @dyc3 in https://github.com/biomejs/biome/pull/8653
  254. * feat(graphql_analyze): implement noRootType by @Netail in https://github.com/biomejs/biome/pull/8704
  255. * chore: rename GraphQL nursery rules by @Netail in https://github.com/biomejs/biome/pull/8712
  256. * docs: fix 'instaiated' typo in no-invalid-builtin-instantiation by @JoshuaKGoldberg in https://github.com/biomejs/biome/pull/8716
  257. * feat(js_analyze): implement noDuplicateEnumValues by @Netail in https://github.com/biomejs/biome/pull/8711
  258. * fix(parse/css): slightly better recovery for `@apply` by @dyc3 in https://github.com/biomejs/biome/pull/8725
  259. * chore: extra rule sources by @Netail in https://github.com/biomejs/biome/pull/8740
  260. * chore(deps): update rust crate jiff to 0.2.18 by @renovate[bot] in https://github.com/biomejs/biome/pull/8745
  261. * chore(deps): update dependency tombi to v0.7.16 by @renovate[bot] in https://github.com/biomejs/biome/pull/8744
  262. * chore(deps): update rust crate proc-macro2 to 1.0.105 by @renovate[bot] in https://github.com/biomejs/biome/pull/8747
  263. * chore(deps): update rust crate serde_json to 1.0.149 by @renovate[bot] in https://github.com/biomejs/biome/pull/8749
  264. * chore(deps): update rust crate quote to 1.0.43 by @renovate[bot] in https://github.com/biomejs/biome/pull/8748
  265. * chore(deps): update rust crate libc to 0.2.180 by @renovate[bot] in https://github.com/biomejs/biome/pull/8746
  266. * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/8743
  267. * chore(deps): update rust crate url to 2.5.8 by @renovate[bot] in https://github.com/biomejs/biome/pull/8750
  268. * chore(deps): update pnpm to v10.27.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/8752
  269. * fix(deps): update rust crates by @renovate[bot] in https://github.com/biomejs/biome/pull/8751
  270. * fix(grit): make $filename metavariable accessible in GritQL plugins by @arturalkaim in https://github.com/biomejs/biome/pull/8755
  271. * fix(biome_configuration): revert URL brackets by @Netail in https://github.com/biomejs/biome/pull/8766
  272. * fix(linter): `useExhaustiveDependencies` multiple fixes (fixes #3080, fixes #4248, fixes #5914, fixes #8427, fixes #8484, fixes #3685, fixes #3512, fixes #7982) by @mdevils in https://github.com/biomejs/biome/pull/8767
  273. * feat(lint): add noVueOptionsApi rule by @BaeSeokJae in https://github.com/biomejs/biome/pull/8648
  274. * feat(biome_js_analyze): port `useInlineScriptId` from Next.js by @taga3s in https://github.com/biomejs/biome/pull/8624
  275. * docs: fix typo inside `biome_analyze/CONTRIBUTING.md` by @Bertie690 in https://github.com/biomejs/biome/pull/8781
  276. * ci: sanity check to make sure wasm artifact exists by @dyc3 in https://github.com/biomejs/biome/pull/8784
  277. * feat(js_analyze): implement noDivRegex by @Netail in https://github.com/biomejs/biome/pull/8757
  278. * fix(linter): add support for active-view-transition pseudo-class by @tuyuritio in https://github.com/biomejs/biome/pull/8787
  279. * fix(justfile): remove errant `run` argument from test commands by @jfmcdowell in https://github.com/biomejs/biome/pull/8789
  280. * feat(js_analyze): implement noFloatingClasses by @Netail in https://github.com/biomejs/biome/pull/8754
  281. * feat(js_analyze): implement noExcessiveClassesPerFile by @Netail in https://github.com/biomejs/biome/pull/8753
  282. * chore(deps): update rust:1.92.0-bookworm docker digest to e90e846 by @renovate[bot] in https://github.com/biomejs/biome/pull/8791
  283. * chore(deps): update rust:1.92.0-bullseye docker digest to c6d501c by @renovate[bot] in https://github.com/biomejs/biome/pull/8792
  284. * chore(deps): update dependency tombi to v0.7.19 by @renovate[bot] in https://github.com/biomejs/biome/pull/8795
  285. * chore(deps): update dependency @types/node to v24.10.9 by @renovate[bot] in https://github.com/biomejs/biome/pull/8794
  286. * chore(deps): update rust crate bpaf to 0.9.22 by @renovate[bot] in https://github.com/biomejs/biome/pull/8796
  287. * chore(deps): update rust crate tower to 0.5.3 by @renovate[bot] in https://github.com/biomejs/biome/pull/8797
  288. * fix(deps): update @biomejs packages by @renovate[bot] in https://github.com/biomejs/biome/pull/8798
  289. * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/8799
  290. * chore(deps): update rust crate indexmap to 2.13.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/8801
  291. * chore(deps): update pnpm to v10.28.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/8800
  292. * fix(linter): noUselessUndefinedInitialization false positive in svelte 4. by @codiini in https://github.com/biomejs/biome/pull/8776
  293. * feat(html): add various helpers to html syntax nodes by @dyc3 in https://github.com/biomejs/biome/pull/8804
  294. * fix(grit): correct `arrow_function` slot indices for GritQL patterns by @TheBaconWizard in https://github.com/biomejs/biome/pull/8793
  295. * feat(linter): add noExcessiveLinesPerFile to CSS and GraphQL by @Faizanq in https://github.com/biomejs/biome/pull/8697
  296. * docs(organizeImports): add a note for full import merging by @Conaclos in https://github.com/biomejs/biome/pull/8811
  297. * docs(organizeImports): fix note about import merging by @Conaclos in https://github.com/biomejs/biome/pull/8813
  298. * feat(dx): add prettier-compare tool by @dyc3 in https://github.com/biomejs/biome/pull/8805
  299. * feat(graphql_analyze): implement useLoneAnonymousOperation by @Netail in https://github.com/biomejs/biome/pull/8616
  300. * fix(parse/html/vue): accept colon modifier in vue directives by @dyc3 in https://github.com/biomejs/biome/pull/8817
  301. * fix(linter): reduce `noSecrets` false positives on CamelCase identifiers by @Exudev in https://github.com/biomejs/biome/pull/8832
  302. * feat(prettier-compare): support astro by @dyc3 in https://github.com/biomejs/biome/pull/8835
  303. * fix(parse/html/astro): accept astro files with empty frontmatter by @dyc3 in https://github.com/biomejs/biome/pull/8836
  304. * fix(css_analyze): ignore at-rules supporting descriptors by @Netail in https://github.com/biomejs/biome/pull/8819
  305. * chore: ignore `prettier-compare` pkg by @ematipico in https://github.com/biomejs/biome/pull/8843
  306. * chore: update sponsors by @ematipico in https://github.com/biomejs/biome/pull/8844
  307. * fix(lint): handle newlines in useVueValidVElse and useVueValidVElseIf by @playhardgopro in https://github.com/biomejs/biome/pull/8821
  308. * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/8671
  309. ## New Contributors
  310. * @DayKev made their first contribution in https://github.com/biomejs/biome/pull/8668
  311. * @ohnoah made their first contribution in https://github.com/biomejs/biome/pull/8639
  312. * @wataryooou made their first contribution in https://github.com/biomejs/biome/pull/8561
  313. * @JoshuaKGoldberg made their first contribution in https://github.com/biomejs/biome/pull/8716
  314. * @arturalkaim made their first contribution in https://github.com/biomejs/biome/pull/8755
  315. * @BaeSeokJae made their first contribution in https://github.com/biomejs/biome/pull/8648
  316. * @tuyuritio made their first contribution in https://github.com/biomejs/biome/pull/8787
  317. * @codiini made their first contribution in https://github.com/biomejs/biome/pull/8776
  318. * @TheBaconWizard made their first contribution in https://github.com/biomejs/biome/pull/8793
  319. * @Faizanq made their first contribution in https://github.com/biomejs/biome/pull/8697
  320. * @Exudev made their first contribution in https://github.com/biomejs/biome/pull/8832
  321. * @playhardgopro made their first contribution in https://github.com/biomejs/biome/pull/8821
  322. **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/biome@2.3.11...@biomejs/biome@2.3.12

view on githubimported 2026-09-28 via npm