Skip to content

Releases

Trainlog v0.1.5

Choose a tag to compare

@labfytools labfytools released this 23 Sep 19:13

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.

Trainlog v0.1.4

Choose a tag to compare

@labfytools labfytools released this 22 Sep 16:38

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.

Trainlog v0.1.3

Choose a tag to compare

@labfytools labfytools released this 20 Sep 18:18

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.

Trainlog v0.1.2

Choose a tag to compare

@labfytools labfytools released this 20 Sep 06:24

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.

Trainlog v0.1.1

Choose a tag to compare

@labfytools labfytools released this 16 Sep 05:47

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.

Trainlog 0.1.0

Choose a tag to compare

@labfytools labfytools released this 15 Sep 07:05

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.