chore(deps): update node-patch-updates to v2.0.20 #2185

Merged
ginger merged 1 commit from renovate/node-patch-updates into main 2026-08-27 13:39:16 +00:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
@rspress/core (source) 2.0.192.0.20 age confidence
@rspress/plugin-client-redirects (source) 2.0.192.0.20 age confidence
@rspress/plugin-sitemap (source) 2.0.192.0.20 age confidence

Release Notes

web-infra-dev/rspress (@​rspress/core)

v2.0.20

Compare Source

Highlights
🧭 New Blog: How to build an Agent-friendly website

Can an AI agent find, read, and understand your documentation as easily as a human? This new guide shows how Rspress combines llms.txt, SSG-MD, Accept: text/markdown, and injectLlmsHint to build documentation for both humans and Agents—and how AFDocs makes the result measurable.

image

Read the blog: How to build an Agent-friendly website

🔗 Normalize clean URLs before rendering

Static hosts can serve the same page through URLs such as /guide, /guide.html, /guide/, and /guide/index.html. Rspress can now match the actual route first and normalize the browser address bar to the format selected by route.cleanUrls before the page renders:

import { defineConfig } from '@rspress/core';

export default defineConfig({
  route: {
    cleanUrls: true,
    cleanUrlsRedirect: true,
  },
});

With this configuration, /guide.html becomes /guide, while /reference/index.html becomes /reference/. Normalization uses history.replaceState, does not reload the page, and preserves base, query parameters, hashes, and existing history state.

This is a browser-side fallback rather than an HTTP 301/308 redirect. Keep server or CDN redirects for canonical SEO behavior.

Documentation: route.cleanUrlsRedirect

Blog: The trailing slash problem in static sites

Related PR: #​3571

What's Changed
New Features 🎉
Performance 🚀
Bug Fixes 🐞
Document 📖
Other Changes
New Contributors

