Packages

@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. 1.x · latest line
  2. 1.0.0

    1 Oct 2026
    • breaking

      First stable release.

  3. 0.25.x
  4. 0.25.0

    28 Sep 2026
    • breaking

      createHref() now normalizes generated pathnames to one leading slash, including absolute URLs and hrefs generated with baseURL. Leading slashes in root wildcard values no longer round-trip unchanged. Pathname wildcard values containing standalone . or .. segments now throw CreateHrefError with details.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.

  5. 0.24.x
  6. 0.24.1

    18 Sep 2026
    • Reject backslashes in createHref() hostname variables and wildcards so generated URLs retain the intended hostname.

    • Count variable scans and capture comparisons toward maxMatchWork so matching stops when optional or wildcard patterns exceed the configured work limit.

  7. 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 and createHref() percent-encodes dots in param values for round-tripping. Patterns such as /:year-:month must 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 in params, while paramsMeta retains 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 through MatcherOptions.limits; exceeding a limit throws MatcherResourceError with structured details.

    • breaking

      createHref(pattern, params, searchParams) now accepts an options object as its third argument. Move existing search parameters to createHref(pattern, params, { searchParams }).

      Matchers now accept relative URL strings when an absolute baseURL is provided to match() or matchAll(). createHref() accepts the same baseURL option and returns path-relative references for same-origin targets while leaving cross-origin targets absolute. The searchParams option accepts both typed plain objects and URLSearchParams; repeated URLSearchParams entries retain their order.

  8. 0.23.x
  9. 0.23.0

    1 Jul 2026

    Reading the note…

  10. 0.22.x
  11. 0.22.1

    5 Jun 2026

    Reading the note…

  12. 0.22.0

    29 May 2026

    Reading the note…

  13. 0.21.x
  14. 0.21.1

    20 May 2026

    Reading the note…

  15. 0.21.0

    20 May 2026

    Reading the note…

  16. 0.20.x
  17. 0.20.1

    23 Apr 2026

    Reading the note…

  18. 0.20.0

    25 Mar 2026

    Reading the note…

  19. 0.19.x
  20. 0.19.0

    28 Feb 2026

    Reading the note…

  21. 0.18.x
  22. 0.18.0

    28 Jan 2026

    Reading the note…

  23. 0.17.x
  24. 0.17.0

    20 Jan 2026

    Reading the note…

  25. 0.16.x
  26. 0.16.0

    18 Dec 2025

    Reading the note…

  27. 0.15.x
  28. 0.15.3

    19 Nov 2025

    Reading the note…

  29. 0.15.2

    19 Nov 2025

    Reading the note…

  30. 0.15.1

    19 Nov 2025

    Reading the note…

  31. 0.15.0

    5 Nov 2025

    Reading the note…

  32. 0.14.x
  33. 0.14.0

    4 Oct 2025

    Reading the note…

  34. 0.13.x
  35. 0.13.0

    29 Sep 2025

    Reading the note…

  36. 0.12.x
  37. 0.12.0

    25 Sep 2025

    Reading the note…

  38. 0.11.x
  39. 0.11.0

    11 Sep 2025

    Reading the note…

  40. 0.10.x
  41. 0.10.0

    4 Sep 2025

    Reading the note…

  42. 0.9.x
  43. 0.9.1

    4 Sep 2025

    Reading the note…

  44. 0.9.0

    3 Sep 2025

    Reading the note…

  45. 0.8.x
  46. 0.8.0

    3 Sep 2025

    Reading the note…

  47. 0.7.x
  48. 0.7.0

    1 Sep 2025

    Reading the note…

  49. 0.6.x
  50. 0.6.0

    29 Aug 2025

    Reading the note…

  51. 0.4.x
  52. 0.4.0

    24 Jul 2025

    Reading the note…