# Biome @biomejs/biome@2.0.0 — Release & Upgrade Intelligence
- **Product:** Biome (https://biomejs.dev)
- **Version:** @biomejs/biome@2.0.0
- **Released:** Jun 17, 2025
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/biome/updates/biomejs-biome-2.0.0/

## Executive Summary (TL;DR)
Biome @biomejs/biome@2.0.0. Source highlight: Biome now resolves globs and paths from the configuration. Before, paths and globs were resolved from the working directory.

## Breaking Changes & Deprecations
- Breaking Change: The option `deniedGlobals` is now a record instead of an array. Run `biome migrate` to migrate the configuration automatically.
- - Reworked some recommended rules recommended to be less pedantic and blocking. This is a **breaking change** if your project relied on those rules to block the CI in case of violations; if that's the case, you should raise their severity level to **error**.
- This prevents breaking the override of certain keys using spread keys.
- ℹ Stylistic rules that the formatter may support (manual migration required):

## New Features
- We added the pattern `**` in `files.includes` to ensure that all files are included before ignoring some of them.
- We added the prefix `**/` for patterns that must match at any level of the file hierarchy.
- The Biome formatter no longer adds a trailing comma in `.json` files, even when `json.formatter.trailingCommas` is set to `true`.
- Prettier 3.4 introduced a change in their normalization process of string literals: it no longer unescapes useless escape sequences.
- `quickfix.suppressRule.inline.biome`: a code action that adds a suppression comment for each violation.
- `quickfix.suppressRule.topLevel.biome`: a code action that adds a suppression comment at the top of the file which suppresses a rule for the whole file.

## Improvements
- performance/noNamespaceImport
- performance/noDynamicNamespaceImportAccess
- performance/noImgElement
- Enhanced the command `migrate eslint`. Now the command shows which ESLint rules were migrated,

## Bug Fixes
- Downgraded some code fixes to unsafe which were previously safe.
- Fixed #5564. `noTypeOnlyImportAttributes` now ignores files ending with the extension `.ts` when the type field of `package.json` is set to `commonjs`.
- Fixed #5495: The rule
- Fixed #4545: `useNamingConvention` now correctly ignores declarations inside TypeScript's external modules.
- Fixed #3574: `noUnusedImports` now reports empty named imports and suggests their removal.
- Fixed #3401: `noUnusedImports` now keeps comments separated from the import with a blank line.

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