titan 1.0.0 copy "titan: ^1.0.0" to clipboard
titan: ^1.0.0 copied to clipboard

Titan - Total Integrated Transfer Architecture Network. A powerful reactive state management engine with Pillars, Cores, and fine-grained auto-tracking.

Changelog #

All notable changes to this 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 - 2026-03-02 #

๐ŸŽ‰ Stable Release #

Titan Core reaches 1.0.0 โ€” the reactive engine, all Pillar features, and the full public API are now considered stable. No breaking changes are planned for the 1.x series.

Added #

  • useStream โ€” Spark hook for reactive stream consumption with AsyncValue integration

Changed #

  • Performance optimizations across the reactive engine:
    • Nullable _conduits โ€” zero allocation when no Conduits are attached to a Core
    • Lazy isReady โ€” Pillar.isReady getter allocated only when initAsync() is overridden
    • Sentinel Future โ€” completed _initAsync Future pre-allocated to avoid async overhead
    • ReactiveNode.notifyDependents() fast-path โ€” skips iteration when no dependents or listeners
    • TitanObserver.notifyStateChanged() fast-path โ€” skips notification when no observers registered
    • Saga pre-allocated step results โ€” List.filled() replaces growable list allocation
  • Benchmark infrastructure:
    • Noise floor support in benchmark tracker (default 0.100ยตs, configurable via --noise-floor)
    • Mermaid xychart-beta trend charts auto-generated in CI benchmark reports (6 chart groups, 17 metrics)
    • Forward-fill interpolation for missing historical data points
  • 811 tests passing

0.2.0 - 2026-03-02 #

Added #

  • Conduit โ€” Core-level middleware pipeline for intercepting value changes
    • Conduit<T> abstract class with pipe() and onPiped() hooks
    • Built-in: ClampConduit, TransformConduit, ValidateConduit, FreezeConduit, ThrottleConduit
    • ConduitRejectedException for blocking invalid state changes
    • Core<T> now accepts conduits: parameter in constructor and Pillar.core()
    • Dynamic management: addConduit(), removeConduit(), clearConduits()
    • 25 new tests, benchmark #28 added
  • Prism โ€” Fine-grained, memoized state projections
    • Prism<T> extends TitanComputed<T> for read-only reactive sub-value views
    • Type-safe static factories: Prism.of<S,R>, Prism.combine2/3/4, Prism.fromDerived
    • PrismEquals abstract final class with list<T>(), set<T>(), map<K,V>() comparators
    • PrismCoreExtension<T> โ€” .prism() extension method on TitanState<T>
    • Pillar factory: prism<S,R>(source, selector) with managed lifecycle
    • 25 new tests, benchmark #29 added
  • Nexus โ€” Reactive collections with in-place mutation and granular change tracking
    • NexusList<T> โ€” reactive list with add, addAll, insert, remove, removeAt, sort, swap, move
    • NexusMap<K,V> โ€” reactive map with []=, putIfChanged, putIfAbsent, addAll, remove, removeWhere
    • NexusSet<T> โ€” reactive set with add, remove, toggle, intersection, union, difference
    • NexusChange<T> sealed class hierarchy for pattern-matching change records
    • Pillar factories: nexusList(), nexusMap(), nexusSet() with managed lifecycle
    • Zero copy-on-write overhead โ€” O(1) amortized mutations vs O(n) spread copies
    • 90 new tests, benchmark #30 added

0.1.1 - 2026-03-02 #

Added #

  • Screenshots and banner image for pub.dev
  • Logo and banner assets in package

0.1.0 - 2026-03-02 #

Added #

  • Atlas.go() navigation support โ€” declarative stack-based navigation
  • Pub.dev publish preparation โ€” example file, topics, analysis fixes
  • 20 additional tests (gap coverage: Relic, Codex, Quarry, Scroll, Epoch, API)

Removed #

  • TitanMiddleware โ€” dead code removed (use TitanObserver/Oracle instead)
  • StateChangeEvent โ€” removed alongside middleware

Fixed #

  • dart format applied across all source files
  • CHANGELOG headers standardized to Keep a Changelog format

0.0.3 - 2025-07-12 #

