Update Log
πŸ“‹ Update Log
What's new, what got fixed, and what changed β€” by version.
v2.0.8
May 17, 2026
Latest
πŸ› Bug Fixes
  • Fixed: Trip Package tool was showing raw internal output in chat instead of Juliet’s formatted response with a clickable download link
  • Cleaned up duplicate trip package endpoint β€” consolidated to single implementation

v2.0.7
May 17, 2026
Previous
πŸ—ΊοΈ Trip Package
  • New Trip Package β€” ask Juliet for a "trip package" or "PDF with map" and she generates a full package: satellite overview map with your route overlaid, route stats, and waypoint table
  • Map image powered by Google Maps Static API β€” satellite view by default, route drawn as a red line with green Start / red End markers
  • Opens as a web page you can print to PDF from any browser (Ctrl+P β†’ Save as PDF)

v2.0.6
May 17, 2026
Previous
πŸ› Bug Fixes
  • Fixed: Juliet area searches (e.g. "find all hospitals around the route") were geocoding the phrase "around the route area" to a random US location β€” injecting the active GPS file's centroid coordinates into the search context so Juliet uses the actual file location instead of guessing
  • Fixed: Juliet could bypass the area-search gate by placing ≀5 markers directly from training memory β€” reverted to binary block: any direct waypoint write on an area-search request now requires SEARCH_TOOL (live Overpass/OSM query)
  • Fixed: Trip Planner "Find Along Route" now shows a warning when the active route is over 200 miles long, so results being spread across the full corridor is expected and visible

v2.0.5
May 17, 2026
Previous
πŸ› Bug Fixes
  • Fixed: Juliet could not place small sets of targeted markers (e.g. "mark hospitals with phone numbers") β€” the area-search gate was blocking all direct waypoint writes regardless of count

v2.0.4
May 17, 2026
Previous
πŸ› Bug Fixes β€” Trip Planner
  • Fixed: πŸ“ My Location button now correctly fills your GPS coordinates into the Origin field β€” previously the button panned the map but left the field empty
  • Fixed: Marker names as destination β€” typing "TGT", "to TGT marker", "HLZ", etc. now routes directly to the exact GPX pin coordinates instead of falling back to Google geocoding

v2.0.3
May 17, 2026
Previous
πŸ› Bug Fixes β€” Trip Planner
  • Fixed: Typing "my location" or "here" in origin/destination now shows a clear error and directs you to use the πŸ“ button β€” previously it geocoded to a generic city area instead of your actual GPS position
  • Fixed: Destination marker names with natural language like "to TGT marker" now correctly resolve to the GPX pin β€” filler words (to, the, marker, waypoint, etc.) are stripped before lookup
  • Fixed: 10-second timeout on sign-in β€” if Supabase is slow to respond, the button resets with a retry message instead of hanging indefinitely

v2.0.2
May 17, 2026
Previous
πŸ“‚ Upload β€” KML, KMZ, USR, and ZIP Support
  • The GPS file upload zone now accepts KML, KMZ, Lowrance USR, and ZIP files β€” all auto-converted to GPX in the browser before uploading
  • KML β€” Google Earth route, track, and waypoint files convert directly
  • KMZ β€” Zipped KML files are extracted and converted
  • ZIP β€” Archives are scanned for GPS files (GPX, KML, KMZ) and merged into one GPX
  • USR β€” Lowrance USR v4/v5 binary waypoint files are parsed and converted
πŸ› Bug Fixes
  • Removed PDF from GPS collections upload β€” PDFs go via Juliet chat, not collections
  • Fixed mobile topbar overflow on narrow iPhones β€” all buttons now fit cleanly on small screens

v2.0.1
May 17, 2026
Previous
🎨 Trip Planner
  • Route color picker now shows all 9 supported colors β€” added Yellow, Brown, Gray, and Black

