Version 1.18 (2026-07-20)
- Release: Bump to 1.18 for publishing; minor fixes and release preparation. Includes vibration configuration and related fixes.
Version 1.17 (2026-07-20)
- Config: Add vibration setting to the configuration page. Options: Default (40ms), Strong (80ms), Off. Settings persist in the webview and are sent to the watch when the Pebble app connects.
Version 1.16 (2026-07-09)
- Config: persist player auto-close timeout set in the configuration page; settings passed from the Pebble JS webview now pre-populate fields so the player timeout no longer reverts to 30 seconds.
Version 1.15 (2026-07-05)
- Platform: Add support for Pebble 2 Duo (`flint`) and Pebble Time 2 (`emery`) — voice search (dictation) now works on these devices.
- Haptics: Fix missing vibration on Flint for long-press volume controls; use a short pulse for consistent feedback across cores.
- Misc: Keep query sanitization (strip punctuation / normalize whitespace) to improve voice search results.
Version 1.14 (2026-04-30)
- Player: fix missing music info text in the player window — track/artist/album now reliably display after recent fixes; show a placeholder when metadata is unavailable
Version 1.13 (2026-04-15)
- Player: volume level displayed as a number in the center action bar slot when volume mode is active and UP or DOWN is pressed; updates on each press and disappears when volume mode times out (both Aplite and Basalt)
- Queue: fix current track appearing as the last item with no upcoming tracks on Aplite; now correctly shows up to 4 previous and 5 upcoming items on all platforms
- Memory: major internal refactor to reduce peak heap usage on all platforms — list-based windows (queue, results, outputs, random) now share a single reusable window layer instead of each owning a persistent MenuLayer, freeing significant RAM when navigating between screens; standalone splash window removed from Basalt (replaced by a brief logo overlay in the player screen)
Version 1.12 (2026-04-11)
- Search: strip punctuation and normalize whitespace before querying the server, improving match quality
- Search: skip the API call and return empty results immediately if the cleaned query is empty
Version 1.11 (2026-04-09)
- Fix player action bar icons sometimes missing on Aplite (prev/next/play/pause/volume/ellipsis)
- Fix heap exhaustion on Aplite: MenuLayers in list windows (main menu, favorites, queue, random, results) now freed when hidden, preventing child windows from running out of memory
- Fix brief main menu flash on Basalt before the player window appears at startup
Version 1.10 (2026-04-04)
- App auto-close: after the player window closes, the app exits to the watchface if no buttons are pressed within a configurable timeout (default: 5 minutes)
- Resets on any button press in the main menu or outputs windows
- Configurable via the Battery Optimization section in settings
Version 1.9 (2026-03-21)
- Fix radio streams in player window: show track title at the top and station name at the bottom
Version 1.8 (2026-03-20)
- Fix output volume window icons missing on Aplite: free outputs MenuLayer before volume window loads to stay within 24KB heap
- Free player window bitmaps when hidden on all platforms, reducing peak heap usage
v1.7 (2026-03-17) - Fix player layout not reflowing correctly when track changes