Releases: web-infra-dev/rspress
v2.0.0-beta.27
Highlights β¨
Add layer for base.css to support tailwind v4
related PR: #2477
What's Changed
New Features π
Bug Fixes π
- fix: export
usePage
to replace deprecatedusePageData
by @JounQin in #2471 - fix: revert asset link support and fix the corner case when filename contains dot by @SoonIter in #2473
Document π
Other Changes
- chore(core): add runtime alias by default for multi-instance problem in monorepo by @SoonIter in #2463
- chore: remove unused constant by @SoonIter in #2465
- refactor(theme): usePageData => usePage by @SoonIter in #2466
- chore(theme): rename useSiteData to useSite by @SoonIter in #2474
- chore(infra/script): update css typed modules by @SoonIter in #2476
- chore: move website to the workspace root by @chenjiahan in #2478
- Release v2.0.0-beta.27 by @SoonIter in #2480
Full Changelog: v2.0.0-beta.26...v2.0.0-beta.27
v2.0.0-beta.26
What's Changed
Bug Fixes π
- fix(auto-nav-sidebar): correct both _meta.json and _nav.json exist behavior by @SoonIter in #2453
- fix(plugin-llms): support dark mode by @SoonIter in #2455
- fix(theme/Link): Link and HomeHero should support relative url by @SoonIter in #2456
Document π
- docs: add Rslint and version badges to Rstack tools table by @chenjiahan in #2451
Other Changes
- refactor(runtime): split hooks into several files by @SoonIter in #2454
- chore(deps): update all patch dependencies by @renovate[bot] in #2457
- chore(deps): update dependency zx to ^8.8.0 by @renovate[bot] in #2458
- chore(deps): update rsbuild by @renovate[bot] in #2459
- chore(deps): update dependency react-router-dom to ^6.30.1 by @renovate[bot] in #2338
- chore(deps): update shiki monorepo to ^3.9.2 by @renovate[bot] in #2460
- Release v2.0.0-beta.26 by @SoonIter in #2461
Full Changelog: v2.0.0-beta.25...v2.0.0-beta.26
v2.0.0-beta.25
Highlights β¨
Enable trusted publishing for npm packages OIDC β»οΈ
related PR: #2444
ref: https://docs.npmjs.com/trusted-publishers

UI Display of plugin-llms update ποΈ
related PR: #2439

What's Changed
New Features π
- feat(plugin-llms/runtime): add markdownLink for copy by @SoonIter in #2439
- feat: add npm icon to social links by @saseungmin in #2441
- feat(plugin-llms)!: default value for i18n by @SoonIter in #2448
Bug Fixes π
- fix(tab-list): Fix tabs scrolling when not overflowing by @howlettt in #2433
- fix(link): should support public folder asset by @SoonIter in #2440
- fix(plugin-llms): some md files sometimes do not emit by @SoonIter in #2443
Document π
- docs(typo): update plugin-llms by @SoonIter in #2432
- docs(v2): update code block line highlighting syntax to v2 by @saseungmin in #2431
- docs: add npm icon to social links in theme config documentation by @saseungmin in #2442
Other Changes
- chore(deps): update all patch dependencies by @renovate[bot] in #2435
- chore(deps): update dependency @types/babel__traverse to ^7.28.0 by @renovate[bot] in #2436
- chore(deps): update dependency memfs to ^4.36.0 by @renovate[bot] in #2437
- chore(deps): update pnpm to v10.14.0 by @renovate[bot] in #2438
- chore: enable trusted publishing for npm packages by @Timeless0911 in #2444
- Release v2.0.0-beta.25 by @SoonIter in #2449
New Contributors
- @howlettt made their first contribution in #2433
- @saseungmin made their first contribution in #2431
Full Changelog: v2.0.0-beta.24...v2.0.0-beta.25
v1.45.1
What's Changed
Other Changes
- chore: enable trusted publishing for npm packages by @Timeless0911 in #2445
- Release v1.45.1 by @Timeless0911 in #2447
Full Changelog: v1.45.0...v1.45.1
v2.0.0-beta.24
Highlights β¨
UI LlmsCopyButton of llms.txt π€
related PR: #2426
We hope that llms.txt will have a greater role in AI era. Thanks to fumadocs, it is inspired from fumadocs's docsite

