Skip to content

Conversation

@renovate
Copy link

@renovate renovate bot commented Nov 3, 2025

This PR contains the following updates:

Package Change Age Confidence
@biomejs/biome (source) 2.3.2 -> 2.3.5 age confidence
@biomejs/biome (source) 2.3.2 -> 2.3.5 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.3.5

Compare Source

Patch Changes
  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@​html}. Biome now is able to parse and format the Svelte syntax {@​html}:

    -{@​html   'div'}
    +{@​html 'div'}

    The contents of the expressions inside the {@&#8203;html <expression>} aren't formatted yet.

  • #​8058 5f68bcc Thanks @​ematipico! - Fixed a bug where the Biome Language Server would enable its project file watcher even when no project rules were enabled.

    Now the watching of nested configuration files and nested ignore files is delegated to the editor, if their LSP spec supports it.

  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@&#8203;render}. Biome now is able to parse and format the Svelte syntax {@&#8203;render}:

    -{@&#8203;render   sum(1, 2)   }
    +{@&#8203;render sum(1, 2)}

    The contents of the expressions inside the {@&#8203;render <expression>} aren't formatted yet.

  • #​8006 f0612a5 Thanks @​Bertie690! - Updated documentation and diagnostic for lint/complexity/noBannedTypes. The rule should have a more detailed description and diagnostic error message.

  • #​8039 da70d8b Thanks @​PFiS1737! - Biome now keeps a blank line after the frontmatter section in Astro files.

  • #​8042 b7efa6f Thanks @​dyc3! - The CSS Parser, with tailwindDirectives enabled, will now accept at rules like @media and @supports in @custom-variant shorthand syntax.

  • #​8064 3ff9d45 Thanks @​dibashthapa! - Fixed #​7967: Fixed the issue with support for advanced SVG props

  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@&#8203;attach}. Biome now is able to parse and format the Svelte syntax {@&#8203;attach}:

    -<div {@&#8203;attach    myAttachment   }>...</div>
    +<div {@&#8203;attach myAttachment}>...</div>

    The contents of the expressions inside the {@&#8203;attach <expression>} aren't formatted yet.

  • #​8001 6e8a50e Thanks @​ematipico! - Added support Svelte syntax {#key}. Biome now is able to parse and format the Svelte syntax {#key}:

    -{#key   expression} <div></div> {/key}
    +{#key expression}
    +  <div></div>
    +{/key}

    The contents of the expressions inside the {#key <expression>} aren't formatted yet.

  • #​8023 96f3e77 Thanks @​ematipico! - Added support Svelte syntax {@&#8203;const}. Biome now is able to parse and format the Svelte syntax {@&#8203;const}:

    -{@&#8203;const   name = value}
    +{@&#8203;const name = value}

    The contents of the expressions inside the {@&#8203;const <expression>} aren't formatted yet.

  • #​8044 8f77d4a Thanks @​Netail! - Corrected rule source references. biome migrate eslint should do a bit better detecting rules in your eslint configurations.

  • #​8065 1a2d1af Thanks @​Netail! - Added the nursery rule useArraySortCompare. Require Array#sort and Array#toSorted calls to always provide a compareFunction.

    Invalid:

    const array = [];
    array.sort();

    Valid:

    const array = [];
    array.sort((a, b) => a - b);
  • #​7673 a3a713d Thanks @​dyc3! - The HTML parser is now able to parse vue directives. This enables us to write/port Vue lint rules that require inspecting the <template> section. However, this more complex parsing may result in parsing errors where there was none before. For those of you that have opted in to the experimental support (aka experimentalFullSupportEnabled), we greatly appreciate your help testing this out, and your bug reports.

  • #​8031 fa6798a Thanks @​ematipico! - Added support for the Svelte syntax {#if}{/if}. The Biome HTML parser is now able to parse and format the {#if}{/if} blocks:

    <!-- if / else-if / else -->
    {#if porridge.temperature > 100}
    -<p>too hot!</p>
    +  <p>too hot!</p>
    {:else if 80 > porridge.temperature}
    -<p>too cold!</p>
    +  <p>too cold!</p>
    {:else if 100 > porridge.temperature}
    -<p>too too cold!</p>
    +  <p>too too cold!</p>
    {:else}
    -<p>just right!</p>
    +  <p>just right!</p>
    {/if}
  • #​8041 beeb7bb Thanks @​dyc3! - The CSS parser, with tailwindDirectives enabled, will now accept lists of selectors in @custom-variant shorthand syntax.

    @&#8203;custom-variant cell (th:has(&), td:has(&));
  • #​8028 c09e45c Thanks @​fmajestic! - The GitLab reporter now outputs format errors.

  • #​8037 78011b1 Thanks @​PFiS1737! - indentScriptAndStyle no longer indents the frontmatter in Astro files.

  • #​8009 6374b1f Thanks @​tmcw! - Fixed an edge case in the useArrowFunction rule.

    The rule no longer emits diagnostics for or offers to fix functions that reference
    the arguments object,
    because that object is undefined for arrow functions.

    Valid example:

    // Valid: this function cannot be transformed into an arrow function because
    // arguments is not defined for arrow functions.
    const getFirstArg = function () {
      return arguments[0];
    };

v2.3.4

Compare Source

Patch Changes
  • #​7989 4855c4a Thanks @​alissonlauffer! - Fixed a regression in Astro frontmatter parsing where comments inside quoted strings were incorrectly detected as actual comments. This caused the parser to prematurely terminate frontmatter parsing when encountering strings like const test = "//";.
    For example, the following Astro frontmatter now parses correctly:

    ---
    const test = "// not a real comment";
    ---
  • #​7968 0b28f5f Thanks @​denbezrukov! - Refactored formatter to use strict Token element for better performance. The new Token variant is optimized for static, ASCII-only text (keywords, operators, punctuation) with the following constraints:

    • ASCII only (no Unicode characters)
    • No newlines (\n, \r)
    • No tab characters (\t)

    This enables faster printing and fitting logic by using bulk string operations (push_str, len()) instead of character-by-character iteration with Unicode width calculations.

  • #​7941 19b8280 Thanks @​Conaclos! - Fixed #​7943. Rules' options are now properly merged with the inherited options from a shared configuration.

    This means that you can now override a specific option from a rule without resetting the other options to their default.

    Given the following shared configuration:

    {
      "linter": {
        "rules": {
          "style": {
            "useNamingConvention": {
              "level": "on",
              "options": {
                "strictCase": false,
                "conventions": [
                  {
                    "selector": { "kind": "variable", "scope": "global" },
                    "formats": ["CONSTANT_CASE"]
                  }
                ]
              }
            }
          }
        }
      }
    }

    And the user configuration that extends this shared configuration:

    {
      "extends": ["shared.json"],
      "linter": {
        "rules": {
          "style": {
            "useNamingConvention": {
              "level": "on",
              "options": { "strictCase": true }
            }
          }
        }
      }
    }

    The obtained merged configuration is now as follows:

    {
      "extends": ["shared.json"],
      "linter": {
        "rules": {
          "style": {
            "useNamingConvention": {
              "level": "on",
              "options": {
                "strictCase": true,
                "conventions": [
                  {
                    "selector": { "kind": "variable", "scope": "global" },
                    "formats": ["CONSTANT_CASE"]
                  }
                ]
              }
            }
          }
        }
      }
    }
  • #​7969 425963d Thanks @​ematipico! - Added support for the Svelte syntax {@&#8203;debug}. The Biome HTML parser is now able to parse and format the blocks:

    -{@&#8203;debug     foo,bar,    something}
    +{@&#8203;debug foo, bar, something}
  • #​7986 3256f82 Thanks @​lisiur! - Fixed #​7981. Now Biome correctly detects and parses lang='tsx' and lang='jsx' languages when used inside in .vue files, when .experimentalFullSupportEnabled is enabled.

  • #​7921 547c2da Thanks @​dyc3! - Fixed #​7854: The CSS parser, with tailwindDirectives enabled, will now parse @source inline("underline");.

  • #​7856 c9e20c3 Thanks @​Netail! - Added the nursery rule noContinue. Disallowing the usage of the continue statement, structured control flow statements such as if should be used instead.

    Invalid:

    let sum = 0,
      i;
    
    for (i = 0; i < 10; i++) {
      if (i >= 5) {
        continue;
      }
    
      sum += i;
    }

    Valid:

    let sum = 0,
      i;
    
    for (i = 0; i < 10; i++) {
      if (i < 5) {
        sum += i;
      }
    }

v2.3.3

Compare Source

Patch Changes

Configuration

📅 Schedule: 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 is behind base branch, 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.

@changeset-bot
Copy link

changeset-bot bot commented Nov 3, 2025

⚠️ No Changeset found

Latest commit: f77c641

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@renovate renovate bot force-pushed the renovate/biomejs-biome-2.x branch from 84cc964 to ca9c252 Compare November 5, 2025 14:51
@renovate renovate bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.3 chore(deps): update dependency @biomejs/biome to v2.3.4 Nov 5, 2025
@renovate renovate bot force-pushed the renovate/biomejs-biome-2.x branch from ca9c252 to aa2a714 Compare November 9, 2025 11:47
@renovate renovate bot changed the title chore(deps): update dependency @biomejs/biome to v2.3.4 chore(deps): update dependency @biomejs/biome to v2.3.5 Nov 12, 2025
@renovate renovate bot force-pushed the renovate/biomejs-biome-2.x branch from aa2a714 to c6ddac9 Compare November 12, 2025 20:16
@renovate renovate bot force-pushed the renovate/biomejs-biome-2.x branch from c6ddac9 to f77c641 Compare November 12, 2025 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant