]>
git.ipfire.org Git - thirdparty/vuejs/router.git/log
WuMingDao [Fri, 5 Jun 2026 15:56:14 +0000 (23:56 +0800)]
docs: add modfiy vite config for use custom Parser (#2723)
* docs(exp): add modfiy vite config for use custom Parser
* refactor: review
---------
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
baozj [Fri, 5 Jun 2026 14:43:15 +0000 (22:43 +0800)]
fix(scroll): ignore stale async scrollBehavior results (#2730)
* fix(scroll): ignore stale async scrollBehavior results
When scrollBehavior returns a Promise, superseded navigations could
still apply their scroll position to the current page. Track the
latest handleScroll call and only apply the result of the most recent
one.
Co-authored-by: Cursor <cursoragent@cursor.com>
* test(scroll): cover stale scrollBehavior rejections
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor: review
* test: refactor
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
dependabot[bot] [Fri, 5 Jun 2026 14:00:55 +0000 (16:00 +0200)]
ci: bump actions/checkout from 6.0.2 to 6.0.3 in the actions group (#2729)
Bumps the actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).
Updates `actions/checkout` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/
de0fac2e4500dabe0009e67214ff5f5447ce83dd ...
df4cb1c069e1874edd31b4311f1884172cec0e10 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Eduardo San Martin Morote [Tue, 2 Jun 2026 12:42:41 +0000 (14:42 +0200)]
docs: nuxt data loaders demo
Eduardo San Martin Morote [Fri, 29 May 2026 16:07:37 +0000 (18:07 +0200)]
ci: update workflows
Eduardo San Martin Morote [Fri, 29 May 2026 16:07:15 +0000 (18:07 +0200)]
ci: pin
Eduardo San Martin Morote [Fri, 29 May 2026 15:58:15 +0000 (17:58 +0200)]
test: migrate e2e suite from Nightwatch to Playwright (#2724)
* test: migrate e2e suite from Nightwatch to Playwright
* ci: run e2e through Playwright only
* ci: use playwright image
* test: improve e2e specs
* ci: fix actions
* ci: parallelize e2e
* ci: try more workers
* ci: test speed only chrome
* ci: upgrade pnpm
Micha Huhn [Fri, 29 May 2026 12:42:12 +0000 (14:42 +0200)]
docs: fix formatting in `extending-routes.md` (#2721)
Eduardo San Martin Morote [Fri, 29 May 2026 07:55:41 +0000 (09:55 +0200)]
test: unused import
Eduardo San Martin Morote [Fri, 29 May 2026 07:51:04 +0000 (09:51 +0200)]
test: fix
Eduardo San Martin Morote [Fri, 29 May 2026 07:48:22 +0000 (09:48 +0200)]
chore: fix missing script in test
Eduardo San Martin Morote [Thu, 28 May 2026 14:31:50 +0000 (16:31 +0200)]
release: vue-router@5.1.0
Eduardo San Martin Morote [Thu, 28 May 2026 14:04:22 +0000 (16:04 +0200)]
chore: fix playgroundc usage
Eduardo San Martin Morote [Thu, 28 May 2026 13:59:30 +0000 (15:59 +0200)]
refactor(experimental): remove defineQueryParamParser and definePathParamParser
BREAKING CHANGE: these are now replaced by `defineParamParser` and
`defineParamParserRaw`. They should cover more use cases in a more
intuitive way. Feedback is welcome. See
https://router.vuejs.org/experimental/param-parsers.html
Eduardo San Martin Morote [Thu, 28 May 2026 13:43:53 +0000 (15:43 +0200)]
docs: fix gen and dead links
Eduardo San Martin Morote [Thu, 28 May 2026 13:36:39 +0000 (15:36 +0200)]
refactor: organize imports and exports add back Router
Eduardo San Martin Morote [Thu, 28 May 2026 13:16:32 +0000 (15:16 +0200)]
docs: links update
Eduardo San Martin Morote [Thu, 28 May 2026 10:55:01 +0000 (12:55 +0200)]
chore: unused param
Eduardo San Martin Morote [Thu, 28 May 2026 10:54:47 +0000 (12:54 +0200)]
docs: experimental
Eduardo San Martin Morote [Thu, 28 May 2026 10:18:16 +0000 (12:18 +0200)]
chore: playground param parsers testing
Eduardo San Martin Morote [Thu, 28 May 2026 10:16:31 +0000 (12:16 +0200)]
build: build before test:types
Eduardo San Martin Morote [Thu, 28 May 2026 10:10:46 +0000 (12:10 +0200)]
test: param parser + resolve
Eduardo San Martin Morote [Wed, 27 May 2026 16:02:00 +0000 (18:02 +0200)]
fix(experimental): repeatable params in subsegments
Eduardo San Martin Morote [Wed, 27 May 2026 14:12:34 +0000 (16:12 +0200)]
feat: allow string as a param parser for convenience
Eduardo San Martin Morote [Wed, 27 May 2026 13:30:55 +0000 (15:30 +0200)]
build: update tsdown and rolldown
Eduardo San Martin Morote [Wed, 27 May 2026 12:49:02 +0000 (14:49 +0200)]
chore: use experimental types config in playground
Eduardo San Martin Morote [Wed, 27 May 2026 12:48:32 +0000 (14:48 +0200)]
feat: override useRouter() return with experimental types config
Eduardo San Martin Morote [Tue, 26 May 2026 09:29:57 +0000 (11:29 +0200)]
docs: drop vue-router 4 references (#2719)
Eduardo San Martin Morote [Tue, 26 May 2026 09:07:44 +0000 (11:07 +0200)]
refactor: not needed type
Eduardo San Martin Morote [Tue, 26 May 2026 09:05:11 +0000 (11:05 +0200)]
chore: remove vue-router 4 stuff
Eduardo San Martin Morote [Sat, 23 May 2026 16:18:20 +0000 (18:18 +0200)]
feat: emit runtime warning for invalid format in query params
Eduardo San Martin Morote [Sat, 23 May 2026 16:11:04 +0000 (18:11 +0200)]
chore: logs
Eduardo San Martin Morote [Sat, 23 May 2026 16:10:23 +0000 (18:10 +0200)]
fix: allow undefined values for params in query
Eduardo San Martin Morote [Sat, 23 May 2026 15:55:07 +0000 (17:55 +0200)]
chore: add param parser playground
Eduardo San Martin Morote [Sat, 23 May 2026 15:23:00 +0000 (17:23 +0200)]
refactor: use app.onUnmount
Eduardo San Martin Morote [Sat, 23 May 2026 15:20:06 +0000 (17:20 +0200)]
docs: better docs for loaders in meta
Eduardo San Martin Morote [Sat, 23 May 2026 15:16:26 +0000 (17:16 +0200)]
refactor: add loader types to base meta
Eduardo San Martin Morote [Sat, 23 May 2026 15:08:12 +0000 (17:08 +0200)]
ci: ignore more
Eduardo San Martin Morote [Sat, 23 May 2026 15:08:00 +0000 (17:08 +0200)]
test: remove useless test run and others
Eduardo San Martin Morote [Fri, 22 May 2026 16:51:32 +0000 (18:51 +0200)]
chore: build run
Eduardo San Martin Morote [Fri, 22 May 2026 14:56:03 +0000 (16:56 +0200)]
chore: note
Eduardo San Martin Morote [Fri, 22 May 2026 14:55:16 +0000 (16:55 +0200)]
feat: allow overriding the global Router type
Eduardo San Martin Morote [Thu, 21 May 2026 09:20:51 +0000 (11:20 +0200)]
test: up colada, less flaky
Eduardo San Martin Morote [Thu, 21 May 2026 09:11:02 +0000 (11:11 +0200)]
refactor: toStringLiteral
Eduardo San Martin Morote [Thu, 21 May 2026 09:10:53 +0000 (11:10 +0200)]
fix: detect not set format
Eduardo San Martin Morote [Thu, 21 May 2026 09:02:15 +0000 (11:02 +0200)]
chore: playground updates
Eduardo San Martin Morote [Thu, 21 May 2026 09:02:00 +0000 (11:02 +0200)]
feat: force array type raw param parsers
Eduardo San Martin Morote [Thu, 21 May 2026 09:01:13 +0000 (11:01 +0200)]
feat: support raw param parsers
Eduardo San Martin Morote [Thu, 21 May 2026 08:56:26 +0000 (10:56 +0200)]
refactor: raw param parser
Eduardo San Martin Morote [Wed, 20 May 2026 15:21:34 +0000 (17:21 +0200)]
test: missing runtime test
Eduardo San Martin Morote [Wed, 20 May 2026 15:19:23 +0000 (17:19 +0200)]
feat: strict type for definePage param default
Eduardo San Martin Morote [Wed, 20 May 2026 10:41:52 +0000 (12:41 +0200)]
fix: filter invalid query params without failing to match
Eduardo San Martin Morote [Wed, 20 May 2026 10:38:29 +0000 (12:38 +0200)]
chore: remove old file
Eduardo San Martin Morote [Wed, 20 May 2026 09:51:37 +0000 (11:51 +0200)]
fix: avoid importing unused param parsers
Eduardo San Martin Morote [Wed, 20 May 2026 09:10:09 +0000 (11:10 +0200)]
fix: deterministic param parser types order
Eduardo San Martin Morote [Tue, 19 May 2026 15:56:30 +0000 (17:56 +0200)]
build: fix script
Eduardo San Martin Morote [Tue, 19 May 2026 15:56:23 +0000 (17:56 +0200)]
chore: up some deps
Huijie Shi [Tue, 19 May 2026 15:48:45 +0000 (23:48 +0800)]
fix(types): add vite as optional peer dependency (#2712)
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com>
Co-authored-by: shihuijie <shihuijie@msh.team>
Eduardo San Martin Morote [Tue, 19 May 2026 15:43:01 +0000 (17:43 +0200)]
feat: typed definePage params.path (#2716)
Eduardo San Martin Morote [Tue, 19 May 2026 14:36:02 +0000 (16:36 +0200)]
fix: fix auto import fixes and make experimental esm only
skirtle [Wed, 13 May 2026 07:47:28 +0000 (08:47 +0100)]
docs: update `params` example (#2707)
Eduardo San Martin Morote [Wed, 13 May 2026 07:42:34 +0000 (09:42 +0200)]
release: vue-router@5.0.7
Eduardo San Martin Morote [Wed, 13 May 2026 07:40:44 +0000 (09:40 +0200)]
feat(param-parsers): add include/exclude options
Close #2706
Daniel Roe [Wed, 13 May 2026 07:25:35 +0000 (08:25 +0100)]
fix(volar): drop runtime `@vue/language-core` import (#2710)
Arpit Jain [Tue, 12 May 2026 17:41:40 +0000 (02:41 +0900)]
chore(ci): set least-privilege workflow token permissions (#2708)
Eduardo San Martin Morote [Fri, 8 May 2026 10:51:29 +0000 (12:51 +0200)]
chore(release): use @clack/prompts
Eduardo San Martin Morote [Thu, 7 May 2026 15:56:06 +0000 (17:56 +0200)]
chore: playground param type
Eduardo San Martin Morote [Thu, 7 May 2026 15:43:07 +0000 (17:43 +0200)]
refactor(param-parsers): simplify defineParamParser
BREAKING CHANGE: the new `defineParamParser()` is simpler and internally
handles arrays and nullish values, simplifying the writing of param
parsers:
```ts
export const parser = defineParamParser<Date>({
get: value => {
const asDate = new Date(value)
if (Number.isNaN(asDate.getTime())) {
miss(`Invalid date: "${value}"`)
}
return asDate
},
set: value => value.toISOString(),
})
Setting the first type param (here `Date`) is all you need now.
```
Eduardo San Martin Morote [Thu, 7 May 2026 13:42:47 +0000 (15:42 +0200)]
chore: comments
Eduardo San Martin Morote [Thu, 7 May 2026 13:42:36 +0000 (15:42 +0200)]
refactor: wip of defineParamParser
Eduardo San Martin Morote [Thu, 7 May 2026 10:37:11 +0000 (12:37 +0200)]
chore: logs
Eduardo San Martin Morote [Thu, 7 May 2026 10:06:39 +0000 (12:06 +0200)]
feat: upgrade `@vue/devtools-api`
Eduardo San Martin Morote [Thu, 7 May 2026 10:06:11 +0000 (12:06 +0200)]
chore: up oxfmt
Eduardo San Martin Morote [Thu, 7 May 2026 10:01:00 +0000 (12:01 +0200)]
chore: up tsdown
Eduardo San Martin Morote [Thu, 7 May 2026 09:46:12 +0000 (11:46 +0200)]
chore: updates
Eduardo San Martin Morote [Thu, 7 May 2026 09:43:35 +0000 (11:43 +0200)]
chore: deepsec
Eduardo San Martin Morote [Thu, 7 May 2026 09:43:17 +0000 (11:43 +0200)]
chore: ignore claude files
Eduardo San Martin Morote [Thu, 7 May 2026 09:35:27 +0000 (11:35 +0200)]
chore: up deps
this should fix docs
skirtle [Thu, 7 May 2026 08:28:34 +0000 (09:28 +0100)]
docs: update 'Nested Routes' example (#2701)
Eduardo San Martin Morote [Wed, 6 May 2026 13:45:27 +0000 (15:45 +0200)]
fix(types): wire RouteNamedMap via generated routes.d.ts (#2700)
Eduardo San Martin Morote [Wed, 6 May 2026 13:31:30 +0000 (15:31 +0200)]
fix(unplugin): apply definePage path-param parser overrides (#2699)
Eduardo San Martin Morote [Wed, 6 May 2026 12:53:48 +0000 (14:53 +0200)]
chore: rename
Eduardo San Martin Morote [Wed, 6 May 2026 12:33:16 +0000 (14:33 +0200)]
chore: todo note
wdskuki [Wed, 6 May 2026 12:28:18 +0000 (20:28 +0800)]
fix(query): use Object.create(null) to prevent prototype pollution (#2661)
Co-authored-by: wdsmini <wdsmini@wdsmini.local>
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
Eduardo San Martin Morote [Tue, 5 May 2026 14:25:47 +0000 (16:25 +0200)]
feat: make `defineParamParser()` more intuitive
Now it takes a single type param that defines what the param becomes. I
find this to be more intuitive than the previous version:
```ts
export const parser = defineParamParser<number>({
get: value => {
if (value == null) return null
if (Array.isArray(value)) {
return value
.filter(v => v != null)
.map(Number)
.filter(v => !Number.isNaN(v))
}
return Number.isNaN(Number(value))
? miss(`"${value}" is not a valid number`)
: Number(value)
},
set: value =>
Array.isArray(value)
? value.map(String)
: value == null
? null
: String(value),
})
```
Eduardo San Martin Morote [Tue, 5 May 2026 08:03:21 +0000 (10:03 +0200)]
feat: upgrade to babel 8
Given than Node supports ESM out of the box, this should be fine, but it
might be needed to go back to 7 if things break in CJS.
Eduardo San Martin Morote [Tue, 5 May 2026 07:48:44 +0000 (09:48 +0200)]
chore: move lines
skirtle [Tue, 5 May 2026 07:34:35 +0000 (08:34 +0100)]
docs: update 'Named Views' examples (#2697)
Eduardo San Martin Morote [Mon, 4 May 2026 15:35:48 +0000 (17:35 +0200)]
test: use direct imports
Eduardo San Martin Morote [Mon, 4 May 2026 12:47:54 +0000 (14:47 +0200)]
test: add generateRouteParams spec
Eduardo San Martin Morote [Sat, 2 May 2026 13:11:11 +0000 (15:11 +0200)]
docs: simpler diff
一只前端汪 [Fri, 24 Apr 2026 09:54:22 +0000 (17:54 +0800)]
fix(unplugin): Avoid generating empty routes (#2642)
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
bab [Wed, 22 Apr 2026 15:29:03 +0000 (00:29 +0900)]
fix(resolve): omit empty optional params from resolved params (#2434)
Optional params that don't match a segment are no longer set to `''` in
the resolved `params` object; the key is now absent. This matches how
the same route resolves by name and fixes #2419.
Code that checks `params.p === ''` to detect a missing optional param
should use `!params.p` instead as it works with both old and new behavior.
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
Eduardo San Martin Morote [Wed, 22 Apr 2026 15:13:22 +0000 (17:13 +0200)]
test: optional param normalization
Fabian Althaus [el-j] [Wed, 22 Apr 2026 14:47:16 +0000 (16:47 +0200)]
docs: nginx example (#2348)
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
Boaz101 [Wed, 22 Apr 2026 14:42:00 +0000 (10:42 -0400)]
docs: add example config for Azure Static Web App (#1406)
bab [Wed, 22 Apr 2026 14:38:10 +0000 (23:38 +0900)]
fix(matcher): finalize param token before processing escaped colon (#2654)
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
btea [Wed, 22 Apr 2026 13:37:42 +0000 (21:37 +0800)]
chore: make `warnDeprecatedUsage` warn info more explicit (#2577)
Art Furrer [Wed, 22 Apr 2026 13:31:37 +0000 (15:31 +0200)]
docs: Remove leading slash in documentation for apache redirect rule (#1561)
skirtle [Wed, 22 Apr 2026 13:25:57 +0000 (14:25 +0100)]
docs: update installation guide (#2659)