-
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)
0 downloads
-
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,
-
Trainlog v0.1.4 Stable
released this
2026-09-22 18:31:43 +02:00 | 42 commits to main since this releaseTrainlog v0.1.4 extends the local-first training workflow with factual
analysis, a synchronized Sleep Diary, improved prepared-session execution, and
an authenticated Bluetooth synchronization transport.Analyse and Dashboard
- The local Web Analyse workspace exposes factual 7/30/90-day and all-history
views through Trainlog Core. - Activity, active-Program progress, compatible exercise metrics, persisted MAX
results, BODY ZONE exposure, and body measurements share the bounded Core
read model used by Dashboard summaries. - Body-measurement trends are charted from persisted observations, and the next
session projection refreshes after synchronization. - Analyse deliberately does not invent readiness, fatigue, recovery, body-fat,
or estimated performance values.
Sleep Diary
- Sleep Diary V1 is available across desktop schema v29 and Android schema v26.
- Entries use absolute timestamped events, causal revisions, appreciations,
notes, medication catalog entries, and timestamped intake snapshots. - The Web agenda uses one exact 18:00-to-18:00 projection and follows the latest
locally persisted revision without leaking another selected night. - Local vector PDF reports are available in French and English.
- Sleep Diary participates in the full-generation synchronization and
acknowledgement flow.
Android session execution
- Prepared continuous-duration exercises remain planning-only until actual work
is explicitly recorded. - Target-only continuous and set-based occurrences can be edited without
fabricating performed activity or duplicate occurrences. - Equipment can be created and selected from the active-session editor while
preserving the current durable draft. - Program provenance is preserved through preparation, Android execution,
completion, synchronization, and progress display, including safe recovery
of compatible historical deliveries.
Bluetooth synchronization
- The paired deployment adds Bluetooth Classic RFCOMM as the primary local
Trainlog synchronization transport and retains direct MTP as wired recovery. - The desktop accepts only the configured bonded Android device, and Android
proves the persisted Trainlog peer identity before exchanging bounded frames. - Reconnect noise is rate-limited and does not create repeated generations.
- This Bluetooth feature transports Trainlog synchronization data only.
Heart-rate sensor ingestion is intentionally deferred to the 0.1.5 cardio
cycle.
Assets
trainlog-android-v0.1.4.apk: signed public Android APK.trainlog-tui-linux-x86_64-v0.1.4: Linux x86-64 runtime bundle containing
the TUI, local Web adapter, synchronization helpers, Bluetooth transport
helper, and required catalogs.SHA256SUMS: SHA-256 checksums for both artifacts.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
SHA256SUMS
1 download · 193 B
-
trainlog-android-v0.1.4.apk
1 download · 9.3 MiB
-
trainlog-tui-linux-x86_64-v0.1.4
1 download · 4.9 MiB
- The local Web Analyse workspace exposes factual 7/30/90-day and all-history
-
Trainlog v0.1.3 Stable
released this
2026-09-20 20:18:22 +02:00 | 82 commits to main since this releaseTrainlog v0.1.3 improves the local-first capture, planning, history, and
synchronization experience without changing the published data formats.Highlights
- The Android interface is more compact while preserving durable capture.
- Programs and their execution state are available across the supported local
workflows. - Sessions and durable drafts are clearer to inspect and resume.
- The Web exercise catalogue supports bounded administration workflows.
- Causal deletion prevents retired data from being resurrected by replay.
- Full-generation synchronization carries the complete supported state.
- Direct MTP exchange is more robust and reports bounded failures precisely.
- Foreground and background synchronization have explicit conversation
ownership. - Full-generation requests use a dedicated trigger while legacy V3 signalling
remains separate and strict.
Assets
trainlog-android-v0.1.3.apk: signed public Android APK.trainlog-tui-linux-x86_64-v0.1.3: 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)
0 downloads
-
SHA256SUMS
1 download · 193 B
-
trainlog-android-v0.1.3.apk
1 download · 9.2 MiB
-
trainlog-tui-linux-x86_64-v0.1.3
1 download · 4.2 MiB
-
Trainlog v0.1.2 Stable
released this
2026-09-20 08:24:28 +02:00 | 103 commits to main since this releaseTrainlog v0.1.2 extends the local-first desktop and Android workflow while
keeping each SQLite database private to its device.Web and Programs
- The loopback-only Web application now provides the Dashboard, Sessions, and
Programs administration surfaces. - The top-level Programmes calendar presents active Program sessions by real
planned date and uses the Core-providedtodo,prepared,in_progress,
completed, anddeletedexecution states. - Manual and Program-derived preparations preserve their stable provenance,
ordered exercises, targets, loads, and revision history.
Android execution and history
- A prepared Program session can be delivered to Android, started explicitly,
resumed from the durable local draft, and completed without inventing a
performed session at delivery time. - Completed Android sessions return to desktop History exactly once and advance
their Program calendar entry through the stable execution-session identity. - Causal deletion, withdrawals, retained generations, and replay protection
prevent removed data from being resurrected.
Synchronization
- The complete generation protocol transports versioned artifacts, manifests,
correlated acknowledgements, and causal operations through one idempotent
business engine. - USB/MTP remains the preferred local transport. A separately configured
private Google Drive namespace is maintained as a mirror and serves as a
fallback when USB is unavailable. - Android can process desktop USB requests through an explicitly enabled
foreground service, and bounded WorkManager checks handle the private Drive
folder selected by the user. - After initial background activation, the Web Synchronize action can complete
a USB conversation without opening Android's SyncScreen for each run. - Trainlog remains local-first: desktop and Android SQLite databases stay local
and are never synchronized through USB or Google Drive.
Assets
trainlog-android-v0.1.2.apk: signed Android APK.trainlog-tui-linux-x86_64-v0.1.2: 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)
0 downloads
-
SHA256SUMS
1 download · 193 B
-
trainlog-android-v0.1.2.apk
1 download · 9.2 MiB
-
trainlog-tui-linux-x86_64-v0.1.2
1 download · 4 MiB
- The loopback-only Web application now provides the Dashboard, Sessions, and
-
Trainlog v0.1.1 Stable
released this
2026-09-16 07:46:47 +02:00 | 204 commits to main since this releaseTrainlog v0.1.1 is the latest stable release before Web implementation began.
Interfaces and languages
- French is the default interface language on Android and in the TUI, with
English selectable and a persistent local preference. - BODY ZONE labels and synchronization states are presented locally without
changing business data or exchange formats. - Android workflows for entering, correcting, and reordering active and
completed sessions are improved.
Reliability
- Transactional corrections and regression coverage protect corrected and
synchronized sessions. - Decimal input accepts
.or,, rejects non-finite values, and preserves
intermediate editing states. - The Android APK was built with Trainlog's durable signing identity and
verified before publication.
Architecture
- The
TRAINLOG_WEB_V1contract is frozen: the future Web interface is a local
sibling adapter built on typed Trainlog Core services. - No Web server, frontend, or Dashboard is implemented in this release.
Assets
trainlog-android-v0.1.1.apk: signed Android APK.trainlog-tui-linux-x86_64-v0.1.1: dynamically linked Linux x86-64
executable.SHA256SUMS: SHA-256 checksums for both artifacts.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
SHA256SUMS
1 download · 193 B
-
trainlog-android-v0.1.1.apk
1 download · 8.8 MiB
-
trainlog-tui-linux-x86_64-v0.1.1
1 download · 1.2 MiB
- French is the default interface language on Android and in the TUI, with
-
Trainlog 0.1.0 Stable
released this
2026-09-15 08:29:37 +02:00 | 208 commits to main since this releaseTrainlog 0.1.0
First stable synchronized Trainlog release.
Downloads
- Android APK
- Linux x86-64 TUI executable
- SHA-256 checksums
Product split
Android is the Trainlog field companion for fast capture and quick summaries.
The desktop Notcurses TUI is the detailed analysis, correction, history and
long-term tracking interface.Linux
The provided TUI binary is:
- Linux x86-64;
- dynamically linked;
- dependent on compatible distribution-provided runtime libraries.
See README for dependencies and installation instructions.
Android
Minimum supported version:
Android 8.0 / API 26Synchronization uses the documented direct-storage permission and desktop-side
setup.Validation
- desktop tests: 58/58 PASS
- Android tests: PASS
- signed APK verification: PASS
- SHA256SUMS verification: PASS
See CHANGELOG for details.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
SHA256SUMS
1 download · 193 B
-
trainlog-android-v0.1.0.apk
1 download · 8.5 MiB
-
trainlog-tui-linux-x86_64-v0.1.0
1 download · 1 MiB