apps/public-docsite-v9/src/Concepts/PackageMaturityLevels.mdx
import { Meta } from '@storybook/addon-docs/blocks';
<Meta title="Concepts/Package Maturity Levels" />This document explains the different maturity levels of Fluent UI v9 packages to help you make informed decisions about which components to use in your applications.
Fluent UI v9 packages are categorized into four main maturity levels that indicate their stability and readiness for production use:
Characteristics:
9.x.x@fluentui/react-components suite@fluentui/react-<name>Examples: @fluentui/react-button, @fluentui/react-text
Import path: @fluentui/react-components
When to use: For all production applications where stability and long-term support are important.
Characteristics:
0.x.x (Note: translates to 0.major.(minor|patch))@fluentui/react-components suite@fluentui/react-<name>-preview (with -preview suffix)Examples: @fluentui/react-nav-preview
Import path: @fluentui/react-<name>-preview
When to use: When you need early access to new functionality and can tolerate potential breaking changes during updates.
💡 Legacy Exemptions:
Some packages don't follow the preview naming convention but are still considered preview status, as they were created before the preview phase was introduced:
@fluentui/themeCharacteristics:
0.x.x (Note: translates to 0.major.(minor|patch))@fluentui/react-components suite@fluentui/react-<name>-compat (with -compat suffix)Examples: @fluentui/react-datepicker-compat, @fluentui/react-calendar-compat
Import path: @fluentui/react-<name>-compat
When to use: During migration from v8 to v9 when native v9 equivalents aren't available, or when you need time to gradually migrate complex implementations.
Migration strategy: Plan to migrate to native v9 components as they become available and stable.
Characteristics:
9.0.0-alpha.x or 9.0.0-beta.x)@fluentui/react-components/unstable@fluentui/react-<name>Examples: @fluentui/react-alert, @fluentui/react-infobutton
Import path: @fluentui/react-components/unstable (⚠️ Note: The /unstable API is deprecated)
When to use: Not recommended for new development. Migrate to stable alternatives immediately.
Migration Guide:
| Deprecated Package | Stable Alternative |
|---|---|
| `@fluentui/react-alert` | `@fluentui/react-components` (`Toast`, `MessageBar`) |
| `@fluentui/react-infobutton` | `@fluentui/react-components` (`InfoLabel`) |
Migration strategy: Migrate to stable alternatives as soon as possible. Deprecated packages may not receive updates or security fixes.
| Maturity Level | Version Format | Production Ready | Breaking Changes | Import Source |
|---|---|---|---|---|
| 🟢 Stable | `9.x.x` | ✅ Yes | ❌ No | `@fluentui/react-components` |
| 🟡 Preview | `0.x.x` | ⚠️ Use with caution | ✅ Possible | `@fluentui/react--preview` |
| 🔵 Compat | `0.x.x` | ⚠️ Migration only | ✅ Possible | `@fluentui/react--compat` |
| 🔴 Deprecated | various | ❌ No | N/A | `@fluentui/react-components/unstable` |