v2.0.0
May 16, 2026
Previous
🧭 Trip Planner β€” Complete (Phases 1A + 1B + 1C)
  • New Trip Planner panel alongside Juliet β€” deterministic, No AI, all tools backed by Google APIs
  • Route Builder: Origin, destination, up to 3 stops, avoid highway/toll/ferry, route color. πŸ“ My Location button fills origin from GPS and pans the map
  • Find Along Route: Pick a category (Coffee, Gas, Food, Hotels, Hospitals, Pharmacies, Camping, Parks, Marinas, Airports, Attractions). Set max distance from route (1–25 mi). Optional keyword filter β€” type β€œStarbucks” to only mark Starbucks. Marks all unique stops evenly along the full route length
  • Place Search: Type any address, business, or landmark β€” drops a single precise marker. Type β€œStarbucks in Hampton Roads” or β€œstate parks in Pennsylvania” to find and mark ALL matching locations in that area (up to 60 results). Detects city vs. state/country and adjusts search radius automatically
  • πŸ“ My Location button in Place Search too β€” fill search with your GPS coordinates
  • β†Ί Undo Last Change button on every tab β€” restores the file to its state before the last Trip Planner action
  • Loading overlay with status message blocks double-actions during all operations
  • Map toast notifications confirm every result (e.g. β€œβœ“ Found 23 Fuel Stop stops along your route”)
  • Trip Planner and Juliet share the same file β€” use Trip Planner to find locations, then ask Juliet to filter, rename, or reorganize them
πŸ’€ Juliet Improvements
  • Juliet header always shows β€œMission Planning Specialist AI” β€” collection name no longer replaces her title
  • Both panels (Juliet + Trip Planner) now start closed on login
πŸ›£οΈ Backend
  • New POST /trip/route, POST /trip/poi-along-route, POST /trip/place-marker endpoints β€” all deterministic, no LLM
  • HTTPS enforcement on both static servers β€” HTTP requests auto-redirect to https://
  • Place Search smart area detection β€” geocodes area type, scales radius accordingly, paginates up to 3 pages (60 results)

v1.9.0
May 16, 2026
Previous
🧭 Trip Planner β€” Phase 1A
  • Initial Trip Planner panel with Route Builder
  • New POST /trip/route proxy endpoint

v1.8.0
May 16, 2026
Previous
πŸ“„ Help Guides β€” Inline Popup
  • All β€œ?” help menu items now open as in-app popups instead of new browser tabs
  • Responsive across desktop, iPhone, and iPad
  • Dark-themed modal matches the rest of the app
πŸ–ΌοΈ Juliet β€” Drag & Drop Images
  • Drop screenshots or images directly onto the Juliet chat area to attach them
  • Shows as attachment chip β€” same as using the paperclip button
πŸ”§ Juliet β€” Bug Fixes
  • File download links in chat now work without unauthorized error
  • Chat history clears when switching between collections
  • Route building no longer auto-adds POI markers unless explicitly asked
  • TTS voice now pronounces km, mph, ft, nm, and coordinates naturally
  • Marker labels hidden at low zoom β€” large files no longer cause label storm on map
  • Nearby markers deduplicated at low zoom for cleaner display
πŸ›‘οΈ Platform
  • Server sends proper Cache-Control no-store headers β€” users never need to clear cache after updates
  • Marker icon size locked at 14px (Law 8) β€” enforced in code with inline comments
  • Developer Console added (admin-only) with Update Checklist, Deploy Procedure, Laws, Lessons Learned, Infra tabs
v1.7.0
May 15, 2026
Previous
βš–οΈ Juliet Laws β€” Enforced in Code
  • πŸ’Ύ
    Auto-Backup Before Every Major Change
    Juliet now saves a backup of your file before any significant edit (track conversion, merge, deletion, bulk changes). One-click Undo button appears in the header whenever a backup exists.
  • πŸ•ΈοΈ
    Spiderweb Gate
    Juliet cannot attempt to untangle overlapping tracks without you first providing a start point, end point, and direction of travel. Enforced at the server level β€” she cannot bypass it.
  • πŸ—‘οΈ
    Delete Confirmation Gate
    Deleting any map element (track, route, waypoint, marker) now requires a confirmation step. The server describes exactly what will be deleted and waits for your confirmation before executing.
