v0.1.20 — Streaming Handlers, Tauri 2 Permissions, AppHandle Injection
What's New
Streaming Handler Support (#52)
Handlers can send incremental updates during execution — LLM token streaming, workflow progress, agent loops.
StreamSender/StreamReceiverwith bounded backpressure and auto-cancelCancellationTokenregister_streaming*(callback) andregister_stream*(impl Stream) patterns- Tauri IPC bridge:
allframe_stream/allframe_stream_cancelcommands - TypeScript codegen:
StreamObserver,StreamSubscription,toObservable()RxJS adapter #[tauri_compat(streaming)]macro for migration
Tauri 2 Plugin Permissions (#53)
- Added
build.rswithtauri_plugin::Builderfor auto-generated permission TOMLs permissions/default.tomlgrants all 4 IPC commands out of the box- Consuming apps add
"allframe:default"to their capabilities
AppHandle Injection (#51)
Router.with_state()can now be called multiple times with different types (multi-stateHashMap<TypeId, Arc<dyn Any>>)router.inject_state(state)for late injection (e.g., Tauri'sAppHandleduring plugin setup)- Handlers resolve state lazily at call time — register before state is available
allframe_tauri::init()auto-injectsAppHandle<R>during setup
MSRV Bump (#54)
- Minimum Supported Rust Version raised from 1.86 to 1.89 (required by
async-graphql7.2.1,darling0.23,time0.3.47)
Install / Upgrade
[dependencies]
allframe = "0.1.20"
allframe-tauri = "0.1.20" # for Tauri desktop appsFull Changelog
See CHANGELOG.md for details.