<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7" -->

---
title: Biome v2.5—500 Lint Rules, Plugin Code Fix, and...
description: Biome v2.5 has been released, surpassing 500 lint rules with 73 nursery rules promoted to stable. Key highlights include two new cross-language lint rules...
canonical: https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting | daily.dev
og:description: Biome v2.5 has been released, surpassing 500 lint rules with 73 nursery rules promoted to stable. Key highlights include two new cross-language lint rules...
og:url: https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7
og:image: https://api.daily.dev/og/posts/Akdrer8h7.png
og:image:alt: Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting

**[Biome Blog](https://daily.dev/sources/biome)** · 10 min read · 50 upvotes · 2 comments

## Summary

Biome v2.5 has been released, surpassing 500 lint rules with 73 nursery rules promoted to stable. Key highlights include two new cross-language lint rules (noUndeclaredClasses and noUnusedClasses) that leverage the module graph to detect CSS class mismatches across HTML/JSX/CSS files, a noRestrictedDependencies rule based on the e18e initiative, and GritQL plugin improvements including path-specific plugin application and code fix support. The release also adds a new delimiterSpacing formatter option for accessibility, a --watch mode for lint/format/check commands, go-to definition support in the language server, a linter preset option replacing the deprecated recommended flag, a biome upgrade command, a concise reporter for AI coding agents, and ~13% performance improvements. SVG file support, pnpm catalog resolution, and new sorting assist actions for package.json and other file types are also included.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://biomejs.dev/blog/biome-v2-5>

## Questions this post answers

### What new lint rules does Biome 2.5 add for CSS class usage?

Biome 2.5 introduces two nursery rules, noUnusedClasses and noUndeclaredClasses, that use Biome's module graph for cross-file analysis. noUnusedClasses flags CSS classes not referenced in any HTML-ish or JSX files, while noUndeclaredClasses flags class or className attributes not defined in any CSS file or style tag, and it also detects the :global() pseudo-selector.

_Track new Biome linting capabilities like these on daily.dev before adopting them in a project._

### Can Biome plugins apply automatic code fixes in version 2.5?

Yes, as of Biome 2.5, GritQL plugins can declare a code fix using the => symbol combined with the register_diagnostic function's new fix_kind option. Fixes default to "unsafe" and only apply with --write --unsafe, but can be marked "safe" to apply with a plain --write.

_Developers evaluating linter plugin capabilities can follow releases like this one on daily.dev._

### How much faster is Biome's lint and check command in version 2.5?

Biome's lint and check commands are about 13% faster in version 2.5 compared to the prior release. This release also adds SVG file linting and formatting support alongside the performance improvement.

_Keep tabs on tooling performance gains like Biome's on daily.dev when comparing linters._

## Community discussion

Top comments from developers on daily.dev.

**@yaireo** · 0 upvotes

> I ❤️Biome

**@brunodebrito** · 0 upvotes

> ![GIF](https://static.klipy.com/ii/e293a233a303a98e471f78d04e13a1b0/ae/df/TqaLifUP.gif)

## Similar posts on daily.dev

- [Pre-commit Hooks 15× Faster \(Biome vs ESLint Case Study\) : fireup.pro](https://daily.dev/posts/pre-commit-hooks-15-faster-biome-vs-eslint-case-study-fireup-pro-fsuvxtmdx) · FireUp · 1 upvotes · 0 comments
- [ESLint v10: Flat Config Completion and JSX Tracking](https://daily.dev/posts/eslint-v10-flat-config-completion-and-jsx-tracking-muqydccwu) · InfoQ · 0 upvotes · 0 comments
- [Prettier 3.7: Improved formatting consistency and new plugin features\! · Prettier](https://daily.dev/posts/prettier-3-7-improved-formatting-consistency-and-new-plugin-features-prettier-dirzsvngi) · Prettier · 90 upvotes · 0 comments
- [Ultracite: Opinionated, zero-config code linter and formatter](https://daily.dev/posts/ultracite-opinionated-zero-config-code-linter-and-formatter-ywsplmmxb) · Product Hunt · 24 upvotes · 1 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#rust](https://daily.dev/tags/rust)

[View this post on daily.dev](https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting","url":"https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7"},"datePublished":"2026-07-26T07:48:45.884Z","dateModified":"2026-09-14T08:03:40.762Z","description":"Biome v2.5 has been released, surpassing 500 lint rules with 73 nursery rules promoted to stable. Key highlights include two new cross-language lint rules...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b51b91175098f13fdb13880fe2b1526f?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b51b91175098f13fdb13880fe2b1526f?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Biome Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Biome Blog","logo":"https://media.daily.dev/image/upload/s--mumfBqIJ--/f_auto,q_auto/v1785052097/logos/biome?_a=BAMAMicg0","url":"https://daily.dev/sources/biome"},"commentCount":2,"discussionUrl":"https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":50},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":2}],"keywords":"javascript,rust","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Biome Blog","item":"https://daily.dev/sources/biome"},{"@type":"ListItem","position":3,"name":"Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7","comment":[{"@type":"Comment","text":"I ❤️Biome","datePublished":"2026-07-27T16:20:30.223Z","url":"https://daily.dev/posts/Akdrer8h7#c-hgLMhNSwO","author":{"@type":"Person","name":"Yair Even Or","url":"https://daily.dev/yaireo","image":"https://avatars.githubusercontent.com/u/845031?v=4"}},{"@type":"Comment","text":"","datePublished":"2026-07-28T11:59:17.815Z","url":"https://daily.dev/posts/Akdrer8h7#c-vYCCICZWF","author":{"@type":"Person","name":"Bruno de Brito","url":"https://daily.dev/brunodebrito","image":"https://avatars.githubusercontent.com/u/3311001?v=4"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-akdrer8h7#faq","mainEntity":[{"@type":"Question","name":"What new lint rules does Biome 2.5 add for CSS class usage?","acceptedAnswer":{"@type":"Answer","text":"Biome 2.5 introduces two nursery rules, noUnusedClasses and noUndeclaredClasses, that use Biome's module graph for cross-file analysis. noUnusedClasses flags CSS classes not referenced in any HTML-ish or JSX files, while noUndeclaredClasses flags class or className attributes not defined in any CSS file or style tag, and it also detects the :global() pseudo-selector. Track new Biome linting capabilities like these on daily.dev before adopting them in a project."}},{"@type":"Question","name":"Can Biome plugins apply automatic code fixes in version 2.5?","acceptedAnswer":{"@type":"Answer","text":"Yes, as of Biome 2.5, GritQL plugins can declare a code fix using the => symbol combined with the register_diagnostic function's new fix_kind option. Fixes default to \"unsafe\" and only apply with --write --unsafe, but can be marked \"safe\" to apply with a plain --write. Developers evaluating linter plugin capabilities can follow releases like this one on daily.dev."}},{"@type":"Question","name":"How much faster is Biome's lint and check command in version 2.5?","acceptedAnswer":{"@type":"Answer","text":"Biome's lint and check commands are about 13% faster in version 2.5 compared to the prior release. This release also adds SVG file linting and formatting support alongside the performance improvement. Keep tabs on tooling performance gains like Biome's on daily.dev when comparing linters."}}]}
```

