Skip to content

feat(mantine): upgrade @mantine/core and @mantine/hooks to v9.0.2#2655

Open
nperez0111 wants to merge 2 commits intomainfrom
feat/mantine-v9-upgrade
Open

feat(mantine): upgrade @mantine/core and @mantine/hooks to v9.0.2#2655
nperez0111 wants to merge 2 commits intomainfrom
feat/mantine-v9-upgrade

Conversation

@nperez0111
Copy link
Copy Markdown
Contributor

@nperez0111 nperez0111 commented Apr 17, 2026

Summary

Upgrades the @blocknote/mantine peer dependencies from Mantine v8 to v9 (stable 9.0.2), following the official 8.x → 9.x migration guide.

Rationale

Mantine v9 is the current stable line and is required to stay on supported releases (bug fixes, security updates, compatibility with React 19.2+). v8 is no longer receiving non-critical fixes.

Changes

  • Bump @mantine/core and @mantine/hooks to ^9.0.2 across packages/mantine, playground, docs, tests/nextjs-test-app (both the tarball package.json and the setup.sh heredoc that regenerates it), and all 87 example package.json files.
  • Drop the unused @mantine/utils v6 peer dep (Mantine v9 no longer ships it).
  • Fix a Loader ref-type regression: v9's <MantineLoader> renders an <svg>, which broke the consumer-facing HTMLDivElement ref contract. SuggestionMenuLoader and GridSuggestionMenuLoader now wrap the Mantine Loader in a forwarded <div>.
  • Update the dev-scripts example template so regenerated example package.json files keep vite ^8.0.3 / @vitejs/plugin-react ^6.0.1 instead of downgrading on gen:examples.
  • Regenerate pnpm-lock.yaml.

Impact

  • @blocknote/mantine consumers on Mantine v8 will need to upgrade to v9 when they pick up this release. No other BlockNote APIs change.
  • The Loader wrapper introduces an extra <div> around the existing <svg> spinner inside the suggestion menus; no visual diff expected because the className and styles are preserved on the wrapper.

Testing

  • pnpm install — clean (no new unmet peer warnings caused by this change).
  • pnpm run build — all 18 projects build successfully, including @blocknote/mantine.
  • pnpm run test — all suites pass except a known-flaky packages/core performance test (performance.test.ts) that times out under CPU contention during parallel test runs; it passes standalone and is not a migration regression.
  • Dev build to be verified locally by the author.

Checklist

  • Code follows the project's coding standards.
  • All existing tests pass (modulo the pre-existing flaky perf test noted above).
  • Unit tests covering the new feature have been added. (n/a — version bump)
  • The documentation has been updated to reflect the new feature. (n/a — no API changes)

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores

    • Upgraded Mantine packages to v9.0.2 across the project and examples.
    • Removed the now-unused Mantine utils dependency.
    • Tightened React peer requirement to ^19.2.0.
  • Bug Fixes

    • Adjusted loader rendering to ensure consistent styling and placement in UI components.

Upgrades the @blocknote/mantine peer dependencies from Mantine v8 to v9
following the official 8.x → 9.x migration guide.

- Bump @mantine/core, @mantine/hooks to ^9.0.2 across all packages,
  examples, playground, docs, tests/nextjs-test-app and the example
  template in dev-scripts
- Drop unused @mantine/utils v6 dependency
- Fix Loader ref-type regression: v9's Mantine Loader renders as an
  <svg>, so wrap it in a forwarded <div> in SuggestionMenuLoader and
  GridSuggestionMenuLoader to preserve the HTMLDivElement ref contract
- Update template vite to ^8.0.3 / @vitejs/plugin-react to ^6.0.1 so
  regenerated examples no longer downgrade vite on gen:examples

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blocknote Ready Ready Preview Apr 17, 2026 10:31am
blocknote-website Ready Ready Preview Apr 17, 2026 10:31am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 17, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 364fbb7b-e1d2-4de4-8260-52504a2f2c09

📥 Commits

