popsicle 2.0.0-beta
popsicle: ^2.0.0-beta copied to clipboard
Popsicle is a lightweight, reactive state management and DI framework for Flutter. Built on the philosophy f(state) = UI, it simplifies building scalable, declarative apps.
2.0.0 beta #
- Initial beta release of Popsicle framework
- Added Logic
- Implemented PopWidget, PopStream, and PopMiddleware utilities
- TodoState example with fetchTodos using functional style
- Added PopLoading, PopSuccess, PopFailure abstractions
- Introduced global access via Popsicle.get
- Includes stream-based counter demo
- Improved entanglement and observer lifecycle management
BREAKING CHANGE:
- Users must now extend Logic
- Middleware is now attached via
use()method
2.0.0-alpha #
Added
- Introduced
PopsicleServicestypedef for cleaner service registration callbacks. - Added support for user-provided bootstrap via
Popsicle.bootStrap(callback)function.
Changed
- Migrated anonymous closure registration to named function
registerServices. - Made Popsicle fully static; removed instance-based initialization to prevent dependency timing issues.
Fixed
- Resolved white screen issue caused by premature dependency access before initialization.
1.0.0 #
-
π§© New Core State:
PopsicleState<T>- Lightweight reactive state class added for simplified state management.
- Offers a minimal API while integrating with the existing reactive ecosystem.
-
π Dependency Bootstrap Enhancement
- Refactored and improved DI bootstrap logic to support more modular and testable setups.
β οΈ This is a release candidate for 1.0.0. While the API is considered feature-complete, minor refinements and naming adjustments may still occur before final release.
0.1.1-beta #
π Beta Release Highlights #
-
π§ Middleware Revamp
- Introduced type-safe
MiddlewareContext<T>andMiddlewarePipeline<T>to support chained middleware with contextual awareness (oldValue,newValue,key,scope).
- Introduced type-safe
-
βοΈ Modular & Scalable Dependency Injection
-
π₯ Declarative State Access
- Introduced
ReactiveProvider.get<T>()for easy and declarative access to state.
- Introduced
-
π§© Clean Architecture Improvements
- Refactored internals to better support separation of concerns and composability.
- Reduced boilerplate and improved clarity in the state registration lifecycle.
-
π§ͺ Enhanced Testability
- State and DI system now fully testable in isolation.
- Easier to mock, override, and inject test-specific dependencies or states.
-
π¦ Scalability Enhancements
- Popsicle is now ready for large-scale applications with a robust foundation for reactive state and modular DI.
Note: This is a beta release, APIs may change slightly before the stable 1.0.0. Feedback is welcome!
0.0.2-alpha #
β¨ Initial Release #
π Popsicle State Management
- β
ReactiveState,AsyncState, andStreamStatefor fully reactive and composable state handling - β Lifecycle-aware state observers with automatic disposal
- β Middleware support to intercept or transform state changes
π¦ Built-in Dependency Injection
- β
Zero-boilerplate DI with centralized configuration via
AppDIclass - β No global variables required β clean and testable setup
- β
Context-free access using
inject<T>() - β
context.get<T>()extension for widget-based DI
π οΈ Architecture
- β Designed for both small and large-scale applications
- β Works in Flutter apps and Dart CLI projects
π± Ideal for
- Developers looking for a lightweight yet powerful state management and DI solution with minimal setup.