🌸Spring 2026 Pebble App Contest View the entries!

Changelog

Version 2.82026-08-06T13:09:59.477

✨ UI, Navigation & Tracking Enhancements (Thanks to @patrickvbe!)

GPS & Tracking Precision: Fixed the nearest point and section detection logic. This eliminates false "off-track" warnings and correctly calculates traveled vs. remaining distances on very long track sections.
Battery Optimizations: The app now strictly obeys the configured gpsInterval setting to skip overly frequent GPS polling, preserving both watch and phone battery life.
Navigation Feedback: The directional text in the footer now includes the exact distance. The big pop-up arrow behavior has been synced with the turn vibration to prevent overlapping alerts, and its on-map color and size have been tweaked for better contrast.
Dashboard & Layout Polish: Introduced dynamic font scaling in the dashboard based on the number of items. Improved readability for battery and zoom fields, refined the distance formatting, and made the track recording indicator more distinct (open circle when not recording).
🐛 Map Source Fixes (Thanks to @ChrisBoomhower!)

White Map Screen Fix (US-12): Repaired two map sources that were broken and only rendering blank white tiles.
HikeBikeMap → CyclOSM: The HikeBikeMap tile server was decommissioned. It has been replaced with CyclOSM, a reliable, free, HTTPS outdoor basemap with global coverage. Users who had the old map selected are automatically migrated.
MtbMap: Switched the tile server to https:// to bypass security blocks from mobile WebViews that prevented the unencrypted tiles from loading.
Settings Preview: Applied the exact same map source fixes to the Leaflet map preview inside the Settings Page.

Version 2.72026-07-12T09:50:48.308

Version 2.7.0

Bug Fixes & Improvements:
• Added full UI support for Pebble Round (Chalk platform). Layouts no longer cut off text elements or arrows.
• Fixed an issue where the watch battery and distance-to-destination fields were invisible on the new dashboard.
• Improved dashboard grid layout to perfectly center elements when exactly 3 fields are active.
• Optimized elevation fields to use clean line breaks instead of slashes.
• Fixed a bug where long GPX tracks could cause the Settings Page to fail loading your saved routes.

Version 2.62026-07-11T16:00:56.881

- **Navigation View Modes (Auto-Popup & Permanent Arrow):** Replaced the simple "Auto-Popup Navigation" setting with a 3-way dropdown for "Navigation View". Users can now choose to see the map, enable an auto-popup full-screen navigation view that shows a large arrow and distance when approaching a turn (< 50m), or permanently display the large arrow (Arrow Only) for quick reading and battery savings.
- **Directional Vibration Patterns:** Added distinct vibration patterns for turns. A left turn triggers a double pulse, while a right turn triggers a single long pulse. Off-route alerts now trigger 3 rapid pulses.
- **Fully Dynamic Dashboard & New Metrics:** Completely overhauled the dashboard grid architecture. Users can now select up to 4 optional fields from 10 different metrics (Speed, Average Speed, Distance, Elevation Gain/Loss, Duration, Altitude, Battery, Compass Heading, Distance to Destination) to display alongside fixed coordinates. The watch automatically adjusts grid layout and maximizes font sizes.

Version 2.52026-06-14T18:59:32.654

## [2.5.0] - 2026-06-14

### Added
- **Copy GPX to Clipboard Workaround**: Added a "Copy" / "Kopieren" button to the recorded trips list in settings. Since embedded mobile WebViews (especially on iOS) often restrict downloading files or opening local data/Blob URIs, users can now copy the raw GPX XML string directly to their clipboard and paste it into a file as a workaround.

### Changed
- **Capped Zoom Level**: Capped the maximum zoom level to 17 (previously 18) across the watchapp C code and the Leaflet settings map view of recorded routes, to prevent map rendering issues at extreme zoom levels.

Version 2.42026-06-14T18:55:17.236

## [2.4.0] - 2026-06-14

### Changed
- **Inline Recorded Trips Mapping and GPX Downloads**: Redesigned the "View" map modal and GPX file downloads to execute locally and inline within the settings WebView. This eliminates the legacy behavior of closing and reopening the settings WebView, completely preventing transition crashes and settings page collapse.
- **Embedded Route Compression**: Companion app now compresses coordinates for the latest 8 trips using a custom Base36 delta-compression scheme and embeds them inside the initial settings URL payload, keeping URL length well within Pebble limits.

Version 2.32026-06-14T18:43:18.451

Bugfixes

Version 2.22026-06-14T18:35:39.539

