github biomejs/biome @biomejs/biome@2.3.2
Biome CLI v2.3.2

one day ago

2.3.2

Patch Changes

  • #7859 c600618 Thanks @Netail! - Added the nursery rule noIncrementDecrement, disallows the usage of the unary operators ++ and --.

  • #7901 0d17b05 Thanks @ematipico! - Fixed #7837, where Biome couldn't properly parse text expressions that contained nested curly brackets. This was breaking parsing in Astro and Svelte files.

  • #7874 e617d36 Thanks @Bertie690! - Fixed #7230: noUselessStringConcat no longer emits false positives for multi-line strings with leading + operators.

    Previously, the rule did not check for leading newlines on the + operator, emitting false positives if one occurred at the start of a line.
    Notably, formatting with operatorLinebreak="before" would move the + operators to the start of lines automatically, resulting in spurious errors whenever a multi-line string was used.

    Now, the rule correctly detects and ignores multi-line concatenations with leading operators as well, working regardless of the setting of operatorLinebreak.

    Example

    // The following code used to error if the `+` operators were at the start of lines (as opposed to the end).
    // Now, the rule correctly recognizes this as a stylistic concatenation and ignores it.
    const reallyLongStringThatShouldNotError =
      "Lorem ipsum dolor sit amet consectetur adipiscing elit." +
      "Quisque faucibus ex sapien vitae pellentesque sem placerat." +
      "In id cursus mi pretium tellus duis convallis." +
      "Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla";
  • #7786 33ffcd5 Thanks @daivinhtran! - Fixed #7601: Properly match Grit plugin's code snippet with only one child.

  • #7901 0d17b05 Thanks @ematipico! - Fixed #7837, where Biome Language Server panicked when opening HTML-ish files when the experimental full support is enabled.

What's Changed

  • fix(lint): noUselessStringConcat now correctly detects leading concatenation operators from operatorLinebreak=before by @Bertie690 in #7874
  • chore(deps): update rust crate globset to 0.4.18 by @renovate[bot] in #7883
  • chore(deps): update rust crate ignore to 0.4.24 by @renovate[bot] in #7884
  • chore(deps): update rust crate proc-macro2 to 1.0.103 by @renovate[bot] in #7885
  • chore(deps): update rust crate tikv-jemallocator to 0.6.1 by @renovate[bot] in #7886
  • fix(lint): extend matcher for GritCodeSnippet to cover edge case by @daivinhtran in #7786
  • feat(js): update Boa to v0.21.0 by @Gumichocopengin8 in #7888
  • chore(deps): update dependency eslint to v9.38.0 by @renovate[bot] in #7890
  • chore(deps): update rust crate indexmap to 2.12.0 by @renovate[bot] in #7891
  • chore(deps): update github-actions - autoclosed by @renovate[bot] in #7892
  • chore(deps): update rust crate rayon to 1.11.0 by @renovate[bot] in #7894
  • chore(deps): update rust crate regex to 1.12.2 by @renovate[bot] in #7895
  • chore(deps): update rust crate tokio to 1.48.0 by @renovate[bot] in #7896
  • fix(core): text expression parsing and LSP file opening by @ematipico in #7901
  • feat(lint): implement noIncrementDecrement by @Netail in #7859
  • ci: release by @github-actions[bot] in #7887

Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.3.1...@biomejs/biome@2.3.2

Don't miss a new biome release

NewReleases is sending notifications on new releases.