πŸ” Search β€” Now Uses Both OSM + Google Places
  • 🌐
    Universal Dual-Source Search
    Every search request now queries both OpenStreetMap and Google Places simultaneously. Results are merged and deduplicated. You get the full picture β€” not just what one source happens to know about.
  • πŸ›£οΈ
    FIND_ALONG_ROUTE_TOOL (renamed from POI_TOOL)
    The route-based POI search tool has been renamed for clarity. SEARCH_TOOL finds things in an area. FIND_ALONG_ROUTE_TOOL finds things along an active route. No more ambiguity.
πŸ› οΈ Dev Console
  • πŸ“‹
    Live Laws Feed
    The Dev Console (admin-only) now shows all active Juliet Laws fetched live from the server. Hit Refresh to see the current state at any time. Laws appear automatically as they are added.
πŸ› Bug Fixes
  • Fixed: Marker icon size locked at 14Γ—14 β€” had regressed to 22px, now permanently enforced as a Law
  • Fixed: Juliet chat input textarea invisible on load β€” added min-height and overflow:hidden
  • Fixed: Browser scrollbar overlapping Juliet panel β€” html element now has overflow:hidden
  • Fixed: Messages area scrollbar track visible when empty β€” track now transparent
  • Fixed: Login button dead on Safari Mac β€” version redirect system forces fresh HTML on every deploy, proxy crash loop eliminated
  • Fixed: Dev Console not showing for admin β€” admin check was firing before auth confirmed

v1.6.3
May 9, 2026
Stable
πŸ—ΊοΈ Routing Engine Upgrade
  • πŸ—ΊοΈ
    Google Routes API β€” High-Quality Road Geometry
    Routing now powered by Google’s Routes API with HIGH_QUALITY polyline mode. Route lines match every curve and bend of the actual road β€” same geometry Google Maps uses internally. Mileage, ETA, and fuel range calculations are now based on the real road path, not a simplified approximation.

v1.6.2
May 9, 2026
Stable
πŸ› Bug Fixes
  • Fixed: Route geometry housekeeping and routing engine groundwork.

v1.6.1
May 7, 2026
Stable
πŸ› Bug Fixes
  • Fixed: Turn direction labels (Sharp Left / Sharp Right) could be inverted at T-intersections. Juliet now correctly identifies whether to turn left or right at dead-end roads and intersections.

v1.6.0
May 6, 2026
Stable
πŸ—ΊοΈ Smarter Routing β€” Use Any Road, Town, or Stop
  • πŸ—ΊοΈ
    Via-Point Routing Actually Works
    When you ask Juliet to route via specific roads, through a town, past a landmark, or stopping at a business β€” she now actually does it. Previously, Juliet would acknowledge the request and then ignore it, letting OSRM pick the fastest path regardless. Now those requests become real intermediate waypoints the route is forced through.
  • πŸ—£οΈ
    Natural Language Understood
    You can now say things like: "route it through downtown Chesapeake", "stop at the Flying J on I-64", "take the scenic route along the coast", "I want to go past the harbor", or "use back roads." Juliet understands the full range of routing language β€” not just "via."
  • 🚫
    Avoid Options
    Tell Juliet to avoid specific road types: "no highways" / "back roads" / "scenic route" avoids interstates. "No tolls" avoids toll roads. "No ferry" avoids ferry crossings. These are passed directly to the routing engine.
πŸ› Bug Fixes
  • Fixed: Via-waypoints were silently dropped β€” OSRM now receives all requested stops as intermediate coordinates
  • Fixed: Multi-leg routes (3+ stops) now collect turn-by-turn steps from all legs, not just the first
  • Fixed: Unresolvable stops now reported back to you instead of silently skipped

