Skip to content

v1.0.5

Choose a tag to compare

@github-actions github-actions released this 14 Jun 14:46
· 44 commits to main since this release

Changes since v1.0.4.

  • CSV session logging. While logging is on, gotempo now writes a per-session
    CSV to ~/.local/share/gotempo/sessions/, one timestamp,bpm row per
    reading, alongside the existing gotempo-bpm.txt OBS file. A new file starts
    after an idle gap; shorter breaks append to the current session. Readings below
    a contact threshold are skipped, so dropouts appear as gaps in the timestamps
    rather than junk rows. Files are crash-safe (readable mid-session) and named by
    the session's first reading.

  • Two new optional config keys:

    • session_gap_minutes (default 60): idle span that ends a session. A longer
      gap starts a new file, a shorter one continues the current session.
    • min_bpm_threshold (default 20): validity floor. Readings below it are
      treated as no-contact noise and left out of the CSV.

    Both are optional; existing configs keep working unchanged.

Fixed

  • Toggle-off race. Stopping logging can no longer leave a stray one-row
    session file behind if a reading lands at the same moment.

Improved

  • Self-diagnosing reconnect logging. The persistent reconnection phase is no
    longer silent: a "still scanning" / "back in range after N" heartbeat, session
    length logged on a drop, and the previously-swallowed connect/discovery error
    is now surfaced. Makes the rare "won't reconnect after a long idle" case
    leave usable evidence.

Internal

  • Restructured the code into an internal/app package (the repo root is now a
    small main.go shim), laying the groundwork for macOS and Windows support.
  • Repo tidy: docs moved under docs/, installer scripts under scripts/, and
    the desktop entry is generated at install time instead of stored in the tree.
  • README and CONTRIBUTING updated for the new layout and CSV logging.

No action needed to upgrade. Replace the binary (or re-run install.sh); your
config and data carry over.