stashbox 0.1.0
stashbox: ^0.1.0 copied to clipboard
A lightweight, persistent JSON storage solution for Dart and Flutter applications
0.1.0 #
Major Features #
- Watch API: Real-time change notifications with key-specific and global watchers
- Lazy Loading: Efficient handling of large JSON files with memory management
- Memory Caching: LRU cache implementation for improved performance
- Enhanced Transactions: Nested transaction support with proper rollback
- Backup & Restore: Automatic and manual backup functionality
- File Locking: Concurrent access safety for multi-process environments
Enhanced Error Handling #
- Added
StashBoxErrorCodeenum for programmatic error handling - Added retry count and total retry time tracking in exceptions
- Added timestamp to all exceptions for debugging
- Added utility methods to exceptions:
isRetryable,indicatesDataLoss,isUserCorrectable - Added
executeWithErrorHandlingconvenience method with built-in retry logic - Enhanced
FileOperationResultto include detailed exception information - Better error mapping from OS errors to StashBox error codes
- Enhanced file operations with Windows-specific error handling
- Improved retry logic with exponential backoff
Performance Improvements #
- Atomic file operations with temporary files
- Optimized JSON parsing and serialization
- Efficient memory usage with lazy loading
- Reduced file I/O with caching strategies
Bug Fixes #
- Fixed Windows file permission issues during atomic rename operations
- Fixed transaction rollback issues when no transaction was in progress
- Improved handling of concurrent access scenarios
- Fixed memory leaks in watch subscriptions
0.0.5 #
- Updated Readme & Docs
- Added Backup & Restore methods
0.0.4 #
- Updated Readme & Docs
- Added Backup & Restore methods
0.0.3 #
- Added dart docs
- Better exceptions
0.0.2 #
- More docs/comments + example readme
0.0.1 #
- Initial release