Biome @biomejs/[email protected]. Source highlight: Added the new nursery rule `noConsoleSpaces`, which reports a leading or trailing space in a `console.log()`, `console.debug()`, `console.info()`, `console.warn()`, or `console.error()` argument that sits next to another argument. These methods already put a space between arguments, so such a space
Biome @biomejs/[email protected]. Source highlight: Added the new nursery rule `noArraySortForMinMax`, which reports sorting an array only to read its smallest or largest value. Use `Math.min()` or `Math.max()` instead.
Biome @biomejs/[email protected]. Source highlight: Added a `--git` flag to `biome init`. The flag enables Git VCS integration and sets `vcs.useIgnoreFile` to `true` in the generated configuration, even when the command runs outside a Git repository.
Biome @biomejs/[email protected]. Source highlight: Added the new nursery rule `noReactObjectTypeAsDefaultProp`, which disallows array, object, and function values as default props in React components.
Biome @biomejs/[email protected]. Source highlight: Added the nursery rule `noReturnInFinally`. This rule disallows return statements in `Promise.prototype.finally()` callbacks, including inside nested blocks and conditional branches. Returns in nested functions are ignored by the rule.
Biome @biomejs/[email protected]. Source highlight: Added the nursery rule `useLayeredStyles`, which enforces that style rules are defined within a cascade layer and import rules to import its styles into a cascade layer.
Biome @biomejs/[email protected]. Source highlight: Fixed Astro attribute expressions rejecting TypeScript and JSX syntax that is accepted in text expressions.
Biome @biomejs/[email protected]. Source highlight: Fixed #11315: The CSS parser now recovers at declaration boundaries after bogus declarations, allowing subsequent valid declarations to be parsed.
Biome @biomejs/[email protected]. Source highlight: Added a new nursery rule `useReactCompiler`, which reports diagnostics from React Compiler lint mode.
Biome @biomejs/[email protected]. Source highlight: Added the option `ignoreIfStatements` to useNullishCoalescing. Biome now flags `if` statements that only assign to a nullish variable (such as `if (!a) { a = b }`) and can rewrite them to `??=`. When enabled, Biome ignores those `if` statements.
Biome @biomejs/[email protected]. Source highlight: Fixed a performance regression in `noMisusedPromises` that caused type inference to run repeatedly while linting a file.
Biome @biomejs/[email protected]. Source highlight: Fixed `useExhaustiveSwitchCases` for unions of bigint literals. The rule now reports missing bigint cases and compares bigint literals by value, including binary, octal, hexadecimal, and separator-containing spellings. For example, this switch now reports the missing `2n` case:
Biome @biomejs/[email protected]. Source highlight: Fixed a parser panic reported in #10708: Biome now recovers when unsupported CSS Modules `@value` rules or scoped `@keyframes` names end at EOF.
Biome @biomejs/[email protected]. Source highlight: Added the option `ignoreBooleanCoercion` to useNullishCoalescing. When enabled, Biome ignores `||` and `||=` used inside a `Boolean()` call, where coalescing on falsy values is intentional.
Biome @biomejs/[email protected]. Source highlight: Added a new reporter called `concise`. When `--reporter=concise` is passed the commands `format`, `lint`, `check` and `ci`, the diagnostics are printed in a compact manner:
Biome @biomejs/[email protected]. Source highlight: Added the nursery rule `useTestHooksInOrder` in the `test` domain. The rule enforces that Jest/Vitest lifecycle hooks (`beforeAll`, `beforeEach`, `afterEach`, `afterAll`) are declared in the order they execute, making test setup and teardown easier to reason about.
Biome @biomejs/[email protected]. Source highlight: Added the nursery rule `useTestHooksOnTop` in the `test` domain. The rule flags lifecycle hooks (`beforeEach`, `beforeAll`, `afterEach`, `afterAll`) that appear after test cases in the same block, enforcing that hooks are defined before any test case.
Biome @biomejs/[email protected]. Source highlight: Added the nursery rule `noUnnecessaryTemplateExpression`, which disallows template literals that only contain string literal expressions. These can be replaced with a simpler string literal.
Biome @biomejs/[email protected]. Source highlight: Added the `nursery/noIdenticalTestTitle` lint rule. This rule disallows using the same title for two `describe` blocks or two test cases at the same nesting level.
Biome @biomejs/[email protected]. Source highlight: 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.
Biome @biomejs/[email protected]. Source highlight: Added a new nursery CSS rule `noDuplicateSelectors`, that disallows duplicate selector lists within the same at-rule context.
Biome @biomejs/[email protected]. Source highlight: 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.
Biome @biomejs/[email protected]. Source highlight: 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.
Biome @biomejs/[email protected]. Source highlight: Fixed #4946: `noUnreachable` no longer reports code inside `finally` blocks as unreachable when there is a `break`, `continue`, or `return` in the corresponding `try` body.
Biome @biomejs/[email protected]. Source highlight: Fixed #9052. This PR reverts changes introduced by https://github.com/biomejs/biome/pull/8519, which caused unwanted changes on how paths are resolved.
Biome @biomejs/[email protected]. Source highlight: Added the lint rule `noNestedPromises`. This rule detects nested `.then()` or `.catch()` calls that could be refactored into flat promise chains.
Biome @biomejs/[email protected]. Source highlight: Fixed #8759: The `useConsistentTypeDefinitions` rule no longer converts empty object type declarations into interfaces, as it will conflict with the `noEmptyInterface` rule and can cause an infinite loop when both rules are enabled.
Biome @biomejs/[email protected]. Source highlight: Improved `useVueValidVOn` to be more closely aligned with the source rule. It will now properly allow modifiers for all possible keyboard events. It should have better performance when there are no violations of the rule as well.
Biome @biomejs/[email protected]. Source highlight: Fixed #7999: Correctly place `await` after leading comment in auto-fix action from `noFloatingPromises` rule.
Biome @biomejs/[email protected]. Source highlight: Added the nursery rule `useFind`. Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result.
Biome @biomejs/[email protected]. Source highlight: Added support Svelte syntax `{@html}`. Biome now is able to parse and format the Svelte syntax `{@html}`:
Biome @biomejs/[email protected]. Source highlight: 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 = "//";`.
Biome @biomejs/[email protected]. Source highlight: Fixed #7839. Now the Biome parser correctly parses the Astro frontmatter even when a triple fence is inside quotes.