Repository navigation
v2.0.1 - Security Fixes, Bug Fixes, and InstantDB v0.3.4
π§ v2.0.1 - Security Fixes, Bug Fixes, and InstantDB v0.3.4
This release includes comprehensive improvements across security, stability, and dependencies.
π v2.0.1 Changes (InstantDB Upgrade)
- β¬οΈ Upgraded InstantDB Flutter from v0.3.3 to v0.3.4
- Fixed
clearAll()crash when deleting non-existent database tables - Added performance index on retracted column (O(n) β O(log n) query performance)
- Added
vacuum()method to remove old retracted triples and reclaim disk space - Server error rollback: Optimistic updates now automatically rollback on server rejection
- Attribute cache protection: Unknown attributes trigger exceptions to prevent data loss
- See InstantDB v0.3.4 Release Notes
- Fixed
β οΈ v2.0.0 Changes (Included in this release)
BREAKING CHANGES
- π CRITICAL SECURITY FIX: Password hashing upgraded from SHA-256 to bcrypt
- Impact: Existing password hashes will NOT work after upgrade
- Why: SHA-256 is vulnerable to rainbow table attacks (no salt, too fast)
- New: bcrypt with cost factor 12 (industry standard, built-in salt)
- Migration: See Migration Guide v2.0
- Note: InstantDB magic link authentication unaffected
π Bug Fixes (10 Critical Issues)
High Priority
- DatabaseService race condition - Added
untracked()wrapper in watchCollection/watchWhere - AuthenticationService null safety - Atomic signal updates using
batch() - NetworkService offline queue - JSON serialization to SharedPreferences
Medium Priority
- WindowStateService validation - NaN/Infinity coordinate checks
- DatabaseService hardcoded workarounds - Version detection for InstantDB
- AppShellSettingsStore silent failures - Error tracking signals added
- AppShell back button logic - Pure function with cycle detection
Low Priority
- PreferencesService signal leak - Cleanup API added
- AppShell route title loop - Cycle detection with depth limits
- Password hashing security - See BREAKING CHANGES
π Documentation
- docs/installation.md - Complete setup guide
- docs/migration-v2.md - Password hashing migration guide
- docs/quickstart-examples.md - Practical code examples
- docs/services/authentication.md - Authentication service documentation
π¨ Example App Improvements
- Fixed 3 pattern violations (removed
ui.scaffold()from screens) - Enabled Task Manager and Error Handling demos
- Added FileStorageService demonstration
- Fixed 4 ButtonVariant usages
π¦ Migration from v1.x
If upgrading from v1.x with password-based authentication:
- Read the migration guide: docs/migration-v2.md
- Choose migration strategy:
- Option A: Users reset passwords
- Option B: Migrate on first sign-in using
migratePasswordHash() - Option C: Clear all auth data
- Test thoroughly before deploying
Note: If using InstantDB magic links (recommended), no migration needed!
β Testing
- 15+ tests passing
- InstantDB v0.3.4 integration verified
- All platforms tested: iOS, Android, Web, macOS, Windows, Linux