neuron 1.1.13
neuron: ^1.1.13 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.13 - 2025-12-07 #
Changed #
- NeuronApp Routes:
NeuronApp.routesnow acceptsList<NeuronRoute>instead ofMap<String, WidgetBuilder>for cleaner, GetX-style routing syntax - Unified Routing: Routes defined with
NeuronRoutenow work seamlessly inNeuronApp, including path parameters, transitions, guards, and middleware
Added #
- Middlewares in NeuronApp: New
middlewaresparameter to add navigation middleware directly toNeuronApp - Full Transition Support: All 20+
NeuronPageTransitionpresets (fade, slide, scale, blur, etc.) now work with routes inNeuronApp - Path Parameters: Dynamic route segments like
/profile/:idare fully supported and automatically parsed
Example #
NeuronApp(
routes: [
NeuronRoute(
name: 'home',
path: '/',
builder: (context, params) => const HomePage(),
),
NeuronRoute(
name: 'profile',
path: '/profile/:id',
builder: (context, params) => ProfilePage(id: params['id']),
transition: NeuronPageTransition.slideUp,
),
],
initialRoute: '/',
)
1.1.12 - 2025-12-06 #
Fixed #
- README rendering: Fixed ASCII diagram that wasn't displaying correctly on pub.dev
1.1.11 - 2025-12-06 #
Added #
- Numeric Signal Shortcuts: New extension methods for convenient numeric operations:
inc()/dec()- short aliases for increment/decrementadd(n)/sub(n)- add or subtract custom amounts- All work alongside existing
increment(),decrement(), andemit()methods
Documentation #
- Improved Signal/Slot Philosophy: README now includes step-by-step guide showing how Signals in controllers connect to Slots in widgets with visual diagram
- Comprehensive AnimatedSlot docs: All 16 parameters documented with usage tips and best practices
- AnimatedFormSlot constructor docs: Added usage examples and best practices for form validation animations
- Fixed gallery images: Corrected image ordering in README gallery section
1.1.10 - 2025-12-06 #
Documentation #
- Moved README images to
example/assetsto ensure correct rendering on pub.dev.
1.1.7 - 2025-12-06 #
Documentation #
- Added gallery images to README to showcase
AnimatedSlotfeatures.
1.1.6 - 2025-12-06 #
Maintenance #
- Formatted code to comply with Dart formatter and improve pub.dev score.
1.1.5 - 2025-12-05 #
Documentation #
- Added missing API documentation for
AggregateMiddlewareandAnimatedErrorMessage.
1.1.4 - 2025-12-05 #
Changed #
- Changed
AnimatedSlotdefaultclipBehaviortofalseto prevent clipping of shadows and overflowing content by default.
1.1.3 - 2025-12-05 #
Maintenance #
- Updated dependencies to latest versions (
device_info_plus^12.3.0,flutter_lints^6.0.0). - Added
analysis_options.yamland resolved all static analysis issues to improve pub.dev score.
1.1.2 - 2025-12-05 #
Metadata #
- Added package topics to
pubspec.yamlfor better discovery on pub.dev. - Added
CODE_OF_CONDUCT.md.
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.