Update docusaurus monorepo to v3.10.1#32
Conversation
6ac586c to
0449ca0
Compare
0449ca0 to
5baf67b
Compare
There was a problem hiding this comment.
Summary
This PR updates the Docusaurus dependency lock files from v3.8.1 to v3.10.1. While this is primarily a dependency update managed by Renovate, there are several important considerations that need to be addressed before merging.
Verdict: Needs Changes - The Node.js engine requirement mismatch is blocking.
Research notes
- Docusaurus 3.9 Release Notes: Docusaurus 3.9+ dropped support for Node.js 18, requiring Node.js >=20.0. This is documented as a non-breaking change since Node 18 reached End-of-Life.
- Docusaurus 3.10 Release Notes: This is the last v3.x release, focused on v4 preparation with future flags. Key changes include stricter MDX syntax recommendations, storage API changes, and VCS API improvements.
- npm Security Best Practices: The Docusaurus team recommends using release cooldowns and security scanning for supply chain protection.
Suggested next steps
- Blocking: Update
package.jsonengines field to requirenode: ">=20.0"to match Docusaurus 3.10's actual requirements - Non-blocking: Consider updating admonition syntax in MDX files from
:::tip Titleto:::tip[Title]for better MDX v3 compatibility - Non-blocking: Verify the CI/CD pipeline runs on Node.js 20+ before merging
General findings
Lock File Pattern
This PR updates only lock files without changing package.json version constraints. The package.json specifies ^3.9.2 which correctly resolves to 3.10.1 per semver. However, consider whether you want to:
- Update package.json to explicitly target
^3.10.1for clarity - Or keep the current pattern where Renovate manages lock file updates independently
Future Flags Configuration
The docusaurus.config.ts already has future.v4: true enabled, which opts into all v4 breaking changes early. This is good for forward compatibility, but be aware that v3.10 introduces several v4 future flags:
future.v4.siteStorageNamespacing: May reset localStorage keysfuture.v4.fasterByDefault: Enables Docusaurus Faster (Rspack-based build)future.v4.mdx1CompatDisabledByDefault: Stricter MDX parsing
MDX Syntax Compatibility
The codebase uses the legacy admonition syntax (:::tip Title) which currently works but will require migration before v4. No HTML comments (<!-- -->) or legacy heading IDs ({#id}) were found, which is good.
General findings (auto-demoted from inline due to pre-validation)
- Blocking
package.json:49— Node.js version requirement mismatch.- (demoted: path "package.json" is not in the PR diff)
- Non-blocking
docs/3-inference-stack/index.mdx:22— Legacy admonition syntax detected.- (demoted: path "docs/3-inference-stack/index.mdx" is not in the PR diff)
- Non-blocking
docs/3-inference-stack/2-usage/2-ingress.mdx:42— Multiple instances of legacy admonition syntax in this file.- (demoted: path "docs/3-inference-stack/2-usage/2-ingress.mdx" is not in the PR diff)
- Nit
docusaurus.config.ts:12— Good to seefuture.v4: truealready enabled.- (demoted: path "docusaurus.config.ts" is not in the PR diff)
5baf67b to
fdd4734
Compare
There was a problem hiding this comment.
Summary
This PR upgrades Docusaurus from 3.9.2 to 3.10.1 (the final v3.x release) along with all transitive dependencies. The upgrade itself is straightforward, but there's a critical compatibility issue with the future.v4: true flag that will likely cause build failures.
Verdict: Needs changes before merge - The configuration enables v4 future flags, but the content uses deprecated MDX v1 syntax that will break with strict MDX parsing.
Research notes
- Docusaurus 3.10 Release Notes: This is the last v3.x release, designed to help teams prepare for v4
- Docusaurus 3.10.1 Patch: Fixes webpackbar bug from webpack breaking change
- Key changes in 3.10:
future.v4: trueenables all v4 preparation flags includingfuture.v4.mdx1CompatDisabledByDefault- MDX v3 doesn't support HTML comments
<!-- -->, only JSX comments{/* */} .mdfiles should be CommonMark,.mdxfiles should be MDX- Blog truncation should use
{/* truncate */}not<!-- truncate -->
Suggested next steps
-
Blocking: Either remove
future.v4: trueflag OR migrate all MDX content to strict syntax:- Rename
.mdfiles containing MDX (JSX elements, comments) to.mdx - Replace
<!-- truncate -->with{/* truncate */}in all blog posts (15 files affected)
- Rename
-
Recommended: Consider enabling future flags individually instead of all at once to better control the migration path
-
Test the build locally with
yarn buildornpm run buildafter making changes
General findings
Dependency Upgrade Scope
The upgrade affects:
- Docusaurus core packages: 3.9.2 → 3.10.1
- Algolia client libraries: 5.42.0 → 5.52.1 (multiple packages)
- Babel packages: Various updates to 7.29.x
- Security fixes: Multiple packages updated including
send,serve-handler,selfsigned(security improvements noted in release notes) - React 19 support: Already using React 19, compatible with Docusaurus 3.10
Positive aspects
- Lock files are properly updated for both npm and yarn
- No breaking API changes for the features currently in use
- Security improvements in transitive dependencies
- The site doesn't use problematic features like custom heading IDs or admonitions that would also need migration
General findings (auto-demoted from inline due to pre-validation)
- Blocking
docusaurus.config.ts:12— Enablingfuture.v4: trueactivatesfuture.v4.mdx1CompatDisabledByDefault, which disables MDX v1 compatibility mode. However, your content uses MDX v1 syntax that will break.- (demoted: path "docusaurus.config.ts" is not in the PR diff)
fdd4734 to
94908bc
Compare
There was a problem hiding this comment.
Summary
This PR updates the Docusaurus monorepo from v3.8.1 to v3.10.1 via Renovate. The update is primarily a dependency bump affecting package-lock.json and yarn.lock - no source code changes are included.
Verdict: Approved with Non-blocking observations - This is a routine dependency update that includes important security fixes, but there are a few items worth noting for the team's awareness.
Research notes
Fetched the official Docusaurus release notes:
- v3.10.1 (2026-04-30): Bug fix for webpackbar due to webpack breaking change (#11981)
- v3.10.0 (2026-04-07): Minor release with new features including MDX 1 compatibility flag, custom HTML elements in head tags, Rspack 1.7 upgrade, and various bug fixes
- v3.9.2 (2025-10-17): Bug fixes including CSS counter minification, Algolia AskAI validation, and theme translation improvements
Key transitive dependency security updates observed in the diff:
qs: 6.13.0 → 6.15.2 (Express.js query string parser - addresses prototype pollution vulnerabilities)path-to-regexp: 0.1.12 → 0.1.13 (Express path matching - ReDoS vulnerability fix)selfsigned: 2.4.1 → 5.5.0 (Major version jump, now uses@peculiar/x509andpkijsinstead ofnode-forge)send: 0.19.0 → 0.19.2 (Static asset serving - security hardening)serve-static: 1.16.2 → 1.16.3 (Static file serving)raw-body: 2.5.2 → 2.5.3 (HTTP request body parsing)express: implicitly updated through lockfile refresh
Suggested next steps
- Test the build locally - Run
yarn buildto ensure the Docusaurus build completes successfully with v3.10.1 - Verify the webpackbar fix - Since v3.10.1 specifically addresses a webpack breaking change, confirm dev server (
yarn start) works without errors - Check for visual regressions - The minor version bump (3.10.0) includes theme changes that could affect styling
General findings
No blocking issues identified. The dependency updates appear to be standard semver-compatible upgrades with security patches included.
94908bc to
a20a5ac
Compare
There was a problem hiding this comment.
Summary
This PR updates the Docusaurus monorepo from v3.9.2 to v3.10.1 via Renovate. The update includes:
- Docusaurus 3.10.0: Minor release with new features (MDX improvements, theme enhancements, Rspack upgrades, accessibility fixes)
- Docusaurus 3.10.1: Patch release fixing a webpackbar bug caused by a webpack breaking change
The package.json correctly uses ^3.9.2 semver range which allows the 3.10.x update. Only lock files (package-lock.json, yarn.lock) are modified.
Verdict: Ready to approve - this is a routine dependency update with no breaking changes for end users.
Research notes
- Docusaurus 3.10.1 release notes - Single bug fix for webpackbar in v3
- Docusaurus 3.10.0 release notes - Feature release with MDX improvements, theme enhancements, accessibility fixes, and Rspack 1.7 upgrade
- Notable transitive dependency updates include security-relevant packages (
qs6.13.0→6.15.2,path-to-regexp0.1.12→0.1.13,selfsigned2.x→5.x)
Suggested next steps
- Approve and merge - This is a safe, routine update
- After merging, verify the docs site builds correctly and run any visual regression tests if available
General findings
No issues found. This is a well-scoped Renovate PR that only updates lock files to match the allowed semver range in package.json. The transitive dependency updates appear to be standard maintenance updates including security patches.
This PR contains the following updates:
3.9.2→3.10.13.9.2→3.10.13.9.2→3.10.13.9.2→3.10.13.9.2→3.10.13.9.2→3.10.1Release Notes
facebook/docusaurus (@docusaurus/core)
v3.10.1Compare Source
🐛 Bug Fix
docusaurus-bundler🔧 Maintenance
docusaurusCommitters: 1
v3.10.0Compare Source
🚀 New Feature
docusaurus-types,docusaurusfuture.v4.mdx1CompatDisabledByDefaultflag (@slorber)siteConfig.storageto stable + addfuture.v4.siteStorageNamespacingflag [Claude] (@slorber)create-docusaurus.mdxextension and strict MDX syntax (@slorber)create-docusaurus,docusaurus-bundler,docusaurus-plugin-content-blog,docusaurus-plugin-content-docs,docusaurus-plugin-content-pages,docusaurus-plugin-pwa,docusaurus-types,docusaurusdocusaurus-mdx-loader,docusaurus-utils,docusauruswrite-heading-idsCLI now supports the--syntaxand--migrateoptions (@slorber)docusaurus-mdx-loaderheadingIdbased on MD/MDX comments (@slorber)docusaurus-theme-live-codeblock,docusaurus-theme-translationspositionprop (@NPX2218)docusaurus-theme-classic,docusaurus-theme-common<DocCard>, improve extensibility, better handling of emoji icons, stable classNames (@slorber)<Tabs>, allow custom<TabItem>components (@slorber)docusaurus-faster,docusaurusdocusaurus-plugin-content-pagesdocusaurus-mdx-loader,docusaurus-theme-classicdocusaurus-theme-classicdocusaurus-theme-search-algoliacreate-docusaurus,docusaurus-plugin-content-blog,docusaurus-plugin-content-docs,docusaurus-plugin-content-pages,docusaurus-plugin-sitemap,docusaurus-types,docusaurus-utils,docusaurusfuture.experimental_vcsAPI +future.experimental_faster.gitEagerVcsflag (@slorber)🐛 Bug Fix
docusaurusurl.resolve()Node.js deprecation warning (@slorber)write-heading-idsCLI when no files provided (@slorber)isInternalUrl(), URI protocol scheme detection should implement the spec more strictly (@slorber)docusaurus-faster,docusauruscreate-docusaurus,docusaurus-logger,docusaurus-plugin-content-blog,docusaurus-plugin-content-docs,docusaurus-plugin-google-gtag,docusaurus-plugin-pwa,docusaurusdocusaurus-utilsdocusaurus-theme-classicdocusaurus-plugin-content-docsdocusaurus-plugin-google-gtagdocusaurus-theme-search-algoliadocusaurus-plugin-content-blog/blog/authors/<author>/page/2(@slorber)blogListPaginatedattribute (@slorber)docusaurus-theme-classic,docusaurus-theme-commonuseKeyboardNavigationhook (@nmggithub)docusaurus-plugin-ideal-image<IdealImage>should forward remaining props to the underlying component (@tempoz)eslint-pluginno-untranslated-textrule options (@andreww2012)docusaurus-mdx-loaderdocusaurus-bundler,docusaurus-faster,docusaurus-theme-mermaid🏃♀️ Performance
docusaurus-plugin-content-blogcreate-docusaurus,docusaurus-utils,docusauruscreate-docusaurus📝 Documentation
docusaurus🤖 Dependencies
docusaurus-bundler,docusaurus-mdx-loader🔧 Maintenance
mdx1Compat.commentson our site (@slorber)git backfillcommand (@slorber)create-docusaurus,docusaurus-babel,docusaurus-bundler,docusaurus-cssnano-preset,docusaurus-faster,docusaurus-logger,docusaurus-mdx-loader,docusaurus-module-type-aliases,docusaurus-plugin-client-redirects,docusaurus-plugin-content-blog,docusaurus-plugin-content-docs,docusaurus-plugin-content-pages,docusaurus-plugin-css-cascade-layers,docusaurus-plugin-debug,docusaurus-plugin-google-analytics,docusaurus-plugin-google-gtag,docusaurus-plugin-google-tag-manager,docusaurus-plugin-ideal-image,docusaurus-plugin-pwa,docusaurus-plugin-rsdoctor,docusaurus-plugin-sitemap,docusaurus-plugin-svgr,docusaurus-plugin-vercel-analytics,docusaurus-preset-classic,docusaurus-remark-plugin-npm2yarn,docusaurus-theme-classic,docusaurus-theme-common,docusaurus-theme-live-codeblock,docusaurus-theme-mermaid,docusaurus-theme-search-algolia,docusaurus-theme-translations,docusaurus-tsconfig,docusaurus-types,docusaurus-utils-common,docusaurus-utils-validation,docusaurus-utils,docusaurus,eslint-plugin,lqip-loader,stylelint-copyrightdocusaurus-plugin-content-docs,docusaurus-plugin-ideal-image,docusaurus-theme-classic,docusaurus-theme-common,docusaurus-theme-mermaid,docusaurus-utils,docusaurusdocusaurus-cssnano-preset,docusaurus-logger,docusaurus-mdx-loader,docusaurus-plugin-client-redirects,docusaurus-plugin-content-blog,docusaurus-plugin-content-docs,docusaurus-plugin-content-pages,docusaurus-plugin-ideal-image,docusaurus-remark-plugin-npm2yarn,docusaurus-theme-classic,docusaurus-theme-common,docusaurus-utils-validation,docusaurus-utils,docusaurusdocusaurus-theme-classic,docusaurus-theme-common,docusaurusdocusaurus-babeldocusaurus-plugin-content-blog🌐 Translations
docusaurus-theme-translationsCommitters: 41
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.