v1.6.0 — KMZ export & export panel reorder
- New KMZ export (zipped KML) alongside CSV/KML/PNG — lazily loads the same small zip library already used for KMZ import
- Export panel reordered: Import, Undo, Redo, and Clear now sit together in the top row; CSV, KML, KMZ, PNG, and Share moved to the row below
- Undo/Redo icons switched to circular ccw/cw arrows; Clear button now has a text label
v1.5.0 — Non-destructive import & share viewing
- Opening a share link or importing a file no longer overwrites your plan immediately — it loads as a preview with a banner to Merge, Override, or Close and go back to what you had
- New Show local data toggle while previewing: ghost markers on the map plus a separated, read-only “Local, not merged” group in the wayspot list, so you can compare before deciding
- Your plan now autosaves to your browser and is restored automatically on reload, even without a share link
- Import dialog simplified — files load straight into the new preview/banner flow instead of a separate Append/Replace choice
- Export panel reorganized into two rows; CSV export columns simplified to Name, Type, Color, Latitude, Longitude; TSV export removed (TSV import is still supported)
- New Wayspot panel spacing increased for a more comfortable layout
v1.4.1 — Floating controls polish
- Ruler button now toggles the ruler tool directly; popover only shows the Clear button when active
- Conflict circles default to hidden; the toggle button in the Conflict Range popover controls visibility (eye icon)
- Interaction Range popover now has a custom distance input and per-type circle toggles (PokéStop / Gym / Power Spot)
- Sidebar spacing increased for better readability
- All tooltip labels corrected to Title Case
v1.4.0 — Google My Maps round-trip
- Import now accepts .kmz files (zipped KML) in addition to .kml — lazily loads a small unzip library only when a .kmz is selected
- This makes import/export fully round-trippable with Google My Maps: export KML here → import into My Maps, or export from My Maps as KML/KMZ → import here
v1.3.7 — Security hardening
- Fixed a cross-site scripting (XSS) issue where a crafted share link or KML import could inject HTML via a wayspot's color value
- Fixed a crash when loading a share link containing an unrecognized wayspot type — now falls back to PokéStop instead of breaking the page
- KML and share-link imports now validate color/type the same way CSV/TSV imports already did
- Added a Subresource Integrity (SRI) check to the dynamically-loaded PNG export library
- Internal: extracted the inlined Leaflet library into its own source file for easier maintenance
v1.3.6 — Floating map controls
- Map and Planning settings moved out of the sidebar into floating icon buttons over the top-left of the map, freeing up sidebar space and keeping tools next to what they affect
- Clicking a floating control button no longer places a wayspot underneath it
- New default badge colours and an updated swatch palette for PokéStop / Gym / Power Spot
- Fixed the My Location button occasionally swallowing its own click
v1.3.5 — Esri tile authentication
- Esri Satellite & Street tiles now authenticated via API key — more reliable, less likely to be rate-limited
v1.3.4 — About & attribution
- About button added to status bar — shows affiliation disclaimer, trademark notices, and open-source credits
- Esri tile attribution corrected — full source list now shown on map for World Imagery and World Street Map
- S2 Geometry Library (Google LLC, Apache 2.0) credited in source
v1.3.3 — Performance & code cleanup
- S2 grid rendering debounced — map drag/zoom is visibly smoother
- Icon cache fixed — icons now persist across refreshes instead of being discarded every time
- Internal refactor: extracted helpers, removed duplicated teardown/creation code, improved conflict-check performance
v1.3.2 — Layout & map fixes
- Fixed page overflowing viewport due to UTF-8 BOM corrupting the CSS reset
- Leaflet controls now properly clipped and isolated within map bounds
- Sidebar height reliably matches map height across all browsers
- Leaflet attribution pinned flush to map corner with no gap
v1.3.1 — UI fixes
- Export panel and status bar pinned to sidebar bottom
- Sidebar sections now scroll independently
- Entire section header row clickable to collapse/expand
- Fixed Leaflet attribution and status bar clipping at viewport edge
v1.3.0 — Rebranded to Community Wayspot Planner
- Renamed to Community Wayspot Planner (short: Wayspot Planner)
- Export filenames updated to wayspot-planner.*
v1.2.1 — Mobile UI improvements
- Larger touch targets throughout (buttons, inputs, wayspot list rows)
- Export panel buttons taller and easier to tap
- Sidebar height increased on mobile for more content space
v1.2.0 — Type labels update
- Export type values simplified to Stop, Gym, Max
- Import accepts both old (PokéStop, Power Spot) and new (Stop, Max) names
- Changed default map tile to OpenStreetMap
- Fixed header title to "Wayspot Planner"
v1.1.1 — Bug fixes
- Fixed theme toggle button not rendering as a square
- Aligned theme button height to match Reset Layout button
v1.1.0 — Feature update
- S2 Level 14 & 17 cell grid overlay
- Undo / Redo — Ctrl+Z / Ctrl+Y with full history
- Share link via URL hash
- Per-wayspot notes field
- Distance display on hover when a wayspot is selected
- Type-prefixed auto-naming (e.g. PokéStop 1, Gym 2)
- PNG map export
- 80 m interaction range circles toggle
v1.0.0 — Initial release
- Wayspot placement — PokéStop, Gym, Power Spot with custom badge colours
- Conflict detection with configurable radius (default 40 m)
- Ruler — multi-segment distance measurement with snap-to-wayspot
- CSV / TSV / KML import & export
- Drag-to-move markers, drag-to-reorder list
- Dark / light theme with system preference detection
- Sidebar resizable and collapsible