-
Trainlog v0.1.5 Stable
released this
2026-09-23 21:12:35 +02:00 | 22 commits to main since this releaseTrainlog v0.1.5 completes the factual cardio capture cycle and makes the
Android-to-Web Sleep workflow ready for real nightly use without adding
medical, sleep-stage, or causal inference.Heart-rate capture and cardio sessions
- Android persistently acquires real CYCPLUS Heart Rate Service measurements,
retains factual observation timestamps, BPM and raw RR values, and exposes a
global fresh/stale/disconnected indicator. - Training occurrences have explicit start/end timelines so synchronized
heart-rate samples retain their stable exercise ownership instead of
inferring it later from time overlap. - Dedicated
cardiosessions, measured calibration profiles and fresh-signal
BPM-guided phases use separate versioned companions and preserve the frozen
historical session formats. - Guidance suspends on stale signal and records measured facts only; it does
not estimate fitness, recovery, readiness or medical state.
Factual Web timelines
- History and Sleep display synchronized heart-rate samples through one
bounded native read model and responsive Web timeline. - Full-source min/mean/max and RR counts remain exact while large visual
projections are bounded. - Cardio timelines show factual occurrence bounds, resolved targets,
instruction changes and measured calibration points. - Sleep highlights notable relative rises and falls with a deterministic local
median rule, explicitly without assigning a sleep stage or cause.
Sleep capture and medication quantity
- Medication can be recorded before Couché. The first intake creates one
durable pending 18:00-to-18:00 night; Couché advances the same stable entry,
Réveil leaves heart-rate capture running, and Levé closes it at the factual
final-get-up timestamp. - A missing sensor fabricates neither a capture nor a sample.
- Sleep Diary V2 carries structured per-intake quantity while published V1
remains strict and readable; historical intakes default to quantity one. - The Web agenda renders every night in the selected period on one aligned
18:00-to-18:00 axis, and the selected night owns the full-width heart-rate
detail. PDF reports retain their multi-night behavior and display quantity
without replacing per-unit dose.
Compatibility and validation
- Desktop schema v35 and Android schema v32 are additive migrations.
TRAINLOG_FORMAT_V1, mobile export V3, stable identities, causal revision
lineage, generation/ACK semantics and Bluetooth/MTP transport ownership are
unchanged.- Native tests, Android unit tests and APK assembly, Web tests/typecheck/build,
JSON/import validation, changed-C formatting and exact Sleep V2 replay all
pass at the release tag.
Assets
trainlog-android-v0.1.5.apk: signed public Android APK.trainlog-tui-linux-x86_64-v0.1.5: Linux x86-64 runtime bundle containing
the TUI, local Web adapter, synchronization helpers and required catalogs.SHA256SUMS: SHA-256 checksums for both artifacts.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
SHA256SUMS
1 download · 193 B
-
trainlog-android-v0.1.5.apk
1 download · 9.5 MiB
-
trainlog-tui-linux-x86_64-v0.1.5
1 download · 5.2 MiB
- Android persistently acquires real CYCPLUS Heart Rate Service measurements,