# Biome @biomejs/biome@2.3.14 — Release & Upgrade Intelligence
- **Product:** Biome (https://biomejs.dev)
- **Version:** @biomejs/biome@2.3.14
- **Released:** Feb 03, 2026
- **Impact Score:** 5/10
- **Breaking Changes:** Not verified
- **Canonical Analysis:** https://changelogs.us/biome/updates/biomejs-biome-2.3.14/

## Executive Summary (TL;DR)
Biome @biomejs/biome@2.3.14. 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.

## New Features
- Added the nursery rule `useInputName`. Require mutation arguments to be called “input”, and the input type to be called Mutation name + “Input”.
- feat(graphql_analyze): implement useInputName
- feat(lint/css): add `noHexColors`
- feat(lint/css): add `noDeprecatedMediaType`
- feat(migrate): more unsupported rule metadata for better clarity
- feat(analyze/js/vue): add `noVueArrowFuncInWatch`

## Improvements
- Improved the summary provided by `biome migrate eslint` to be clearer on why rules were not migrated. Biome now specifies a reason when a rule is not migrated, such as being incompatible with the formatter or not implemented yet. This helps users make more informed decisions when migrating their ESLint configurations to Biome.

## Bug Fixes
- 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.
- Added the nursery rule `useGlobalThis`. This rule enforces using `globalThis` over `window`, `self` and `global`.
- Added the new nursery rule `noVueArrowFuncInWatch`. This rule forbids using arrow functions in watchers in Vue components, because arrow functions do not give access to the component instance (via `this`), while regular functions do.
- Fixed #8428: Improved parsing recovery when encountering qualified rules inside CSS `@page` at-rule blocks.
- Fixed #8802: `useExhaustiveDependencies` now correctly suggests dependencies without including callback-scoped variables or method names.
- Fixed #8363: HTML parser no longer crashes when encountering a `<` character followed by a digit in text content (e.g., `<12 months`). The parser now correctly emits an "Unescaped `<` bracket character" error instead of treating `<12` as a tag name and crashing.

## Upgrade Command
```bash
npm install --save-dev --save-exact @biomejs/biome@2.3.14
```
