✨ Features and improvements
- feat: add opt-in Prometheus metrics endpoint (#2211) (by navidnabavi)
- feat: allow the data decorator to be asynchronous (#2352) (by acalcutt)
- Updates Maplibre-gl-js to v6 and maplibre-gl-inspect to v1.9.0. maplibre-gl-js v6 is ESM-only, so the viewer and data templates now load it as an ES module via an import map, and the elevation control is now an ES module. maplibre-gl-js v6 requires WebGL2; the viewer falls back to the raster (Leaflet) view without it (#2360) (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)
- fix: align low-zoom static map overlays (#2355) (by miakh)
- perf: avoid recompressing gzipped mvt tiles (#2369) (by bvitlas)