### Added
- **Real-Time Traveled Route Overlay (Breadcrumbs)**: Added real-time rendering of the user's traveled path (breadcrumb trail) on the watch map in a distinct Cobalt Blue color (3px thickness). Draw rendering takes place underneath the planned route line to preserve upcoming path legibility.
- **Show Traveled Route Settings Toggle**: Introduced a new settings toggle under the "Allgemein" section of the configuration page to show/hide the breadcrumb overlay dynamically. Includes full German/English localizations.
- **Graphics Rendering Optimizations**: Integrated a decimation filter to cap maximum drawn path points to 500 and a 50px viewport bounding box padding/clipping filter to keep map panning and zooming smooth.

Version 2.02026-06-08T18:22:10.751

- **Fullscreen Map Toggle Setting**: Added a configuration option in the phone settings page (`config.html`) to display the map in full screen.

Version 1.92026-06-07T18:55:23.349

## [1.9.0] - 2026-06-07

### Removed
- **GPX File Selector**: Removed the unreliable file selection input and dropzone from the settings page. Copy-pasting the raw GPX XML content is now the sole route input method.

Version 1.82026-06-07T11:18:45.453

## [1.8.0] - 2026-06-07

### Fixed
- **Watch Route Load Failure**: Fixed a bug where activated routes from the watch menu failed to load ("No GPX route loaded" displayed on screen). This was caused by 64-bit JS timestamps (`Date.now()`) overflowing Pebble's 32-bit integer data types during transmission. Resolves the issue by performing bitwise 32-bit integer matching for route IDs on the companion side.

Version 1.72026-06-07T11:15:08.081

## [1.7.0] - 2026-06-07

### Fixed
- **Accidental Route Overwrite Prevention**: Selecting an inactive route now prompts the user with a confirmation window ("Start navigation?") or switch warning ("Switch route? Saves current trip.") instead of activating immediately. This prevents active workout recordings from being silently discarded.

Version 1.62026-06-07T11:10:14.286

## [1.6.0] - 2026-06-07

### Added
- **On-Watch Route Activation & Auto-Start**: Selecting an inactive route from the watch route menu now automatically activates the route and starts navigation/recording immediately.
- **On-Watch Stop Confirmation Window**: Re-selecting the active route in the watch menu now displays a confirmation dialog asking the user whether to stop navigation.
  - Localization support: "Stop navigation? / SELECT: Confirm / BACK: Cancel" in English and "Navi stoppen? / SELECT: Ja / BACK: Nein" in German.
- **Auto-Save Walked Track on Stop**: Confirming the stop deactivates the route, stops recording, and automatically saves the walked track/trip to the phone's trips history.
- **Vibration Feedback**: Triggers vibes_short_pulse on start and vibes_double_pulse on stop.
- **Menu Stack Popping on Confirm**: Automatically removes the route menu from the stack when confirming the stop, returning the user directly to the main map screen.

Version 1.52026-06-07T07:48:26.512

Fix: Resolved companion app geolocation startup crash by adding try-catch wrappers to geolocation requests and checking navigator.geolocation existence.
Fix: Improved geolocation stability under cold-start conditions by increasing the watch timeout to 10s and maximum cached age (maximumAge) to 10s.
Fix: Guarded localStorage parsing of saved routes and tracks against corrupted data to prevent silent thread crashes.
Fix: Resolved platform map-size discrepancy in the CommonJS module scope by querying getActiveWatchInfo() in the main thread and passing the platform variable directly to graphics.initMapDimensions(platform).

Version 1.42026-06-07T07:42:06.706

Map Source Selection:
Added a dropdown option in settings to choose between four free, API-key-free map layers: OpenTopoMap (Topographic), HikeBikeMap (High-contrast Outdoor), MtbMap (Detailed Trails), and OpenStreetMap Standard (Fast / Clean).
Changing the map source immediately triggers a refresh and redraw of the map on the watch.
Isolated Offline Caching:
Persistent tile storage in LocalStorage is now separated by map style. Switching map sources no longer overwrites or mixes different map styles in offline mode.
Fully Responsive UI Layouts:
Fixed visual bugs on smaller Pebble models (Basalt, Chalk, Aplite): the turn-instruction footer is now fully visible, dashboard text boxes scale dynamically to prevent clipping, and the Zoom text in the header hides on 144px screens to maximize space for navigation distance.
Dynamic Map Resolution & Performance Boost:
Map framebuffers are negotiated dynamically per watch model. This cuts tile size by almost 50% (from 30KB down to 16KB) on Pebble Time and Classic, leading to twice-as-fast transmission speeds and preventing out-of-memory crashes on classic hardware.
Bug Fixes:
PebbleKit JS Module Scope Fix: Resolved a ReferenceError on startup that halted the companion app and prevented GPS tracking from starting.
WebView Reset Fix: Fixed select dropdown values resetting to default (OpenTopoMap) when refreshing translations in mobile WebViews.

