Skip to content

Releases: web-infra-dev/rspress

v2.0.0-beta.25

06 Aug 06:36
a6e359e
Compare
Choose a tag to compare
v2.0.0-beta.25 Pre-release
Pre-release

Highlights ✨

Enable trusted publishing for npm packages OIDC ♻️

related PR: #2444

ref: https://docs.npmjs.com/trusted-publishers

image

UI Display of plugin-llms update πŸ†•οΈ

related PR: #2439

image

What's Changed

New Features πŸŽ‰

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 πŸ“–

Other Changes

New Contributors

Full Changelog: v2.0.0-beta.24...v2.0.0-beta.25

v1.45.1

05 Aug 10:13
5e2e3cf
Compare
Choose a tag to compare

What's Changed

Other Changes

Full Changelog: v1.45.0...v1.45.1

v2.0.0-beta.24

01 Aug 10:01
b70de8f
Compare
Choose a tag to compare
v2.0.0-beta.24 Pre-release
Pre-release

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

image

ref: https://v2.rspress.rs/plugin/official-plugins/llms#2-ui-display

What's Changed

New Features πŸŽ‰

Bug Fixes 🐞

  • fix(plugin-llms)!: default value change mdxToMd: false by @SoonIter in #2428

Document πŸ“–

Other Changes

Full Changelog: v2.0.0-beta.23...v2.0.0-beta.24

v2.0.0-beta.23

29 Jul 07:55
970b52d
Compare
Choose a tag to compare
v2.0.0-beta.23 Pre-release
Pre-release

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.

image

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.

image

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 add markdown.link.autoPrefix by @SoonIter in #2415
  • feat(core)!: routeService ignore "_" prefix files by default by @SoonIter in #2149

Performance πŸš€

  • perf(mdx/crossCompilerCache): free the memory after one read by @SoonIter in #2418

Bug Fixes 🐞

Document πŸ“–

Other Changes

Full Changelog: v2.0.0-beta.22...v2.0.0-beta.23

v2.0.0-beta.22

23 Jul 03:29
dbc02df
Compare
Choose a tag to compare
v2.0.0-beta.22 Pre-release
Pre-release

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.

image

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 πŸŽ‰

  • feat(ssg): add ssg.experimentalExcludeRoutePaths by @SoonIter in #2405

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 and collapsed 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

Full Changelog: v2.0.0-beta.21...v2.0.0-beta.22

v1.45.0

16 Jul 07:39
395eb11
Compare
Choose a tag to compare

What's Changed

New Features πŸŽ‰

  • feat: support file:// protocol and URL 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 πŸ“–

Other Changes

Full Changelog: v1.44.0...v1.45.0

v2.0.0-beta.21

15 Jul 08:43
aa47960
Compare
Choose a tag to compare
v2.0.0-beta.21 Pre-release
Pre-release

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.

#1891 (comment)

Migration step:

export default defineConfig({
-  builderPlugins: [
-      pluginFoo()
-  ],
+  builderConfig: {
+    plugins: [
+      pluginFoo()
+    ],
+  },
});

Expose type RspressPlugin from "rspress/core" packge

Related PR: #2360

#1891 (comment)

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 to pnpm 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 πŸ“–

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 to builderConfig.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

Full Changelog: v2.0.0-beta.20...v2.0.0-beta.21

v2.0.0-beta.20

09 Jul 06:16
3b88456
Compare
Choose a tag to compare
v2.0.0-beta.20 Pre-release
Pre-release

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↑

image

2. rspress build

cold build 6.48s↓

hot build 3.18s↑

image image

What's Changed

New Features πŸŽ‰

  • feat(rsbuild)!: enable persistent cache by default via performance.buildCache by @SoonIter in #2349

Bug Fixes 🐞

Other Changes

New Contributors

Full Changelog: v2.0.0-beta.19...v2.0.0-beta.20

v2.0.0-beta.19

04 Jul 09:42
165a95e
Compare
Choose a tag to compare
v2.0.0-beta.19 Pre-release
Pre-release

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)

image

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 πŸ‘¬πŸ»

image

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 🐞

Document πŸ“–

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

Full Changelog: v2.0.0-beta.18...v2.0.0-beta.19

v2.0.0-beta.18

27 Jun 07:29
9b04ba5
Compare
Choose a tag to compare
v2.0.0-beta.18 Pre-release
Pre-release

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 intergrate remarkContainerSyntax 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