Skip to content

OpenVitals 2.6.0

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

Released 2026-08-05.

This release is about the two conversations your health data has outside the app: with your doctor, and with you. A PDF report you can hand across a desk, menstrual cycle tracking that lives entirely in Health Connect, and blood-pressure logging that captures what clinicians actually ask about a reading. Everything is built on the device; nothing needs an account or the internet.

Added

  • Menstrual cycle tracking. Log period flow, spotting, sexual activity, ovulation tests, cervical mucus, and basal body temperature - one category at a time, each saved as its own Health Connect record. Period days are derived from your flow entries, and cycle statistics predict the next period using established fertility-awareness rules; when your cycles vary too much for an honest prediction, the app says so instead of guessing. Cycle data stays an explicit, separately granted Health Connect permission category, and OpenVitals stores none of it outside Health Connect.
  • Health report export (PDF). Pick metrics, a daily, weekly or monthly detail level, and a preset or custom range, and OpenVitals builds a PDF from Health Connect - on the device, with the platform's own PDF engine. Every metric gets a chart, summary statistics, and a data table; the report states its own gaps in print when a permission is missing, the range was truncated, or the build was cancelled. Metrics with more to say get clinical sections:
    • Blood pressure: systolic and diastolic statistics kept separate, averages by meal context, and every reading listed with its position and cuff location. Contexts the user chose are shown as such; estimated ones are marked.
    • Blood glucose: averages by relation to meal, fasting first - the number a doctor asks for.
    • Workouts: totals per activity type and the full session list, not just minutes per day.
    • Sleep: average bedtime and wake-up (averaged correctly across midnight), the deep/REM/light/awake stage mix, and one row per night.
    • Body metrics show their change over the range, and body temperature lists every reading like a fever diary.
  • Richer blood-pressure logging. The entry form gains three optional dropdowns - when the reading was taken (before/after breakfast, lunch, dinner), body position, and cuff location - plus a collapsible measurement guide covering the standard home protocol: rest five minutes, cuff two centimetres above the elbow crease, three readings with the first discarded, and the under-135/85 home target. Position and cuff location are native Health Connect fields, readable by any app.
  • Distance backfill from steps. For setups where an app writes steps but no distance: an opt-in setting under Activities takes your stride length and fills in daily distance records only for days that have steps and no distance from any source. Derived records are marked as OpenVitals entries and are removed again if you turn the feature off.
  • Portuguese. The app now speaks Portuguese, and Spanish, Italian, Estonian and German are complete again at 100%.

Changed

  • The dashboard keeps tiles with recent history. A tile only sinks below the fold when its metric has no data today and none in recent days - Sleep no longer drops just because tonight has not happened yet. A new "Sort empty tiles last" display setting makes the behaviour a choice.
  • Cycle screens allow screenshots. The previous release blocked capture on cycle screens; that also blocked the phone's owner, so it is gone.
  • The base unit option is named "System" everywhere, matching the rest of the app (#247).

Fixed

  • Year-long heart-rate reads no longer risk coming back empty. Daily heart-rate and resting-heart-rate history is read in provider-safe slices, the same fix the nutrition series received earlier.
  • Duplicated blood-pressure records are collapsed in the report. The same reading written twice to Health Connect - an import run twice, a second app echoing data back - counts once; genuine repeat measurements are kept.

The app keeps the same package name and signing certificate, so this installs as a normal update.

Distribution flow:

  • Codeberg release with signed APK, signed debug APK, and signed Android App Bundle assets.
  • Direct Google Play production upload from the approved Woodpecker deployment.

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

Home

Features

How-to

App

Reference

Engineering

Proposals

Releases

Project

Clone this wiki locally