Download pulse-mobile-0.4.0-arm64.apk: it fits nearly every Android phone since 2017. armv7 is for old 32-bit phones, x86_64 for emulators and Chromebooks. Installing over an earlier release keeps your data.
Highlights
- Pulse speaks 8 languages: English, German, French, Spanish, Brazilian Portuguese, Russian, Polish and Italian. "Phone's language" follows Android's per-app language setting.
- Calories in vs. out: a new nutrition summary with a calorie ring, macro tiles and a 7-day chart.
- Updates from inside the app: Pulse tells you when a new release is out and can download and install it.
- Your own coach server: point the coach at a server you run, and switch workout analysis on or off.
- Imperial units and a 12-hour clock.
New
Languages
- German, French, Spanish, Brazilian Portuguese, Russian, Polish and Italian, with a native-sounding review of Brazilian Portuguese.
- Numbers, decimals, dates, and the min/h units follow the language. Feature names stay in English everywhere; the coach's tool text and digest prose follow your language.
- A language switch redraws every screen and never shows another language's cached text.
Nutrition
- Calories in vs. out summary with a 7-day chart.
- Calorie ring hero with macro tiles, and flat daily-average tiles.
- The demo person now eats, so the new views have data.
Coach
- Use your own server, and a switch for workout analysis.
Settings and profile
- Imperial units and a 12-hour clock.
- Display choices are dropdown rows, with the heart-rate zones on their own page.
- Goals are plain targets without switches: clear a box and that goal turns off.
- The sex choice is now called "reference ranges".
- Settings shows whether your phone lets background sync finish, and onboarding offers background sync and the battery setting during the first import.
Updates
- Installed phones hear about a new release and can install it. Update checks happen at most once a day and carry nothing about you; Settings › App › Updates turns them off. "Later" hides the notice for the current session only.
Storage
- Old heart-rate data is compacted to minutes and the space is reclaimed.
Look
- Pulse's mark sits in the round action button instead of a "P".
- The coach pill spans the screen on the activity page.
Fixed
Sync and Health Connect
- A food entry deleted in Health Connect now takes that day's totals with it.
- Deletions and edits in Health Connect both reach Pulse, without re-importing the whole history.
- The changes token is kept when the feed gives none, and the log says why a sync read the whole window.
- Malformed records and other apps' workouts are imported instead of being skipped.
- The background sync job runs without a network requirement, and Settings says it can run hours apart.
- Syncing is faster: only what changed is read and scored.
Crashes
- The 6M and 1Y charts no longer crash the app, and render errors no longer close it.
- History is drawn on the Trend View chart, each range at its own grain.
Scores and data
- Fitbit's VO2 max is used first everywhere; Pulse's estimate only shows without one.
- Fitbit's HRV and resting heart rate are scored and shown everywhere.
- Pulse Age now uses the day's step count.
- The health monitor shows the value each vital was judged on, and the home screen counts vitals out of range correctly.
Interface
- Text fields stay above the keyboard on Android, and a tap anywhere in a text box focuses it.
- Multiline fields grow with a top-aligned box.
- A dropdown taller than the screen scrolls inside itself.
- Card titles stay on one line, and the macro card takes the page width.
- Bars and dashes are square, never pills; level charts are lines with a dot per day.
- The Settings language row shows the choice you just saved, and Settings and the explainers open with content.
- The coach asks about a workout "today" (not "on today") and answers at once from the analysis pill.
- Activity heart-rate tiles use labels that fit.
Removed
- The source policy setting (Pulse reads Health Connect only).
Full changelog: v0.3.0...v0.4.0