Skip to content

Ecosystem adoption

URLPattern began as a Chromium proposal in 2019 and has, over roughly six years, become a cross-runtime web standard supported by every major browser engine and every major server-side JavaScript runtime. This page is the citation surface for the claim that yarlpattern is implementing a stable, broadly-adopted standard — not a Chromium experiment.

Timeline

Year Milestone Source
2019 Proposal filed at WICG by Ben Kelly (Google); W3C TAG review opened; TPAC 2019 discussions TAG #417
2020 TPAC 2020 follow-up; reference C++ implementation (liburlpattern) lands in Chromium 202012 incubation update
2021-09 Deno 1.14 ships URLPattern (unstable) — first server runtime; stabilized in 1.15 Deno 1.14 release notes
2021-10 Chrome 95 ships URLPattern enabled by default — first stable browser New in Chrome 95
2022-03 Cloudflare Workers ships URLPattern as part of its web-standards surface Cloudflare standards-compliant Workers API
2023-10 URLPattern graduates from WICG to WHATWG as a Living Standard The URL Pattern Standard (WHATWG blog)
2025-01 Bun 1.2 implements URLPattern (passes 408 WPT cases) Bun 1.2 release notes
2025-02 Interop 2025 picks URLPattern as a focus area, committing all four engine vendors to convergence Announcing Interop 2025 (WebKit)
2025-02 Safari Technology Preview 213 implements URLPattern STP 213 release notes
2025-03 Node.js 23.8.0 ships URLPattern (implementation contributed by Cloudflare, atop Ada URL) Cloudflare announcement
2025-05 Node.js 24.0.0 exposes URLPattern globally Node 24 release notes
2025-08 Firefox 142 enables URLPattern by default Firefox 142 release notes
2025-09 Safari 26 ships URLPattern in stable; URLPattern reaches Baseline Newly Available URLPattern is now Baseline Newly available (web.dev)
2026-02 Interop 2025 retrospective cites URLPattern as a flagship cross-browser convergence win Interop 2025: A year of convergence (WebKit)

Snapshot: where URLPattern is today

Browsers — Baseline Newly Available since September 2025:

Engine Ships URLPattern Default since
Blink (Chrome / Edge / Opera / Brave / …) Yes Chrome 95, October 2021
Gecko (Firefox) Yes Firefox 142, August 2025
WebKit (Safari) Yes Safari 26, September 2025

Server runtimes — all natively, no polyfill:

Runtime Ships URLPattern Default since
Deno Yes 1.14 (Sep 2021), stable since 1.15
Cloudflare Workers Yes March 2022
Bun Yes 1.2 (Jan 2025)
Node.js Yes 23.8.0 (Mar 2025); global in 24.0.0 (May 2025)

Standards governance:

  • WHATWG Living Standard since October 2023 — same governance class as URL, Fetch, DOM, and HTML[^1]
  • Interop 2025 focus area, all four engine vendors committed and shipped[^2]
  • Reference Rust implementation (denoland/rust-urlpattern), reference C++ implementations (liburlpattern in Chromium and Ada URL used by Node.js and Cloudflare).

Frameworks built around URLPattern

The URLPattern adoption arc is closing the loop: frameworks that used to ship their own routers are now exposing URLPattern as the routing primitive itself.

  • Hono ships PatternRouter, a sub-15 KB router built on URLPattern, runnable unchanged on Workers, Deno, Bun, Node, and Lambda.
  • Deno standard library@std/http/unstable-route builds route() directly on URLPattern. The matcher in unstable_route.ts is about 15 lines wrapping pattern.exec().
  • Next.js Edge Runtime and Netlify Functions are cited by the WHATWG blog post as URLPattern-adopting runtimes.[^1]
  • Servo has an open implementation PR — once landed, that's a fifth engine.

What this means for yarlpattern

URLPattern is no longer a Chromium proposal — it is a multi-vendor, multi-runtime web standard with a complete shipping matrix and a Living Standard home. The Python implementation:

  • targets a stable surface (the API is unlikely to break under us — too many shipping runtimes depend on it),
  • has an authoritative conformance corpus (the WPT urlpattern test suite, the same files Chromium, Safari, Firefox, Deno, Bun, Node, Workers, and Ada validate against),
  • composes with the ecosystem-portable form of routing tables — the same pattern string runs in yarlpattern, Chrome, Safari, Deno, and a Cloudflare Worker fronting your service.

For a Python team, that's the case for adopting yarlpattern over hand-rolled urlparse + regex laddering: you're standardizing on the same routing primitive your browser, your Edge worker, and your LLM-stack runtime are already standardizing on.


[^1]: The URL Pattern Standard — WHATWG blog post announcing graduation from WICG, October 25, 2023.

[^2]: Announcing Interop 2025 (WebKit) and Interop 2025: another year of web platform improvements (web.dev) — multi-vendor commitment to URLPattern convergence.