Changelog

biomejs/biome · · 5 commits

Biome promotes 73 rules and fixes Vue/SCSS linting

Major rule promotion lands alongside Vue lint fixes and a SCSS formatter spacing overhaul.

Rule promotion v2.5 brings 73 nursery rules stable (ematipico6642895)

Biome moved 73 nursery rules into stable groups, including several renames such as noFloatingClassesnoUnusedInstantiation, useFinduseArrayFind, and useSpreaduseSpreadOverApply. This reshapes rule availability and defaults across the CLI and config surface, so it’s a significant release for users upgrading lint presets or rule names.

Added noRestrictedDependencies for banned package usage (Netail9a5855e)

A new nursery rule now flags restricted imports and package.json dependency entries using e18e’s module replacement data. That gives teams a way to steer away from deprecated or suboptimal packages directly in Biome linting.

useVueHyphenatedAttributes now stays inside Vue, skips SVG (dyc3a4a294c)

The rule was tightened so it only reports in Vue files and ignores SVG elements and descendants. This avoids false positives on real SVG markup while keeping the Vue-specific attribute style check intact.

useVueConsistentVBindStyle no longer flags argument-less v-bind (dyc372ccf3b)

Biome fixed a false positive where shorthand-style guidance was being applied to v-bind directives without arguments. Those directives can’t be converted to shorthand, so the rule now leaves them alone.

SCSS formatter now normalizes binary-expression spacing (denbezrukov03274b9)

The SCSS formatter was refactored to emit more consistent left <op> right spacing, replacing a lot of operator-specific special handling. This changes formatting output for several SCSS cases and reduces weird source-tight edge cases.

Other misc changes

  • Rule migration support updated for e18e/ban-dependencies
  • Configuration/generated rule tables refreshed for new and promoted rules
  • Minor test and snapshot updates across HTML, CSS, CLI, and lint specs