Releases: web-infra-dev/rspress
Release list
v2.0.17
What's Changed
New Features π
- feat(theme/Link): Add
route.useTransitionsto opt-out startTransition navigation by @sanjaiyan-dev in #3479 - feat(core): expose runCLI API by @chenjiahan in #3504
- feat(theme/Link): support opt-out prefetch via
route.prefetchLinkby @SoonIter in #3506 - feat(core): support siteOrigin config to set absoluteUrl cases by @SoonIter in #3466
Bug Fixes π
- fix(theme/codeblock): avoid list markers when copying code blocks by @maikthomas in #3501
- fix(theme/Link):
startTransitionin async behaviour π§ by @sanjaiyan-dev in #3503 - fix(theme/GithubStars): avoid github stars hydration mismatch by @SoonIter in #3505
Other Changes
- chore(deps): update all patch dependencies by @renovate[bot] in #3497
- chore(deps): update pnpm to v11.10.0 by @renovate[bot] in #3498
- chore(deps): update rstack by @renovate[bot] in #3502
- Release v2.0.17 by @SoonIter in #3507
New Contributors
- @maikthomas made their first contribution in #3501
Full Changelog: v2.0.16...v2.0.17
v2.0.16
What's Changed
New Features π
- feat(mdx/container): Support [!IMPORTANT] callout for feature parity with GitHub-flavored markdown by @mnebes in #3493
Bug Fixes π
- fix(mdx/container): Fix rendering of multi-line GitHub-style alerts by @mnebes in #3487
- fix(plugin-playground): include source path in mdx parse errors by @SoonIter in #3486
Refactor π¨
- refactor(theme): internal code change, replace @theme alias with @rspress/core/theme by @SoonIter in #3492
- refactor(router):
awaitnavigate and opt-in to routeruseTransitionπ§ by @sanjaiyan-dev in #3476
Document π
- docs: add
rspress-plugin-vizcommunity plugin by @elecmonkey in #3480 - docs: polish documentation and CLI help wording by @SoonIter in #3490
- docs: rename multi-version headings by @SoonIter in #3491
Other Changes
- chore(deps): update dependency remark-cjk-friendly-gfm-strikethrough to ^2.3.1 by @renovate[bot] in #3482
- chore(deps): update dev-tools by @renovate[bot] in #3483
- chore(deps): update playwright monorepo to v1.61.1 by @renovate[bot] in #3484
- chore(deps): update all patch dependencies by @renovate[bot] in #3481
- chore(deps): update github-actions (major) by @renovate[bot] in #3489
- chore(deps): update dependency react-router-dom to ^7.18.1 by @renovate[bot] in #3463
- chore(deps): update github-actions by @renovate[bot] in #3488
- chore(deps): upgrade agent skills to latest commit by @SoonIter in #3495
- Release v2.0.16 by @SoonIter in #3496
New Contributors
Full Changelog: v2.0.15...v2.0.16
v2.0.15
Highlights
π themeConfig.darkMode supports default and forced values
You can now set the default or forced theme behavior directly via themeConfig.darkMode, instead of relying on window.RSPRESS_THEME. It accepts values like 'dark', 'light', 'auto', 'force-dark', and 'force-light'.
import { defineConfig } from '@rspress/core';
export default defineConfig({
themeConfig: {
darkMode: 'force-dark',
},
});π Markdown anchor link validation
Rspress now validates internal heading hash links during builds. Enable markdown.link.checkAnchors to catch broken anchors in same-page, relative, and absolute Markdown/MDX links.
import { defineConfig } from '@rspress/core';
export default defineConfig({
markdown: {
link: {
checkAnchors: true,
},
},
});What's Changed
New Features π
- feat(search): Allow excluding pages from default search via frontmatter by @elliotcourant in #3456
- feat(theme/darkMode): support
themeConfig.darkModeset default values by @SoonIter in #3473 - feat(mdx/link): support markdown anchor checks by @SoonIter in #3443
Performance π
Bug Fixes π
- fix(theme/Nav): render active language as non-link by @SoonIter in #3450
- fix(core): allow overriding printFileSize config by @SoonIter in #3451
- fix(auto-nav-sidebar): isolate global sidebar by version by @SoonIter in #3454
- fix(mdx/title): strip inline markdown in h1 e.g: "#
__ReplaceElements" by @SoonIter in #3468 - fix(theme/inline-code-link): align link styles
--rp-c-linkand nav gap by @SoonIter in #3474
Refactor π¨
- refactor(search): extract helper and add idle callback cleanup β»οΈ by @sanjaiyan-dev in #3467
- refactor(theme): use
useLayoutEffectin useNavTransparent for performanceπ οΈ by @sanjaiyan-dev in #3475
Document π
- docs: fix broken documentation links by @chenjiahan in #3449
- docs: mention dark mode CSS variable selectors by @SoonIter in #3453
Other Changes
- chore(deps): update dev-tools by @renovate[bot] in #3448
- chore(deps): update skills-package-manager@0.11.0 by @SoonIter in #3455
- chore(deps): update rstack by @renovate[bot] in #3458
- chore(deps): update all patch dependencies by @renovate[bot] in #3457
- chore(deps): update shiki to ^4.2.0 by @renovate[bot] in #3464
- chore(deps): update dependency remark-cjk-friendly to ^2.1.0 by @renovate[bot] in #3461
- chore(deps): update dependency remark-cjk-friendly-gfm-strikethrough to ^2.1.0 by @renovate[bot] in #3462
- chore(deps): update rstack (major) by @renovate[bot] in #3465
- chore(deps): update rstack by @renovate[bot] in #3460
- chore(deps): update all patch dependencies by @renovate[bot] in #3471
- chore(deps): update dependency remark-cjk-friendly to ^2.3.1 by @renovate[bot] in #3472
- Release v2.0.15 by @SoonIter in #3478
New Contributors
Full Changelog: v2.0.14...v2.0.15
v2.0.14
What's Changed
New Features π
- feat(theme): Add onTouchStart event to preload links on touch devices π± by @sanjaiyan-dev in #3422
- feat(create-rspress): add i18n template by @SoonIter in #3411
- feat(theme): Add React DOM-based preloading to Image component πΌοΈ by @sanjaiyan-dev in #3425
- feat(theme/SocialLinks): add github-stars mode to socialLinks by @Huxpro in #3433
- feat(mdx): support markdown
?rawquery imports by @SoonIter in #3434
Performance π
- perf(ssg/experimentalWorker): write SSG worker output to disk directly and skip processAssets for memory by @SoonIter in #3426
- perf(core): optimize node rspack builds by @SoonIter in #3440
- perf(auto-nav-sidebar): cache site data module in production by @SoonIter in #3441
Bug Fixes π
- fix(theme): Optimize search highlight extraction and improve accessibility by @sanjaiyan-dev in #3421
- fix(plugin-algolia): Add
react-domreactpeerDependencies and optimize Search component preconnect β‘ by @sanjaiyan-dev in #3413 - fix(theme): keep custom outline slots visible by @JounQin in #3423
- fix(theme/Tag): render SVG and local image tags correctly by @SoonIter in #3431
- fix(mdx): normalize rule ids from
MDXto oneOfmdxandmdx-rawby @SoonIter in #3436 - fix(theme/Banner): keep mobile banner single-line by @SoonIter in #3439
Document π
- docs(config): align default value docs by @SoonIter in #3410
- docs(ui): align Tailwind v4 with Rsbuild plugin by @SoonIter in #3420
- docs: update rspress architecture image by @SoonIter in #3424
- docs: add getCustomMDXComponent guide by @SoonIter in #3435
- docs: use github-stars social link by @SoonIter in #3438
Other Changes
- chore(deps): update rstackjs/rstack-ecosystem-ci digest to 3cbb846 by @renovate[bot] in #3428
- chore(deps): update rstack by @renovate[bot] in #3430
- chore(deps): update all patch dependencies by @renovate[bot] in #3429
- revert(theme): remove image preload support by @SoonIter in #3432
- Release v2.0.14 by @SoonIter in #3442
- chore(deps): update skills package manager by @SoonIter in #3444
- chore(deps): update all patch dependencies by @renovate[bot] in #3445
- chore(deps): update dependency typedoc-plugin-markdown to v4.12.0 by @renovate[bot] in #3447
New Contributors
- @sanjaiyan-dev made their first contribution in #3421
Full Changelog: v2.0.13...v2.0.14
v2.0.13
What's Changed
π Bug Fixes
- fix(plugin-preview): avoid emitting ~demo without iframe previews by @Copilot in #3404
- fix(theme/i18n): localize code wrap button title by @Copilot in #3330
- fix(theme/Steps): h3 styles in Steps component by @JounQin in #3409
- fix(ssg): remove unused boolean define for import.meta.env.SSR after Rsbuild 2.0.7 by @elecmonkey in #3405
π Refactors
π¦ Chores & Dependencies
- chore(ci): harden workflow permissions and setup-node caching by @Copilot in #3401
- ci: allow ecosystem CI commit comments by @Timeless0911 in #3402
- chore(deps): update react-render-to-markdown to 19.1.0 and 18.3.2 by @Copilot in #3407
- chore(deps): upgrade @rstack-dev/doc-ui to 1.14.2 by @Copilot in #3408
- chore(deps): update rstackjs/rstack-ecosystem-ci digest to a3cd90c by @renovate[bot] in #3414
- chore(deps): update all patch dependencies by @renovate[bot] in #3415
- chore(deps): update rstack by @renovate[bot] in #3416
- chore(deps): update dependency typedoc-plugin-markdown to v4.11.0 by @renovate[bot] in #3417
Full Changelog: v2.0.12...v2.0.13
v2.0.12
What's Changed
New Features π
- feat(create-rspress): add optional agent skills by @elecmonkey in #3385
- feat(create-rspress): upgrade
create-rstackand add Rslint choice by @elecmonkey in #3386 - feat(theme/Tabs): support custom tab labels by @SoonIter in #3371
Bug Fixes π
- fix:
remarkImagelint compatibility with plain markdown files by @JounQin in #3388 - fix(mdx/title): preserve whitespace in code block title meta by @Copilot in #3374
- fix(theme/Sidebar): add rp-doc class to inline-code sidebar titles by @Copilot in #3372
Document π
- docs(blog): integrate shared blog list by @SoonIter in #3369
- docs(plugins): add community plugin Typesense search by @haydenhoang in #3359
- docs: add cleanUrls server support warning by @SoonIter in #3377
- docs: update quick start guide by @SoonIter in #3390
- docs: clarify home pageType usage by @SoonIter in #3392
- docs(plugins): add pretext breaker to community plugins by @y-lakhdar in #3394
Other Changes
- chore(deps): harden pnpm install settings by @chenjiahan in #3375
- chore(release): use draft release notes skill by @chenjiahan in #3379
- chore(deps): add renovate security preset by @chenjiahan in #3380
- chore: lint script include type-checking by @elecmonkey in #3383
- chore(deps): upgrade TypeScript v6 by @elecmonkey in #3382
- chore(infra): enable tsgo for dts generation by @elecmonkey in #3389
- chore(deps): pin dependencies by @renovate[bot] in #3395
- chore(deps): update rstack by @renovate[bot] in #3397
- chore(deps): update dependency skills-package-manager to v0.10.0 by @renovate[bot] in #3398
- chore(deps): update all patch dependencies by @renovate[bot] in #3396
- Release v2.0.12 by @SoonIter in #3393
- chore(deps): update rstackjs/rstack-ecosystem-ci digest to ca8d345 by @renovate[bot] in #3400
v2.0.11
What's Changed
New Features π
- feat(mdx/FileCodeblock): support file codeblock starts with / prefix by @JounQin in #3357
- feat(theme): add BrowserOnly runtime component for sideEffects import and deprecate NoSSR by @SoonIter in #3360
Bug Fixes π
- fix(theme/Search): NFD normalization causes search to highlight wrong characters in Japanese or backtrack in an infinite loop by @Quatton in #3335
- fix(ssg): experimentalWorker "Cannot find module '@rspress/core/dist/entry/worker.js'" by @SoonIter in #3354
- fix(theme/darkMode): restore auto appearance when toggle matches system theme by @Copilot in #3352
- fix(plugin-preview & plugin-playground): react-router-dom peer compatibility by @Copilot in #3350
- fix(theme/Prompt): avoid gradients in dark mode by @SoonIter in #3338
- fix(layout): Fixed mobile doc layout menu showing unnecessarily by @elliotcourant in #3342
- fix(core): preserve false ssg option by @chenjiahan in #3361
Other Changes
- chore(deps): update all patch dependencies by @renovate[bot] in #3343
- chore(deps): update dependency @changesets/cli to ^2.31.0 by @renovate[bot] in #3346
- chore(deps): update actions/setup-node action to v6.4.0 by @renovate[bot] in #3345
- chore(deps): update rstack by @renovate[bot] in #3344
- chore(deps): update dependency @rstack-dev/doc-ui to ^1.13.3 by @renovate[bot] in #3347
- chore(deps): update dependency react-router-dom to ^7.14.2 by @renovate[bot] in #3348
- chore: export
remarkImagefor reusing likeremarkLinkby @JounQin in #3353 - chore(infra): replace changeset with bumpp by @SoonIter in #3355
- chore(rslib): clean up config and align ES target by @chenjiahan in #3358
- chore(infra/lint): migrate to Rslint and Prettier by @SoonIter in #3337
- chore(deps): update all patch dependencies by @renovate[bot] in #3362
- chore(deps): update dependency bumpp to ^11.1.0 by @renovate[bot] in #3364
- chore(deps): update dependency react-router-dom to ^7.15.0 by @renovate[bot] in #3365
- chore(deps): update dependency tm-themes to v1.12.2 by @renovate[bot] in #3367
- chore(deps): update dependency skills-package-manager to v0.9.0 by @renovate[bot] in #3366
- chore(deps): update rstack by @renovate[bot] in #3363
- docs(skills): add Rspress agent skills by @SoonIter in #3370
- Release v2.0.11 by @SoonIter in #3368
New Contributors
Full Changelog: v2.0.10...v2.0.11
v1.47.2
What's Changed
Document π
- docs(1.x): add migration notes for packages deprecated in Rspress 2.0 by @SoonIter in #3105
- docs: update rspress package deprecation notice by @Timeless0911 in #3341
Other Changes
Full Changelog: v1.47.1...v1.47.2
v2.0.10
Highlightsβ¨
Rspack 2.0 & Rsbuild 2.0 integrated π¦
related PR: #3322
Rspress v2.0.10 upgrades Rsbuild to 2.0.0, which means Rspress is now powered by the stable Rspack 2.0 toolchain. This keeps Rspress aligned with the latest Rstack ecosystem and brings the compiler improvements from Rspack 2.0 to every Rspress site.
See more ππ» Rspack 2.0 and Rsbuild 2.0
New Prompt component π€
related PR: #3325
Rspress now provides a built-in Prompt component from @rspress/core/theme, designed for AI-native documentation.
It helps authors present reusable, copyable agent instructions directly in MDX, with theme-ready styling and flexible custom content support.
See more ππ» Prompt - Rspress doc components
What's Changed
New Features π
- feat(cli): add --base CLI option to build, dev, and preview commands by @Copilot in #3316
- feat(deps): upgrade Rsbuild to 2.0.0 by @Timeless0911 in #3322
- feat(theme/Prompt): add new Prompt component by @SoonIter in #3325
- feat(theme)!: support
sidebar: falseandsidebar: placeholdermode by @SoonIter in #3331
Bug Fixes π
- fix(theme/Link): support custom URI schemes in external URL detection by @Copilot in #3304
- fix(create-rspress): add env.d.ts to generated templates by @Copilot in #3310
- fix(theme/table): polish table styles to fix too narrow col case by @SoonIter in #3317
- fix(theme/outline): reduce outline toc mask spacing by @SoonIter in #3329
- fix(theme/Prompt): address review follow-ups by @SoonIter in #3333
Document π
Other Changes
- chore(deps): update pnpm-plugin-skills to 0.5.0 by @SoonIter in #3305
- chore(infra): migrate to skills-package-manager CLI and upgrade to skills-package-manager@0.7.0 by @SoonIter in #3312
- chore(deps): update all patch dependencies by @renovate[bot] in #3302
- chore(deps): update rstack by @renovate[bot] in #3303
- chore(deps): update all patch dependencies by @renovate[bot] in #3314
- chore(deps): update rstack by @renovate[bot] in #3315
- chore(theme/inline-codeblock): lighten inline code link styles by @Copilot in #3320
- chore(deps): upgrade rsbuild plugins to latest by @Timeless0911 in #3323
- chore(deps): update rstack by @renovate[bot] in #3324
- chore(deps): update all patch dependencies by @renovate[bot] in #3326
- chore(deps): update dependency @rsbuild/core to ^2.0.2 by @renovate[bot] in #3327
- Release v2.0.10 by @SoonIter in #3334
New Contributors
Full Changelog: v2.0.9...v2.0.10
v2.0.9
What's Changed
New Features π
- feat(runtime): export useHead hook from @rspress/core/runtime by @SoonIter in #3272
- feat(mdx/image): Add dead image detection by @elliotcourant in #3275
- feat(search): improve search index building, markdown -> plain text by @elliotcourant in #3283
Performance π
- perf(deps): externalize
lodash-esvia shared to reduce install size by @SoonIter in #3292 - perf(core): bundle cli deps
cacchokidarpicocolorsto reduce install size by @SoonIter in #3293 - perf(deps): bundle tinyglobby and tinypool into core by @SoonIter in #3296
- perf(deps): bundle
github-sluggerto reduce install size by @SoonIter in #3298 - perf(deps): bundle
gray-matterto reduce install size and deps complexity by @SoonIter in #3297
Bug Fixes π
- fix(core): log message include json file path in auto-nav-sidebar errors by @SoonIter in #3273
- fix(theme/icon): use currentColor for success icons to follow theme color by @SoonIter in #3294
- fix(theme/Steps): # for titles overlaps with the sequence number by @elliotcourant in #3276
- fix(core): Fixed async page data loading by @elliotcourant in #3278
Document π
- docs(zh): translate dead image documentation by @Copilot in #3287
- docs(introduction): refine guide overview by @SoonIter in #3289
- docs(auto-nav-sidebar): small fix for clarify global sidebar usage by @SoonIter in #3290
Other Changes
- chore(deps): update dependency lodash-es to v4.18.1 [security] by @renovate[bot] in #3274
- chore(deps): update pnpm-plugin-skills and rspress-custom-theme skill by @SoonIter in #3285
- chore(infra/agent): add pr-creator skill by @SoonIter in #3286
- chore(deps): update pnpm to 10.33.0 by @Copilot in #3288
- chore(deps): update dependency path-serializer to v0.6.0 by @renovate[bot] in #3282
- chore(deps): update dependency heading-case to ^1.1.0 by @renovate[bot] in #3281
- chore(deps): update rstack by @renovate[bot] in #3280
- chore(deps): update all patch dependencies by @renovate[bot] in #3279
- chore(infra): migrate husky + lint-staged to simple-git-hooks + nano-staged by @SoonIter in #3291
- chore(deps): update rstack (@rsbuild/core 2.0.0-rc.1, @rslib/core 0.21.0) by @renovate[bot] in #3295
- Release v2.0.9 by @SoonIter in #3299
Full Changelog: v2.0.8...v2.0.9