v1.2.0
Highlights
- Eversense notification spam fixed. CGM apps that re-fire the same foreground-service notification multiple times per minute (Eversense in particular) no longer create duplicate readings, duplicate Nightscout pushes, or duplicate alerts. Readings are now bucketed by the source's actual sample period — sensor-bound apps (Dexcom, Libre 3, Eversense, Medtronic, Aidex, Diabox) get their real periods; sensor-agnostic middleware (CamAPS FX, Juggluco, xDrip+, AAPS) defaults to 1 min.
- Update Available dialog renders markdown. Release notes shown in the in-app update dialog now render headings, lists, code blocks, links, bold/italic, blockquotes, and horizontal rules properly — no more raw
##,**, or[text](url)characters leaking through.
Reliability fixes
Nightscout follower
- Backfill no longer stops early on filtered-empty pages. A full Nightscout page that filtered to zero valid SGV entries (duplicates, out-of-range) was being treated as end-of-data, silently dropping later valid readings. Pagination now terminates only when Nightscout returns a short raw page.
- Treatment fetch failures are no longer masked. HTTP 5xx, parse errors, and IO failures on the treatments endpoint now propagate as real errors instead of returning an empty list. 404 (server doesn't expose treatments) is still treated as "no treatments" without throwing.
Nightscout history import
- One-year imports are seconds, not minutes. Restored fast batched inserts in the manual history puller. Per-entry direction/delta recomputation remains in the follower, where it's capped to 7-day backfills.
Tidepool
- Rate limiting now applies to failures. Failed upload attempts (HTTP 500, network errors) used to be retried immediately, ignoring the 20-minute throttle. The throttle is now stamped before the network call, and concurrent retry triggers are serialized so they can't stampede.
- Tidepool now uploads from follower modes. Nightscout-follower and LibreLinkUp readings were silently being skipped by the Tidepool uploader. Both follower paths now correctly trigger uploads.
Dependencies
Compose BOM, Kotlin, AGP, KSP, Ktor, and Navigation bumped to current minor/patch versions.
Internal
- Release workflow extracts notes from the merged release PR body (this fenced
markdownblock) instead of auto-generating from PR titles. - Documentation refreshed: Nightscout follower, settings, API reference, troubleshooting, and the Statistics screenshot.