neuron 1.1.1
neuron: ^1.1.1 copied to clipboard
Signal/Slot reactive state management for Flutter. Clean syntax, powerful features including middleware, persistence, time-travel debugging, and code generation support.
Changelog #
All notable changes to the Neuron package 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-11-21 #
Added #
- Initial release of Neuron state management framework
- Core reactive primitives:
Signal<T>,AsyncSignal<T>,Computed<T> - Specialized collection signals:
ListSignal<E>,MapSignal<K,V>,SetSignal<E> - Rate limiting signals:
DebouncedSignal,ThrottledSignal,DistinctSignal - Middleware system with built-in middlewares:
LoggingMiddleware- Log value changesValidationMiddleware- Validate before emitClampMiddleware- Clamp numeric valuesTransformMiddleware- Transform valuesSanitizationMiddleware- Sanitize strings
- Persistence adapters:
PersistentSignal- Auto-save/loadJsonPersistence- JSON serializationSimplePersistence- String-based storageMemoryPersistence- In-memory (testing)
- Effects and reactions:
SignalReaction- Side effects on changesSignalTransaction- Batch updatesSignalAction- Async operations with state
- DevTools integration:
SignalDevTools- Time-travel debugging- Event tracking and history
- State inspection and export
- Widget integration:
Slot<T>- Connect signals to UIAsyncSlot<T>- Handle async statesNeuronApp- MaterialApp wrapper
- Service locator:
Neuron- Global controller registryNeuronController- Base controller with lifecycle- Auto-disposal with
.bind()
- Context-less navigation:
Neuron.to(),Neuron.off(),Neuron.back()Neuron.toNamed(),Neuron.offNamed()
- Utility methods via
SignalUtils - Extension methods on signals
- Comprehensive example app
- Full documentation and README
Design Philosophy #
- Signal/Slot terminology and concepts
- StatelessWidget-only approach (no StatefulWidget)
- Static
initpattern for controllers - Clean, predictable API
- Type-safe and compile-time checked
1.1.1 - 2025-12-05 #
Documentation #
- Added comprehensive "Widget Guide" to README.md covering
Slot,AsyncSlot,MultiSlot,ConditionalSlot, andAnimatedSlot.
1.1.0 - 2025-12-05 #
Added #
- Documentation: Comprehensive Dartdoc comments with usage examples for all public APIs.
- DevTools Auto-Registration: Signals bound to a controller with
.bind(this)are now automatically registered with DevTools. - Unified Debug Server: New WebSocket + HTTP debug server for better tooling integration.
- New Middleware:
RateLimitMiddleware- Limits emission frequencyConditionalMiddleware- Conditional value emissionHistoryMiddleware- Track previous valuesCoalesceMiddleware- Prevent null valuesAggregateMiddleware- Combine multiple middlewares
- New Persistence Adapters:
BinaryPersistence- Custom binary serializationEncryptedPersistence- Encrypted storage wrapperVersionedPersistence- Versioned data with migration support
- DevTools Enhancements:
- Event filtering by type and signal ID
- Time range queries
- Custom event recording
- Checkpoint creation and restoration
- Snapshot comparison
- Activity statistics
- Performance:
- Cached computed signals with TTL
- Lazy signal initialization
- Collection optimizations (reverse, shuffle, filter)
Fixed #
- CLI: Improved dependency injection in generated projects.
- Analysis: Resolved all linter warnings and improved code health.
Planned #
- More middleware types
- Additional persistence adapters
- Enhanced DevTools features
- Performance optimizations
- More comprehensive tests
- Create Dartdoc reference documentation
For more information, see the README.