Reviewing files that changed from the base of the PR and between b33f8bd and afa6eb6.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (28)
  • docs/package.json
  • examples/03-ui-components/03-formatting-toolbar-block-type-items/.bnexample.json
  • examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json
  • examples/06-custom-schema/01-alert-block/.bnexample.json
  • examples/06-custom-schema/01-alert-block/package.json
  • examples/06-custom-schema/04-pdf-file-block/.bnexample.json
  • examples/06-custom-schema/04-pdf-file-block/package.json
  • examples/06-custom-schema/05-alert-block-full-ux/.bnexample.json
  • examples/06-custom-schema/05-alert-block-full-ux/package.json
  • examples/07-collaboration/05-comments/.bnexample.json
  • examples/07-collaboration/05-comments/package.json
  • examples/07-collaboration/06-comments-with-sidebar/.bnexample.json
  • examples/07-collaboration/06-comments-with-sidebar/package.json
  • examples/09-ai/01-minimal/.bnexample.json
  • examples/09-ai/01-minimal/package.json
  • examples/09-ai/02-playground/.bnexample.json
  • examples/09-ai/02-playground/package.json
  • examples/09-ai/03-custom-ai-menu-items/.bnexample.json
  • examples/09-ai/03-custom-ai-menu-items/package.json
  • examples/09-ai/04-with-collaboration/.bnexample.json
  • examples/09-ai/04-with-collaboration/package.json
  • examples/09-ai/05-manual-execution/.bnexample.json
  • examples/09-ai/05-manual-execution/package.json
  • examples/09-ai/06-client-side-transport/.bnexample.json
  • examples/09-ai/06-client-side-transport/package.json
  • examples/09-ai/07-server-persistence/.bnexample.json
  • examples/09-ai/07-server-persistence/package.json
  • playground/src/examples.gen.tsx
✅ Files skipped from review due to trivial changes (25)
  • examples/09-ai/01-minimal/.bnexample.json
  • examples/07-collaboration/06-comments-with-sidebar/.bnexample.json
  • examples/06-custom-schema/04-pdf-file-block/.bnexample.json
  • examples/07-collaboration/05-comments/.bnexample.json
  • examples/09-ai/02-playground/.bnexample.json
  • examples/09-ai/03-custom-ai-menu-items/.bnexample.json
  • examples/09-ai/06-client-side-transport/.bnexample.json
  • examples/09-ai/04-with-collaboration/package.json
  • examples/06-custom-schema/01-alert-block/.bnexample.json
  • examples/09-ai/05-manual-execution/.bnexample.json
  • examples/03-ui-components/03-formatting-toolbar-block-type-items/.bnexample.json
  • examples/09-ai/07-server-persistence/.bnexample.json
  • examples/06-custom-schema/05-alert-block-full-ux/package.json
  • examples/09-ai/01-minimal/package.json
  • examples/09-ai/02-playground/package.json
  • examples/09-ai/03-custom-ai-menu-items/package.json
  • examples/09-ai/04-with-collaboration/.bnexample.json
  • examples/06-custom-schema/01-alert-block/package.json
  • examples/09-ai/07-server-persistence/package.json
  • docs/package.json
  • examples/07-collaboration/05-comments/package.json
  • examples/06-custom-schema/05-alert-block-full-ux/.bnexample.json
  • examples/07-collaboration/06-comments-with-sidebar/package.json
  • examples/09-ai/06-client-side-transport/package.json
  • examples/06-custom-schema/04-pdf-file-block/package.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • examples/09-ai/05-manual-execution/package.json
  • examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json

📝 Walkthrough

Walkthrough

Updated Mantine packages across examples, playground, templates, and package manifests to ^9.0.2, removed @mantine/utils from manifests, tightened Mantine package React peer deps to ^19.2.0, and wrapped Mantine Loader elements in container divs in two loader components.

Changes