Version 1.32026-06-07T07:31:38.089

Map Source Selection:
Added a dropdown option in settings to choose between four free, API-key-free map layers: OpenTopoMap (Topographic), HikeBikeMap (High-contrast Outdoor), MtbMap (Detailed Trails), and OpenStreetMap Standard (Fast / Clean).
Changing the map source immediately triggers a refresh and redraw of the map on the watch.
Isolated Offline Caching:
Persistent tile storage in LocalStorage is now separated by map style. Switching map sources no longer overwrites or mixes different map styles in offline mode.
Fully Responsive UI Layouts:
Fixed visual bugs on smaller Pebble models (Basalt, Chalk, Aplite): the turn-instruction footer is now fully visible, dashboard text boxes scale dynamically to prevent clipping, and the Zoom text in the header hides on 144px screens to maximize space for navigation distance.
Dynamic Map Resolution & Performance Boost:
Map framebuffers are negotiated dynamically per watch model. This cuts tile size by almost 50% (from 30KB down to 16KB) on Pebble Time and Classic, leading to twice-as-fast transmission speeds and preventing out-of-memory crashes on classic hardware.

Version 1.22026-06-07T07:14:14.415

Routenauswahl direkt auf der Uhr (On-Watch Menu):
Ein Klick auf die Select-Taste im Dashboard-Modus öffnet nun ein komfortables Routenmenü (SimpleMenuLayer). Dort werden alle auf dem Smartphone hinterlegten GPX-Routen aufgelistet und können direkt gestartet werden.
Wenn die aktuell aktive Route im Menü erneut ausgewählt wird, wird sie deaktiviert. Dadurch wird die Navigation sauber beendet und das GPS-Signal auf dem Smartphone gestoppt.
Die Navigation auf der Uhr wurde benutzerfreundlicher gestaltet: Das Zurückkehren vom Dashboard zur Karte geschieht nun über die Back-Taste, während die App erst beim Drücken der Back-Taste in der Kartenansicht geschlossen wird.
Manuelle Aufzeichnungs-Steuerung (Start/Stop):
Ein langer Druck auf die Select-Taste (~500 ms) in der Kartenansicht startet oder stoppt die GPS-Aufzeichnung der zurückgelegten Strecke. Die Uhr signalisiert dies durch Vibrationsmuster (einmal kurz bei Start, zweimal kurz bei Stop).
Eine aktive Aufzeichnung wird im Header der Uhr durch einen roten REC-Indikator links neben dem GPS-Symbol visualisiert.
Die Aufzeichnung kann alternativ auch direkt auf dem Handy über eine Schaltfläche in den Einstellungen gesteuert werden.
Tour-Archivierung und GPX-Export:
Beendete Aufzeichnungen werden im Telefonspeicher archiviert und mit Datum, Distanz, Dauer und Wegpunkten aufgelistet.
Jede Tour kann direkt über den Webview des Smartphones als valide .gpx-Datei heruntergeladen (vollständig offline-kompatibel generiert) oder gelöscht werden.
Sensorfusionierter Richtungsanzeiger (Echtzeit-Pfeil):
Die statische blaue Kreismarkierung wurde durch einen grafischen Chevron-Navigationspfeil im Zentrum der Karte ersetzt.
Im Stand (Geschwindigkeit <= 1.0 m/s): Die Ausrichtung des Pfeils wird über den Kompass der Pebble gesteuert, sodass er sich synchron mitdreht, wenn man sich auf der Stelle bewegt.
In Bewegung (Geschwindigkeit > 1.0 m/s): Das System schaltet automatisch auf das GPS-Signal (Bewegungsrichtung) um, um das natürliche Schwingen des Handgelenks beim Gehen herauszufiltern.
Optimierter Standard-Zoom & Routen-Kontrast:
Der Standard-Zoomlevel wurde von 15 auf 17 erhöht, um Waldwege, topografische Konturen und Details beim Wandern/Gehen perfekt darzustellen.
Die Routenlinie wurde auf eine Breite von 5 Pixeln vergrößert. Die zukünftige Route leuchtet in kräftigem Orange (#FF3C00), während bereits gelaufene Wegstrecken in kontrastreichem Dunkelgrau (#787878) dargestellt werden.

Version 1.02026-06-07T06:51:32.966

No release notes available