note: la síntesis y las notas de la versión están en inglés
note: sin síntesis para esta release digest
Las releases digest se listan sin síntesis. Las notas de la versión originales de esta versión están aquí abajo.
release-notesgithub.com/biomejs/biome · 279 líneas
- ## 2.4.11
- ### Patch Changes
- - [#9350](https://github.com/biomejs/biome/pull/9350) [`4af4a3a`](https://github.com/biomejs/biome/commit/4af4a3a9ca31a598e9836997b7811992eae53387) Thanks [@dyc3](https://github.com/dyc3)! - Added the new nursery rule [useConsistentTestIt](https://biomejs.dev/linter/rules/use-consistent-test-it/) in the `test` domain. The rule enforces consistent use of either `it` or `test` for test functions in Jest/Vitest suites, with separate control for top-level tests and tests inside `describe` blocks.
- Invalid:
- ```js
- test("should fly", () => {}); // Top-level test using 'test' flagged, convert to 'it'
- describe("pig", () => {
- test("should fly", () => {}); // Test inside 'describe' using 'test' flagged, convert to 'it'
- });
- ```
- - [#9429](https://github.com/biomejs/biome/pull/9429) [`a2f3f7e`](https://github.com/biomejs/biome/commit/a2f3f7eb3a134ccc6851ed0eec19d1ff1636ec72) Thanks [@ematipico](https://github.com/ematipico)! - Added the new nursery lint rule [`useExplicitReturnType`](https://biomejs.dev/linter/rules/use-explicit-return-type). It reports TypeScript functions and methods that omit an explicit return type.
- ```ts
- function toString(x: any) {
- // rule triggered, it doesn't declare a return type
- return x.toString();
- }
- ```
- - [#9828](https://github.com/biomejs/biome/pull/9828) [`9e40844`](https://github.com/biomejs/biome/commit/9e40844261cf7b8c573e340e11e3297ef08bcd60) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9484](https://github.com/biomejs/biome/issues/9484): the formatter no longer panics when formatting files that contain `graphql` tagged template literals combined with parenthesized expressions.
- - [#9886](https://github.com/biomejs/biome/pull/9886) [`e7c681e`](https://github.com/biomejs/biome/commit/e7c681ecbb6aed471c914167f5d067d327792f44) Thanks [@ematipico](https://github.com/ematipico)! - Fixed an issue where, occasionally, some bindings and references were not properly tracked, causing false positives from [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/) and [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/) in Svelte, Vue, and Astro files.
- - [#9760](https://github.com/biomejs/biome/pull/9760) [`5b16d18`](https://github.com/biomejs/biome/commit/5b16d187ba63800f4b6ea5057d551ae3f2fbc68c) Thanks [@myx0m0p](https://github.com/myx0m0p)! - Fixed [#4093](https://github.com/biomejs/biome/issues/4093): the [`noDelete`](https://biomejs.dev/linter/rules/no-delete/) rule no longer triggers for `delete process.env.FOO`, since `delete` is the documented way to remove environment variables in Node.js.
- - [#9799](https://github.com/biomejs/biome/pull/9799) [`2af8efd`](https://github.com/biomejs/biome/commit/2af8efd348cfa992bc7d35683de55bb8cc583260) Thanks [@minseong0324](https://github.com/minseong0324)! - Added the rule [`noMisleadingReturnType`](https://biomejs.dev/linter/rules/no-misleading-return-type/). The rule detects when a function's return type annotation is wider than what the implementation actually returns.
- ```ts
- // Flagged: `: string` is wider than `"loading" | "idle"`
- function getStatus(b: boolean): string {
- if (b) return "loading";
- return "idle";
- }
- ```
- - [#9880](https://github.com/biomejs/biome/pull/9880) [`7f67749`](https://github.com/biomejs/biome/commit/7f67749e77af6e5af3dfc72a02bb99718695612e) Thanks [@dyc3](https://github.com/dyc3)! - Improved the diagnostics for [`useFind`](https://biomejs.dev/linter/rules/use-find/) to better explain the problem, why it matters, and how to fix it.
- - [#9755](https://github.com/biomejs/biome/pull/9755) [`bff7bdb`](https://github.com/biomejs/biome/commit/bff7bdb1355cdf7d219a288e31c5c5a0357e3aad) Thanks [@ematipico](https://github.com/ematipico)! - Improved performance of fix-all operations (`--write`). Biome is now smarter when it runs lint rules and assist actions. First, it runs only rules that have code fixes, and then runs the rest of the rules.
- - [#8651](https://github.com/biomejs/biome/pull/8651) [`aafca2d`](https://github.com/biomejs/biome/commit/aafca2d086eb24226a9cf1a69179561f70d02773) Thanks [@siketyan](https://github.com/siketyan)! - Add a new lint rule `useDisposables` for JavaScript, which detects disposable objects assigned to variables without `using` or `await using` syntax. Disposable objects that implement the `Disposable` or `AsyncDisposable` interface are intended to be disposed of after use. Not disposing them can lead to resource or memory leaks, depending on the implementation.
- **Invalid:**
- ```js
- function createDisposable(): Disposable {
- return {
- [Symbol.dispose]() {
- // do something
- },
- };
- }
- const disposable = createDisposable();
- ```
- **Valid:**
- ```js
- function createDisposable(): Disposable {
- return {
- [Symbol.dispose]() {
- // do something
- },
- };
- }
- using disposable = createDisposable();
- ```
- - [#9788](https://github.com/biomejs/biome/pull/9788) [`53b8e57`](https://github.com/biomejs/biome/commit/53b8e5768e33b87298f8e0e4c896957dee6f2eb6) Thanks [@MeGaNeKoS](https://github.com/MeGaNeKoS)! - Fixed [#7760](https://github.com/biomejs/biome/issues/7760): Added support for CSS scroll-driven animation `timeline-range-name` keyframe selectors (`cover`, `contain`, `entry`, `exit`, `entry-crossing`, `exit-crossing`). Biome no longer reports parse errors on keyframes like `entry 0% { ... }` or `exit 100% { ... }`.
- - [#9728](https://github.com/biomejs/biome/pull/9728) [`5085424`](https://github.com/biomejs/biome/commit/5085424db427c7874eef7ca732f237febb49fdb1) Thanks [@mkosei](https://github.com/mkosei)! - Fixed [#9696](https://github.com/biomejs/biome/issues/9696): Astro frontmatter now correctly parses regular expression literals like `/\d{4}/`.
- - [#9261](https://github.com/biomejs/biome/pull/9261) [`16b6c49`](https://github.com/biomejs/biome/commit/16b6c4951793c820d109a9b502e1812fcbfca764) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#8409](https://github.com/biomejs/biome/issues/8409): CSS formatter now correctly places comments after the colon in property declarations.
- Previously, comments that appeared after the colon in CSS property values were incorrectly moved before the property name:
- ```diff
- [lang]:lang(ja) {
- - /* system-ui,*/ font-family:
- + font-family: /* system-ui,*/
- Hiragino Sans,
- sans-serif;
- }
- ```
- - [#9441](https://github.com/biomejs/biome/pull/9441) [`957ea4c`](https://github.com/biomejs/biome/commit/957ea4c8ebe75083ba68a98f70616c88368883c5) Thanks [@soconnor-seeq](https://github.com/soconnor-seeq)! - Fixed [#1630](https://github.com/biomejs/biome/issues/1630): LSP project selection now prefers the most specific project root in nested workspaces.
- - [#9878](https://github.com/biomejs/biome/pull/9878) [`de6210f`](https://github.com/biomejs/biome/commit/de6210f80fa6d1dc0ca3edd395e9d8e571766bb8) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9118](https://github.com/biomejs/biome/issues/9118): [`noUnusedImports`](https://biomejs.dev/linter/rules/no-unused-imports/) no longer reports false positives for default imports used inside Svelte, Vue and Astro components.
- - [#9879](https://github.com/biomejs/biome/pull/9879) [`ce7e2b7`](https://github.com/biomejs/biome/commit/ce7e2b762bc82319c39027d15e84a26f8708fc92) Thanks [@dyc3](https://github.com/dyc3)! - Fixed a parser diagnostic's message when vue syntax is disabled so that it no longer references the non-existant `html.parser.vue` option. This option will become available in 2.5.
- - [#9880](https://github.com/biomejs/biome/pull/9880) [`7f67749`](https://github.com/biomejs/biome/commit/7f67749e77af6e5af3dfc72a02bb99718695612e) Thanks [@dyc3](https://github.com/dyc3)! - Improved the diagnostics for [`useRegexpExec`](https://biomejs.dev/linter/rules/use-regexp-exec/) to better explain the problem, why it matters, and how to fix it.
- - [#9846](https://github.com/biomejs/biome/pull/9846) [`b7134d9`](https://github.com/biomejs/biome/commit/b7134d92413991c4394574353b76b1891160bc38) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9140](https://github.com/biomejs/biome/issues/9140): Biome now parses Astro's attribute shorthand inside `.astro` files. The following snippet no longer reports a parse error:
- ```astro
- ---
- const items = ['a', 'b'];
- ---
- <ul>
- {items.map((item) => <li {item}>row</li>)}
- </ul>
- ```
- - [#9790](https://github.com/biomejs/biome/pull/9790) [`67df09d`](https://github.com/biomejs/biome/commit/67df09d524fe49d3bb08dc45b7dfb99771e25bdd) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#9781](https://github.com/biomejs/biome/issues/9781): Trailing comments after a top-level `biome-ignore-all format` suppression are now preserved instead of being dropped. This applies to JavaScript, CSS, HTML, JSONC, GraphQL, and Grit files.
- - [#9745](https://github.com/biomejs/biome/pull/9745) [`d87073e`](https://github.com/biomejs/biome/commit/d87073ef5586f0cf7eb74fd0d7390a3444c591ff) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9741](https://github.com/biomejs/biome/issues/9741): the LSP server now correctly returns the [`organizeImports`](https://biomejs.dev/assist/actions/organize-imports/) code action when the client requests it via `source.organizeImports.biome` in the `only` filter. Previously, editors with `codeAction/resolve` support (e.g. Zed) received an empty response because the action was serialized with the wrong kind (`source.biome.organizeImports` instead of `source.organizeImports.biome`).
- - [#9880](https://github.com/biomejs/biome/pull/9880) [`7f67749`](https://github.com/biomejs/biome/commit/7f67749e77af6e5af3dfc72a02bb99718695612e) Thanks [@dyc3](https://github.com/dyc3)! - Improved the diagnostics for [`useArraySome`](https://biomejs.dev/linter/rules/use-array-some/) to better explain the problem, why it matters, and how to fix it.
- - [#9795](https://github.com/biomejs/biome/pull/9795) [`1d09f0f`](https://github.com/biomejs/biome/commit/1d09f0fae1d0270ad603e7b494d8dffb979125aa) Thanks [@dyc3](https://github.com/dyc3)! - Relaxed [`useExplicitType`](https://biomejs.dev/linter/rules/use-explicit-type/) for trivially inferrable types.
- Type annotations can now be omitted when types are trivially inferrable from:
- - Binary expressions (`const sum = 1 + 1`)
- - Comparison expressions (`const isEqual = 'a' === 'b'`, `const isTest = process.env.NODE_ENV === 'test'`)
- - Logical expressions (`const and = true && false`)
- - Class instantiation (`const date = new Date()`)
- - Array literals (`const arr = [1, 2, 3]`)
- - Conditional expressions (`const val = true ? 'yes' : 'no'`)
- - Function calls (`const num = Math.random()`)
- - Parameter defaults - any expression is now allowed (`const fn = (max = MAX_ATTEMPTS) => ...`)
- Comparison expressions always return `boolean`, so any operands are now allowed
- (including property access like `process.env.NODE_ENV`).
- Parameters with default values no longer require type annotations, as TypeScript
- can infer the type from the default value (even when referencing variables).
- Also removed the redundant `any` type validation from this rule. The `any` type
- is now only validated by the dedicated `noExplicitAny` rule, following the
- Single Responsibility Principle.
- - [#9809](https://github.com/biomejs/biome/pull/9809) [`e8cad58`](https://github.com/biomejs/biome/commit/e8cad58a1baf8f8c935e8547da88905cfbfb05be) Thanks [@Netail](https://github.com/Netail)! - Added the new nursery rule [`useQwikLoaderLocation`](https://biomejs.dev/linter/rules/use-qwik-loader-location/), which enforces that Qwik loader functions are declared in the correct location.
- - [#9877](https://github.com/biomejs/biome/pull/9877) [`fc9d715`](https://github.com/biomejs/biome/commit/fc9d715a904d382fcd7fb932a05896cfbafaaa44) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9136](https://github.com/biomejs/biome/issues/9136) and [#9653](https://github.com/biomejs/biome/issues/9653): [`noUndeclaredVariables`](https://biomejs.dev/linter/rules/no-undeclared-variables/) and [`noUnusedVariables`](https://biomejs.dev/linter/rules/no-unused-variables/) no longer report false positives on several Svelte template constructs that declare or reference bindings in the host grammar:
- - `{#snippet name(params)}` — the snippet name and its parameters (including object, array, rest, and nested destructuring) are now tracked.
- - `{@render name(args)}` — the snippet name used at the render site is now resolved against the snippet declaration.
- - `{#each items as item, index (key)}` — the `item` binding (plain identifier or destructured), the optional `index`, and the optional `key` expression are now tracked.
- - `{@const name = value}` — the declared name is now tracked as a binding and the initializer is analyzed for undeclared references.
- - `{@debug a, b, c}` — each debugged identifier is now analyzed and reported if undeclared.
- - Shorthand attributes `<img {src} />` — the curly-shorthand attribute is now analyzed as an expression, so undeclared references inside it are reported.
- For example, the following template no longer triggers either rule:
- ```svelte
- <script>
- let items = [];
- let total = 0;
- </script>
- {#snippet figure(image)}
- <figure>
- <img src={image.src} alt={image.caption} />
- <figcaption>{image.caption}</figcaption>
- </figure>
- {/snippet}
- {#each items as item}
- {@const price = item.price}
- {@render figure(item)}
- <span>{price}</span>
- {/each}
- {@debug items, total}
- ```
- - [#9869](https://github.com/biomejs/biome/pull/9869) [`78bce77`](https://github.com/biomejs/biome/commit/78bce773a2d8776991c93a239d462fd42bf24cc4) Thanks [@Netail](https://github.com/Netail)! - Updated [`noDuplicateFieldDefinitionNames`](https://biomejs.dev/linter/rules/no-duplicate-field-definition-names/) to also flag duplicate fields within type extensions, interface extensions & input extensions.
- - [#9739](https://github.com/biomejs/biome/pull/9739) [`0bc2198`](https://github.com/biomejs/biome/commit/0bc2198735230c3bad14a831652543bd304fa0d6) Thanks [@dyc3](https://github.com/dyc3)! - Fixed Grit queries that use native Biome AST node names with the native field names that are in our `.ungram` grammar files. Queries such as `JsConditionalExpression(consequent = $cons, alternate = $alt)` now compile successfully in `biome search` and grit plugins.
- - [#9811](https://github.com/biomejs/biome/pull/9811) [`2dddca3`](https://github.com/biomejs/biome/commit/2dddca3f09bda92f7f43bbaf482796f5aec7a970) Thanks [@dyc3](https://github.com/dyc3)! - Updated `noImpliedEval` to flag `new Function()` usages, as its a form of indirect `eval`, and to include `no-new-func` as a rule source.
- - [#9870](https://github.com/biomejs/biome/pull/9870) [`ccf9770`](https://github.com/biomejs/biome/commit/ccf9770b37cf2d04205a5914db72c86137bca50f) Thanks [@Netail](https://github.com/Netail)! - Marked eslint-qwik-plugin's `unused-server` as redundant since it was covered by `noUnusedVariables`.
- - [#9701](https://github.com/biomejs/biome/pull/9701) [`1417c3b`](https://github.com/biomejs/biome/commit/1417c3b4ece262b1500b12c9f1da1429e4d53fc4) Thanks [@dyc3](https://github.com/dyc3)! - Added the new nursery rule [`noUselessTypeConversion`](https://biomejs.dev/linter/rules/no-useless-type-conversion/), which reports redundant primitive conversion patterns such as `String(value)` when `value` is already a string.
- - [#9248](https://github.com/biomejs/biome/pull/9248) [`49f00a3`](https://github.com/biomejs/biome/commit/49f00a38d64af131178ba4e096155d22055aa1c4) Thanks [@pkallos](https://github.com/pkallos)! - `useNullishCoalescing` now also detects ternary expressions that check for `null` or `undefined` and suggests rewriting them with `??`. A new `ignoreTernaryTests` option allows disabling this behavior.
- - [#9863](https://github.com/biomejs/biome/pull/9863) [`6a44619`](https://github.com/biomejs/biome/commit/6a4461915f1f5f161795081706b84cc8992b12dd) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9690](https://github.com/biomejs/biome/issues/9690): `biome check --write` is now idempotent on HTML files that contain embedded `<style>` or `<script>` blocks. Previously, each run reported "Fixed 1 file" even when the file content did not actually change, because the embedded language formatter's output was not re-indented to match the surrounding HTML block.
- ## What's Changed
- * feat(md/fmt): format more nodes by @ematipico in https://github.com/biomejs/biome/pull/9713
- * fix(markdown): preserve nested list indent tokens by @jfmcdowell in https://github.com/biomejs/biome/pull/9717
- * fix(html): handle escaped regex literals in astro frontmatter by @mkosei in https://github.com/biomejs/biome/pull/9728
- * test(markdown): add regression tests for mixed list markers across blank lines by @jfmcdowell in https://github.com/biomejs/biome/pull/9732
- * fix(lsp): prefer most specific project root by @soconnor-seeq in https://github.com/biomejs/biome/pull/9441
- * fix(markdown): fix fenced code block closing inside list items by @jfmcdowell in https://github.com/biomejs/biome/pull/9730
- * fix(markdown): fix HTML block parsing inside list item continuations by @jfmcdowell in https://github.com/biomejs/biome/pull/9740
- * fix(markdown): fix panic on multi-byte characters in emphasis context by @jfmcdowell in https://github.com/biomejs/biome/pull/9735
- * refactor(markdown): replace skipped trivia with formatter-safe recovery by @jfmcdowell in https://github.com/biomejs/biome/pull/9746
- * refactor(markdown): cleanup nits from #9746 by @jfmcdowell in https://github.com/biomejs/biome/pull/9751
- * fix(lsp): regression codeAction/resolve by @ematipico in https://github.com/biomejs/biome/pull/9745
- * feat(lint/js): add `noUselessTypeConversion` by @dyc3 in https://github.com/biomejs/biome/pull/9701
- * fix(markdown): replace panicking code with safe fallbacks in lexer by @jfmcdowell in https://github.com/biomejs/biome/pull/9753
- * refactor(markdown): emit continuation indent as structural CST node by @jfmcdowell in https://github.com/biomejs/biome/pull/9737
- * fix(markdown): fix false diagnostic on nested lists with double blank lines by @jfmcdowell in https://github.com/biomejs/biome/pull/9764
- * feat(css): add support for SCSS string interpolation by @denbezrukov in https://github.com/biomejs/biome/pull/9756
- * refactor(markdown): deduplicate shared helper functions by @jfmcdowell in https://github.com/biomejs/biome/pull/9766
- * fix(markdown): remove debug scaffolding and parser cleanup by @jfmcdowell in https://github.com/biomejs/biome/pull/9765
- * refactor(flags): make variables predictable by @ematipico in https://github.com/biomejs/biome/pull/9769
- * fix(markdown_parser): emit MdIndentTokenList for headers inside list items by @jfmcdowell in https://github.com/biomejs/biome/pull/9774
- * fix(markdown_parser): fix lazy continuation at nested list marker indent by @jfmcdowell in https://github.com/biomejs/biome/pull/9776
- * docs: clarify that elements in scope for useAltText is not configurable by @yogaraptor in https://github.com/biomejs/biome/pull/9773
- * fix(markdown_parser): fix multi-byte character panic in emphasis context by @jfmcdowell in https://github.com/biomejs/biome/pull/9775
- * perf(core): refactor fix-all logic by @ematipico in https://github.com/biomejs/biome/pull/9755
- * feat(css): add support for scroll-driven animation keyframe selectors by @MeGaNeKoS in https://github.com/biomejs/biome/pull/9788
- * fix(format): don't remove trailing comments when formatting is suppressed by @dyc3 in https://github.com/biomejs/biome/pull/9790
- * test(markdown_parser): add reference HTML validation and structural invariants by @jfmcdowell in https://github.com/biomejs/biome/pull/9779
- * fix(markdown_parser): reject multiline inline HTML open tag when > at line start is blockquote marker by @jfmcdowell in https://github.com/biomejs/biome/pull/9783
- * fix: noDelete should not suggest undefined assignment for process.env by @myx0m0p in https://github.com/biomejs/biome/pull/9760
- * feat(lint/js): add `useConsistentTestIt` by @dyc3 in https://github.com/biomejs/biome/pull/9350
- * feat(useExplicitType): relax rule for trivially inferrable types by @dyc3 in https://github.com/biomejs/biome/pull/9795
- * chore(deps): update dependency tombi to v0.9.13 by @renovate[bot] in https://github.com/biomejs/biome/pull/9819
- * fix(markdown_parser): split bullet lists when marker type changes across blank lines by @jfmcdowell in https://github.com/biomejs/biome/pull/9785
- * fix(markdown_parser): recognize setext heading inside blockquote by @jfmcdowell in https://github.com/biomejs/biome/pull/9782
- * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/9823
- * fix(deps): update @biomejs packages by @renovate[bot] in https://github.com/biomejs/biome/pull/9822
- * chore(deps): update rust crate libc to 0.2.184 by @renovate[bot] in https://github.com/biomejs/biome/pull/9821
- * chore(deps): update dependency dprint to v0.53.2 by @renovate[bot] in https://github.com/biomejs/biome/pull/9818
- * refactor(useConsistentTestIt): review feedback by @dyc3 in https://github.com/biomejs/biome/pull/9827
- * fix(cli): fix codeAction/resolve not considering assist actions by @elliotcourant in https://github.com/biomejs/biome/pull/9812
- * test(markdown_parser): add differential fuzzer against commonmark.js by @jfmcdowell in https://github.com/biomejs/biome/pull/9784
- * feat(markdown): implement basic formatter features by @tidefield in https://github.com/biomejs/biome/pull/9693
- * feat(lint): add ternary expression detection to useNullishCoalescing by @pkallos in https://github.com/biomejs/biome/pull/9248
- * chore(deps): update rust crate indexmap to 2.13.1 by @renovate[bot] in https://github.com/biomejs/biome/pull/9820
- * fix: embedded snippets with parenthesis by @ematipico in https://github.com/biomejs/biome/pull/9828
- * feat(js/lint): implement rule `useDisposables` by @siketyan in https://github.com/biomejs/biome/pull/8651
- * fix(markdown_parser): reject link reference definition with trailing text after destination by @jfmcdowell in https://github.com/biomejs/biome/pull/9780
- * feat(lint): rule `useExplicitReturnType` by @ematipico in https://github.com/biomejs/biome/pull/9429
- * fix(markdown_parser): incorrect tight/loose list classification at marker boundaries by @jfmcdowell in https://github.com/biomejs/biome/pull/9787
- * ci: add cargo-deny for `paste` crate by @dyc3 in https://github.com/biomejs/biome/pull/9579
- * chore: format by @dyc3 in https://github.com/biomejs/biome/pull/9834
- * chore(skills): better diagnostic advice by @dyc3 in https://github.com/biomejs/biome/pull/9830
- * feat(lint): add nursery rule `noMisleadingReturnType` by @minseong0324 in https://github.com/biomejs/biome/pull/9799
- * chore: update guidelines to protect maintainers by @ematipico in https://github.com/biomejs/biome/pull/9825
- * chore(deps): update dependency vite to v7.3.2 [security] by @renovate[bot] in https://github.com/biomejs/biome/pull/9844
- * refactor(markdown_parser): deduplicate normalize_html test helper by @jfmcdowell in https://github.com/biomejs/biome/pull/9833
- * chore(deps): update rust crate tokio to 1.51.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/9602
- * fix(deps): update rust crates by @renovate[bot] in https://github.com/biomejs/biome/pull/9708
- * refactor(migrate): auto derive `variant_index()` function by @dyc3 in https://github.com/biomejs/biome/pull/9803
- * feat(noImpliedEval): flag `new Function(...)` by @dyc3 in https://github.com/biomejs/biome/pull/9811
- * test: infra for custom rule migrators by @dyc3 in https://github.com/biomejs/biome/pull/9836
- * refactor(markdown_parser): deduplicate link helper functions by @jfmcdowell in https://github.com/biomejs/biome/pull/9840
- * fix(js): parse short hand identifier in Astro JSX files by @ematipico in https://github.com/biomejs/biome/pull/9846
- * fix(ci): remove unused import: `JsFileSource` by @tidefield in https://github.com/biomejs/biome/pull/9858
- * fix(grit): biome native node field names now work by @dyc3 in https://github.com/biomejs/biome/pull/9739
- * fix(md-formatter): remove last hard line break by @tidefield in https://github.com/biomejs/biome/pull/9856
- * feat(lint): detect tuple widening and inferred unions in noMisleadingReturnType by @minseong0324 in https://github.com/biomejs/biome/pull/9843
- * docs: improve useSimplifiedLogicExpression docs by @ematipico in https://github.com/biomejs/biome/pull/9864
- * fix(core): update snippet via fix all by @ematipico in https://github.com/biomejs/biome/pull/9863
- * feat(js_analyze): implement useQwikLoaderLocation by @Netail in https://github.com/biomejs/biome/pull/9809
- * chore: missing rule source by @Netail in https://github.com/biomejs/biome/pull/9871
- * chore: unsupported covered by by @Netail in https://github.com/biomejs/biome/pull/9870
- * fix(graphql_analyze): also flag duplicate fields within extensions by @Netail in https://github.com/biomejs/biome/pull/9869
- * fix(css/formatter): comment placement in lists by @ematipico in https://github.com/biomejs/biome/pull/9261
- * fix(core): track of default specifiers by @ematipico in https://github.com/biomejs/biome/pull/9878
- * fix(parse/html): fix disabled vue error message by @dyc3 in https://github.com/biomejs/biome/pull/9879
- * fix(core): tracking of snippet and render function calls by @ematipico in https://github.com/biomejs/biome/pull/9877
- * fix(lint/js): improve diagnostics to better follow rule pillars by @dyc3 in https://github.com/biomejs/biome/pull/9880
- * fix(core): tracking of bindings and value references by @ematipico in https://github.com/biomejs/biome/pull/9886
- * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/9733
- ## New Contributors
- * @soconnor-seeq made their first contribution in https://github.com/biomejs/biome/pull/9441
- * @yogaraptor made their first contribution in https://github.com/biomejs/biome/pull/9773
- * @myx0m0p made their first contribution in https://github.com/biomejs/biome/pull/9760
- * @elliotcourant made their first contribution in https://github.com/biomejs/biome/pull/9812
- * @minseong0324 made their first contribution in https://github.com/biomejs/biome/pull/9799
- **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.10...@biomejs/biome@2.4.11