v1.5.0
May 4, 2026
πŸ”’ Security Hardening
  • πŸ”’
    User Data Fully Isolated
    Comprehensive security audit completed. Every user’s conversations, GPS files, and collections are now enforced at the database level β€” no account can access another’s data. Supabase Row Level Security applied across all tables and file storage.
  • ⚠️
    Cloud Sync Failure Alert
    If Juliet’s file update fails to sync to cloud storage, a yellow warning now appears in the chat β€” β€œMap updated locally but cloud sync failed β€” your file is safe on this device.” Previously this failed silently with no indication.
  • πŸ”„
    Automatic Upload Retry
    When Juliet writes a file, the upload to cloud storage now retries automatically up to 3 times if a transient error occurs. Ensures large files (thousands of markers, full race files) sync reliably even under unstable network conditions.
  • πŸ—‚οΈ
    5-Version File History
    Every time Juliet edits a file, the previous version is preserved in a rolling 5-version backup ring. Previously only one undo level existed β€” one operation could wipe your prior state. Now you have 5 levels of recovery.
πŸ› Bug Fixes
  • Fixed: Cloud upload hanging indefinitely if Supabase had a slow response β€” 30-second timeout now enforced on all uploads
  • Fixed: API endpoints accessible without authentication β€” all proxy endpoints now require valid credentials
  • Fixed: Sensitive API keys stored in source code β€” moved to environment variables

v1.4.0
May 4, 2026
Stable
✨ New Features
  • πŸ”
    Area Search β€” Find Anything, Anywhere
    Ask Juliet to find any type of place across any geographic area β€” no route needed. "Mark all grocery stores in Currituck County", "Find every hospital in Chesapeake", "Show all airports in Arizona", "Add every McDonald's in Virginia Beach." Works for anything β€” gas stations, police stations, fire stations, marinas, boat ramps, gyms, banks, ATMs, hotels, restaurants, schools, churches, parks, zoos, museums, and more. Powered by OpenStreetMap β€” free, global coverage.
  • 🟨
    Federal Lands Layer
    New toggle in the Layers panel. Shows BLM, National Forest, National Park, Wildlife Refuge, and other federal land management areas as colored fills at 45% opacity over any basemap. Stacks underneath your parcel outlines when both are enabled.
πŸ›‘οΈ Reliability
  • πŸ”’
    No More Phantom Responses
    Fixed a class of issues where Juliet would confidently report work as done when nothing was actually written to the map. The server now structurally blocks these responses β€” if no file was written, you get an honest failure message, not a false confirmation.
πŸ› Bug Fixes
  • Fixed: Parcels and Federal Lands toggles appearing ON after page reload when layers weren't actually loaded β€” both now always start OFF
  • Fixed: Airport searches returning zero results β€” wrong internal database tag was being used
  • Fixed: Large airports (like Currituck County Regional) missing from area searches β€” complex map features now included