Full Changelog: https://github.com/web-infra-dev/rspress/compare/v2.0.19...v2.0.20


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@rspress/core](https://github.com/web-infra-dev/rspress) ([source](https://github.com/web-infra-dev/rspress/tree/HEAD/packages/core)) | [`2.0.19` → `2.0.20`](https://renovatebot.com/diffs/npm/@rspress%2fcore/2.0.19/2.0.20) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@rspress%2fcore/2.0.20?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@rspress%2fcore/2.0.19/2.0.20?slim=true) | | [@rspress/plugin-client-redirects](https://github.com/web-infra-dev/rspress) ([source](https://github.com/web-infra-dev/rspress/tree/HEAD/packages/plugin-client-redirects)) | [`2.0.19` → `2.0.20`](https://renovatebot.com/diffs/npm/@rspress%2fplugin-client-redirects/2.0.19/2.0.20) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@rspress%2fplugin-client-redirects/2.0.20?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@rspress%2fplugin-client-redirects/2.0.19/2.0.20?slim=true) | | [@rspress/plugin-sitemap](https://github.com/web-infra-dev/rspress) ([source](https://github.com/web-infra-dev/rspress/tree/HEAD/packages/plugin-sitemap)) | [`2.0.19` → `2.0.20`](https://renovatebot.com/diffs/npm/@rspress%2fplugin-sitemap/2.0.19/2.0.20) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@rspress%2fplugin-sitemap/2.0.20?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@rspress%2fplugin-sitemap/2.0.19/2.0.20?slim=true) | --- ### Release Notes <details> <summary>web-infra-dev/rspress (@&#8203;rspress/core)</summary> ### [`v2.0.20`](https://github.com/web-infra-dev/rspress/releases/tag/v2.0.20) [Compare Source](https://github.com/web-infra-dev/rspress/compare/v2.0.19...v2.0.20) ##### Highlights ##### 🧭 New Blog: [How to build an Agent-friendly website](https://rspress.rs/blog/agent-friendly-website) Can an AI agent find, read, and understand your documentation as easily as a human? This new guide shows how Rspress combines `llms.txt`, SSG-MD, `Accept: text/markdown`, and `injectLlmsHint` to build documentation for both humans and Agents—and how AFDocs makes the result measurable. <img width="825" height="561" alt="image" src="https://github.com/user-attachments/assets/f2a58c2d-0bb1-46fb-9a46-e14c3023ebfc" /> **Read the blog:** [How to build an Agent-friendly website](https://rspress.rs/blog/agent-friendly-website) ##### 🔗 Normalize clean URLs before rendering Static hosts can serve the same page through URLs such as `/guide`, `/guide.html`, `/guide/`, and `/guide/index.html`. Rspress can now match the actual route first and normalize the browser address bar to the format selected by `route.cleanUrls` before the page renders: ```ts import { defineConfig } from '@rspress/core'; export default defineConfig({ route: { cleanUrls: true, cleanUrlsRedirect: true, }, }); ``` With this configuration, `/guide.html` becomes `/guide`, while `/reference/index.html` becomes `/reference/`. Normalization uses `history.replaceState`, does not reload the page, and preserves `base`, query parameters, hashes, and existing history state. This is a browser-side fallback rather than an HTTP 301/308 redirect. Keep server or CDN redirects for canonical SEO behavior. **Documentation:** [`route.cleanUrlsRedirect`](https://rspress.rs/api/config/config-basic#routecleanurlsredirect) **Blog:** [The trailing slash problem in static sites](https://rspress.rs/blog/trailing-slash) **Related PR:** [#&#8203;3571](https://github.com/web-infra-dev/rspress/pull/3571) ##### What's Changed ##### New Features 🎉 - feat(route): add cleanUrlsRedirect option by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3571](https://github.com/web-infra-dev/rspress/pull/3571) - feat(create-rspress): support --no-git by [@&#8203;chenjiahan](https://github.com/chenjiahan) in [#&#8203;3594](https://github.com/web-infra-dev/rspress/pull/3594) ##### Performance 🚀 - perf(runtime): mark sideEffects: false for [@&#8203;rspress/shared](https://github.com/rspress/shared) by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3587](https://github.com/web-infra-dev/rspress/pull/3587) ##### Bug Fixes 🐞 - fix(theme/Llms): omit redundant Markdown page hint by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3567](https://github.com/web-infra-dev/rspress/pull/3567) - fix(theme): Fixed ToC tooltips that could contain html strings by [@&#8203;elliotcourant](https://github.com/elliotcourant) in [#&#8203;3588](https://github.com/web-infra-dev/rspress/pull/3588) - fix: configure Rslint type checking for workspace projects by [@&#8203;elecmonkey](https://github.com/elecmonkey) in [#&#8203;3599](https://github.com/web-infra-dev/rspress/pull/3599) - fix(plugin-twoslash): stop tracking hover popup position outside of visible state by [@&#8203;Karibash](https://github.com/Karibash) in [#&#8203;3603](https://github.com/web-infra-dev/rspress/pull/3603) - fix(ssg-md): include siteOrigin in Markdown links by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3606](https://github.com/web-infra-dev/rspress/pull/3606) - fix(route/localeRedirect): avoid false redirect-only detection by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3609](https://github.com/web-infra-dev/rspress/pull/3609) - fix(core): normalize persistent cache build dependency path by [@&#8203;hardfist](https://github.com/hardfist) in [#&#8203;3625](https://github.com/web-infra-dev/rspress/pull/3625) ##### Document 📖 - docs: add version badges for config options by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3580](https://github.com/web-infra-dev/rspress/pull/3580) - docs: add before and after guidance to PR template by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3607](https://github.com/web-infra-dev/rspress/pull/3607) - docs: explain trailing slash behavior by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3582](https://github.com/web-infra-dev/rspress/pull/3582) - docs(homepage): add core feature sections to homepage by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3608](https://github.com/web-infra-dev/rspress/pull/3608) - docs: remove outdated CodeSandbox links by [@&#8203;chenjiahan](https://github.com/chenjiahan) in [#&#8203;3616](https://github.com/web-infra-dev/rspress/pull/3616) - docs: remove empty useDark code block by [@&#8203;dajiaohuang](https://github.com/dajiaohuang) in [#&#8203;3621](https://github.com/web-infra-dev/rspress/pull/3621) - docs: update Web Infra QoS link by [@&#8203;dajiaohuang](https://github.com/dajiaohuang) in [#&#8203;3623](https://github.com/web-infra-dev/rspress/pull/3623) - docs: fix SourceCode implementation links by [@&#8203;dajiaohuang](https://github.com/dajiaohuang) in [#&#8203;3622](https://github.com/web-infra-dev/rspress/pull/3622) - docs: align agent tool requirements by [@&#8203;dajiaohuang](https://github.com/dajiaohuang) in [#&#8203;3624](https://github.com/web-infra-dev/rspress/pull/3624) - docs: add agent-friendly website guide by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3613](https://github.com/web-infra-dev/rspress/pull/3613) ##### Other Changes - chore(deps): update dependency [@&#8203;rslint/core](https://github.com/rslint/core) to ^0.7.1 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3551](https://github.com/web-infra-dev/rspress/pull/3551) - chore(deps): update playwright monorepo to v1.62.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3553](https://github.com/web-infra-dev/rspress/pull/3553) - test(e2e): use node --run for fixture scripts by [@&#8203;chenjiahan](https://github.com/chenjiahan) in [#&#8203;3568](https://github.com/web-infra-dev/rspress/pull/3568) - test(e2e): use two workers in CI by [@&#8203;chenjiahan](https://github.com/chenjiahan) in [#&#8203;3570](https://github.com/web-infra-dev/rspress/pull/3570) - chore(deps): update dependency nx to v22 \[security] by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3574](https://github.com/web-infra-dev/rspress/pull/3574) - chore(deps): update rstack by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3577](https://github.com/web-infra-dev/rspress/pull/3577) - chore(deps): update all patch dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3576](https://github.com/web-infra-dev/rspress/pull/3576) - chore(deps): update pnpm to v11.18.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3579](https://github.com/web-infra-dev/rspress/pull/3579) - test(e2e): declare React dependencies in fixtures by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3573](https://github.com/web-infra-dev/rspress/pull/3573) - chore(deps): update actions/setup-node action to v6.5.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3575](https://github.com/web-infra-dev/rspress/pull/3575) - chore(deps): update docsearch to ^4.7.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3578](https://github.com/web-infra-dev/rspress/pull/3578) - chore(deps): update rstack to v2 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3585](https://github.com/web-infra-dev/rspress/pull/3585) - test(e2e): avoid HMR restart race by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3583](https://github.com/web-infra-dev/rspress/pull/3583) - chore(deps): replace create-rstack with create-toolkit by [@&#8203;chenjiahan](https://github.com/chenjiahan) in [#&#8203;3589](https://github.com/web-infra-dev/rspress/pull/3589) - chore(infra): remove changesets tooling by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3593](https://github.com/web-infra-dev/rspress/pull/3593) - chore(deps): update dependency memfs to ^4.68.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3597](https://github.com/web-infra-dev/rspress/pull/3597) - chore(deps): update pnpm to v11.20.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3598](https://github.com/web-infra-dev/rspress/pull/3598) - chore(deps): update rstack by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3596](https://github.com/web-infra-dev/rspress/pull/3596) - chore(deps): update all patch dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3595](https://github.com/web-infra-dev/rspress/pull/3595) - chore(deps): update all patch dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3604](https://github.com/web-infra-dev/rspress/pull/3604) - chore(deps): update rstack by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3605](https://github.com/web-infra-dev/rspress/pull/3605) - test(e2e): migrate to [@&#8203;rstest/playwright](https://github.com/rstest/playwright) by [@&#8203;9aoy](https://github.com/9aoy) in [#&#8203;3569](https://github.com/web-infra-dev/rspress/pull/3569) - chore(deps): update all patch dependencies by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3611](https://github.com/web-infra-dev/rspress/pull/3611) - chore(deps): update rstack by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3612](https://github.com/web-infra-dev/rspress/pull/3612) - chore(deps): update pnpm to v11.22.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3615](https://github.com/web-infra-dev/rspress/pull/3615) - chore(deps): update dev-tools by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;3614](https://github.com/web-infra-dev/rspress/pull/3614) - test: clarify E2E and unit test titles by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3610](https://github.com/web-infra-dev/rspress/pull/3610) - Release v2.0.20 by [@&#8203;SoonIter](https://github.com/SoonIter) in [#&#8203;3626](https://github.com/web-infra-dev/rspress/pull/3626) ##### New Contributors - [@&#8203;dajiaohuang](https://github.com/dajiaohuang) made their first contribution in [#&#8203;3621](https://github.com/web-infra-dev/rspress/pull/3621) - [@&#8203;hardfist](https://github.com/hardfist) made their first contribution in [#&#8203;3625](https://github.com/web-infra-dev/rspress/pull/3625) **Full Changelog**: <https://github.com/web-infra-dev/rspress/compare/v2.0.19...v2.0.20> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zOS4zIiwidXBkYXRlZEluVmVyIjoiNDQuMzkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiRGVwZW5kZW5jaWVzIiwiRGVwZW5kZW5jaWVzL1Jlbm92YXRlIl19-->
chore(deps): update node-patch-updates to v2.0.20
All checks were successful
Auto Labeler / Apply labels based on changed files (pull_request_target) Successful in 4s
Checks / Prek / Check changed files (pull_request) Successful in 7s
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 10s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m14s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m25s
1fa6c2fc5f
renovate force-pushed renovate/node-patch-updates from 1fa6c2fc5f
All checks were successful
Auto Labeler / Apply labels based on changed files (pull_request_target) Successful in 4s
Checks / Prek / Check changed files (pull_request) Successful in 7s
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 10s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m14s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m25s
to 69e204bfe2
All checks were successful
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 7s
Checks / Prek / Check changed files (pull_request) Successful in 7s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m5s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m16s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
2026-08-27 05:04:34 +00:00
Compare
ginger merged commit 35bdbf66cb into main 2026-08-27 13:39:16 +00:00
ginger deleted branch renovate/node-patch-updates 2026-08-27 13:39:16 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!2185
No description provided.