popsicle 1.0.0
popsicle: ^1.0.0 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.
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
, andStreamState
for 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
AppDI
class - β 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.