Skip to content

OpenVitals 2.2.8

github-actions[bot] edited this page Nov 9, 2026 · 1 revision

Released 2026-07-20.

This release adds heart-rate recovery, rebuilds hydration and mindfulness reminders so they survive app updates, and ties the numbers on screen to the research behind them. It also fixes a Calories screen that could hang, a 30-day calendar that only drew part of the month, and finishes four translations.

Added

  • Heart-rate recovery. A guided test measures how quickly your heart rate falls in the minute after exertion. Recovery also shows on a workout and is tracked over weeks and months, read from the samples Health Connect already holds.
  • Reminders that survive app updates. Hydration and mindfulness reminders were rebuilt from the ground up so they keep firing after every update, not just after a reboot. Hydration nudges now anchor to your last drink — the countdown resets each time you log one, and is skipped if you drank recently — and fire at the exact minute when you allow exact alarms.

Changed

  • Every number shows its science. The sleep, daily-readiness, body-energy, cardio-load and caffeine screens carry tappable links to the research behind their calculations. And the sleep goal counts only the time you were actually asleep — awake time inside a sleep session no longer counts toward it.
  • Tap a day in the month calendar to open it. On any metric's month view, tapping a day drops you straight into that day's detail.
  • Read the time off the sleep hypnogram by scrubbing across it, and it steps aside when a night is only partly staged instead of drawing a misleading graph.
  • Notifications use the OpenVitals mark.
  • Spanish, German, Estonian and Italian are fully translated.

Fixed

  • The Calories Day view could hang on its loading spinner forever on some phones; it no longer does. The "Last 30 days" calendar also shows all thirty days across the month boundary now, instead of only the part that fell in one calendar month, and a past 30-day window is titled by its dates rather than a single month it mostly is not in.
  • The sleep score and sleep efficiency detail screens are reachable again, and the sleep day view no longer draws the hypnogram over its own labels, drops the daily-average and longest-sleep stats that did not belong there, and calls the duration "time in bed".
  • Recording fixes. A workout could fail to save because it never asked to write its own heart rate; a session could end before its last sample; and the recording notification now gets its proper monochrome icon.
  • Heart-rate recovery is measured only from a deliberate test now, and a heart rate that rose after exercise is no longer reported as a recovery.
  • Your own edits show immediately — an edited or deleted vitals value writes through the daily cache instead of waiting for the next sync.

The Codeberg and Play builds keep the same package name and signing certificate, so this installs as a normal update.

Distribution flow:

  • Codeberg release with per-ABI signed APKs (arm64-v8a and armeabi-v7a) and signed Android App Bundle assets.
  • Direct Google Play production upload from the approved Woodpecker deployment.

Generated from docs/releases/2.2.8.md. Edit it there; changes made here are overwritten.

Home

Features

How-to

App

Reference

Engineering

Proposals

Releases

Project

Clone this wiki locally