Cohort / File(s) Summary
Docs & top-level example manifest
docs/package.json
Bumped @mantine/core/@mantine/hooks^9.0.2; removed @mantine/utils.
Examples (many)
examples/.../package.json (all example package.json files), examples/.../.bnexample.json
Bumped @mantine/core/@mantine/hooks^9.0.2; removed @mantine/utils in each manifest and updated embedded example dependency strings.
Playground & generated examples
playground/package.json, playground/src/examples.gen.tsx
Updated Mantine versions in playground and generated example configs to ^9.0.2.
Template
packages/dev-scripts/examples/template-react/package.json.template.tsx
Bumped Mantine core/hooks → ^9.0.2, removed @mantine/utils; updated Vite/tooling version pins.
Mantine package manifest
packages/mantine/package.json
Updated peerDependencies: @mantine/core/@mantine/hooks^9.0.2, removed @mantine/utils; tightened react and react-dom peer range to ^19.2.0.
Loader components
packages/mantine/src/suggestionMenu/SuggestionMenuLoader.tsx, packages/mantine/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx
Wrap Mantine Loader in an outer <div> that receives className, ref, and layout/style (gridColumn), while inner Loader keeps type="dots"/size.
Tests / test app
tests/nextjs-test-app/package.json, tests/nextjs-test-app/setup.sh
Bumped Mantine to ^9.0.2; updated local tarball versions from 0.48.00.48.1 in test app manifest.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Possibly related PRs

Poem