Added #

  • Herald โ€” Cross-domain event bus for decoupled Pillar-to-Pillar communication
    • Herald.emit<T>() โ€” Broadcast events by type
    • Herald.on<T>() โ€” Subscribe to events (returns StreamSubscription)
    • Herald.once<T>() โ€” One-shot listener (auto-cancels after first event)
    • Herald.stream<T>() โ€” Broadcast Stream<T> for advanced composition
    • Herald.last<T>() โ€” Replay the most recently emitted event
    • Herald.hasListeners<T>() โ€” Check for active listeners
    • Herald.reset() โ€” Clear all listeners and history (for tests)
  • Pillar.listen โ€” Managed Herald subscription (auto-cancelled on dispose)
  • Pillar.listenOnce โ€” Managed one-shot Herald subscription
  • Pillar.emit โ€” Convenience to emit Herald events from a Pillar
  • Vigil โ€” Centralized error tracking with pluggable handlers
    • Vigil.capture() โ€” Capture errors with severity, context, and stack traces
    • Vigil.addHandler() / Vigil.removeHandler() โ€” Pluggable error sinks
    • ConsoleErrorHandler โ€” Built-in formatted console output
    • FilteredErrorHandler โ€” Route errors by condition
    • Vigil.guard() / Vigil.guardAsync() โ€” Execute with automatic capture
    • Vigil.captureAndRethrow() โ€” Capture then propagate
    • Vigil.history / Vigil.lastError โ€” Error history with configurable max
    • Vigil.bySeverity() / Vigil.bySource() โ€” Query errors
    • Vigil.errors โ€” Real-time error stream
  • Pillar.captureError() โ€” Managed Vigil capture with automatic Pillar context
  • Pillar.strikeAsync now auto-captures errors via Vigil before rethrowing
  • Chronicle โ€” Structured logging system with named loggers
    • Chronicle('name') โ€” Named logger instances
    • Log levels: trace, debug, info, warning, error, fatal
    • LogSink โ€” Pluggable output destinations
    • ConsoleLogSink โ€” Built-in formatted console output with icons
    • Chronicle.level โ€” Global minimum log level
    • Chronicle.addSink() / Chronicle.removeSink() โ€” Manage sinks
  • Pillar.log โ€” Auto-named Chronicle logger per Pillar
  • Epoch โ€” Core with undo/redo history (time-travel state)
    • Epoch<T> โ€” TitanState with undo/redo stacks
    • undo() / redo() โ€” Navigate history
    • canUndo / canRedo โ€” Check capability
    • history โ€” Read-only list of past values
    • clearHistory() โ€” Wipe history, keep current value
    • Configurable maxHistory depth (default 100)
  • Pillar.epoch() โ€” Create managed Epoch (Core with history)
  • Flux โ€” Stream-like operators for reactive Cores
    • core.debounce(duration) โ€” Debounced state propagation
    • core.throttle(duration) โ€” Throttled state propagation
    • core.asStream() โ€” Convert Core to typed Stream<T>
    • node.onChange โ€” Stream of change signals for any ReactiveNode
  • Relic โ€” Persistence & hydration for Cores
    • RelicAdapter โ€” Pluggable storage backend interface
    • InMemoryRelicAdapter โ€” Built-in adapter for testing
    • RelicEntry<T> โ€” Typed serialization config per Core
    • Relic.hydrate() / Relic.hydrateKey() โ€” Restore from storage
    • Relic.persist() / Relic.persistKey() โ€” Save to storage
    • Relic.enableAutoSave() / Relic.disableAutoSave() โ€” Auto-persist on changes
    • Relic.clear() / Relic.clearKey() โ€” Remove persisted data
    • Configurable key prefix (default 'titan:')
  • Scroll โ€” Form field validation with dirty/touch tracking
    • Scroll<T> โ€” Validated form field extending TitanState<T>
    • validate(), touch(), reset(), setError(), clearError()
    • Properties: error, isDirty, isPristine, isTouched, isValid
    • ScrollGroup โ€” Aggregate form state (validateAll(), resetAll(), touchAll())
  • Pillar.scroll() โ€” Create managed Scroll (form field with validation)
  • Codex โ€” Paginated data management
    • Codex<T> โ€” Generic paginator supporting offset and cursor modes
    • loadFirst(), loadNext(), refresh()
    • Reactive state: items, isLoading, hasMore, currentPage, error
    • CodexPage<T>, CodexRequest โ€” Typed page/request models
  • Pillar.codex() โ€” Create managed Codex (paginated data)
  • Quarry โ€” Data fetching with stale-while-revalidate, retry, and deduplication
    • Quarry<T> โ€” Managed data fetcher with SWR semantics
    • fetch(), refetch(), invalidate(), setData(), reset()
    • Reactive state: data, isLoading, isFetching, error, isStale, hasData
    • QuarryRetry โ€” Exponential backoff config (maxAttempts, baseDelay)
    • Request deduplication via Completer<T>
  • Pillar.quarry() โ€” Create managed Quarry (data fetching)
  • Herald.allEvents โ€” Global event stream for debug tooling
    • HeraldEvent โ€” Typed wrapper with type, payload, timestamp
  • Titan.registeredTypes โ€” Set of all registered types (instances + factories)
  • Titan.instances โ€” Unmodifiable map of active instances (debug introspection)

Fixed #

  • Top-level function shadowing: Removed top-level strike() and strikeAsync() from api.dart โ€” Dart resolves top-level functions over inherited instance methods in ALL contexts (not just late final initializers), causing _assertNotDisposed() and auto-capture to be bypassed. Use titanBatch() / titanBatchAsync() for standalone batching.

0.0.2 - 2025-07-12 #

Added #

  • Titan.forge() โ€” Register a Pillar by its runtime type for dynamic registration (e.g., Atlas DI integration)
  • Titan.removeByType() โ€” Remove a Pillar by runtime Type without needing a generic parameter

0.0.1 - 2025-07-11 #

Added #

  • Pillar โ€” Structured state module with lifecycle (onInit, onDispose)
  • Core โ€” Fine-grained reactive mutable state (core(0) / Core(0))
  • Derived โ€” Auto-computed values from Cores, cached and lazy (derived(() => ...) / Derived(() => ...))
  • Strike โ€” Batched state mutations (strike(() { ... }))
  • Watch โ€” Managed reactive side effects (watch(() { ... }))
  • Titan โ€” Global Pillar registry (Titan.put(), Titan.get(), Titan.lazy())
  • TitanObserver (Oracle) โ€” Global state change observer
  • TitanContainer (Vault) โ€” Hierarchical DI container
  • TitanModule (Forge) โ€” Dependency assembly modules
  • AsyncValue (Ether) โ€” Loading / error / data async wrapper
  • TitanConfig (Edict) โ€” Global configuration
2
likes
0
points
628
downloads

Publisher

verified publisherikolvi.com

Weekly Downloads

Titan - Total Integrated Transfer Architecture Network. A powerful reactive state management engine with Pillars, Cores, and fine-grained auto-tracking.

Homepage
Repository (GitHub)
View/report issues

Topics

#state-management #reactive #signals #dart #architecture

License

unknown (license)

Dependencies

meta

More

Packages that depend on titan