ref: https://v2.rspress.rs/plugin/official-plugins/llms#2-ui-display
What's Changed
New Features π
Bug Fixes π
Document π
Other Changes
- chore(deps): update rsbuild 1.4.12 and more accurate persistent cache by @SoonIter in #2429
- Release v2.0.0-beta.24 by @SoonIter in #2430
Full Changelog: v2.0.0-beta.23...v2.0.0-beta.24
v2.0.0-beta.23
Breaking Changes π¨
Enable markdown.link.checkDeadLinks
by default
related PR: #2423
Rspress V2 now re-implements the dead link check feature. More information is obtained during compilation, resulting in more accurate results and more beautiful logs.

Ref: https://v2.rspress.rs/guide/basic/use-mdx/link, https://v2.rspress.rs/zh/api/config/config-build#markdownlinkcheckdeadlinks
MDX fragments usage (ignore "_" prefix routes via route.excludeConvention
)
related PR: #2149
In the docs directory, MDX fragments or React components need to be excluded from routing through the route.exclude configuration. For convenience, we agree that files starting with "_" will be excluded by default.

Ref: https://v2.rspress.rs/guide/basic/use-mdx/components
Highlights β¨
New plugin @rspress/plugin-sitemap
πΊοΈ
related PR: #2416
thanks to @jl917, he created rspress-plugin-sitemap during Rspress V1 for generating sitemap.
@rspress/plugin-sitemap
is a forked version of rspress-plugin-sitemap
and it is compatible with Rspress V2. During Rspress V2, it will be maintained as an official Rspress plugin.
Ref: https://v2.rspress.rs/plugin/official-plugins/sitemap
Documentation of Rspress V2 is happeningπ
Most of the breaking changes in Rspress V2 have been completed, and we are now gradually enriching the documentation and standardizing various features provided to Rspress users such as links and mdx fragments usage
What's Changed
New Features π
- feat(plugin-sitemap): init @rspress/plugin-sitemap by @SoonIter in #2416
- feat!: enable
checkDeadLinks
by default and addmarkdown.link.autoPrefix
by @SoonIter in #2415 - feat(core)!: routeService ignore "_" prefix files by default by @SoonIter in #2149
Performance π
Bug Fixes π
Document π
- docs: beta.22 @rspress/core breakingchange fix by @SoonIter in #2414
- docs: add @rspress/plugin-sitemap by @SoonIter in #2417
Other Changes
- chore: add open collective funding link by @chenjiahan in #2411
- chore(deps): update Biome to v2 by @Timeless0911 in #2412
- chore(deps): update all patch dependencies by @renovate[bot] in #2420
- chore(deps): update dependency @rslib/core to v0.11.0 by @renovate[bot] in #2421
- Release v2.0.0-beta.23 by @SoonIter in #2424
Full Changelog: v2.0.0-beta.22...v2.0.0-beta.23
v2.0.0-beta.22
Breaking Changes π¨
Merge rspress
package to @rspress/core
package
related PR: #2386
It means rspress
package will be deprecated, please migrate the package name to the following package name.
rspress
=> @rspress/core
rspress/config
=> @rspress/core
rspress/theme
=> @rspress/core/theme
rspress/runtime
=> @rspress/core/runtime
rspress/shiki-transformers
=> @rspress/core/shiki-transformers
before
// rspress.config.ts
import { defineConfig } from 'rspress/config';
export default defineConfig({
});
// theme/index.ts
import { usePageData, useDark } from 'rspress/runtime';
import { HomeLayout } from 'rspress/theme'
after
// rspress.config.ts
import { defineConfig } from '@rspress/core';
export default defineConfig({
});
// theme/index.ts
import { usePageData, useDark } from '@rspress/core/runtime';
import { HomeLayout } from '@rspress/core/theme'
Migration Steps from V1
You can use the search and replace feature of the IDE to search for and replace the above package name.

