Skip to content
This repository was archived by the owner on Apr 19, 2026. It is now read-only.

chore(deps): update dependency @biomejs/biome to v2.4.11 - #11

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/biomejs-biome-2.x
Open

chore(deps): update dependency @biomejs/biome to v2.4.11#11
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/biomejs-biome-2.x

Conversation

@renovate

@renovaterenovateBot commented Aug 4, 2025

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

PackageChangeAgeConfidence
@biomejs/biome (source)2.0.52.4.11ageconfidence
@biomejs/biome (source)2.0.52.4.11ageconfidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.4.11

Compare Source

Patch Changes
  • #​93504af4a3a Thanks @​dyc3! - Added the new nursery rule useConsistentTestIt 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:

    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'});
  • #​9429a2f3f7e Thanks @​ematipico! - Added the new nursery lint rule useExplicitReturnType. It reports TypeScript functions and methods that omit an explicit return type.

    functiontoString(x: any){// rule triggered, it doesn't declare a return typereturnx.toString();}
  • #​98289e40844 Thanks @​ematipico! - Fixed #​9484: the formatter no longer panics when formatting files that contain graphql tagged template literals combined with parenthesized expressions.

  • #​9886e7c681e Thanks @​ematipico! - Fixed an issue where, occasionally, some bindings and references were not properly tracked, causing false positives from noUnusedVariables and noUndeclaredVariables in Svelte, Vue, and Astro files.

  • #​97605b16d18 Thanks @​myx0m0p! - Fixed #​4093: the noDelete rule no longer triggers for delete process.env.FOO, since delete is the documented way to remove environment variables in Node.js.

  • #​97992af8efd Thanks @​minseong0324! - Added the rule noMisleadingReturnType. The rule detects when a function's return type annotation is wider than what the implementation actually returns.

    // Flagged: `: string` is wider than `"loading" | "idle"`functiongetStatus(b: boolean): string{if(b)return"loading";return"idle";}
  • #​98807f67749 Thanks @​dyc3! - Improved the diagnostics for useFind to better explain the problem, why it matters, and how to fix it.

  • #​9755bff7bdb Thanks @​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.

  • #​8651aafca2d Thanks @​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:

    functioncreateDisposable(): Disposable{return{[Symbol.dispose](){// do something},};}constdisposable=createDisposable();

    Valid:

    functioncreateDisposable(): Disposable{return{[Symbol.dispose](){// do something},};}usingdisposable=createDisposable();
  • #​978853b8e57 Thanks @​MeGaNeKoS! - Fixed #​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% { ... }.

  • #​97285085424 Thanks @​mkosei! - Fixed #​9696: Astro frontmatter now correctly parses regular expression literals like /\d{4}/.

  • #​926116b6c49 Thanks @​ematipico! - Fixed #​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:

    [lang]:lang(ja) {
    - /* system-ui,*/ font-family:+ font-family: /* system-ui,*/
    Hiragino Sans,
    sans-serif;
    }
  • #​9441957ea4c Thanks @​soconnor-seeq! - Fixed #​1630: LSP project selection now prefers the most specific project root in nested workspaces.

  • #​9878de6210f Thanks @​ematipico! - Fixed #​9118: noUnusedImports no longer reports false positives for default imports used inside Svelte, Vue and Astro components.

  • #​9879ce7e2b7 Thanks @​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.

  • #​98807f67749 Thanks @​dyc3! - Improved the diagnostics for useRegexpExec to better explain the problem, why it matters, and how to fix it.

  • #​9846b7134d9 Thanks @​ematipico! - Fixed #​9140: Biome now parses Astro's attribute shorthand inside .astro files. The following snippet no longer reports a parse error:

    ---const items = ['a', 'b'];---
    <ul>
    {items.map((item) => <li{item}>row</li>)}
    </ul>
  • #​979067df09d Thanks @​dyc3! - Fixed #​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.

  • #​9745d87073e Thanks @​ematipico! - Fixed #​9741: the LSP server now correctly returns the organizeImports 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).

  • #​98807f67749 Thanks @​dyc3! - Improved the diagnostics for useArraySome to better explain the problem, why it matters, and how to fix it.

  • #​97951d09f0f Thanks @​dyc3! - Relaxed useExplicitType 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.

  • #​9809e8cad58 Thanks @​Netail! - Added the new nursery rule useQwikLoaderLocation, which enforces that Qwik loader functions are declared in the correct location.

  • #​9877fc9d715 Thanks @​ematipico! - Fixed #​9136 and #​9653: noUndeclaredVariables and noUnusedVariables 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.
    • {@&#8203;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.
    • {@&#8203;const name = value} — the declared name is now tracked as a binding and the initializer is analyzed for undeclared references.
    • {@&#8203;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:

    <script>let items = [];let total =0;</script>
    {#snippetfigure(image)}
    <figure>
    <imgsrc={image.src} alt={image.caption} />
    <figcaption>{image.caption}</figcaption>
    </figure>
    {/snippet}
    {#eachitemsasitem}
    {@&#8203;constprice=item.price}
    {@&#8203;renderfigure(item)}
    <span>{price}</span>
    {/each}
    {@&#8203;debugitems, total}
  • #​986978bce77 Thanks @​Netail! - Updated noDuplicateFieldDefinitionNames to also flag duplicate fields within type extensions, interface extensions & input extensions.

  • #​97390bc2198 Thanks @​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.

  • #​98112dddca3 Thanks @​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.

  • #​9870ccf9770 Thanks @​Netail! - Marked eslint-qwik-plugin's unused-server as redundant since it was covered by noUnusedVariables.

  • #​97011417c3b Thanks @​dyc3! - Added the new nursery rule noUselessTypeConversion, which reports redundant primitive conversion patterns such as String(value) when value is already a string.

  • #​924849f00a3 Thanks @​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.

  • #​98636a44619 Thanks @​ematipico! - Fixed #​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.

v2.4.10

Compare Source

Patch Changes
  • #​8838f3a6a6b Thanks @​baeseokjae! - Added new lint nursery rule noImpliedEval.

    The rule detects implied eval() usage through functions like setTimeout, setInterval, and setImmediate when called with string arguments.

    // InvalidsetTimeout("alert('Hello');",100);// ValidsetTimeout(()=>alert("Hello"),100);
  • #​932093c3b6c Thanks @​taberoajorge! - Fixed #​7664: noUnusedVariables no longer reports false positives for TypeScript namespace declarations that participate in declaration merging with an exported or used value declaration (const, function, or class) of the same name. The reverse direction is also handled: a value declaration merged with an exported namespace is no longer flagged.

  • #​96301dd4a56 Thanks @​raashish1601! - Fixed #​9629: noNegationElse now keeps ternary branch comments attached to the correct branch when applying its fixer.

  • #​921604243b0 Thanks @​FrederickStempfle! - Fixed #​9061: noProcessEnv now also detects process.env when process is imported from the "process" or "node:process" modules.

    Previously, only the global process object was flagged:

    importprocessfrom"node:process";// This was not flagged, but now it is:console.log(process.env.NODE_ENV);
  • #​969261b7ec5 Thanks @​mkosei! - Fixed Svelte #each destructuring parsing and formatting for nested patterns such as [key, { a, b }].

  • #​962706a0f35 Thanks @​ematipico! - Fixed #​191: Improved the performance of how the Biome Language Server pulls code actions and diagnostics.

    Before, code actions were pulled and computed all at once in one request. This approach couldn't work in big files, and caused Biome to stale and have CPU usage spikes up to 100%.

    Now, code actions are pulled and computed lazily, and Biome won't choke anymore in big files.

  • #​96435bfee36 Thanks @​dyc3! - Fixed #​9347: useVueValidVBind no longer reports valid object bindings like v-bind="props".

  • #​962706a0f35 Thanks @​ematipico! - Fixed assist diagnostics being invisible when using --diagnostic-level=error. Enforced assist violations (e.g. useSortedKeys) were filtered out before being promoted to errors, causing biome check to incorrectly return success.

  • #​96959856a87 Thanks @​dyc3! - Added the new nursery rule noUnsafePlusOperands, which reports + and += operations that use object-like, symbol, unknown, or never operands, or that mix number with bigint.

  • #​962706a0f35 Thanks @​ematipico! - Fixed duplicate parse errors in check and ci output. When a file had syntax errors, the same parse error was printed twice and the error count was inflated.

  • #​962706a0f35 Thanks @​ematipico! - Improved the performance of the commands lint and check when they are called with --write.

  • #​962706a0f35 Thanks @​ematipico! - Fixed --diagnostic-level not fully filtering diagnostics. Setting --diagnostic-level=error now correctly excludes warnings and infos from both the output and the summary counts.

  • #​962313b3261 Thanks @​ematipico! - Fixed #​9258: --skip no longer causes suppressions/unused warnings for suppression comments targeting skipped rules or domains.

  • #​9631599dd04 Thanks @​raashish1601! - Fixed #​9625: experimentalEmbeddedSnippetsEnabled no longer crashes when a file mixes formatable CSS-in-JS templates with tagged templates that the embedded formatter can't currently delegate, such as a styled-components interpolation returning `css```.

v2.4.9

Compare Source

Patch Changes
  • #​9315085d324 Thanks @​ematipico! - Added a new nursery CSS rule noDuplicateSelectors, that disallows duplicate selector lists within the same at-rule context.

    For example, the following snippet triggers the rule because the second selector and the first selector are the same:

    /* First selector */
    .x .y .z {
    }
    /* Second selector */
    .x {
    .y {
    .z {
    }
    }
    }
  • #​9567b7ab931 Thanks @​ematipico! - Fixed #​7211: useOptionalChain now detects negated logical OR chains. The following code is now considered invalid:

    !foo||!foo.bar;
  • #​8670607ebf9 Thanks @​tt-a1i! - Fixed #​8345: useAdjacentOverloadSignatures no longer reports false positives for static and instance methods with the same name. Static methods and instance methods are now treated as separate overload groups.

    classKek{statickek(): number{return0;}another(): string{return"";}kek(): number{return1;}// no longer reported as non-adjacent}
  • #​947697b80a8 Thanks @​masterkain! - Fixed #9475: Fixed a panic when Biome analyzed ambient TypeScript modules containing class constructor, getter, or setter signatures that reference local type aliases. Biome now handles these declarations without crashing during semantic analysis.

  • #​95530cd5298 Thanks @​dyc3! - Fixed a bug where enabling the rules of a whole group, would enable rules that belonged to a domain under the same group.

    For example, linter.rules.correctness = "error" no longer enables React- or Qwik-specific correctness rules unless linter.domains.react, linter.domains.qwik, or an explicit rule config also enables them, or their relative dependencies are installed.

  • #​95864cafb71 Thanks @​dyc3! - Fixed #​8828: Grit patterns using export { $foo } from $source now match named re-exports in JavaScript and TypeScript files.

  • #​9550d4e3d6e Thanks @​dyc3! - Fixed #​9548: Biome now parses conditional expressions whose consequent is an arrow function returning a parenthesized object expression.

  • #​8696a7c19cc Thanks @​Faizanq! - Fixed #​8685 where noUselessLoneBlockStatements would remove empty blocks containing comments. The rule now preserves these blocks since comments may contain important information like TODOs or commented-out code.

  • #​95576671ac5 Thanks @​datalek! - Fixed #​9557: Biome's LSP server no longer crashes on startup when used with editors that don't send workspaceFolders during initialization. This affected any LSP client that only sends rootUri, which is valid per the LSP specification.

  • #​94551710cf1 Thanks @​omar-y-abdi! - Fixed #​9174: useExpect now correctly rejects asymmetric matchers in Vitest or Jest like expect.stringContaining(), expect.objectContaining(), and utilities like expect.extend() that are not valid assertions. Previously these constructs caused false negatives, allowing tests without real assertions to pass the lint rule.

  • #​9584956e367 Thanks @​ematipico! - Fixed a bug where Vue directive attribute values like v-bind:class="{'dynamic': true}" were incorrectly parsed as JavaScript statements instead of expressions. Object literals inside directive values like :class, v-if, and v-html are now correctly parsed as expressions, preventing spurious parse errors.

  • #​9474e168494 Thanks @​ematipico! - Added the new nursery rule noUntrustedLicenses. This rule disallows dependencies that ship with invalid licenses or licenses that don't meet the criteria of your project/organisation.

    The rule has the following options:

    • allow: a list of licenses that can be allowed. Useful to bypass possible invalid licenses from downstream dependencies.
    • deny: a list of licenses that should trigger the rule. Useful to deny licenses that don't fit your project/organisation.
      When both deny and allow are provided, deny takes precedence.
    • requireOsiApproved: whether the licenses need to be approved by the Open Source Initiative.
    • requireFsfLibre: whether the licenses need to be approved by the Free Software Foundation.
  • #​9544723798b Thanks @​ViniciusDev26! - Added an unsafe fix to useConsistentMethodSignatures that automatically converts between method-style and property-style signatures.

  • #​95558a3647b Thanks @​ematipico! - Fixed #188: the Biome Language Server no longer panics when open files change abruptly, such as during git branch checkouts.

  • #​9605f65c637 Thanks @​ematipico! - Fixed #​9589. Now Biome correctly parses object expressions inside props and directives. The following code doesn't emit errors anymore:

    <styleis:globaldefine:vars={{ bgLight: light }}>
    <Component name={{ first, name }} />
  • #​9565ccb249e Thanks @​eyupcanakman! - Fixed #​9505: noUselessStringConcat no longer reports tagged template literals as useless string concatenations. Tagged templates invoke a function and can return non-string values, so combining them with + is not equivalent to a single template literal.

  • #​95344d050df Thanks @​Netail! - Added the nursery rule noInlineStyles. The rule disallows the use of inline style attributes in HTML and the style prop in JSX, including React.createElement calls. Inline styles make code harder to maintain and can interfere with Content Security Policy.

  • #​9611cddaa44 Thanks @​gaauwe! - Fixed a regression where Biome LSP could misread editor settings sent through workspace/didChangeConfiguration when the payload was wrapped in a top-level biome key. This caused requireConfiguration and related settings to be ignored in some editors.

v2.4.8

Compare Source

Patch Changes
  • #​9488bc709f6 Thanks @​mvanhorn! - Fixed #​9463: the "Biome found a configuration file outside of the current working directory" diagnostic now includes the configuration file path and the working directory, giving users actionable information to debug the issue.

  • #​95272f8bf80 Thanks @​mdm317! - Fixed #​8959: Fixed TypeScript arrow function formatting when a comment appears after =>.

  • #​9525e7b3b10 Thanks @​ViniciusDev26! - Added the rule noDrizzleUpdateWithoutWhere to prevent accidental full-table updates when using Drizzle ORM without a .where() clause.

  • #​95311302740 Thanks @​ematipico! - Fixed #​9187: Astro frontmatter containing regex literals with quotes (/'/, /"/) or dashes (/---/) no longer causes parse errors.

  • #​9535b630d93 Thanks @​leno23! - Fixed #​9524: remove extra space before > when bracketSameLine is true and the self-closing slash is absent in HTML formatter.

  • #​953781e6306 Thanks @​ematipico! - Fixed #​9238: The HTML parser no longer incorrectly reports --- inside element content (e.g. <td>---</td>) as an "Unexpected value or character" error.

  • #​95324b64145 Thanks @​ematipico! - Fixed #​9117: biome check --write no longer falsely reports Svelte and Vue files as changed when html.formatter.indentScriptAndStyle is enabled and the files are already correctly formatted.

  • #​952861451ef Thanks @​ematipico! - Fixed #​9341: Fixed an LSP crash that could corrupt file content when saving with format-on-save enabled.

  • #​9538794f79c Thanks @​ematipico! - Fixed #​9279: The rule noSubstr now detects .substr() and .substring() calls in all expression contexts, including variable declarations, function arguments, return statements, and arrow function bodies.

  • #​9462c23272c Thanks @​ematipico! - Fixed #​9370: The resolver now correctly prioritizes more specific exports patterns over less specific ones. Previously, a pattern like "./*" could match before "./features/*", causing resolution failures for packages with overlapping subpath patterns.

  • #​9515f85c069 Thanks @​shivamtiwari3! - Fixed #​9506 and #​9479: Biome no longer reports false parse errors on <script type="speculationrules"> and <script type="application/ld+json"> tags. These script types contain non-JavaScript content and are now correctly skipped by the embedded language detector.

  • #​95147fe43c8 Thanks @​ematipico! - Fixed #​6964: Biome now correctly resolves the .gitignore file relative to vcs.root when configured. Previously, the vcs.root setting was ignored and Biome always looked for the ignore file in the workspace directory.

  • #​9521af39936 Thanks @​ematipico! - Fixed #​9483. Now the rule noRedeclare doesn't panic when it encounters constructor overloads.

  • #​949060cf024 Thanks @​willfarrell! - Added support for modern CSS properties, pseudo-classes, and pseudo-elements.

    New known properties: dynamic-range-limit, overlay, reading-flow, reading-order, scroll-marker-group, scroll-target-group.

    New pseudo-elements: ::checkmark, ::column, ::picker, ::picker-icon, ::scroll-button, ::scroll-marker, ::scroll-marker-group.

    New pseudo-classes: :active-view-transition-type, :has-slotted, :target-after, :target-before, :target-current.

  • #​95264d42823 Thanks @​ematipico! - Fixed #​9358 and #​9375. Now attributes that have text expressions such as class={buttonClass()} are correctly tracked in Svelte files.

  • #​952061f53ee Thanks @​ematipico! - Fixed #​9519. Now noUnusedVariables doesn't flag variables that are used as typeof type.

  • #​9487331dc0d Thanks @​mvanhorn! - Fixed #​9477: source.fixAll.biome no longer sorts imports when source.organizeImports.biome is disabled in editor settings. The organize imports action is now excluded from the fix-all pass unless explicitly requested.

  • #​9525e7b3b10 Thanks @​ViniciusDev26! - Added the rule noDrizzleDeleteWithoutWhere to prevent accidental full-table deletes when using Drizzle ORM without a .where() clause.

v2.4.7

Compare Source

Patch Changes
  • #​93183ac98eb Thanks @​ematipico! - Added new nursery lint rule useBaseline for CSS. The rule reports when CSS properties, property values, at-rules, media conditions, functions, or pseudo-selectors are not part of the configured Baseline tier.

    For example, at the time of writing, the rule will trigger for the use of accent-color because it has limited availability:

    a {
    accent-color: bar;
    }
  • #​92722de8362 Thanks @​terror! - Added the nursery rule useImportsFirst that enforces all import statements appear before any non-import statements in a module. Inspired by the eslint-plugin-import import/first rule.

    // Invalidimport{foo}from"foo";constbar=1;import{baz}from"baz";// ← flagged// Validimport{foo}from"foo";import{baz}from"baz";constbar=1;
  • #​928593ea495 Thanks @​dyc3! - Fixed noUndeclaredVariables from erroneously flagging props only used in the template section in Vue SFCs

  • #​94356c5a8f2 Thanks @​siketyan! - Fixed #​9432: Values referenced as a JSX element in Astro/Vue/Svelte templates are now correctly detected; noUnusedImports and useImportType rules no longer reports these values as false positives.

  • #​9362fc9ca4c Thanks @​Netail! - Extra rule source references. biome migrate eslint should do a bit better detecting rules in your eslint configurations.

  • #​9392b881fea Thanks @​g-ortuno! - Fixed biomejs/biome-vscode#959: LSP now correctly resolves project directory when configurationPath points to a configuration file outside the workspace.

  • #​9420a1c46af Thanks @​ematipico! - Fixed #​9385: noUselessEscapeInString no longer incorrectly flags valid CSS hex escapes (e.g. \e7bb) as useless. The rule now recognizes all hex digits (0-9, a-f, A-F) as valid escape characters in CSS strings.

  • #​9416f2581b8 Thanks @​ematipico! - Fixed #​9131, #​9112, #​9166: the formatter no longer crashes or produces corrupt output when a JS file with experimentalEmbeddedSnippetsEnabled contains non-embedded template literals alongside embedded ones (e.g. console.log(\test`)next tographql(`...`)`).

  • #​9344cb4d7d7 Thanks @​ematipico! - Fixed #​6921: noShadow no longer incorrectly flags destructured variable bindings in sibling scopes as shadowing. Object destructuring, array destructuring, nested patterns, and rest elements are now properly recognized as declarations.

  • #​9360bc5dd99 Thanks @​ematipico! - Fixed #​7125: The rule noShadow no longer incorrectly flags parameters in TypeScript constructor and method overload signatures.

  • #​937129cac17 Thanks @​ematipico! - Fixed #​5279: Tabs in diagnostic diff output are now rendered at a consistent width across context and changed lines, fixing visual misalignment when source files use tab indentation.

  • #​904361e2a02 Thanks @​dyc3! - Fixed #​8897: Biome now parses @utility names containing / when Tailwind directives are enabled.

  • #​9354930c858 Thanks @​denbezrukov! - Improved CSS parser recovery for invalid unicode-range values that mix wildcard ranges with range intervals. For example, Biome now reports clearer diagnostics for invalid syntax like:

    unicode-range: U+11???-2??;
    unicode-range: U+11???-;

    with diagnostics such as:

    × Wildcard ranges cannot be combined with a range interval.
    > unicode-range: U+11???-2??;
    ^
    × Expected a codepoint but instead found ';'.
    > unicode-range: U+11???-;
    ^
    
  • #​935578e74a2 Thanks @​SchahinRohani! - Fixed #​9349: Biome now correctly handles Vue dynamic :alt and v-bind:alt bindings in useAltText, preventing false positives in .vue files.

  • #​9369b309dde Thanks @​costajohnt! - Fixed #​9210: useAnchorContent no longer reports an accessibility error for Astro Image components inside links when they provide non-empty alt text.

  • #​934570c2d4e Thanks @​ematipico! - Fixed #​7214: useOptionalChain now detects optional chain patterns that don't start at the beginning of a logical AND expression. For example, bar && foo && foo.length is now correctly flagged and fixed to bar && foo?.length.

  • #​931178c4e9b Thanks @​ruidosujeira! - Fixed #​9245: the useSemanticElements rule no longer suggests <output> for role="status" and role="alert". The <output> element is only a relatedConcept of these roles, not a direct semantic equivalent. These roles are now excluded from suggestions, aligning with the intended behavior of the upstream prefer-tag-over-role rule.

  • #​9363b2ffb4a Thanks @​ematipico! - Fixed #​5212: useSemanticElements no longer reports a diagnostic when a semantic element already has its corresponding role attribute (e.g. <nav role="navigation">, <footer role="contentinfo">). These cases are now correctly left


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from c750def to 64ee0e9CompareAugust 10, 2025 18:07
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.1.3chore(deps): update dependency @biomejs/biome to v2.1.4Aug 10, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 64ee0e9 to 285627dCompareAugust 17, 2025 09:56
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.1.4chore(deps): update dependency @biomejs/biome to v2.2.0Aug 17, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 285627d to 7188559CompareAugust 26, 2025 12:59
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.2.0chore(deps): update dependency @biomejs/biome to v2.2.2Aug 26, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 7188559 to b10d082CompareSeptember 8, 2025 11:49
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.2.2chore(deps): update dependency @biomejs/biome to v2.2.3Sep 8, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from b10d082 to e294fbaCompareSeptember 13, 2025 23:10
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.2.3chore(deps): update dependency @biomejs/biome to v2.2.4Sep 13, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from e294fba to fcb0267CompareOctober 5, 2025 12:38
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.2.4chore(deps): update dependency @biomejs/biome to v2.2.5Oct 5, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from fcb0267 to 102990eCompareOctober 16, 2025 10:27
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.2.5chore(deps): update dependency @biomejs/biome to v2.2.6Oct 16, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 102990e to 67e39f3CompareOctober 25, 2025 10:30
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.2.6chore(deps): update dependency @biomejs/biome to v2.2.7Oct 25, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 67e39f3 to 15b5a4cCompareOctober 27, 2025 09:13
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.2.7chore(deps): update dependency @biomejs/biome to v2.3.0Oct 27, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 15b5a4c to 2c5cc64CompareOctober 29, 2025 23:13
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.0chore(deps): update dependency @biomejs/biome to v2.3.1Oct 29, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 2c5cc64 to 2fd48f5CompareOctober 31, 2025 20:06
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.1chore(deps): update dependency @biomejs/biome to v2.3.2Oct 31, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 2fd48f5 to 10c2cf8CompareNovember 6, 2025 12:36
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.2chore(deps): update dependency @biomejs/biome to v2.3.3Nov 6, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 10c2cf8 to 02e0dadCompareNovember 8, 2025 14:10
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.3chore(deps): update dependency @biomejs/biome to v2.3.4Nov 8, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 02e0dad to f2a6c58CompareNovember 14, 2025 19:35
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.4chore(deps): update dependency @biomejs/biome to v2.3.5Nov 14, 2025
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from f2a6c58 to ac2275dCompareNovember 20, 2025 12:31
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.5chore(deps): update dependency @biomejs/biome to v2.3.6Nov 20, 2025
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.11chore(deps): update dependency @biomejs/biome to v2.3.12Jan 26, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from aca8c5d to 55a14c4CompareJanuary 29, 2026 16:40
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.12chore(deps): update dependency @biomejs/biome to v2.3.13Jan 29, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 55a14c4 to 774d1f0CompareFebruary 6, 2026 18:08
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.13chore(deps): update dependency @biomejs/biome to v2.3.14Feb 6, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 774d1f0 to 1ca22fbCompareFebruary 15, 2026 13:30
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.14chore(deps): update dependency @biomejs/biome to v2.3.15Feb 15, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 1ca22fb to 7d45823CompareFebruary 19, 2026 08:01
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.3.15chore(deps): update dependency @biomejs/biome to v2.4.0Feb 19, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 7d45823 to ac436cdCompareFebruary 19, 2026 18:35
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.0chore(deps): update dependency @biomejs/biome to v2.4.1Feb 19, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from ac436cd to 60aa0a4CompareFebruary 20, 2026 01:39
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.1chore(deps): update dependency @biomejs/biome to v2.4.2Feb 20, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 60aa0a4 to d121495CompareFebruary 22, 2026 21:22
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.2chore(deps): update dependency @biomejs/biome to v2.4.3Feb 22, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from d121495 to 5ad8ca4CompareFebruary 24, 2026 00:57
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.3chore(deps): update dependency @biomejs/biome to v2.4.4Feb 24, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 5ad8ca4 to 29b8791CompareMarch 5, 2026 19:36
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.4chore(deps): update dependency @biomejs/biome to v2.4.5Mar 5, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 29b8791 to 8a65fc0CompareMarch 8, 2026 17:09
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.5chore(deps): update dependency @biomejs/biome to v2.4.6Mar 8, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 8a65fc0 to 5a4d7bbCompareMarch 16, 2026 21:23
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.6chore(deps): update dependency @biomejs/biome to v2.4.7Mar 16, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 5a4d7bb to b491150CompareMarch 21, 2026 17:39
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.7chore(deps): update dependency @biomejs/biome to v2.4.8Mar 21, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from b491150 to 9337341CompareMarch 28, 2026 13:27
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.8chore(deps): update dependency @biomejs/biome to v2.4.9Mar 28, 2026
@renovate
renovateBotforce-pushed the renovate/biomejs-biome-2.x branch from 9337341 to 7e0899fCompareApril 2, 2026 17:59
@renovaterenovateBot changed the title chore(deps): update dependency @biomejs/biome to v2.4.9chore(deps): update dependency @biomejs/biome to v2.4.10Apr 2, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants