Skip to content

v0.9.1 - Stability, Diagnostics, and Integration Sync

Choose a tag to compare

@9thLevelSoftware 9thLevelSoftware released this 25 May 21:27
13a87dc

TUT IS FINALLY NOT TUT-TALLY BROKEN

Yes, the Time Under Tension saga finally gets a victory lap: Echo and activation defaults now line up with official app behavior, and the packet layout no longer stomps on the profile tail that made TUT/Eccentric behavior so weird.

This release collects 45 commits since the original v0.9.0 release. It focuses on BLE/audio reliability, Smart Insights correctness, bodyweight and routine accuracy, expanded integration sync, diagnostics, and navigation polish.

Enhancements

  • Added configurable weight increments from user preferences for finer workout load control (#266, #410).
  • Improved Smart Insights and Smart Suggestions with fetch-time timestamp refreshes, clock-sensitive recomputation, shared nowMs weekly-volume calculations, broader muscle-group taxonomy, inclusive readiness cutoffs, Snapshot/Trends/Diagnostics/Actions organization, per-card metadata, and average-intensity time-of-day analysis (#412, #413, #414, #415, #416, #417, #418, #419, #420).
  • Refined workout completion criteria and health integration parity, including stricter working-rep completion rules, better zero-rep filtering for stats, optional calorie permission handling, standardized Health workout titles, and Health Connect device metadata (#443, 0d457bf).
  • Replaced Just Lift auto-detection with post-set exercise tagging, including Mini Exercise Picker support and retagging updates for PR tracking and completed-set sync (#436).
  • Modernized the iOS sound sync pipeline, reorganized sound assets, and cleaned up export tooling (#450).
  • Redesigned the Home screen into the Launch Pad experience with a custom navigation bar (#467).
  • Implemented the expanded mobile API feature architecture for external training integration sync, including DTOs, SQLDelight persistence, repositories, cursors, retry/entitlement state, view models, navigation, and integration screens (#470).
  • Aligned Echo and activation packet defaults with official app behavior, including non-overlap activation layout, official Echo defaults, and corrected Echo duration generation (#474).
  • Added Recent Activity replay links into Single Exercise flows (#475).
  • Added and refined BLE diagnostics, diagnostic fault decoding, protocol parser behavior, metric polling, connection logging, diagnostics UI, replay navigation, theme/dynamic-color handling, localized strings, and settings/navigation flows (#476, #477).
  • Updated release/version tooling and verified app version metadata across Android, iOS, and shared Settings display (269b8b9).

Bug Fixes

  • Restored Android workout cue audio routing and release packaging reliability, including media-stream hardware volume behavior, release resource packaging, and rollback of the transient ducking regression (#421, #423, #428, #429, #430, #431, ec0f673, b0e809b).
  • Fixed firmware warmup rep sync/tracking for variable warmups and standard sets (#422, #449).
  • Fixed per-cable weight display, softMax handling, and BLE force-target progression separation (#433, #436).
  • Hardened Compose layouts for iOS accessibility scaling (#432).
  • Fixed bodyweight volume handling across the workout session flow, limited bodyweight rep prompts to timed sets, gated accessory-weight/post-session-load display, and hid cable-only toggles for bodyweight exercises (#444, #445, #446, 79ae47f, 3a1e58f).
  • Fixed routine auto-start and early load dumping on warmups, including splitting auto-start side effects to avoid connection loops (#411, #462, #463, #466).
  • Fixed stale Exercise Variety recency handling for renamed exercise IDs (#469).
  • Fixed dynamic percent-of-PR routine set weights, saved fallback snapshots, nearest-half-kg rounding, and routine load resolution from current PR data (#472).
  • Fixed portal sync stall-detection preservation (536e4ea).
  • Fixed top-level superset reorder persistence while preserving restored audio routing (b0e809b).
  • Fixed high-priority Insights tab behavior and follow-up timestamp refresh regressions (#420, #419).
  • Added Issue #390 BLE diagnostic logging for calf-raise weight tracing to support field debugging (71cf430).

Quality and Maintenance

  • Removed obsolete generated artifacts and stale instrumented E2E harness pieces while preserving shared/common regression coverage (2029cf1, 72d4283).
  • Updated target SDK to 37 and refreshed build/dependency configuration where needed (72d4283, 0d457bf).
  • Expanded regression coverage across BLE packets/parsing/polling, workout lifecycle, bodyweight handling, dynamic percent-of-PR loading, integrations, replay routes, diagnostics, theme behavior, and release cue resource packaging.

Change Coverage

Included merged PRs and direct commits since v0.9.0: #410, #412, #413, #414, #415, #416, #417, #418, #419, #420, #421, #422, #423, #428, #429, #430, #431, #432, #433, #436, #443, #444, #445, #446, #449, #450, #466, #467, #469, #470, #472, #474, #475, #476, #477, plus direct commits 71cf430, ec0f673, 0d457bf, b0e809b, 536e4ea, 79ae47f, 72d4283, 269b8b9, 3a1e58f, and 2029cf1.

Full Changelog: v0.9.0...v0.9.1