Last updated: July 14th
Looking for the PebbleOS changelog?
Need help with your new Pebble?
Check out the getting started guide
What’s new in the app
Note: releases may not be immediately available to download/install.
| July 14th, 2026 | 1.6.0.8 | Fixes:
- GitHub sign in debug logging
- Fixed wrong screenshots being displayed
- Always allow scrolling on watches screen to avoid FAB blocking menu button
- Refresh connectivity manually on ios when watch doesn't report paired
- Avoid ios settings pages flickering
Index Fixes:
- Fixed the possibility of date off-by-one with Google Tasks
- Fixed compatibility with firmware 3.73+3.74
- Avoid setting timers/alarms/reminders when time was cut off
- Widen samsung BLE workaround to all samsung devices
Index Features:
- Added 'Done' action to reminder notifications |
| --- | --- | --- |
| July 13th, 2026 | 1.6.0.7 | Fixes:
- Fix showing reverse PPOG mode when using forward fallback
- Only show HRM in onboarding for supported watches
Index Fixes:
- Improve & intensify filtering
- Check bt adapter state before updating associations |
| July 9th 2026 | 1.6.0.5 | Features:
- Reverse PPOG v2 supported
Fixes:
- Try refreshing auth if it fails
- Update backlight prefs to match firmware
- Weather app not on aplite
- Normalize language pack names
- Skip cache when checking for firmware updates from UI
- Android: Fix blobdb not resyncing after app reinstall
- Don't use stale phone call notification actions
- Force refresh bugreport token + add retries for attachment upload
- Fix LAN dev-connection server leaking port 9000 on stop/reconnect (thanks Brint E Kriebel!)
- Always keep GATT server open (fix connection bug on iOS)
- Reverse PPOG: fall back to forward on invalid GATT handle
- Don't churn GATT services on every connection
- Use correct window sizes for reverse PPOG
Index Fixes:
- Refactor reminder integrations to follow same pattern as note integrations
- Change note/reminder behaviour to create item in tool
- Add 'sent to integration' action item
- Tell agent to stop after request explicitly, stop turn on duplicate tool calls
- Show last synced if it was recent, otherwise prompt to click
- Update haversine to fix processEvents crash
- Add analytics settings heading to bug reports
- Update haversine to maybe fix samsung MTU issues
- Fix navigation crash
- Fix iOS embedded model
- Extend timeout for index transcriptions (can be much longer)
- Add orphaned transfer handling for advanced index and fix race condition
- Add help link to Ring SOS re-pairing dialogs
- Prevent duplicate webhook POSTs and fix Content-Type header
- Surface MCP connection errors and don't block save
- Tell search agent about normal mode so it redirects instead of rambling
- Resize note list above keyboard so last item stays editable
- Cancel local reminder alarm when its feed item is deleted
- Fix crashes due to webapp bad data
- Don't create reminders for timers/alarms; deep link to clock app
- Fix unencrypted items being re-encrypted by encryption-enabled device
- Fix crash when deleting a note: run nav callbacks on main thread
- Update haversine to remove preemptive connection
- Add high-pass filter to recording preprocessing
- Properly link new reminder/note items to tool call id
- Unify model storage on iOS, fix bad path
- Add next week to date parsing
- Make Index answers time- and location-aware |
| July 3rd, 2026 | 1.6.0.1 | Fixes:
- Update calendar reminders when event changes
- Update default backlight color
- Default foreground service to enabled
- Try more aggressive notification listener rebind
Index Fixes:
- Log wispr request ID for debugging
- Fix factory recordings not being wiped, early preemptive connection
- Dispatch AVAudioSession calls to main thread
- Warn user if iOS reminders not permitted + request wider scope permission
- Strip HTML tags from agent responses shown in Ring UI
- Add approved contact names to STT dictionary and LLM context
- Change min recording to 1s
- Support ambiguous times e.g. 'at 5'
- Make the Add HTTP MCP Server dialog usable with the keyboard up
- Send language code to kirinki
- Update normalizeParentLists to preserve current parent lists on text-only edits
- Include original audio in bugreport
- Add support for early reminder notifications
- Update tool descriptions for notes, messages, alarms to improve correct usage
- Update needle to core-v2
- Update needle weight version
- Separate multi-line note entries in list view
- Migrate STT model on iOS to persistent storage
- Fix RecordingStorage test override signature
- Add lists to context, add support for SessionContext in additional prompt context API
- Rename "Todos" list to "Reminders" in UI
- Fix watch notification showing raw transcription for sent messages
- Remove some dead code
- Use app-level scope for saves that survive viewmodel cancellation
- Show download progress in Ring onboarding demo
- Fix Obsidian note append failure after vault folder re-pick
- Add A-Z / Z-A alphabetical sort option to Index list feed
- Manual encryption key entry + auto-unlock locked feed rows
- Make Notion page dialog content scrollable so buttons stay reachable
- Onboarding: fix dark-mode image tiles and pin Get Started button
- Shopping list items default to checklist type
- Fix endless back stack loop when deleting note entries |
| June 24th, 2026 | 1.5.0.2 | Index fixes:
- Fixed a crash during recording playback
- Fix encrypt/decryption for items
- Update local LLM agent model (accuracy improvements + support for sending messages)
- Integrate local model into app resources (pre-downloaded)
- Reword local agent toggle
Index features:
- Add Obsidian integration
- Add Tasker integration (Android)
- Add Calendar event creation (Cloud-only agent for now)
- Add 'Include recent recordings' to bugreport (Includes last 10)
- Provide tools with session context
- Relative times now based on end of recording time not sync time
- Note-taking now uses direct transcription without LLM modification
Fixes:
- Ensure PKJS code always stops when app stops
- Add tap-outside keyboard dismissal, padding of UI around keyboard
- Switch to REST endpoint for WisprFlow
- Use correct app metadata when inserting to watch. Note: this will cause all apps to be re-installed to the watch, as a one-off migration. |
| June 24th, 2026 | 1.5.0.1 | Fixes:
- STT: log native cactus error on blank transcribe result
- Fix call log permission crash on Android
Index Fixes:
- Export only the processed recording
- Log cactus agent status in summary
- Open the reminder's feed item when its notification is tapped
- Support "weekend" as a reminder time
- Add hint to press index during scanning
- Don't cancel recording bg scope on service destroy
- Warn user on failed service restart to add to CDM
- Report transfer failure in analytics
- Send notification if ring gets un-paired
- Attempt restart of service if it didn't restart in bg onResume
- Reduce room invalidation storms during transfer floods
- Fix iOS recording playback stutter
- Fix Notion sign-in freeze on iOS
- Fix Notion sign-in losing token immediately in some cases
- Work around cactus STT lacking proper cancellation
- Require sign-in when onboarding ring
- Rethrow wispr cancellation properly
- Throw on alarm/timer set without CDM to alert user
- Rework todo sorting
- Hide unsupported note/reminder options
- Add mutex to fix races in IndexNotificationManager logic
- Add support for spelled out day-of-month numbers
- Check notification permission when setting reminders
- Cancel built-in reminders when item is completed (checked off)
- Fall back to remote STT when LocalFirst result is blank/no speech
- Reduce wispr skip interval to 1s to avoid waiting on locked up cactus
- Refactor STT to split out cactus+hybrid routing, improve reliability of fallbacks
- Stop cancelled cactus transcriptions from blocking queue
- Update haversine to add serviceSensor to pre-emptive connection, fixes timestamp on first connection |
| June 16th ,2026 | 1.4.1.0 | Fixes:
- iOS: fix installing fallback pbws
Index Fixes:
- Onboarding: fix crash when playing back recorded note
- Set hasSeenRingOnboarding only once it exits
- Request CDM for index to get bg privileges
- Add deep link / button on devices screen to add ring to CDM
- Redact text from inflight notification toString()
- Fix searches showing in notes to self list
- Log transcription failure description in analytics |
| June 12th, 2026 | 1.4.0.3 | Fixes:
- Android: fix calendar events not syncing from some external/subscribed calendars
Index Fixes:
- Fix more MCP tool serialization issues
- Comment out Panic Ring debug button for prod
- UI: dismiss-keyboard button on focused empty chat input
- Recording: confirm before deleting linked items |
| June 11th, 2026 | 1.4.0.2 | Fixes:
- Wait for PKJS ready before trying to load settings
- Show error when webview fails to load
- iOS: Fix looping apple sign-in
Index Fixes:
- Split out android reminder notifications into their own group
- Add deeper MCP sandbox group customization
- Support using MCP sandbox on secondary mode
- Fall back to answer not note when using mcp sandbox
- Save encryption QR code to camera roll + allow key restore from QR image, fix iOS QR display
- Separate answer vs sandbox generic response
- Add transcription success/failure analytics
- Don't read RX RSSI in failsafe
- Share to notes/reminders
- Hide skip sign in when index enabled
- Log selected STT language in bug report summary
- Fix new cactus lib page size
- Restart iOS preemptive transfer on bg sync
- Send actual recording time to index webhook instead of upload time |
| June 10th, 2026 | 1.4.0.1 | Features:
- Add Rebble ASR backend and STT router
Fixes
- Update health-kmp
- Fix contact loading crash
- Android: catch error starting foreground service
- Fix crash opening login page when no browser handler configured
- Fix overlapping chips on notifications screen
- Support legacy pbw format fallback (fixes installing some apps)
- Android: Try to rebind NotificationListenerService if it dies
- Guide users to restart watch on bad connectivity status characteristic
- Gate cactus on FP16 to prevent SIGILL on older arm64 CPUs
- Convert ms timeouts to seconds in UI (thanks Justin Sunseri!)
Index Fixes
- Make RecordingStorage fakeable
- Audio processing tests for timing
- Update nenya api
- Lazily load shared prefs for token storage
- Sanitize tool names to comply with MCP/gemini/claude spec requirements
- Refactor agents to split out iterative and tool calling contracts
- Refactor nenya agent to split out search functionality |
| June 5th, 2026 | 1.3.1.4 | Fixes:
- Switch to cloud only when user deletes all STT models
- Handle indeterminate model download in speech settings
- Improve dictation timeout / fallback logic & logging
Index fixes:
- Crash hotfix: add 'Native' as alt name for BuiltIn ReminderProvider |
| June 5th, 2026 | 1.3.1.3 | Fixes:
- Android: improve notification handling for preinstalled apps + other profile apps
- Don't revert app version if a locker sync fails to fetch from one source
- Fix crash deserializing bad timeline pin
- Improve dev server error handling
- Remove timeline pins when app is uninstalled
- Always remove from rebble locker when deleting app
- Implement sending typical steps to the watch (thanks ave!)
- Add No Vibration options as Custom Pattern (thanks Federico!)
- Android: defer BLE GATT server pre-registration until a BLE watch is paired (thanks Benjamin Temple!)
- Webviews respect system and app theme options
- Improved Wispr token caching logic
- Fixed iOS attachments in contact developer
Index Fixes:
-
Respect explicit AM/PM when e.g. scheduling reminders
-
Android: Check bluetooth availability before starting foreground service due to Index
-
Retry-backoff for scan errors
-
Handle failsafe during scan/pairing |
| June 4th, 2026 | 1.3.1 | Features:
-
Add Battery Life shortcut to watch 3-dot menu
Fixes:
- Android: Ignore BLE watches in classic scan
- Android: Try harder to allow FG service to start + catch exception when it fails
- Android: Fix music crash on weird phones
- Android: Fix a crash tearing down PebbleService
- Fix some deserialization crashes
- Only fall back to kirinki if true cloud outage, not just recognition fail
- Cache firmware update results for 15 minutes
- Bump FW download timeout
Index Features:
Index Fixes:
- Use note text length for log
- Switch to allowing any custom headers with webhook (e.g auth)
- Improve paired ring resolution logic to avoid removing during bt off
- Merge search contacts + send to contact tools, fall back to note if no contact found
- Ensure deleteRecording is not canceled when viewModelScope tears down
- Add labeled photo to "Where's the microphone?" FAQ
- Fix squished Index title in feed header
- Fix recording seconds showing 2x actual length
- Enforce IO dispatcher for pref/token reading
- Show true tool calling/conversation in detail view, refactor to create item from SemanticResult
- Update Haversine for MTU negotiation + better vendor filtering
- Default bug report to index if no watches added
- Restore built-in reminders for iOS (scheduled notification)
- Rename index notification channel
- Add retry back to UI
- Update haversine for many fixes, android preemptive connection
- Fall back to Kirinki (cloud parakeet container) if wispr unavailable
- Include mac alongside serial for ring rssi measurement events
- Lower RSSI measurement interval to >= 1 minute
- Use 'original' instead of 'clean' for original audio id suffix
- Fix some strict mode violations (IO on main, leaked file handles)
- Allow selection of notes page when configuring Notion
- Show message send as action chip instead of agent response bubble
- Updates to system prompt to avoid unnecessary notes alongside actions |
| May 30th, 2026 | 1.2.1.6 | Fixes:
- Android: fix notifications getting missed because of earlier timestamp
- Android: revert defaulting to allowDuplicates for ring (users who used beta version may want to disable manually in the app)
- Android: add ShowsUserInterfaceActions for zwift
- Android: try allowing notifications from unknown apps (experiment for users missing notifications from other profiles)
Index Features:
Index Fixes:
- Fix crash when resuming tasks after re-pair
- Ensure index tab only default when index paired already
- Fixed a crash related to toggling bluetooth quickly
- Android: Scanning now properly restarts when re-enabling bluetooth
- Deleted recordings now stay deleted when cloud sync enabled
- Reminders/Todos will pick a default list on an integration if the requested list wasn't found
- Offline cactus agent no longer repeats actions multiple times |
| May 26th, 2026 | 1.2.1.1 | Features:
- Add arabic language pack
- iOS: add Photo Library picker chip in bug report follow-up
- Android: make allowDuplicates user-configurable per-app
Fixes:
- Fix more unicode charcters
- Add wispr flow attribution
- Catch pre connect scan exhaustion crash
- Log resolved installer package at app update check start (thanks Ave!)
- Add toggle to enable re-publishing services on ios after BT cycle
- Android 11: allow connection when location disabled
- Hide keyboard on health settings screen when clicking outside
- Close PKJS settings when app closes on watch
- Fix race showing settings when starting app
- Fix enabling health on legacy watches
- Add timeout + retry for wispr auth packet
Index Features:
- Webhook: trigger on single-click, double-click-hold, or both
Index Fixes:
- Merge agent behaviour where possible
- Tell LM to prioritize first action
- Support appending to any list
- Spell out SOS press pattern in already-paired dialogs
- Properly init mcp session connection
- Call fallback tool in context with session
- Default to string arrays in MCP schemas if unspecified
- Reormat system prompt and provide info on ambiguous terms like book titles
- Remove redundant tool call fallback check
- Clarify transcription error notification text
- Remove check for old notion token storage
- Use IO dispatcher for firestore debug upload
- Update haversine library for better logging + e133 workaround
- Make lifetime collection count updates non-suspending
- Use default dispatcher for removeDCBias operation
- Fix mcp schema anyof parsing
- Handle mcp session connect refcount better
- Remove noisy redundant log
- Default to string anyOf in mcp schema
- Save/queue transfers in parallel
- Tell LLM to not try to search for contacts if it thinks it should call
- Serialise duration correctly for timers |
| May 22nd, 2026 | 1.2.1 | Fixes:
- Sync time regularly
- Fix contact lookup crash
- Remove misleading log warning for BT classic
- Re-sync app order after re-pair
- Track model download job better on android to reduce stuck download states
Index Fixes:
- Reset rings correctly post-factory
- Encryption improvements
- Start on Index screen when Index enabled
- Change LM to needle
Index Features:
- New UI: todos, reminders, lists, etc
- Encryption/backup added to onboarding |
| May 13th, 2026 | 1.2.0.3 | Features:
- iOS: Add support for notification rules (thanks Federico!)
- Watch settings: add quick launch combo: hold up + down
- Resting heart rate on Health screen
- Android: add optional foreground service when watch connection active
- Add Gentle vibe option for alarms in watch settings (thanks cvuorinen!)
- Add support for getafix dvt2
- Add Settings -> Battery analytics screen
Fixes:
- Android: skip duplicate processing for Ring notifications
- Properly return disabled result before dictation begins when model unavailable
- Android: Allow VPN when downloading models
- Use isModelDownloaded to check for stt availability as well as in-memory loaded check
- Handle missing resources in pbw
- Android: strip more hidden characters from notifications (avoid boxes)
- Show logged-in account email in settings
- Fix pebble hearts sync when not logged into rebble
- Sync hearts after login
- Remove hearted filter, add hearted collection
- Add Android 13 health rationale activity entry
- iOS: Fix keyboard making backlight color picker unusable
- Update health-kmp library
- Health: write deep sleep periods to health connect
- Try to keep dev connection server alive
- Reorder add device menu
- Don't remove watches from firestore
- Add option to hide warnings about missing permissions
- Logout fix when user is anonymous
- Android: Fix an edge-case in PKJS local storage
- Add debug pref to disable watch settings sync
- Add Confirmation before wiping account on sign-in + unify sign-in logic between screens
- Add locker logging to catch any more login/sync bugs
- Sync all health prefs (i.e. HRM prefs) back from watch (when supported)
Index Features:
- Add Demo + FAQ to onboarding
Index Fixes:
- Use audiosession for playback on iOS
- Use simplified nenya v2 endpoint
- Use device manager abstraction for info in settings
- Require login for online agent/speech
- Hide watch scanning hint when scanning for index
- Add Hint to wake ring if it can't be found
- Fix associations bt permission wait so pair survives reinstalls
- Retry iOS bonding a few times in case of connection failure the first time
- Tix transfer notification not firing until recording present
- Use
__ instead of . as mcp separator to allow use of anthropic model
- Disable key regeneration when a key exists unless debug enabled
- More prompt engineering to try to avoid duplicate actions
- Add fake 'duration' arg to get LM to give us durations please
- Show ring serial and MAC separately in bugreport info
- Update haversine to narrow scanning + fix an edge case
- Store known rings in firestore
- Wipe recordings on first pair
- Framework for items/lists
- Nudge LM towards duration timers
- Log issues with assistant session context + inserting notes |
| Apr 30th, 2026 | 1.1.0.6 | Fixes:
- Check free memory before using local transcription to try to avoid OOM native crash
- Remove BT classic text in connection UI
- Show UI warning on BT classic connection failure
- Add a link to Android BT settings dialog when we recommend unpairing
- Fix a health sync crash on iOS 15 (skip syncing sleep <16)
Index fixes:
- Add debug option to send a panic event to ring
- Redact sensitive data unless diagnostic option enabled
- Disable Krisp |
| Apr 29th, 2026 | 1.1.0.3 | Features:
- Add Contact Developer dialog on app detail page
- Enable Timeline insertion from PebbleKit2 (thanks Matejdro!)
- Add Bluetooth Classic mode on Android:
- This should be more reliable than BLE for users who have been experiencing connectivity issues (and more reliable than the existing “Prefer BT classic” setting).
- New “Add Classic Watch” option to find legacy Pebbles (using a BT classic scan)
- Existing legacy watches are converted to BT classic connections. This should “just work” - if you weren’t already using the BT classic option then it should prompt to add a BT classic pairing.
- If this fails to connect, you may need to unpair and repair the watch. This is a one-off step.
- Health: add HRM settings
- Add descriptions for many watch settings
- Add backlight intensity/colour settings, tap to backlight setting
Fixes:
- Android: fix Google Voice VoIP ("self-managed") calls (thanks leo60228!)
- Actually return pairing failure as an error
- Remove purple tint from light theme
- Only show HRM chart when watch supports HRM
- Update watch pref defaults
- iOS PKJS: fix timeout callbacks
- Show warnings on calendar screen if permissions not granted or results are empty
- Remove TODO()s from permission checker
- Improve background location reliability and respect PKJS parameters
- Make ConnectivityWatcher more robust
- Health UI: always show headers
- Health UI: sleep chart improvements
- Respect obfuscateContent toggle in PKJS console logs (thanks aveeo!)
- Minor readme update for ios health setup (thanks Federico!)
- Fix newslines + autocorrect on bug report chat screen
- Health settings UI impovements
- iOS: fix an edge-case causing calendar permission to show as not approved, right after approval
- Don't wipe locker when firestore returns an empty collections (i.e. stop wiping apps when firestore fails)
- Health UI: Update HRM chart scrubbing to find closest value
- Fix more locker sync edge-cases
- Add logging for locker bulk fetch API failures
- iOS: fix weird UI transitions on settings screen
Index Features:
- Android: Use system BT settings as source of truth for pairing
- Expose updates to devices screen
Index Fixes:
- Use ring serial for trace
- Clear paired state on start if ring forgotten while app is closed
- Handle and report various pairing states from android
- UI: consider iOS pairing fail always a case where user needs guidance because we don't get enough detail
- UI: prompt user to unpair if they try to pair another index
- Handle android cases where ring is paired by system
- Cache name of ring
- Discard ring recordings shorter than 1.5s |
| Apr 24th, 2026 | 1.0.17.4 | Features:
- Android: add calendar pin actions
- Speech: allow spoken language to be configured to influence STT output
Fixes:
- Health: fix steps sync to mobile OS
- Health: lots of chart UI fixes
- Health: allow configuring height/weight/age/gender/units
Index Fixes:
- Show Webhook setting to all users |
| Apr 24th, 2026 | 1.0.17.2 | Features:
- Health UI
Index Features:
- Pairing & device management now in main devices tab
- Onboarding screen added
- Index tab enabled when first pairing a device or when signing in with recordings on your account
Fixes:
- Removed watch theme prefs
- Changed "Show Scaled" -> "Made For.."
- Language install timeout + error display fixed
- Don't create anonymous firebase account on app start when previously signed in
- Add
mobile_version and mobile_os to heartbeat upload payload
- Show error when weather location search fails
- Fix locker sync comparing against wrong type
- Fix weather app showing all locations as current location
- Add health insights to onboarding
- Fix network crash fetching firebase token
- Android: fix an ANR
- iOS: fix another health sync crash on old iOS versions
- Add missing remember key
- Update sleep logic to match firmware
Index fixes:
- Notif shortcut options now filtered by added integrations
- Device management refactored to be more maintainable/follow libpebble3
- Search prompt+parameters tuned for lower latency
- Fixed race condition causing playback to not be available on some feed recordings
- Local model is now warmed up (in addition to loading if not loaded) during transfer start if it's been a while
- Transcription is still shown in recording details view if agent fails/will rety
- Programmed serial reading now works properly
- Recording trace offset fixed
- Race condition fixed when checking for enabled bluetooth during sync
- Add model used to assistant messages |
| Apr 20th, 2026 | 1.0.16.3 | Features:
- Android: add notification filter rules on app screen (thanks ave!)
- Store known watches in firestore
- Forward watch heartbeats to server
- Add Take Screenshot button to Bug Report screen
Fixes:
- Android: catch a health auth crash
- iOS: Potential fix for app not showing any text until restarted
- Fix voice session stuck state when watch cancels during local STT inference
- Remove old gcloud transcription code
- Android: catch security exception reading contacts
- iOS: add fallback for when background sync doesn't run (for weather updates, etc)
- Android: move notification channel items within the same object as the title (thanks ave!)
- Android: catch cactus init error
- Use rebble cohorts for core watches when no memfault token
- iOS: fix crash when firebase can't get token
- iOS: improve BgRefresh rescheduling resilience
- iOS: fix health sync crash on older iOS versions
- Android: try to fix another ANR on app start
Index Features:
- Add E2E ring recording evals
Index Fixes:
- Change userMessageId fallback to long
- Reschedule android reminder alarms after reboot
- Index: route Cloud Run service URLs through Cloudflare *.repebble.com
- Fix trace timeline showing negative offsets
- Improve Beeper messaging: search approved contacts, nicknames, confirmation UI
- Log RX RSSI to log and analytics
- Use programmed serial when available
- Fix iOS crash when signing in to Notion
- Wait for pair state to propagate before attempting to launch bg service
- Fix crash when invalid uuid is used
- Skip programming application data on fw >= 3.62 |
| Apr 14th, 2026 | 1.0.15.11 | Features:
- Add Music player settings (thanks Federico!)
- Add Notifications Mute status in UI (thanks Federico!)
- Add ja_JP language packs (thanks Jamie!)
- Add Open Google Fit link in health settings
- Sync health settings from watch to phone via BlobDB
- Android: seed watches list with previously-paired Pebbles as on-off on first run
Fixes:
- Fix onboarding only attempting FWUP once
- iOS: fix PKJS callback crash
- iOS: fix LAN dev connection crash
- Android: fix health-related crash
- Filter incompatible in store home feeds
- Fix iOS Sign button (thanks Federico!)
- Don't crash connection when sending iOS PPoG reset-on-disconnect
- Fixed parakeet model download failure case
- FW update action in phone notification navigates to UI
- Removed duplicate text on onboarding screen
- Fixed watch timezone not updating when it changed in background
- Start watchface when added from onboarding
- Only show speech recognition setting in onboarding if the watch supports it
- Remove wispr key from build config as has been handled by wispr-auth for a while
Index Features:
- Added manual retry
- Bidirectional firestore sync for feed
- Inline mic recording on feed chat bar
- Backup settings + Encrypted backups
Index Fixes:
- iOS: run notifications db listener as a bg task
- Set up pre-emptive connection immediately on scan start
- Fixed feed entry transition bug
- Converted Vermillion->Webhook integration
- M4A audio format for uploads
- Beeper contacts menu refactored & performance improved
- iOS: run pre-emptive connection in a bg task to prevent early suspend
- Save trace to firestore
- Save lifetime collection to firestore
- Fix recording audio upload sometimes being cancelled by unrelated errors |
| Apr 9th, 2026 | 1.0.15.8 | Features:
- Android: configure notification canned responses in settings (thanks ClusterM!)
- Separate screens for each settings category
- Sync quiet time motion backlight setting to watch
- Update adding devices to use FAB menu
- Google Health Connect and Apple Health sync support (thanks michaelthatsit!)
- Watch onboarding flow
Fixes:
- More robust firebase init to avoid signing users out on app start
- Android: Lazy initialize firebase to avoid ANR on app start
- Fix sending time to watch when user switches from manual to automatic
- "Support" -> "Get Help"
- Don't dismiss app update badge until update is shown
- Fix DictationResult serialization when sending UTF-8 text (thanks ClusterM!)
- Fix sendAppMessage erroring out on timeout (thanks Metejdro!)
- Handle malformed locker response/failure to fetch apps
- Check for legacy watch FWUP without login
- Attach index trace to bugreports
- Work around cactus link error crash on start
- Hide app sideloading unless debug mode
- Load store homes in parallel on locker screen
- Android: Fix CDM crash
- Skip unnecessary store calls during locker sync
- Increase MAX_LENGTH for MusicTrack to 64
- Fix CloudPebble proxy dev connection dropping and not reconnecting
- Fix requestConfigurationUrl infinite wait (thanks Matejdro!)
- Default weather units to what is configured on the phone
- Update WorkManager
- Default speech mode to offline disabled, so that user is prompted to download a model when they select an offline mode
- iOS: Use new app icon service (works when not logged in)
Index Fixes:
- Record trace of transfer->agent flow
- UI: audio-only indicator, processing animation
- Add inline mic recording to Index feed
- Add skip to next track via ring button
- Make 'Log in before pairing' button open sign-in dialog
- Provide paired ring to haversine for targeting, update haversine
- Update haversine for pre-emptive bg connection on iOS
- Use Default dispatcher for resampling work
- Android: fix AudioPlayer race condition
- iOS: fix AudioPlayer possible stale state
- UI: add trace to recording details when debug enabled
- UI: show trace items for packet rx and stt init
- Add notifications to trace
- Write whole recording buffer to disk, precompute filter bank before resampling |
(click the arrow to see) Full changelog
Want to try our cutting-edge beta mobile app?
iOS beta app: https://testflight.apple.com/join/T17YYZYq for iOS
Android beta app: https://play.google.com/apps/testing/coredevices.coreapp
What should work in the App 🤞
- Connection to Pebble Time 2, Pebble Round 2, Pebble 2 Duo, Pebble 2, Pebble Time Series (Time/Time Steel/Round), and Classic Series (OG/Steel) watches. All watches require firmware > v3.x to connect.
- PebbleKit Android apps may work (this depends on the companion app, subject to modern Android OS limitations around Broadcasts)
- Everything else you would expect!
What isn’t working or built yet 🤦
- Send Text app
- App Localization
- Calendar invite notifications
- Remote timeline pins
Important
If anything isn’t working, and it isn’t listed above as not working, please report a bug in the app! Try to connect to your watch before reporting, so that the app can fetch watch logs (cycling airplane mode on the watch if required to get it connected). We might not get back to you, but we read every report.
Known issues/bugs
- Bug reporting takes 2-3 minutes sometimes (it’s uploading a ‘coredump’ from your watch)
- Pebble 2 Duo will not keep time if you shut it down. You will need to reconnect it to your phone to get latest time.