🐰
Mantine hopped up to nine tonight,
Utils tucked away out of sight,
Loaders snug in divs that glow,
Examples updated row by row,
I nibble changes — tidy and bright! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat(mantine): upgrade @mantine/core and @mantine/hooks to v9.0.2' accurately captures the main change—a dependency version upgrade. It is concise, specific, and clearly summarizes the primary modification across the codebase.
Description check ✅ Passed The PR description is comprehensive and well-structured, covering Summary, Rationale, Changes, Impact, Testing, and a completed Checklist. All required template sections are present with meaningful content, and the description thoroughly documents the upgrade work, technical decisions, and testing results.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/mantine-v9-upgrade

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 15

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/package.json`:
- Around line 42-43: Update the docs package dependency for "@mantine/core" to
match the bumped hooks version: change the "@mantine/core" entry in
docs/package.json from "^8.3.11" to "^9.0.2" so both "@mantine/core" and
"@mantine/hooks" use Mantine v9 and avoid peer dependency/version mismatch with
"@blocknote/mantine".

In
`@examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json`:
- Around line 19-20: The package.json currently mixes Mantine major versions:
"@mantine/hooks" is bumped to ^9.0.2 while "@mantine/core" remains ^8.3.11;
update the "@mantine/core" dependency to the matching Mantine v9 range (e.g.,
^9.0.0 or ^9.0.2 to match "@mantine/hooks"), then reinstall dependencies and run
the example build/test to ensure no breaking API changes; adjust any
import/usage in the example code if v9 API differences surface (look for usages
in the example referencing Mantine components/hooks).

In `@examples/06-custom-schema/01-alert-block/package.json`:
- Around line 19-20: Update the mismatched Mantine dependency in package.json by
bumping "@mantine/core" to the same major version as "@mantine/hooks" (v9) so
both dependencies align; locate the entries for "@mantine/core" and
"@mantine/hooks" and change the "@mantine/core" version from "^8.3.11" to the
matching "^9.0.x" range consistent with the PR (ensuring compatibility with
`@blocknote/mantine`).

In `@examples/06-custom-schema/04-pdf-file-block/package.json`:
- Around line 19-20: The package.json currently pins "@mantine/hooks" to
"^9.0.2" but leaves "@mantine/core" at "^8.3.11"; update the dependency entry
for "@mantine/core" to "^9.0.2" so core and hooks versions match (this prevents
duplicate packages/type/runtime mismatches with `@blocknote/mantine` v9). Locate
the "@mantine/core" string in package.json and change its version value to
"^9.0.2", then run install and quick type/build check to ensure no other
mismatches remain.

In `@examples/06-custom-schema/05-alert-block-full-ux/package.json`:
- Around line 19-20: The package.json has a Mantine version mismatch:
"@mantine/hooks" is bumped to ^9.0.2 while "@mantine/core" remains at ^8.3.11;
update the "@mantine/core" dependency to a v9-compatible range (e.g., ^9.x) to
match "@mantine/hooks" and the rest of the PR (and ensure compatibility with
"@blocknote/mantine" which peers on Mantine v9), then run install/lockfile
update to verify no peer conflicts.

In `@examples/07-collaboration/05-comments/package.json`:
- Around line 19-20: Update package.json so Mantine major versions are
consistent: change the `@mantine/core` dependency from ^8.3.11 to ^9.0.2 to match
`@mantine/hooks`. Edit the dependencies entry for "@mantine/core" in package.json
so both "@mantine/core" and "@mantine/hooks" use ^9.0.2.

In `@examples/07-collaboration/06-comments-with-sidebar/package.json`:
- Around line 19-20: Update the Mantine dependency versions so they use the same
major release: change "@mantine/core" to the v9 series to match "@mantine/hooks"
(e.g., set "@mantine/core": "^9.0.0" or the same careted version as
"@mantine/hooks"), ensuring both "@mantine/core" and "@mantine/hooks" are on
major version 9 to avoid incompatible hook/core APIs and peer dependency
warnings (also re-run install to verify no peer conflicts with
"@blocknote/mantine").

In `@examples/09-ai/01-minimal/package.json`:
- Around line 19-20: Update the mismatched Mantine dependency versions: change
the "@mantine/core" entry to the same version used for "@mantine/hooks" (bump
"@mantine/core" from "^8.3.11" to "^9.0.2") so both "@mantine/core" and
"@mantine/hooks" are on v9 and match the rest of the PR and peer deps; locate
and edit the package.json dependencies section where the "@mantine/core" and
"@mantine/hooks" keys appear and make the version numbers consistent.

In `@examples/09-ai/02-playground/package.json`:
- Around line 19-20: The package.json shows a Mantine version mismatch: update
"@mantine/core" to the same major version as "@mantine/hooks" (e.g., "^9.0.2")
to avoid peer dependency/runtime issues; ensure any other Mantine packages in
package.json share the same major version, then reinstall (npm/yarn/pnpm) and
commit the updated lockfile so the project dependencies are consistent.

In `@examples/09-ai/03-custom-ai-menu-items/package.json`:
- Around line 19-20: Multiple example package.json files have a mismatched
Mantine major version ( "@mantine/core": "^8.3.11" vs "@mantine/hooks": "^9.0.2"
) due to examples not being regenerated from the updated template; run the repo
script gen:examples to regenerate all examples (or manually update the 26
affected package.json files) so both dependencies are aligned to Mantine v9,
ensuring the template package.json.template.tsx changes are propagated; verify
updates by checking each example's package.json for matching major versions of
`@mantine/core` and `@mantine/hooks` and commit the regenerated files.

In `@examples/09-ai/04-with-collaboration/package.json`:
- Line 20: The package.json has mismatched Mantine versions: "@mantine/core" is
at v8 while "@mantine/hooks" is at v9; update the dependency entry for
"@mantine/core" to the v9 version to match "@mantine/hooks" (align both
"@mantine/core" and "@mantine/hooks" to v9) so the Mantine core and hooks
versions are consistent across the project.

In `@examples/09-ai/05-manual-execution/package.json`:
- Around line 19-20: The package.json has a Mantine major-version mismatch: keep
`@mantine/core` in sync with `@mantine/hooks` by updating the "@mantine/core"
dependency from "^8.3.11" to a matching major (e.g., "^9.0.2"), then reinstall
to update lockfile; ensure both "@mantine/core" and "@mantine/hooks" have the
same major version to avoid peer dependency/runtime issues.

In `@examples/09-ai/06-client-side-transport/package.json`:
- Around line 19-20: The package.json in this example has a Mantine version
mismatch: "@mantine/core" is still "^8.3.11" while "@mantine/hooks" is "^9.0.2";
update "@mantine/core" to "^9.0.2" so both Mantine packages share the same major
version required by `@blocknote/mantine` and other examples, ensuring
compatibility; locate the dependency entries for "@mantine/core" and
"@mantine/hooks" in package.json and change the core version to "^9.0.2", then
reinstall/update lockfile.

In `@examples/09-ai/07-server-persistence/package.json`:
- Line 20: The package.json shows a Mantine major-version mismatch:
"@mantine/hooks" is v9 while "@mantine/core" remains v8; update the
"@mantine/core" dependency to the matching v9 major (e.g., "^9.x") so both
packages use Mantine v9. Search other example package.json files that reference
"@mantine/core" and "@mantine/hooks" (e.g., examples under examples/09-ai/* and
the listed examples) and apply the same change to keep versions consistent
across the repo.

In `@packages/mantine/package.json`:
- Around line 82-87: The peerDependencies change in package.json narrows React
to "^19.2.0" and `@mantine/core` to "^9.0.2", which drops React 18 and will warn
for Mantine 9.0.0/9.0.1 users; update the release notes/changelog to explicitly
state the new minimum React requirement (React 19.2+) and rationale, and
consider loosening the `@mantine/core` peer range (e.g., to "^9.0.0") unless a
9.0.2-specific fix is required—locate the peerDeps block in package.json (keys:
"peerDependencies", "@mantine/core", "react") and either adjust the version
range or add a clear changelog entry describing the breaking peer change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: de39c271-697b-48e7-bea4-daceafcec430

📥 Commits

Reviewing files that changed from the base of the PR and between cb51b28 and b33f8bd.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (94)
  • docs/package.json
  • examples/01-basic/01-minimal/package.json
  • examples/01-basic/02-block-objects/package.json
  • examples/01-basic/03-multi-column/package.json
  • examples/01-basic/04-default-blocks/package.json
  • examples/01-basic/05-removing-default-blocks/package.json
  • examples/01-basic/06-block-manipulation/package.json
  • examples/01-basic/07-selection-blocks/package.json
  • examples/01-basic/08-ariakit/package.json
  • examples/01-basic/09-shadcn/package.json
  • examples/01-basic/10-localization/package.json
  • examples/01-basic/11-custom-placeholder/package.json
  • examples/01-basic/12-multi-editor/package.json
  • examples/01-basic/13-custom-paste-handler/package.json
  • examples/01-basic/14-editor-scrollable/package.json
  • examples/01-basic/15-shadowdom/package.json
  • examples/01-basic/16-read-only-editor/package.json
  • examples/01-basic/testing/package.json
  • examples/02-backend/01-file-uploading/package.json
  • examples/02-backend/02-saving-loading/package.json
  • examples/02-backend/03-s3/package.json
  • examples/02-backend/04-rendering-static-documents/package.json
  • examples/03-ui-components/01-ui-elements-remove/package.json
  • examples/03-ui-components/02-formatting-toolbar-buttons/package.json
  • examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json
  • examples/03-ui-components/04-side-menu-buttons/package.json
  • examples/03-ui-components/05-side-menu-drag-handle-items/package.json
  • examples/03-ui-components/06-suggestion-menus-slash-menu-items/package.json
  • examples/03-ui-components/07-suggestion-menus-slash-menu-component/package.json
  • examples/03-ui-components/08-suggestion-menus-emoji-picker-columns/package.json
  • examples/03-ui-components/09-suggestion-menus-emoji-picker-component/package.json
  • examples/03-ui-components/10-suggestion-menus-grid-mentions/package.json
  • examples/03-ui-components/11-uppy-file-panel/package.json
  • examples/03-ui-components/12-static-formatting-toolbar/package.json
  • examples/03-ui-components/13-custom-ui/package.json
  • examples/03-ui-components/14-experimental-mobile-formatting-toolbar/package.json
  • examples/03-ui-components/15-advanced-tables/package.json
  • examples/03-ui-components/16-link-toolbar-buttons/package.json
  • examples/03-ui-components/17-advanced-tables-2/package.json
  • examples/03-ui-components/18-drag-n-drop/package.json
  • examples/04-theming/01-theming-dom-attributes/package.json
  • examples/04-theming/02-changing-font/package.json
  • examples/04-theming/03-theming-css/package.json
  • examples/04-theming/04-theming-css-variables/package.json
  • examples/04-theming/05-theming-css-variables-code/package.json
  • examples/04-theming/06-code-block/package.json
  • examples/04-theming/07-custom-code-block/package.json
  • examples/05-interoperability/01-converting-blocks-to-html/package.json
  • examples/05-interoperability/02-converting-blocks-from-html/package.json
  • examples/05-interoperability/03-converting-blocks-to-md/package.json
  • examples/05-interoperability/04-converting-blocks-from-md/package.json
  • examples/05-interoperability/05-converting-blocks-to-pdf/package.json
  • examples/05-interoperability/06-converting-blocks-to-docx/package.json
  • examples/05-interoperability/07-converting-blocks-to-odt/package.json
  • examples/05-interoperability/08-converting-blocks-to-react-email/package.json
  • examples/05-interoperability/09-blocks-to-html-static-render/package.json
  • examples/05-interoperability/10-static-html-render/package.json
  • examples/06-custom-schema/01-alert-block/package.json
  • examples/06-custom-schema/02-suggestion-menus-mentions/package.json
  • examples/06-custom-schema/03-font-style/package.json
  • examples/06-custom-schema/04-pdf-file-block/package.json
  • examples/06-custom-schema/05-alert-block-full-ux/package.json
  • examples/06-custom-schema/06-toggleable-blocks/package.json
  • examples/06-custom-schema/07-configuring-blocks/package.json
  • examples/06-custom-schema/draggable-inline-content/package.json
  • examples/06-custom-schema/react-custom-blocks/package.json
  • examples/06-custom-schema/react-custom-inline-content/package.json
  • examples/06-custom-schema/react-custom-styles/package.json
  • examples/07-collaboration/01-partykit/package.json
  • examples/07-collaboration/02-liveblocks/package.json
  • examples/07-collaboration/03-y-sweet/package.json
  • examples/07-collaboration/04-electric-sql/package.json
  • examples/07-collaboration/05-comments/package.json
  • examples/07-collaboration/06-comments-with-sidebar/package.json
  • examples/07-collaboration/07-ghost-writer/package.json
  • examples/07-collaboration/08-forking/package.json
  • examples/08-extensions/01-tiptap-arrow-conversion/package.json
  • examples/09-ai/01-minimal/package.json
  • examples/09-ai/02-playground/package.json
  • examples/09-ai/03-custom-ai-menu-items/package.json
  • examples/09-ai/04-with-collaboration/package.json
  • examples/09-ai/05-manual-execution/package.json
  • examples/09-ai/06-client-side-transport/package.json
  • examples/09-ai/07-server-persistence/package.json
  • examples/vanilla-js/react-vanilla-custom-blocks/package.json
  • examples/vanilla-js/react-vanilla-custom-inline-content/package.json
  • examples/vanilla-js/react-vanilla-custom-styles/package.json
  • packages/dev-scripts/examples/template-react/package.json.template.tsx
  • packages/mantine/package.json
  • packages/mantine/src/suggestionMenu/SuggestionMenuLoader.tsx
  • packages/mantine/src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx
  • playground/package.json
  • tests/nextjs-test-app/package.json
  • tests/nextjs-test-app/setup.sh

Comment thread docs/package.json Outdated
Comment thread examples/03-ui-components/03-formatting-toolbar-block-type-items/package.json Outdated
Comment thread examples/06-custom-schema/01-alert-block/package.json Outdated
Comment thread examples/06-custom-schema/04-pdf-file-block/package.json Outdated
Comment thread examples/06-custom-schema/05-alert-block-full-ux/package.json Outdated
Comment thread examples/09-ai/04-with-collaboration/package.json
Comment thread examples/09-ai/05-manual-execution/package.json Outdated
Comment thread examples/09-ai/06-client-side-transport/package.json Outdated
Comment thread examples/09-ai/07-server-persistence/package.json
Comment on lines 82 to 87
"peerDependencies": {
"@mantine/core": "^8.3.11",
"@mantine/hooks": "^8.3.11",
"@mantine/utils": "^6.0.22",
"react": "^18.0 || ^19.0 || >= 19.0.0-rc",
"react-dom": "^18.0 || ^19.0 || >= 19.0.0-rc"
"@mantine/core": "^9.0.2",
"@mantine/hooks": "^9.0.2",
"react": "^19.2.0",
"react-dom": "^19.2.0"
},
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Breaking peer change: React 18 support dropped — ensure it's documented in release notes.

The React peer was broadened previously to cover 18/19; tightening to ^19.2.0 removes React 18 (and React 19.0/19.1) support for @blocknote/mantine consumers. The PR description only highlights the Mantine v8→v9 bump — please also call out the React 19.2+ requirement in the changelog/release notes so downstream users aren't surprised by a peer-dep failure.

Separately, pinning the Mantine peer to ^9.0.2 rather than ^9.0.0 will emit peer-dep warnings for anyone on Mantine 9.0.0/9.0.1 even though they're API-compatible. Consider loosening unless 9.0.2 is specifically required:

♻️ Suggested loosening of peer ranges
   "peerDependencies": {
-    "@mantine/core": "^9.0.2",
-    "@mantine/hooks": "^9.0.2",
-    "react": "^19.2.0",
-    "react-dom": "^19.2.0"
+    "@mantine/core": "^9.0.0",
+    "@mantine/hooks": "^9.0.0",
+    "react": "^19.2.0",
+    "react-dom": "^19.2.0"
   }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"peerDependencies": {
"@mantine/core": "^8.3.11",
"@mantine/hooks": "^8.3.11",
"@mantine/utils": "^6.0.22",
"react": "^18.0 || ^19.0 || >= 19.0.0-rc",
"react-dom": "^18.0 || ^19.0 || >= 19.0.0-rc"
"@mantine/core": "^9.0.2",
"@mantine/hooks": "^9.0.2",
"react": "^19.2.0",
"react-dom": "^19.2.0"
},
"peerDependencies": {
"@mantine/core": "^9.0.0",
"@mantine/hooks": "^9.0.0",
"react": "^19.2.0",
"react-dom": "^19.2.0"
},
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/mantine/package.json` around lines 82 - 87, The peerDependencies
change in package.json narrows React to "^19.2.0" and `@mantine/core` to "^9.0.2",
which drops React 18 and will warn for Mantine 9.0.0/9.0.1 users; update the
release notes/changelog to explicitly state the new minimum React requirement
(React 19.2+) and rationale, and consider loosening the `@mantine/core` peer range
(e.g., to "^9.0.0") unless a 9.0.2-specific fix is required—locate the peerDeps
block in package.json (keys: "peerDependencies", "@mantine/core", "react") and
either adjust the version range or add a clear changelog entry describing the
breaking peer change.

