sonarfit_flutter 2.4.2 copy "sonarfit_flutter: ^2.4.2" to clipboard
sonarfit_flutter: ^2.4.2 copied to clipboard

Flutter plugin for SonarFit SDK - AI-powered strength training with real-time rep detection

Changelog #

All notable changes to the SonarFit Flutter plugin will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

2.4.2 - 2026-07-19 #

Changed #

  • Improve shoulder-press rep counting: setup and re-rack movements are no longer miscounted.
  • Reduce false reps triggered by stair climbing (AirPods).
  • Improve live rep-count responsiveness on Apple Watch.
  • Internal diagnostics hardening — no functional change.

Fixed #

  • Restore AirPods deadlift detector parity.

2.4.1 - 2026-07-07 #

Fixed #

  • Now ships the current SDK binary. Earlier releases vendored stale, pre-rewrite XCFrameworks (old Core ML models + older detectors). This release re-vendors the current SDK build — no bundled ML models, and the current signal-based detectors (including the v53–v56 shoulder-press, stairs, parity and live-stream fixes).

Added #

  • Shoulder Press and Bicep Curl (Apple Watch), matching the native SDK. WorkoutType now includes shoulderPress and bicepCurl.

2.4.0 - 2026-06-28 #

Fixed #

  • Apple Watch: tapping "Lift" on the iPhone during a rest period now stays in sync with the watch — previously it could drop a set or leave the set-review prompt stuck.
  • Apple Watch: starting a new workout right after finishing one now connects reliably every time.
  • Apple Watch: the workout-complete screen now shows once and cleanly after the final set.

2.3.0 - 2026-06-26 #

Added #

  • Apple Watch rep detection for shoulder press, bicep curl, and deadlift.
  • WorkoutType metadata: muscle groups, supported devices, and exercise-category filtering.
  • On-watch set-review sheet (confirm, adjust reps, or discard a set) with an auto-skip timer.
  • End-set-early during a workout, from the watch or the phone.
  • Per-rep verdict callbacks (onUserVerdictResolved, onAnyVerdictResolved).
  • Raw-set upload pipeline for feedback and rest analysis.

Changed #

  • The watch returns to the clock face after a workout and wakes to the ready screen only on intent (open app, return from background, or edit the workout).
  • Workout configuration is now a single versioned source delivered watch↔phone, removing config-sync races.
  • The HealthKit session ends on workout completion so the watch app can background; no HealthKit session runs while idle (battery).

Fixed #

  • Rep-count accuracy improvements across the watch detectors.
  • Back-to-back workouts now start reliably (resolved a mirror-start stall).
  • Correct set indexing when a new set or workout begins during the end-of-set window.

Security #

  • Production builds strip symbol and reflection-metadata names; detection internals are no longer present as readable text in the shipped binary. No public API change.

2.2.0 - 2026-05-06 #

Changed #

  • Improve AirPods detector
  • Improve Watch detector

2.1.3 - 2026-03-22 #

Changed

  • Remove source .mlmodel files from the SDK bundle to prevent unnecessary Xcode recompilation in client projects

2.1.2 - 2026-03-22 #

Breaking Changes

  • Rename SDK module from SonarFit to SonarFitKit — update all import statements
  • Rename rep and set properties on workout models for clarity — update any references to affected fields
  • Update logging API to support granular log levels — replace previous log configuration calls with the new LogLevel API

Added

  • Add WatchStatusManager to monitor and respond to Apple Watch app state changes
  • Add resendWatchConfig method to re-push configuration to the Watch when connectivity is lost
  • Add communicating-state UI indicator when the SDK is syncing with the Watch
  • Add Watch handshake to verify connection before workout operations
  • Add device availability checks when starting or resuming a workout
  • Add headphone status delegate to receive AirPods connectivity updates
  • Add skipRestWithCountdown method as a timed variant of skipRest

Changed

  • Update AirPods rep detector to v2 model with improved motion filtering for more accurate rep counts
  • Replace AirPods workout detection with a new processing pipeline for lower latency and higher reliability
  • Improve Watch connectivity handling and workout device session management

2.1.1 - 2026-03-22 #

Breaking Changes

  • Rename SDK module from SonarFit to SonarFitKit — update all import statements
  • Rename rep and set properties on workout models for clarity — update any property references at call sites
  • Replace logging API with new granular log level system — update any custom logging configuration

Added

  • New AirPods workout detection pipeline for rep counting via headphone motion sensors
  • WatchStatusManager for observing Apple Watch app status
  • Headphone status delegate for monitoring AirPods availability during workouts
  • Device availability checks before workout start and resume
  • skipRestWithCountdown method to skip rest periods with a countdown
  • resendWatchConfig method to re-sync configuration with the paired Watch
  • Watch handshake flow to confirm communication before workout begins
  • Communicating state UI to surface Watch connectivity status to users
  • New color theme options for SDK UI components

Changed

  • Improve AirPods rep detector with updated v2 ML model and enhanced signal filtering
  • Improve Apple Watch connectivity reliability and workout device handling

2.1.0 - 2026-03-22 #

Breaking Changes

  • Rename SDK module from SonarFit to SonarFitKit — update all imports and references
  • Rename rep and set properties on workout models for clarity — update any code accessing these fields directly

Added

  • Add WatchStatusManager to expose Apple Watch connection and app status
  • Add device availability checks before starting or resuming a workout
  • Add skipRestWithCountdown API for skipping rest periods with a countdown
  • Add headphone status delegate for monitoring AirPods connectivity state
  • Add resendWatchConfig method to re-sync configuration with the paired Watch
  • Add granular log level system with updated logging API for filtering SDK output
  • Add communicating state indicator in UI during Watch data sync

Changed

  • Upgrade AirPods rep detector to v2 model with improved signal filtering for more accurate rep counts
  • Introduce new AirPods workout detection pipeline for improved reliability
  • Improve Watch connectivity handling and workout device session management
  • Update theme manager with new color options and remove unused color definitions

2.0.0 - 2025-01-27 #

Added #

  • WorkoutStatus enum for tracking completion status (.completed or .stoppedEarly)
  • Error code E_CANCELLED thrown when user dismisses workout before starting
  • Error code E_NO_RESULT for unexpected nil results from SDK

Changed #

  • deviceType parameter in WorkoutConfig is now required (must specify .watch or .airpods)
  • WorkoutResult now uses status: WorkoutStatus instead of boolean flags
  • All WorkoutResult fields are now required (non-nullable)
  • User cancellations now throw SonarFitException instead of returning partial results

Platform Support #

  • iOS 17.0+
  • Flutter 3.3.0+
  • Dart 3.0.0+
  • SonarFitKit iOS SDK 2.0.1

1.0.0 - 2025-01-25 #

Added #

  • Initial release of SonarFit Flutter plugin
  • Built-in workout UI with SonarFit.presentWorkout()
  • Support for 3 workout types: Squat, Deadlift, Bench Press
  • Automatic rep detection using Apple Watch or AirPods Pro
  • Real-time progress tracking with set/rep counters
  • Rest timer management with customizable durations
  • Permission handling for motion sensors
  • Complete Dart models: WorkoutConfig, WorkoutResult, WorkoutSet
  • Comprehensive error handling with SonarFitException
  • Example app demonstrating basic usage
  • Full API documentation in README

Platform Support #

  • iOS 17.0+

Dependencies #

  • Flutter SDK: 3.3.0+
  • Dart SDK: 3.0.0+
  • SonarFitKit iOS SDK: 2.0.1
0
likes
0
points
79
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin for SonarFit SDK - AI-powered strength training with real-time rep detection

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on sonarfit_flutter

Packages that implement sonarfit_flutter