{"id":"695823be51eccfbd24748212","title":"2025 12 17","path":"how-to/committee/release-notes/2025-12-17","contentMarkdown":"# 17-Dec-2025 — ESRI route import, viewport filtering, search, and performance improvements ([Refs #102](https://github.com/nbarrett/ngx-ramblers/issues/102),...\n\n## [build 394](https://github.com/nbarrett/ngx-ramblers/actions/runs/20394768432) — [commit 1c25d1c](https://github.com/nbarrett/ngx-ramblers/commit/1c25d1cd1727190c548d7d570f67595d1eaee33c)\n\n_____\n\n- import large ESRI shapefiles and GeoJSON datasets, including partial zip imports, converting to GPX and persisting generated files with metadata\n- shared route import API/service/togpx pipeline with hardened GPX parsing, AWS upload normalization, WGS84 consistency, and organized GPX/ESRI asset structure\n- expand map editor and viewer with palette-driven route styling, marker management, preview overlays, and route controls\n- viewport-based filtering with dynamic refresh on pan/zoom, pre-calculated track bounds, 500-track fallback, and separate per-route rendering\n- per-route “X of Y in view” counts using routeVisibleCounts, removing shared counters and unused properties, with improved badges and progress indicators\n- performance logging for route processing and viewport intersections during GPX parsing\n- search filtering for imported routes by name or description (case-insensitive), combined with viewport filtering, including match counts and UI controls\n- functional refactors (map/filter), model consolidation, formatting cleanup ahead of phase 3, and updated Node requirements\n- Bump default memory to 512mb to avoid OOM problems on failed deployment","contentHtml":"<h1>17-Dec-2025 — ESRI route import, viewport filtering, search, and performance improvements (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/102\">Refs #102</a>,...</h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/20394768432\">build 394</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/1c25d1cd1727190c548d7d570f67595d1eaee33c\">commit 1c25d1c</a></h2>\n<hr>\n<ul>\n<li>import large ESRI shapefiles and GeoJSON datasets, including partial zip imports, converting to GPX and persisting generated files with metadata</li>\n<li>shared route import API/service/togpx pipeline with hardened GPX parsing, AWS upload normalization, WGS84 consistency, and organized GPX/ESRI asset structure</li>\n<li>expand map editor and viewer with palette-driven route styling, marker management, preview overlays, and route controls</li>\n<li>viewport-based filtering with dynamic refresh on pan/zoom, pre-calculated track bounds, 500-track fallback, and separate per-route rendering</li>\n<li>per-route “X of Y in view” counts using routeVisibleCounts, removing shared counters and unused properties, with improved badges and progress indicators</li>\n<li>performance logging for route processing and viewport intersections during GPX parsing</li>\n<li>search filtering for imported routes by name or description (case-insensitive), combined with viewport filtering, including match counts and UI controls</li>\n<li>functional refactors (map/filter), model consolidation, formatting cleanup ahead of phase 3, and updated Node requirements</li>\n<li>Bump default memory to 512mb to avoid OOM problems on failed deployment</li>\n</ul>\n"}