Several example .bnexample.json files and docs/package.json had pinned
@mantine/core to ^8.3.11 as a per-project override, which escaped the
prior sweep and left core v8 mixed with hooks v9. This produced
peer-dep warnings and broke CI's frozen-lockfile install.

Bumps @mantine/core to ^9.0.2 in:
- docs/package.json
- 13 .bnexample.json files (09-ai/*, 07-collaboration/05-06,
  06-custom-schema/01,04,05, 03-ui-components/03)

Regenerates affected example package.json files and playground
examples.gen.tsx via pnpm gen:examples, and re-syncs pnpm-lock.yaml.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 17, 2026

Open in StackBlitz

@blocknote/ariakit

npm i https://pkg.pr.new/@blocknote/ariakit@2655

@blocknote/code-block

npm i https://pkg.pr.new/@blocknote/code-block@2655

@blocknote/core

npm i https://pkg.pr.new/@blocknote/core@2655

@blocknote/mantine

npm i https://pkg.pr.new/@blocknote/mantine@2655

@blocknote/react

npm i https://pkg.pr.new/@blocknote/react@2655

@blocknote/server-util

npm i https://pkg.pr.new/@blocknote/server-util@2655

@blocknote/shadcn

npm i https://pkg.pr.new/@blocknote/shadcn@2655

@blocknote/xl-ai

npm i https://pkg.pr.new/@blocknote/xl-ai@2655

@blocknote/xl-docx-exporter

npm i https://pkg.pr.new/@blocknote/xl-docx-exporter@2655

@blocknote/xl-email-exporter

npm i https://pkg.pr.new/@blocknote/xl-email-exporter@2655

@blocknote/xl-multi-column

npm i https://pkg.pr.new/@blocknote/xl-multi-column@2655

@blocknote/xl-odt-exporter

npm i https://pkg.pr.new/@blocknote/xl-odt-exporter@2655

@blocknote/xl-pdf-exporter

npm i https://pkg.pr.new/@blocknote/xl-pdf-exporter@2655

commit: afa6eb6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant