✨ Features and improvements
- feat: add opt-in Prometheus metrics endpoint (#2211) (by navidnabavi)
- feat: allow the data decorator to be asynchronous (#2352) (by acalcutt)
🐞 Bug fixes
- fix: TypeError when style source value is a string (e.g. sprite path) (#2179) (by app/copilot-swe-agent)
- fix: clean stale tile-source state on SIGHUP reload (#2158) (by bvitlas)
- fix: correctly handle public_url in wmts endpoint (#2205) (by andrewlaguna824)
- fix: never leave a renderer request or pool slot unsettled (#2347) (by acalcutt)
- fix: honour sparse set in archive metadata (#2350) (by acalcutt)
- fix: data decorator never ran on Windows, or on PMTiles style sources (#2351) (by acalcutt)
- chore: drop unused host-validation imports from server.js (#2349) (by acalcutt)
- fix: restore the format-based sparse default (#2348) (by acalcutt)
- fix: align 512px static map overlays (#2344) (by miakh)
- fix: allow native install scripts under npm 12 so canvas builds (#2343) (by mikey923)