@remix-run/route-pattern
1.0.0 · 1 Oct 2026MIT1.9M / weekRepositoryHomepagenpmAtom feed
30 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 1.x · latest line
1.0.0
1 Oct 2026- breaking
First stable release.
- 0.25.x
0.25.0
28 Sep 2026- breaking
createHref()now normalizes generated pathnames to one leading slash, including absolute URLs and hrefs generated withbaseURL. Leading slashes in root wildcard values no longer round-trip unchanged. Pathname wildcard values containing standalone.or..segments now throwCreateHrefErrorwithdetails.type === 'invalid-pathname-wildcard'.Pass path fragments without extra leading slashes, and resolve any intended dot segments before generating an href. Multi-segment paths, internal and trailing slashes, and dotted filenames remain supported.
createHref('/*path', { - path: '/docs/../readme.md', + path: 'readme.md', }, { baseURL: 'https://example.com/' }) Declare package modules as side-effect-free.
- 0.24.x
0.24.1
18 Sep 2026Reject backslashes in
createHref()hostname variables and wildcards so generated URLs retain the intended hostname.Count variable scans and capture comparisons toward
maxMatchWorkso matching stops when optional or wildcard patterns exceed the configured work limit.
0.24.0
14 Aug 2026- breaking
Route matching now uses delimiter-bounded params and a bounded state compiler (see #11651). Pathname params possessively capture through hyphens but stop at raw
/or., so UUIDs remain intact andcreateHref()percent-encodes dots in param values for round-tripping. Patterns such as/:year-:monthmust migrate to one inseparable param such as/:date, or place captures in separate delimiter-bounded segments.Patterns may contain any number of separated wildcards and optional groups without eagerly expanding variants or using backtracking regular expressions. Adjacent wildcards, empty optionals, params followed by non-delimiter text, and ambiguous adjacent optional capture schemas now throw
ParseError. Repeated capture names remain valid: the last participating capture wins inparams, whileparamsMetaretains every capture in source order.Static pattern text is decoded during matching, while raw and percent-encoded
/and.retain distinct structural meaning. Matchers also accept configurable pattern-size, matcher-size, and match-work limits throughMatcherOptions.limits; exceeding a limit throwsMatcherResourceErrorwith structured details. - breaking
createHref(pattern, params, searchParams)now accepts an options object as its third argument. Move existing search parameters tocreateHref(pattern, params, { searchParams }).Matchers now accept relative URL strings when an absolute
baseURLis provided tomatch()ormatchAll().createHref()accepts the samebaseURLoption and returns path-relative references for same-origin targets while leaving cross-origin targets absolute. ThesearchParamsoption accepts both typed plain objects andURLSearchParams; repeatedURLSearchParamsentries retain their order.
- 0.23.x
0.23.0
1 Jul 2026Reading the note…
- 0.22.x
0.22.1
5 Jun 2026Reading the note…
0.22.0
29 May 2026Reading the note…
- 0.21.x
0.21.1
20 May 2026Reading the note…
0.21.0
20 May 2026Reading the note…
- 0.20.x
0.20.1
23 Apr 2026Reading the note…
0.20.0
25 Mar 2026Reading the note…
- 0.19.x
0.19.0
28 Feb 2026Reading the note…
- 0.18.x
0.18.0
28 Jan 2026Reading the note…
- 0.17.x
0.17.0
20 Jan 2026Reading the note…
- 0.16.x
0.16.0
18 Dec 2025Reading the note…
- 0.15.x
0.15.3
19 Nov 2025Reading the note…
0.15.2
19 Nov 2025Reading the note…
0.15.1
19 Nov 2025Reading the note…
0.15.0
5 Nov 2025Reading the note…
- 0.14.x
0.14.0
4 Oct 2025Reading the note…
- 0.13.x
0.13.0
29 Sep 2025Reading the note…
- 0.12.x
0.12.0
25 Sep 2025Reading the note…
- 0.11.x
0.11.0
11 Sep 2025Reading the note…
- 0.10.x
0.10.0
4 Sep 2025Reading the note…
- 0.9.x
0.9.1
4 Sep 2025Reading the note…
0.9.0
3 Sep 2025Reading the note…
- 0.8.x
0.8.0
3 Sep 2025Reading the note…
- 0.7.x
0.7.0
1 Sep 2025Reading the note…
- 0.6.x
0.6.0
29 Aug 2025Reading the note…
- 0.4.x
0.4.0
24 Jul 2025Reading the note…