swip 1.0.0+7
swip: ^1.0.0+7 copied to clipboard
Synheart Wellness Impact Protocol - Flutter SDK
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0+7 - 2025-01-09 #
Changed #
- Architecture: Integrated
swip-coredirectly into the SDK- Removed external
swip_corepackage dependency - Core implementation now lives in
lib/src/core/(19 files) - This simplifies dependency management and ensures version consistency
- All
swip_coretypes are now exported from the main SDK package
- Removed external
- Dependencies: Updated package dependencies
synheart_wear: ^0.2.2(was 0.1.2)synheart_emotion: ^0.3.0(was 0.2.0)- Added
flutter_onnxruntime: ^1.5.2(required for integrated core) - Removed external
swip_corepath dependency
- Model Files: Updated to use nozipmap ONNX model format
- Added
ExtraTrees_60_5_nozipmap.onnxand metadata to SDK assets - Model now uses binary classification (Baseline vs Stress) instead of 3-class
- Model ID:
extratrees_chest_ecg_w60s5_binary_v1_0
- Added
Fixed #
- ONNX Inference Error: Fixed
RangeError (length): Invalid value: Only valid value is 0: 1error in emotion inference- Updated to use
ExtraTrees_60_5_nozipmap.onnxmodel (same as synheart-poc-dart) - The nozipmap model outputs probabilities directly without ZipMap wrapper, fixing output parsing issues
- Model ID is now automatically read from loaded model's metadata for consistency
- Updated to use
Added #
- Example App: Complete example app refactoring
- Added
SwipControllerdemonstrating proper SDK integration - New modular UI structure with
HomePageandSwipPage - Shows real-time SWIP scores and emotions
- Includes session management and history
- Demonstrates storage integration with SQLite
- Aligned Android configuration with SDK best practices
- Added
Improved #
- Model loading now uses model's own metadata for modelId, ensuring consistency
- Better code organization with integrated core implementation
1.0.0+6 - 2025-01-09 #
Fixed #
- ONNX Inference Error: Fixed
RangeError (length): Invalid value: Only valid value is 0: 1error in emotion inference- Updated to use
ExtraTrees_60_5_nozipmap.onnxmodel (same as synheart-poc-dart) - The nozipmap model outputs probabilities directly without ZipMap wrapper, fixing output parsing issues
- Model ID is now automatically read from loaded model's metadata for consistency
- Updated to use
- Permission Handling: Fixed redundant permission requests that prevented Health Connect UI from opening correctly on Android
- Initialization Flow: Improved SDK initialization to follow best practices from synheart-poc-dart
- Now calls
initialize()first (matching synheart-poc-dart pattern), then checks for existing permissions - Gracefully handles cases where Health Connect is not yet installed
- Re-initializes wearable SDK after permissions are granted
- Now calls
- Android 14+ Compatibility: Fixed "Permission launcher not found" error by requiring
MainActivityto extendFlutterFragmentActivityinstead ofFlutterActivity(see example app)
Changed #
- Model Files: Updated to use nozipmap ONNX model format
- Added
ExtraTrees_60_5_nozipmap.onnxand metadata to SDK assets - Model now uses binary classification (Baseline vs Stress) instead of 3-class
- Model ID:
extratrees_chest_ecg_w60s5_binary_v1_0
- Added
- Permission Request Pattern: Updated to explicitly request platform-specific permissions
- Android: Requests
heartRate,heartRateVariability(RMSSD),steps,calories(excludesdistanceas Health Connect doesn't support it) - iOS: Requests all types including
distance(HealthKit supports all)
- Android: Requests
- Error Handling: Better error handling for Health Connect availability issues
- SDK can now work even if Health Connect is installed after initial initialization attempt
Added #
- Example App: Added
SwipControllerto example app demonstrating proper SDK integration- Shows real-time SWIP scores and emotions
- Includes session management and history
- Demonstrates storage integration
Improved #
- Health Connect permissions screen now opens correctly when permissions are requested
- Removed duplicate permission requests that were causing initialization issues
- Better state management for wearable SDK initialization
- Model loading now uses model's own metadata for modelId, ensuring consistency
1.0.0+3 2025-11-XX #
Fixed #
- Removed nested lib/packages/swip_core directory
- Fixed undefined exports (EmotionRecognitionConfig, EmotionState)
- Added version constraint to synheart_wear dependency
1.0.0 2025-11-XX #
Added #
- Initial release of SWIP Flutter SDK
- SWIP SDK Manager for session management
- Integration with synheart_wear for sensor data collection
- Integration with synheart_emotion for emotion recognition
- Integration with swip_core for SWIP score computation
- Consent management system
- Local storage and sync capabilities
- Legacy ML components (feature extraction, SVM predictor, emotion recognition)
Fixed #
- Removed nested lib/packages/swip_core directory
- Fixed undefined exports (EmotionRecognitionConfig, EmotionState)
- Added version constraint to synheart_wear dependency