Releases: web-infra-dev/rspress
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
v2.0.0-beta.19
Breaking Changes π¨
Correct relative link in markdown without ./
prefix
Related PR: #2348
Markdown links without "./" prefix are now relative links, e.g: [subfolder](subfolder)
is equal to [subfolder](./subfolder)

Before
[](installation)
and [](installation.mdx)
points to /installation.html
, this behavior is strange β
After
[](installation)
and [](installation.mdx)
points to /guide/api/installation.html
β
If you are updating to Rspress V2, don't worry, our friend markdown.checkDeadLinks
which is also refactored can help us check and find these broken links π¬π»

What's Changed
New Features π
- feat(theme-default): support binary execution commands in
PackageManagerTabs
component by @artus9033 in #2343 - feat(plugin-llms): multiple configuration for multiple llms.txt by @SoonIter in #2347
Bug Fixes π
- fix(theme/dynamic-toc): remove comment for props replacing in SSG by @SoonIter in #2345
- fix(remarkNormalizeLink)!: support relative path subfolder which is equal to subfolder by @SoonIter in #2348
Document π
- docs: add deepwiki badge by @Timeless0911 in #2342
Other Changes
- refactor: move the RoutePath logic to RoutePage class by @SoonIter in #2334
- chore(deps): update all patch dependencies by @renovate in #2337
- chore(deps): update dependency rspress-plugin-sitemap to ^1.2.0 by @renovate in #2339
- chore(deps): update dependency zx to ^8.6.0 by @renovate in #2340
- refactor: move remark-check-deadlink to remark-normalize-link and fix plugin-llms with base usage by @SoonIter in #2335
- test(e2e): add dir link to check-dead-link by @SoonIter in #2344
- chore(cli): polish checkDeadLinks logs by @SoonIter in #2350
- Release v2.0.0-beta.19 by @SoonIter in #2351
New Contributors
- @artus9033 made their first contribution in #2343
Full Changelog: v2.0.0-beta.18...v2.0.0-beta.19
v2.0.0-beta.18
Breaking Changes π¨
Reimplement base
config with basename
feature of react-router
Related PR: #2322
If you are using const { pathname } = useLocation()
together with base
configuration, it should be noted that pathname will not contain base
url, as the top-level BrowserRouter includes basename
What's Changed
Bug Fixes π
- fix: should add nav-json-schema.json and expose
rspress/shiki-transformers
by @SoonIter in #2327 - fix: sidebarGroup should add
SidebarSectionHeader
by @SoonIter in #2328 - fix(ssg): better format of mdx compile time error in SSG by @SoonIter in #2332
Other Changes
- chore(deps): upgrade @rslib/core@0.10.3 by @SoonIter in #2323
- refactor(runtime)!: use
basename
feature of react-router by @SoonIter in #2322 - chore!: remove builtin
@rspress/plugin-container-syntax
pkg and intergrateremarkContainerSyntax
to @rspress/core by @SoonIter in #2324 - chore(deps): upgrade to Rsbuild@1.4.0 by @SoonIter in #2330
- chore: add pnpm setting to pnpm-workspace by @kovsu in #2331
- Release v2.0.0-beta.18 by @SoonIter in #2326
New Contributors
Full Changelog: v2.0.0-beta.17...v2.0.0-beta.18