Packages

@remix-run/route-pattern

1.0.0 · 1 Oct 2026MIT1.9M / weekRepositoryHomepagenpmAtom feed

Latest releases

All 30 releases
  1. 1.x · latest line
  2. 1.0.0

    1 Oct 2026
    • breaking

      First stable release.

  3. 0.25.x · maintenance
  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 · maintenance
  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 · maintenance
  9. 0.23.0

    1 Jul 2026

Notes older than 90 days are read on the Releases tab.

Dependency tracking · free for 3 projects

Know when your own dependencies move

@remix-run/route-pattern shipped a new major in the last 12 months, among 19 releases. Inlinr shows which of your projects are behind, and what the upgrade breaks.

  • Advisories reach you

    An email when a critical or high advisory affects a project, before the next install.

  • Upgrades checked first

    Peer ranges, Node, ESM-only and types changes read before you bump.

  • Only what matters

    Majors and breaking notes stay; patches and sibling bumps fold into one line.

How dependency tracking works

Registry facts last checked 22 Oct 2026. Releases and advisories last read 22 Oct 2026.