turbo_mvvm 1.0.0
turbo_mvvm: ^1.0.0 copied to clipboard
A lightweight MVVM state management solution inspired by the FilledStacks Stacked package.
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 - 2025-01-06 #
Added #
BaseViewModelfor MVVM pattern implementationViewModelBuilderwidget for reactive UI updates- Automatic lifecycle management (
initialiseanddispose) BusyManagementmixin for local busy statesErrorManagementmixin for error handlingViewModelHelpersmixin for utility methodsBusyServiceManagementmixin for global busy stateBusyServicesingleton for application-wide busy indicatorsBusyModelwith support for title, message, type, and payloadBusyTypeenum for different busy indicator styles- Timeout functionality for busy states
AkeBaseViewModelandAkeViewModelBuilderfor automatic keep-alive- Safe
BuildContextaccess viacontextgetter isMountedcheck for widget tree presence- Argument passing to ViewModels
isInitialisednotifier for initialization tracking- Reactive and non-reactive ViewModel support
- Custom dispose callbacks
- All features from previous versions (0.0.1 - 0.0.15)
Changed #
- Package renamed from
vetototurbo_mvvm - Updated import paths to use
package:turbo_mvvm/turbo_mvvm.dart - Integrated Provider package for efficient state propagation
- Made
BaseViewModelaChangeNotifier - Enhanced busy state management with timeouts
- Improved error handling
- Better context access safety
- Enhanced documentation and examples
- Generic arguments of payload changed to dynamic
isBusyrenamed toisBusyListenable, newisBusybool getter added
Fixed #
- Fixed non-reactive ViewModel disposal
- Fixed
Akeclasses naming and functionality - Fixed missing payload in BusyServiceManagement
- Fixed duration bugs
- Fixed reactive ViewModel rebuild issues
- Fixed argument nullability
Removed #
- Various deprecated APIs from previous versions