π 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-markerendpoints β 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/routeproxy 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 ChangeJuliet 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 GateJuliet 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 GateDeleting 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 SearchEvery 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 FeedThe 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 GeometryRouting now powered by Googleβs Routes API with
HIGH_QUALITYpolyline 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 WorksWhen 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 UnderstoodYou 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 OptionsTell 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 IsolatedComprehensive 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 AlertIf 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 RetryWhen 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 HistoryEvery 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, AnywhereAsk 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 LayerNew 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 ResponsesFixed 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 BuilderJuliet 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 ChatTap 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 LayerNew 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 WorldJuliet 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 RouteWith 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 WaypointsWhen 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 ChainsJuliet 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 β LockedRoute 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 ViewToggle 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 CompassLive 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 SpinnerClean 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 GuideFull 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 SupportComplete 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 ChoiceWhen 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 VoiceJuliet'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 LoggingAll 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 MapRoutes 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.
-
CollectionsCreate 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 AssistantChat 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 AccessEmail 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 / RevertOne-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.