• v0.1.5 f2747b357b

    fy59 released this 2026-09-23 21:12:35 +02:00 | 22 commits to main since this release

    Trainlog 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 cardio sessions, 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
  • v0.1.4 5d58071601

    fy59 released this 2026-09-22 18:31:43 +02:00 | 42 commits to main since this release

    Trainlog 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
  • v0.1.3 bedf392542

    fy59 released this 2026-09-20 20:18:22 +02:00 | 82 commits to main since this release

    Trainlog 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
  • v0.1.2 fdf4301502

    fy59 released this 2026-09-20 08:24:28 +02:00 | 103 commits to main since this release

    Trainlog 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-provided todo, prepared, in_progress,
      completed, and deleted execution 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
  • v0.1.1 7a12dd3728

    fy59 released this 2026-09-16 07:46:47 +02:00 | 204 commits to main since this release

    Trainlog 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_V1 contract 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
  • v0.1.0 09f120566d

    fy59 released this 2026-09-15 08:29:37 +02:00 | 208 commits to main since this release

    Trainlog 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 26
    

    Synchronization 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