minix 1.2.0 copy "minix: ^1.2.0" to clipboard
minix: ^1.2.0 copied to clipboard

Reactive state management for Flutter with form validation, collection observables, async operations, dependency injection, and automatic memory management. Zero dependencies, high performance, and co [...]

1.2.0 - 2025-07-30 #

✨ Added #

Form Management

  • FormObservable: Complete reactive form management system
    • Built-in field validation with custom validators
    • Real-time form state tracking (isValid, hasErrors)
    • Automatic error handling and display
    • Reactive field value updates
    • Easy form data extraction with getValues()

Collection Observables

  • ListObservable<T>: Reactive list implementation

    • Full CRUD operations (add, remove, insert, removeAt)
    • Reactive length, emptiness, and item access
    • Functional operations (map, where, sort)
    • Performance-optimized with efficient memory management
    • Reactive watchers for length, isEmpty, first, last
  • MapObservable<K,V>: Reactive map implementation

    • Key-value pair management with reactivity
    • Reactive getters for length, keys, values, isEmpty
    • Thread-safe operations with error handling
    • Efficient update notifications

Memory Management

  • AutoDispose mixin: Automatic resource cleanup
    • Prevents memory leaks by auto-disposing observables
    • Manages StreamSubscriptions automatically
    • Simple integration with addObservable() and addSubscription()
    • Batch cleanup with disposeAll()

πŸ”§ Improvements #

Performance Enhancements

  • 30% faster observable value access with cached observer tracking
  • Reduced memory allocations in list and map operations
  • Optimized batch processing for multiple state updates
  • Efficient dependency tracking with faster registration
  • Cached action names in ActionController to reduce string operations

πŸ› Bug Fixes #

  • Fixed: Memory leaks in computed observables when disposing dependencies
  • Fixed: Race conditions in StreamObservable state updates
  • Fixed: Incorrect equality checks in ListObservable operations
  • Fixed: Potential null pointer exceptions in FormObservable validation
  • Fixed: Observer widgets not properly disposing listeners on rebuild
  • Fixed: Injector tagged key cache growing indefinitely
  • Fixed: ActionController queue not being cleared on errors

1.1.0 - 2025-07-27 #

✨ Added #

  • ComputedObservable<T>:
    • A derived observable that automatically recalculates its value based on a list of dependencies.
  • ActionController and runInAction():
    • Allows grouping of multiple state changes into a single batch action.
    • Reactions are deferred until the action completes, improving performance and reducing redundant updates. #

[1.0.0] - 2024-07-27

Added

Core Features #

  • Observable
  • Observer widget - Automatic UI rebuilds
  • ContextObserver widget - Observer with BuildContext access
  • AsyncObservable
  • StreamObservable
  • Injector - Dependency injection container

Dependency Injection Features #

  • Basic registration (put, lazyPut, putAsync)
  • Service location (find, getOrNull)
  • Auto dispose functionality
  • Scoped injection support
  • Tagged instances
  • Testing overrides
  • Injectable interface for lifecycle management

Observable Features #

  • Reactive value updates
  • Automatic listener management
  • Non-reactive read access
  • Proper disposal handling

AsyncObservable Features #

  • Built-in loading states (idle, loading, success, error)
  • Async operation execution
  • Error handling
  • Manual state control
  • Reactive watch methods

StreamObservable Features #

  • Stream subscription management
  • State tracking (idle, listening, paused, closed, error)
  • Stream operations (map, where)
  • Pause/resume functionality
  • Proper cleanup and disposal

Developer Experience #

  • Debug logging support
  • Event hooks for monitoring
  • Comprehensive error handling
  • Type safety throughout
  • Memory leak prevention

Documentation #

  • Complete API documentation
  • Usage examples
  • Architecture patterns
  • Testing guidelines
  • Performance tips

Technical Details #

  • Minimum Dart SDK: 2.17.0
  • Flutter compatibility: 3.0.0+
  • Platform support: Android, iOS, Web, Windows, Mac, Linux
  • Zero external dependencies (Flutter only)

[Unreleased]

Planned Features #

  • Collection observables (ObservableList, ObservableMap)
  • Computed observables
  • Batch updates
  • DevTools integration
  • Code generation tools
2
likes
130
points
33
downloads

Publisher

unverified uploader

Weekly Downloads

Reactive state management for Flutter with form validation, collection observables, async operations, dependency injection, and automatic memory management. Zero dependencies, high performance, and comprehensive testing support for scalable applications.

Repository (GitHub)
View/report issues

Topics

#state-management #dependency-injection #reactive-programming #flutter #observables

Documentation

API reference

License

MIT (license)

Dependencies

flutter, intl

More

Packages that depend on minix