Highlights β¨
ssg.experimentalWorker
based on tinypool to speed up ssg process
related PR: #2394
it is inspired by docusaurus 3.8, we introduced it so that large document sites (>=500 pages) can reduce memory usage and decrease SSG time.
it introduced a Node.js Worker Thread pool to run the SSG. With this new strategy, we can better leverage all the available CPUs, reduce static site generation time, and contain potential memory leaks.
// rspress.config.ts
import { defineConfig } from '@rspress/core';
export default defineConfig({
ssg: {
experimentalWorker: true
}
});
What's Changed
New Features π
Performance π
- perf(ssg): add
ssg.experimentalWorker
based on tinypool to speed up ssg process by @SoonIter in #2394
Bug Fixes π
- fix(auto-nav-sidebar): custom link should support
collapsible
andcollapsed
like"type": dir
by @SoonIter in #2382 - fix!: remove
rspress
package,rspress
=>@rspress/core
rspress/theme
=>@rspress/core/theme
rspress/runtime
=>@rspress/core/runtime
by @SoonIter in #2386 - fix(fileCodeBlock): optimize the error message and fix
.length is not defined
by @SoonIter in #2387 - fix: use
_nav.json
in template by @Timeless0911 in #2391 - fix(ssg): ssg error with "base" configuration by @SoonIter in #2392
- fix(ssg): regression in V2, csr should also output html files for deploy by @SoonIter in #2393
- fix: use SocialLinks & SwitchAppearance components from theme by @jbroma in #2395
- fix(theme): aside should not cover the top buttons by @SoonIter in #2400
- fix(theme): aside should not cover the top buttons (#2400) by @SoonIter in #2401
- fix: directive node should have
name
field by @JounQin in #2403 - fix: search link with base by @JounQin in #2406
Other Changes
- chore(auto-nav-sidebar): update custom-link types by @SoonIter in #2383
- chore(deps): update dependency @rsbuild/plugin-less to ~1.3.0 by @renovate[bot] in #2397
- chore(deps): update shiki monorepo to ^3.8.1 by @renovate[bot] in #2398
- chore(deps): update all patch dependencies by @renovate[bot] in #2396
- Release v2.0.0-beta.22 by @SoonIter in #2407
- chore: remove types reference to fix tsc circular issue by @Timeless0911 in #2408
Full Changelog: v2.0.0-beta.21...v2.0.0-beta.22
v1.45.0
What's Changed
New Features π
- feat: support
file://
protocol andURL
for icon by @JounQin in #2170 - feat!: expose type
RspressPlugin
from "rspress/core", "@rspress/shared" which is a private package should not be installed by users by @SoonIter in #2384
Bug Fixes π
- fix(core/mdx-loader): due to frontmatter stack error loc and remove useless hmr old codes (#2168) by @JounQin in #2171
- fix(plugin-preview): fixed-per-comp "internal" prop should work by @SoonIter in #2181
Document π
- docs(plugin-shiki): update package.json description by @SoonIter in #2183
- docs: incorrect usage of
socialLinks
(#2192) by @JounQin in #2198 - docs: use escape character to bypass HTML render by @fi3ework in #2237
Other Changes
- chore(theme): export type
CodeProps
to usegetCustomMDXComponent()
by @JounQin in #2166 - Release v1.45.0 by @SoonIter in #2385
Full Changelog: v1.44.0...v1.45.0
v2.0.0-beta.21
Breaking Changes π¨
π₯Remove builderPlugins
, migrate to builderConfig.plugins
related PR: #2371
We can already configure Rsbuild in builderConfig
, there is another configuration that is confusing.
Migration step:
export default defineConfig({
- builderPlugins: [
- pluginFoo()
- ],
+ builderConfig: {
+ plugins: [
+ pluginFoo()
+ ],
+ },
});
Expose type RspressPlugin
from "rspress/core"
packge
Related PR: #2360
We do not want users to use our private package like @rspress/shared
, only "rspress": "2.0.0"
package is all your needed
before
import type { RspressPlugin } from '@rspress/shared';
// package.json
{
"devDependencies": {
"rspress": "1.44.0",
"@rspress/shared": "1.44.0"
}
}
after
import type { RspressPlugin } from 'rspress/core';
// package.json
{
"devDependencies": {
"rspress": "2.0.0",
}
}
For compatibility, @rspress/shared
will still export RspressPlugin
type, but using rspress/core
and setting "rspress"
as peerDependencies will make it less likely for your plugin to encounter type errors.
For example:
{
"peerDependencies": {
"rspress": "^2.0.0"
}
}
FIle code block syntax support in core ```tsx file="./demo.tsx"
related PR: #2361
Users can import an external demo file as a code block.
As we support this feature in the core. This also means that the syntax external code blocks are used in plugin-preview
and plugin-playground
will change.
before
only using together with @rspress/plugin-preview
and @rspress/plugin-playground
<code src="./example.tsx" />
after
This syntax is supported in the core package.
```tsx file="./example.tsx"
```
// example.tsx
export default () => <div>I'm a example in another file</div>
What's Changed
New Features π
- feat: change
pnpm install packageName
topnpm add packageName
on PackageManagerTabs by @Marukome0743 in #2364 - feat(mdx)!: support File Code Block of ```tsx file="./filename" to write demo code in another file by @SoonIter in #2361
- feat!: expose type
RspressPlugin
from "rspress/core", "@rspress/shared" which is a private package should not be installed by users by @SoonIter in #2360 - feat(auto-nav-sidebar): support custom-link group by @SoonIter in #2379
Bug Fixes π
- fix: support mutations from child nodes for dynamic TOC by @JounQin in #2363
- fix: use
withBase
from runtime by @jbroma in #2373 - fix(buildCache): other configuration files besides
rspress.config.ts
should be added to persistent cache deps by @SoonIter in #2378 - fix: use SvgWrapper in LinkCard & NavScreenMenuGroup by @jbroma in #2381
Document π
- docs: update copyright year to match format by @Marukome0743 in #2362
- docs: update PackageManagerTabs tips for pnpm by @Marukome0743 in #2365
Other Changes
- refactor!: move @rspress/plugin-last-updated and @rspress/plugin-medium-zoom to @rspress/core by @SoonIter in #2359
- test: remove leftover
node:path
module from e2e tests by @Marukome0743 in #2369 - refactor: remove remoteSerach in
search
configuration,type: 'remote'
by @SoonIter in #2366 - test: add missing non-null assertion to dynamic-toc test by @Marukome0743 in #2370
- chore(deps): update all patch dependencies by @renovate[bot] in #2374
- chore(deps): update pnpm to v10.13.1 by @renovate[bot] in #2377
- chore(deps): update dependency zx to ^8.7.0 by @renovate[bot] in #2375
- refactor!: remove
builderPlugins
and migrate it tobuilderConfig.plugins
by @SoonIter in #2371 - chore(deps): update playwright monorepo to v1.54.1 by @renovate[bot] in #2376
- Release v2.0.0-beta.21 by @SoonIter in #2380
New Contributors
- @Marukome0743 made their first contribution in #2362
Full Changelog: v2.0.0-beta.20...v2.0.0-beta.21
v2.0.0-beta.20
Breaking Changes π¨
Enable performance.buildCache: true
by default β‘οΈ
related PR: #2349
enable persistent cache by default, ref: https://rspack.rs/config/experiments#persistent-cache
This means that Rspress's local startup speed will be faster .
1. rspress dev
cold start 1sβ
hot start 0.3sβ

2. rspress build
cold build 6.48sβ
hot build 3.18sβ


What's Changed
New Features π
Bug Fixes π
Other Changes
- chore(deps): update all patch dependencies by @renovate in #2352
- chore(deps): update dependency @babel/types to ^7.28.0 by @renovate in #2353
- chore(deps): update dependency @rsbuild/plugin-vue to ^1.1.0 by @renovate in #2354
- chore(deps): update playwright monorepo to v1.53.2 by @renovate in #2355
- Release v2.0.0-beta.20 by @SoonIter in #2358
New Contributors
Full Changelog: v2.0.0-beta.19...v2.0.0-beta.20