Skip to content

OpenVitals 2.12.0

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

Released 2026-10-05.

This release opens manual nutrition logging to every nutrient and makes climbing numbers believable. The Carbs tile in Add entry becomes Nutrition: one form for calories, protein, carbs, fat and any other nutrient Health Connect stores, for anyone who keeps daily totals in an app that does not write to Health Connect. An entry can be edited from the Nutrition screen, and vitamins and minerals are typed in the micrograms and milligrams a label prints. GPS recordings stop counting indoor altitude noise as climbing, a glitching barometer can no longer add kilometers of climb, and the climb of each split now adds up to the workout's total.

Added

  • One nutrition form for every nutrient. Calories in, protein, carbs and fat are always on the form, and Add another nutrient brings in any other nutrient Health Connect stores. Fill in only the amounts you have: blank fields are left out, and one save writes one nutrition entry. The date and time can be set back to log an earlier day. Caffeine is left out of the chooser because it is logged as a drink.
  • Edit a nutrition entry. The entry list on the Nutrition screen has an edit button. An entry typed in the form, or an older carbs entry, opens the form with its values and time, and saving replaces it in place. A drink's edit button opens the drink, since its nutrients follow its volume. A logged food can still only be deleted; the food catalog sets its values.

Changed

  • The Carbs tile is now Nutrition. A saved tile order keeps it in the same place. The Food tile and its catalog work as before, and nutrition entries do not appear in the drink history or among frequent drinks.
  • Vitamins and minerals in label units. Each nutrient is typed in the unit a nutrition label prints: micrograms for vitamins A, D, K and B12, folate, folic acid, biotin, chromium, iodine, molybdenum and selenium; milligrams for vitamins C and E, the other B vitamins, cholesterol, caffeine and the other minerals; grams for the macros, fibre, sugar and fats; kcal for energy. This applies to the nutrition form, foods and custom drinks. Saved foods and drinks open in the new units, so a coffee's caffeine reads 95 mg instead of 0.095 g. Health Connect still stores grams.

Fixed

  • Micronutrients a million times too large. Every nutrient field took grams, so a label's 15 µg of vitamin K was saved as 15 g.
  • Elevation gained indoors. A GPS recording counted every altitude swing as climbing, even when the signal was poor: an hour's walk on flat ground, partly inside a building, showed more than 14000 m of elevation gained. A change in altitude now has to exceed the fix's own altitude error before it counts, and a fix with more than 20 m of error is skipped for elevation. Imported routes without altitude accuracy, such as GPX files, keep their gain as before.
  • Barometer glitches. A barometer reading outside the range air pressure can take, such as 0 hPa, is ignored; before, one could add about 13 km of climb. A jump of more than 50 m between two readings no longer adds anything.
  • Climb per split. Each split counted every small rise between GPS fixes, so a kilometer could show hundreds of meters of climb and the splits did not add up to the total. The climb of each split, while recording and on the activity's detail screen, now comes from the same filtered elevation as the total. A split boundary in the middle of a climb can move a few meters of it into the next split.
  • Wheel circumference. A speed sensor's wheel circumference below 2100 mm was saved as 2100 mm, so a sensor could not be calibrated down. Any whole number from 500 to 3000 mm is accepted, the field opens a number keyboard, and it shows the range and turns red until the value is fixed.

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.12.0.md. Edit it there; changes made here are overwritten.

Home

Features

How-to

App

Reference

Engineering

Proposals

Releases

Project

Clone this wiki locally