github ilyakruchinin/SomnoTrace v3.2.3

5 hours ago

SomnoTrace v3.2.3

✨ New Features

  • 😴 Sleep stage export (SomnoStage) — hypnograms are now exported as
    Zeo-compatible CSV files to .somnotrace/stages/ on the SD card and uploaded
    automatically alongside CPAP and oximetry data. SMB uploads land in
    SOMNOSTAGE/<YYYYMM>/ and exports are back-filled automatically for
    recordings that predate this release.
  • 🖼️ Brand logos on the portal — the SleepHQ, Aerivue, and BreathingRoom
    upload cards now show real logos loaded from each service's site, with a
    graceful fallback to the built-in icon if the image can't be fetched.

🚀 Improvements

  • 📁 Tidier SMB folders — oximetry and stage uploads are now grouped into
    one folder per month (OXIMETRY/<YYYYMM>, SOMNOSTAGE/<YYYYMM>) instead of
    one folder per day. Existing folders are left untouched.
  • 📊 Consistent progress display — the portal now shows upload progress in
    days for all three streams (CPAP · Oximetry · Stages), matching the
    "days to keep in sync" setting. A day counts as done only when every
    recording in it is uploaded.
  • ⚡ Faster upload passes — the SD card is scanned once per pass and shared
    across all enabled backends, instead of being re-scanned (and every file
    re-checksummed) once per backend.
  • 🧠 Smarter memory use — upload buffers were right-sized (~4× smaller per
    recording), the per-pass recording cap grew from 128 to 768, and a failed
    allocation now degrades gracefully instead of aborting the whole pass.

🐛 Fixes

  • 🔄 Reset Upload State now resets everything (#317) — oximetry and stage
    upload history is cleared along with CPAP, so all three streams re-upload
    after a reset instead of only CPAP.
  • ⏱️ Uploader no longer stalls or spins — fixed timing edge cases and
    therapy-hold handling that could starve the watchdog or burn CPU while
    uploads were deferred.
  • 🏷️ No more stale update badge — the "update available" badge no longer
    resurrects a cached version tag after an OTA flash; it stays quiet until the
    first live check.
  • ✏️ OXYMETRY → OXIMETRY — fixed the long-standing typo in storage paths
    and all upload backends (your NAS folder is now spelled correctly).
  • 💤 "SleepHQ Cloud" → "SleepHQ" — simplified the backend label and portal
    card title.

Don't miss a new SomnoTrace release

NewReleases is sending notifications on new releases.