v1.3.0
May 2–3, 2026
Stable
✨ New Features
  • πŸ›£οΈ
    Road Route Builder
    Juliet can now build real road-following routes from scratch. Give her a start and end point β€” or a list of waypoints β€” and she builds a GPS route that follows actual roads, tracks, and paths using OpenStreetMap road data. Routes come out as proper LEADNAV-format GPX files ready to transfer to your iPad. Works anywhere in the world including Baja.
  • πŸ“
    GPS Location Pin β€” Drop Context Into Chat
    Tap the πŸ“ pin button in the chat bar to capture your current GPS location. Your coordinates are automatically injected into your next message β€” tell Juliet to "drop a marker here" or "find hospitals near me" and she has your exact location. One-shot β€” clears automatically after each message.
  • 🏑
    Property Parcel Layer
    New toggle in the Layers panel. Tap any property to see owner name, parcel address, acreage, and APN/parcel number. Labels appear when zoomed to street level. Works across all map types (Satellite, Topo, Recon). Powered by Regrid.
  • πŸ“
    Drop a Marker Anywhere in the World
    Juliet can now place a marker at any named location anywhere in the world β€” no route needed. Give her a business name, address, GPS coordinates, or just a place description and she'll find it and place it on your map.
  • β›½
    POI Search Along Your Route
    With a route loaded, ask Juliet to find services along the way β€” "Find fuel stops along my route", "Show restaurants within 10 miles", "Add hospitals along the way." Results drop as markers on the map automatically.
  • πŸ”„
    Turn Detection β€” Bearing-Based Audible Waypoints
    When Juliet builds a route, she now detects actual turn angles at each waypoint. Left turns, right turns, slight curves, and U-turns are automatically assigned the correct LEADNAV audible icon (Left Turn, Right Turn, etc.) based on the bearing change β€” not just guessing from the name.
  • πŸ”—
    Multi-Step Tool Chains
    Juliet can now chain multiple operations in sequence β€” build a route, then find POIs along it, then drop additional markers β€” each step confirming before the next.
  • πŸ”’
    Full-Fidelity Route Rendering β€” Locked
    Route and track lines now always render at full fidelity regardless of zoom level. Previously, zooming out could cause lines to be simplified. That's permanently locked off β€” what you see is exactly what's in your file.
πŸ› Bug Fixes
  • Fixed: Markers disappearing after Juliet updates a file in 3D mode β€” labels now persist across all re-renders
  • Fixed: Map zooming out to space (zoom level 0) after some Juliet responses β€” minimum zoom clamped to prevent this
  • Fixed: Switching back to 2D from 3D caused all markers to vanish β€” marker layer now fully restored on 2D return
  • Fixed: Orange route color not recognized by Juliet β€” all 9 LEADNAV route colors now fully documented in her context
  • Fixed: POI results placing markers in water or miles off-route β€” proximity gate added, results more than 1.5km off-route are rejected
  • Fixed: ROUTE_TOOL instruction defined but never sent to Juliet β€” she could see the tool structure but never received instructions on how to use it
  • Fixed: Road routes drawing as straight lines between waypoints instead of following actual road geometry β€” now uses full step-by-step geometry from the routing engine
  • Fixed: Location pin injecting GPS coordinates into every message instead of just one β€” now injects once then clears
  • Fixed: Parcel layer crashing 3D mode β€” cleanly disabled on 3D entry and restored on return to 2D
  • Fixed: Parcel layer breaking map type switching β€” surgical fix restores all basemap transitions
  • Fixed: Parcel owner labels not rendering β€” missing font/glyphs URL added to tile layer style
  • Fixed: Parcel labels appearing too late (zoom 15) β€” now appear at zoom 14
  • Fixed: Juliet's MARKER_TOOL and ROUTE_TOOL syntax leaking into visible chat replies β€” all tool signal text now stripped from user-facing output
  • Fixed: 3D map crashing when opened without a collection loaded β€” null-safe fix applied
  • Fixed: Undo backup files not cleaning up properly over time
  • Fixed: Stale collection shortcut appearing in UI after deletion

v1.2.0
May 1, 2026
✨ New Features
  • 🌐
    3D Terrain View
    Toggle between 2D and 3D on any map type. 3D Satellite and 3D Topo both available. Full ESRI world elevation data β€” pan, tilt, and orbit your terrain. All GPS data (routes, tracks, markers) renders correctly at real elevation in 3D.
  • 🧭
    Rotating Compass
    Live compass rotates as you pan the map. Tap it to snap back to north-up instantly. Works in both 2D and 3D modes, tracks camera heading in 3D.
  • ⏳
    Map Loading Spinner
    Clean centered spinner while your collection loads β€” no more blank map flash during file load.
  • ❓
    Help Menu
    ? button in the toolbar opens quick-access links to all reference guides β€” Marker Symbol Guide, Route Colors, Getting Started, Working with Juliet, and this Update Log.
  • 🎯
    Marker Symbol Guide
    Full visual reference guide for all 85+ LEADNAV marker icons β€” browse by category, see previews, and get the exact names to use when talking to Juliet. Available at /marker-guide.html.
