Should I upgrade to Mantine 7 to 8 Global Styles Import now?

Decide whether to upgrade to Mantine 8 now that global style imports changed, with risk concentrated in shared app shells and internal component libraries.

Defer the Mantine 8 upgrade unless you can enforce one root `@mantine/core/styles.css` import across every shared shell and library consumer.

Blockers

Who this is for

Candidates

Upgrade to Mantine 8 now, but standardize all shared entrypoints on @mantine/core/styles.css

Mantine 8.0.0 was released on May 5, 2025, and Mantine docs list v8.3.0 in the changelog as of 2026-04-08. The core blocker is that the old separate import `@mantine/core/styles/global.css` no longer includes all global styles in 8.x. Mantine's 7.x to 8.x migration guide says `@mantine/core/styles.css` still works unchanged in both 7.x and 8.x because it already includes the new split files. This is the lowest-risk upgrade path when shared shells or internal libraries currently centralize Mantine CSS setup.

When to choose

Use this when you want the 7.x to 8.x upgrade without expanding the migration scope into per-component CSS ordering work. It is the best choice when multiple apps consume a shared shell and you can enforce one root Mantine CSS import contract.

Tradeoffs

Pros: smallest migration surface for the global-styles break, preserves compatibility across shared packages, and avoids manual import ordering for baseline/global CSS. Cons: you do not get the size/control benefits of granular CSS imports, and you still need to review other 8.x breaking changes like Portal behavior and @mantine/dates callback value changes.

Cautions

Do not leave any package depending on `@mantine/core/styles/global.css` alone after the upgrade; Mantine says that import no longer includes all required global styles in 8.x. If you later switch to granular CSS files, Mantine docs require importing global styles before other component CSS and keeping component import order correct.

Defer the Mantine 8 upgrade until all shared shells and internal libraries are audited for separate global.css imports

Mantine docs list v7.17.0 as the latest 7.x release and v8.3.0 as the latest 8.x release visible in the changelog as of 2026-04-08. The 7.x to 8.x migration guide explicitly calls out `@mantine/core/styles/global.css` as a breaking import because 8.x split global styles into `baseline.css`, `default-css-variables.css`, and `global.css`. If your monorepo has multiple internal packages, storybooks, test apps, or app shells with their own Mantine bootstrapping, deferring lets you inventory those imports first instead of accepting cross-app styling regressions.

When to choose

Use this when your risk is concentrated in shared layout packages, white-label shells, or library consumers you cannot update atomically. The decisive factor is whether you can prove all Mantine CSS enters through a single controlled root import.

Tradeoffs

Pros: avoids silent visual regressions from incomplete global CSS, gives time to audit import topology, and reduces emergency fixes across downstream apps. Cons: you stay on 7.x longer and postpone any 8.x adoption work.

Cautions

This is only a short-term holding pattern, not a cleaned-up end state. The audit should specifically search for `@mantine/core/styles/global.css` and any granular component CSS usage that depends on import order.

Skip Mantine 8 and move straight to Mantine 9 only if React 19.2+ is already in scope

Mantine 9.0.0 was released on March 31, 2026, and Mantine says 9.x requires React 19.2 or later as of 2026-04-08. The 8.x to 9.x migration guide says teams that cannot move to React 19.2+ yet should continue using Mantine 8.x. That means a direct 7.x to 9.x jump only makes sense if your React baseline is already being raised and you are willing to absorb both the 7.x to 8.x CSS import change and the 9.x API changes in one program.

When to choose

Use this when a broader platform upgrade already includes React 19.2+ and you want to avoid doing two Mantine major migrations close together. The decisive factor is whether React 19.2 adoption is already approved, funded, and scheduled.

Tradeoffs

Pros: avoids landing on an intermediate major, aligns with the current Mantine major, and may reduce repeated migration churn. Cons: significantly larger blast radius than a focused 7.x to 8.x move, with additional 9.x API changes beyond the CSS import issue.

Cautions

Do not choose this path just to avoid the 8.x import change; 9.x adds its own migration work and hard React 19.2+ prerequisite. If React 19.2 is not already planned, Mantine's own guidance points you to 8.x instead.

Facts updated: 2026-04-08
Published: 2026-04-08

Try with your AI agent

$ npm install -g pocketlantern
$ pocketlantern init
# Restart Claude Code, Cursor, or your MCP client, then ask:
# "Should I upgrade to Mantine 7 to 8 Global Styles Import now?"
Missing something? Request coverage