Changelog
All notable changes to AllFrame. See GitHub Releases for full details.
Streaming Handler Support
Added
- Streaming Handlers --
StreamSenderwith bounded channel backpressure,CancellationTokenauto-cancelled on receiver drop, both callback andimpl Streampatterns - Tauri IPC Bridge --
allframe_stream/allframe_stream_cancelcommands with per-stream UUID event channels andActiveStreamscancellation tracking - TypeScript Streaming Codegen --
StreamObserver,StreamSubscriptioninterfaces,callStreamHandlerhelper with auto-cleanup - RxJS Adapter --
toObservable()with lazyimport("rxjs"), zero hard dependency #[tauri_compat(streaming)]-- Macro variant for streaming handler migrationHandlerKindenum --allframe_listreports request_response vs streaming for each handlerregister_stream*-- Bridgefutures::Streamto channel-basedStreamSender
Tauri Migration Ergonomics
Added
#[tauri_compat]macro -- Keep function signatures, swap the attribute for mechanical migration from Tauri- Typed return values -- Handlers return
impl Serialize, framework serializes viaIntoHandlerResulttrait - TypeScript client codegen -- Auto-generate typed TS functions from handler registrations
IntoHandlerResulttrait -- Extensible handler return types (String,Json<T>,Result<T, E>)
Offline-First Architecture
Added
- SQLite event store backend -- WAL mode, zero network deps
- Offline circuit breaker -- Operation queuing and replay
- Store-and-forward pattern -- Intermittent connectivity support
- Bidirectional projection sync -- Pluggable conflict resolution
- Lazy DI initialization -- Concurrent warm-up
- Saga compensation -- File snapshots and SQLite savepoints
- Embedded MCP server -- Local-only LLM tool dispatch
allframe-tauricrate -- Tauri 2.x desktop integrationofflinefeature flag -- Zero network dependencies verified by CI- Typed handler args and DI state injection
MCP Server Debuggability
Added
- MCP Server Debuggability -- Production-ready stdio transport with comprehensive debugging
- Environment Variables for MCP Debugging
- Claude Code Setup Guide -- Comprehensive documentation for Claude Code CLI
Fixed
- AllSource Core Re-enabled --
cqrs-allsourcefeatures now work
Protocol-Agnostic Routing Complete
Added
- Protocol-Agnostic Routing Complete -- Full multi-protocol support across 5 phases
- MCP Server (Zero-Bloat) -- Separate crate for LLM tool integration
KeyedCircuitBreaker<K>-- Generic keyed circuit breaker for per-resource isolationresilience-redisfeature -- Redis-backed distributed rate limiting- Layered Authentication -- Zero-bloat, feature-gated auth infrastructure (JWT, Axum, gRPC)
Changed
- Total test count now 455+ (was 361+)
- Upgraded
thiserrorfrom 1.0 to 2.0
Graceful Shutdown Utilities
Added
- Graceful Shutdown Utilities --
ShutdownAwareTaskSpawner,GracefulShutdownExt,ShutdownExttrait - Examples --
graceful_shutdown.rsandshutdown_patterns.rswith 5 common patterns
Resilience and Security Modules
Added
- Resilience module -- RetryExecutor, CircuitBreaker, RateLimiter, AdaptiveRetry, RetryBudget (~1,000+ lines)
- Security module -- URL/credential obfuscation,
Sensitive<T>,#[derive(Obfuscate)] - Proc macros --
#[retry],#[circuit_breaker],#[rate_limited]
Changed
healthfeature now optional (hyper/hyper-util gated behind it)- Added
cqrs-allsource,cqrs-postgres,cqrs-rocksdbfeature flags grpc-tlsdeprecated in favor ofrouter-grpc-tls
Initial crates.io Publishing
Highlights
- First crates.io publish --
cargo install allframenow works - Scalar UI integration -- Modern OpenAPI 3.1 docs (10x smaller than Swagger)
- Binary size monitoring -- All binaries under 2MB, CI-enforced
- GraphiQL playground -- Interactive GraphQL documentation
- Contract testing -- Automatic test generation from router
- CQRS Phases 1-5 complete -- CommandBus (90% reduction), ProjectionRegistry (90%), Event Versioning (95%), Saga Orchestration (75%)
- Zero-warning templates --
allframe ignitegenerates clean projects - allsource-core upgrade -- Updated CQRS backend, fixed event trait bounds
Foundation
Milestones
- v0.1 --
allframe igniteCLI + project scaffolding - v0.2 -- Compile-time DI + Auto OpenAPI 3.1
- v0.3 -- OpenTelemetry tracing support