fumadocs@16.14.0
- @fumadocs/base-ui@16.14.0
- fumadocs-core@16.14.0
- fumadocs-ui@16.14.0
Replace Orama with ZBSearch, zero-config i18n search
The built-in search engine moved from @orama/orama to ZBSearch, a near drop-in successor. All module paths and APIs are unchanged, and search now works with every language out of the box: the new default multilingual mode uses Unicode word segmentation, so i18n search needs zero config.
import { createFromSource } from 'fumadocs-core/search/server';
// no `localeMap`, no `@orama/tokenizers`, CJK included
export const { GET } = createFromSource(source);All locales now share a single search database — results are filtered by the locale of your pages at query time. Same for static mode:
import { staticClient } from 'fumadocs-core/search/client/orama-static';
const client = staticClient({ locale });Renames
oramaStaticClient→staticClient(old name kept as deprecated alias)initOrama→initDB, it now creates a ZBSearch instance and is optional — the exported data restores the tokenizer on load
Deprecated
localeMapis no longer needed. It still works for language-specific stemming/stop-words and keeps the legacy per-locale databases when specified.
Notes for advanced usage
language,components,pluginsandsearchoptions are now typed against ZBSearch instead of@orama/orama— custom tokenizers or plugins written for Orama must be swapped to their ZBSearch equivalents.- The exported static search data is now a ZBSearch database (i18n exports became a single unified database), so server and client should be on the same fumadocs-core version.
@orama/oramaand@orama/tokenizerscan be removed from your dependencies unless you use them directly. Orama Cloud integrations (fumadocs-core/search/orama-cloud) are unaffected.