πŸ› Bug Fixes
  • Fixed: New collection not auto-selected after creation β€” required manual click to open it
  • Fixed: Map not clearing when switching to a new empty collection
  • Fixed: 3D toggle failing due to incorrect container handling β€” now uses ESRI-safe method
  • Fixed: Compass not tracking heading in 3D mode
  • Fixed: Compass always hidden when map was north-up β€” now always visible
  • Fixed: Collections failing to load after internal team refactor
  • Fixed: "3D Satellite" option showing globe emoji in the map type menu

v1.1.0
April 28–30, 2026
✨ New Features
  • πŸ“±
    Full iPhone & Mobile Support
    Complete mobile layout pass. LNCommand now works properly on iPhone and iPad in portrait and landscape. Safe area insets throughout β€” notch, Dynamic Island, and home indicator are all handled correctly. Verified on all common iPhone and iPad sizes.
  • πŸ“‚
    Upload Destination Choice
    When uploading a file, you're now prompted to choose: create a new collection for it, or add it to an existing one. No more files dropped into the wrong place.
  • πŸ”Š
    Improved Juliet Voice
    Juliet's spoken responses are now clean natural speech β€” markdown symbols, bold headers, bullet points, and formatting stripped before going to voice. Character limit raised to 1,500 characters. If truncation is needed, it cuts at a sentence boundary β€” never mid-word or mid-thought.
  • πŸ—ƒοΈ
    Chat Message Logging
    All Juliet conversations are now logged to the database β€” enables future review, training, and analytics.
πŸ› Bug Fixes
  • Fixed: Layers toggle panel cut off right edge of screen on iPhone
  • Fixed: Bottom bar overlapping iPhone home indicator
  • Fixed: Topbar hidden behind notch on iPhone
  • Fixed: Juliet voice stopping early at em dashes and section headers
  • Fixed: Juliet formatting long responses as hard-to-read wall-of-text β€” now clean bullet lists
  • Fixed: Sending a screenshot alongside a message caused Juliet to ignore the message entirely and discuss screenshots instead
  • Fixed: Session state (map data, chat) not clearing on logout β€” could leak data to next user on shared devices
  • Fixed: Mobile bottom sheet drag-to-close not working reliably

v1.0.0
April 24–27, 2026
πŸš€ Initial Launch β€” Private Beta
  • πŸ—ΊοΈ
    Live ESRI Map
    Routes render as red lines, tracks as blue lines, markers as LEADNAV icons. Three base layers: Satellite, Topo, Recon. Layer controls to show/hide routes, tracks, waypoints, and markers independently. Per-route and per-track visibility toggles. Zoom in/out/home controls.
  • πŸ“
    Collections
    Create and manage named sets of GPS files. Upload GPX by drag-and-drop or file picker. Rename and delete collections. Download your finished GPX back to LEADNAV GPS on your iPad.
  • πŸ’€
    Juliet β€” AI Mission Planning Assistant
    Chat with Juliet to process your GPS files. She reads your loaded file and understands its full structure. Fly to any named waypoint, add and edit waypoints, rename and reorganize data, drop markers, build routes. The map updates live as she works. Full undo/revert on every edit.
  • πŸ”
    Secure Beta Access
    Email invite system β€” testers receive an invite, complete onboarding (name, team, password) on first login. Each team's data is fully isolated. Resend email integration for reliable invite delivery.
  • ↩️
    Undo / Revert
    One-level undo on every Juliet edit. If she makes a change you don't like, hit Undo to restore the previous version of the file instantly.