Written by
Fuma Nama
At
Wed Oct 22 2025
Fumadocs v16
Better framework support, better performance.
Overview
We are pleased to announce the release of Fumadocs v16, a significant update that introduces breaking changes designed to refine our API surface, improve compatibility with Vite frameworks, and boost overall performance.
Major Changes
Fumadocs 16 removed substantial amount of deprecated APIs accumulated since v15.2 Vite support.
-
Removal of the Sidebar API: The
fumadocs-core/sidebarmodule has been deprecated and removed. For sidebar implementations, we recommend adopting pre-built solutions from Shadcn UI. -
Restructuring of Server-Side Exports: Exports from
fumadocs-core/serverhave been redistributed to more specialized modules:getGithubLastEdit->fumadocs-core/content/github.getTableOfContents->fumadocs-core/content/toc.PageTreeand related utilities ->fumadocs-core/page-tree.TOCItemTypeandTableOfContents->fumadocs-core/toc.- removed
createMetadataImageAPI, use Next.js Metadata API instead.
-
Default Switch to Shiki's JavaScript Regex Engine: To ensure seamless compatibility with environments like Cloudflare Workers, the JavaScript engine is now the default over the WASM-based Oniguruma. This change affects
rehype-code(via theengineoption) andfumadocs-core/highlight. -
Minimum React.js Version Raised to 19.2.0: React 19.2 brings crucial performance improvements to Fumadocs UI.
- Next.js Projects: Next.js projects using Fumadocs UI must use Next.js 16 or later, as Next.js uses its own canary channel for React.js.
-
fumadocs-ui/provideris removed:- Use
fumadocs-ui/provider/nextfor root provider. - Use individual exports for contexts from
fumadocs-ui/contexts/*.
- Use
-
fumadocs-ui/page:-
Removed
<DocsCategory />, usegetPageTreePeers()instead:page.tsx import { getPageTreePeers } from 'fumadocs-core/page-tree'; import { source } from '@/lib/source'; <Cards> {getPageTreePeers(source.getPageTree(), '/docs/my-page').map((peer) => ( <Card key={peer.url} title={peer.name} href={peer.url}> {peer.description} </Card> ))} </Cards>; -
Removed the
breadcrumbs.fulloption in<DocsPage />.
-
-
fumadocs-core/search/algolia: Thedocumentoption is renamed toindexName. -
fumadocs-core/search: Removed the deprecatedcreateFromSource()signature inuseSearch(). -
fumadocs-core/highlight: RemovedwithPrerenderScriptandloadingoptions fromuseShiki(), use React Suspense API instead. -
fumadocs-core/i18n: RemovedcreateI18nMiddleware(import fromfumadocs-core/i18n/middlewareinstead). -
fumadocs-core/source:- Removed
transformers,pageTree.attach*options inloader(): use Loader Plugin instead. - Removed the
page.fileproperty: usepage.pathinstead. - Removed internal utilities
FileInfoandparseFilePath: usePathUtilsinstead.
- Removed
-
Migration to Orama Cloud's New SDK: The
@orama/corepackage replaces the prior client. Update your synchronization code as follows:import { sync } from 'fumadocs-core/search/orama-cloud'; import { OramaCloud } from '@orama/core'; const orama = new OramaCloud({ projectId: '<project id>', apiKey: '<private api key>', }); await sync(orama, { index: '<data source id>', documents: records, });You can also continue to use the legacy Orama Cloud client:
import { ... } from 'fumadocs-core/search/orama-cloud'; import { ... } from 'fumadocs-core/search/orama-cloud-legacy'; useSearch({ type: 'orama-cloud', type: 'orama-cloud-legacy', })Refer to the Orama Cloud documentation for further details.
Styling Changes
Fumadocs UI has included some aggressive styling changes that you should know about.
-
The default
--fd-layout-widthCSS variable is set to1600pxfor optimal content scaling. You can override it if needed.:root { --fd-layout-width: 100vw; }
Fumadocs OpenAPI 9.6
A redesigned schema UI emphasizes client-side rendering (CSR) for recursive components, reducing bundle sizes and enhancing performance in complex JSON schemas.

Non-required fields now include a reset button, with support for content.showExampleInFields.
What's Next?
Fumadocs v16 is a new start for Fumadocs. We appreciate your feedback and contributions—please share your experiences on GitHub. Thank you for supporting Fumadocs :)