Releases: DioxusLabs/dioxus
Release list
v0.8.0-alpha.1
What's Changed
- Implement support for selection events by @ealmloff in #5570
- fix: release pins on git2 to fix non --locked cli installs by @jkelleyrtp in #5575
- remove v0.7 asset fallback by @jkelleyrtp in #5576
- Pin rhai_codegen by @ealmloff in #5593
- fix(autofmt): formatting idempotency for long if/else attrs, empty bodies, and split_line_attributes by @micahkepe in #5509
- fix: propagate response body read errors by @nanookclaw in #5595
- fix: ReadStore from MappedMutSignal requires Lens: Readable by @MonaMayrhofer in #5607
- Implement support for beforeinput event by @danielkov in #5581
- Bump anyrender_vello_hybrid by @ealmloff in #5609
- feat: expose pasted data on clipboard events by @danielkov in #5611
- fix(router): preserve query and hash segments on child routes by @josephgilby in #5613
- Fix hotpatching wasm with new v0 symbol mangling in beta linux builds by @ealmloff in #5622
- Allow using generated assets by @skreborn in #5490
- fix(ssr): translate initial_value/checked/selected to HTML equivalents by @costajohnt in #5493
- native-dom: Add a way to generate synthetic click events by @hovinen in #5658
- CLI: log build failure errors by @nicoburns in #5667
- Sync Blitz/Native (Blitz v0.3.0-beta.1) by @nicoburns in #5673
- fix: create cargo bin dir if it does not exist by @hardliner66 in #5696
- fix(fullstack): allow the server URL to be set more than once by @SilasMarvin in #5704
- Pin kstring and bump the lightningcss minimum to fix ci by @ealmloff in #5708
- fix(cli): prevent duplicate SSG output on rebuild by @sanmaxdev in #5702
- Fix css_module stylesheets missing from SSR head after the first request by @nicoburns in #5707
- fix(bundle): support copying resource dirs for the bundler by @photino in #5619
- fix: avoid Google Fonts in dev templates by @cyphercodes in #5664
- fix(manganis): support 32-bit Android targets in JNI callback by @costajohnt in #5641
- Fix memory leak when passing mapped stores as component props by @ealmloff in #5711
- Run Playwright tests on macOS (stable + beta) by @jkelleyrtp in #5718
- Fix hotpatching when the bin target's crate name differs from the package name by @nicoburns in #5719
- Bump versions for 0.8.0-alpha.1 release by @nicoburns in #5721
New Contributors
- @micahkepe made their first contribution in #5509
- @nanookclaw made their first contribution in #5595
- @MonaMayrhofer made their first contribution in #5607
- @josephgilby made their first contribution in #5613
- @skreborn made their first contribution in #5490
- @hovinen made their first contribution in #5658
- @hardliner66 made their first contribution in #5696
- @SilasMarvin made their first contribution in #5704
- @sanmaxdev made their first contribution in #5702
- @cyphercodes made their first contribution in #5664
Full Changelog: v0.8.0-alpha.0...v0.8.0-alpha.1
v0.7.10
What's Changed
- [v0.7] Fix hotpatching when the bin target's crate name differs from the package name by @nicoburns in #5720
Full Changelog: v0.7.9...v0.7.10
v0.8.0-alpha.0
Dioxus v0.8.0-alpha.0
This release is the first in the 0.8 series. We've merged a number of breaking changes to internal APIs and slight behavior changes that improve reliability and performance of the CLI and Signals.
We also are shipping a huge quality upgrade to dioxus-native, with lots more rendering capabilities, incremental rendering, custom elements, and more.
Make sure to check out the blitz talk from Rustweek 2026 for more updates on blitz!
Blitz rendering the rustweek talk schedule in the new browser app:

This is the first of the 0.8 cycle, expect more feature-packed releases coming soon.
Note that due to changes upstream, the cli must be installed via --locked if you wish to build from source. We hope to have this resolved soon.
What's Changed
- Port dioxus to use
objc2for interacting with macOS/iOS platform apis by @nicoburns in #5101 - Add non-exhaustive to the derived props in #[component] by @ealmloff in #5422
- Switch to a const hash instead of comparing pointers for template diffing by @ealmloff in #5276
- Fix dropped store comparison when coercing into a readsignal by @ealmloff in #5312
- Enforce method and field visibility in store derives with visibility witness types by @ealmloff in #5425
- update to edition 2024 by @jkelleyrtp in #5502
- Sync 0.8.x versions of
dioxus-nativeanddioxus-native-domfrom Blitz repo by @nicoburns in #5507 - Add retention days to bundle smoke workflow by @ealmloff in #5520
- port js bundle regression fix by @jkelleyrtp in #5521
- clippy fixes for rust 1.95 by @jkelleyrtp in #5522
- Fix bundling on aarch64 Alpine Linux by @hadeutscher in #5524
- Fix macos signing/notarization by @nicoburns in #5527
- feat:Add opt‑in navigation handler for external URLs by @martinmr in #5531
- fix (desktop): Preserve non-bubbling desktop event forwarding by @WhaleFromMars in #5487
- fix: remove "rust-lld" as custom linker on windows by @alex-ds13 in #5242
- enable hotpatch by default, hotreload cargo.toml, dynamic file watcher by @jkelleyrtp in #5506
- Fix: Lifetime unsafety in
ReadableExt::deref_implby @bushrat011899 in #4801 - Revert "Fix: Lifetime unsafety in
ReadableExt::deref_impl" by @jkelleyrtp in #5538 - Trigger rebuilds on both [web.watcher].watch_path (in the config but not wired up) and cargo's depinfo by @tekacs in #5042
- docs: fix image link in translations into files by @WuMingDao in #5550
- Respect https for ssg static routes by @ealmloff in #5553
- fix wasm hotpatching with c deps by @jkelleyrtp in #5556
- Fix respect
NPM_CONFIG_REGISTRYwhile downloadingesbuildby @LLukas22 in #5558 - fix: include missing attributes in html source tag by @mroetsc in #5559
- Sync Dioxus Native (Blitz 0.3.0-alpha.4) by @nicoburns in #5563
- chore: bump wry from 0.53.5 to 0.54.4 by @emilbonnek in #5544
New Contributors
- @WhaleFromMars made their first contribution in #5487
- @alex-ds13 made their first contribution in #5242
- @bushrat011899 made their first contribution in #4801
- @WuMingDao made their first contribution in #5550
- @mroetsc made their first contribution in #5559
- @emilbonnek made their first contribution in #5544
Full Changelog: v0.7.6...v0.8.0-alpha.0
v0.7.9
This release fixes an issue where dx --version would use an outdated git SHA, and dioxus-cli installed from cargo install would not have a version at all, preventing self-update from functioning properly.
Full Changelog: v0.7.8...v0.7.9
v0.7.8
This release fixes a few small bugs discovered while working on v0.8. We decided the backport these to bring out fixes faster.
What's Changed
- Fix macos signing/notarization (0.7 backport) by @nicoburns in #5528
- fix: toctou in wasm hotpatch apply_patch causing UB by @jkelleyrtp in #5534
- backport iframe fix to v0.7 by @jkelleyrtp in #5535
Full Changelog: v0.7.7...v0.7.8
v0.7.7
This release fixes a regression with JS bundling where DX would always bundle JS snippets as ESM, even though they might be CJS, UMD, or a generic JS snippet. We now properly detect the js module type and then run esbuild with the appropriate flags.
What's Changed
- autodetect js module type - only bundle esm by @jkelleyrtp in #5515
Full Changelog: v0.7.6...v0.7.7
v0.7.6
Dioxus v0.7.6
This release solves a large number of bugs and adds a few new features! We intend for it to be the final release of 0.7 - our git repo will now ship breaking changes in prep for 0.8.
- Shell-completions for
dxusingdx completions - Much faster dev server starts for
dx serve --hotpatch - Dioxus web apps that panic while handling events will no longer brick the webpage
- 20+ new code examples
- cursor editor debug support
- Windows app icon bundling in
dx serveanddx bundle
What's Changed
- Fix too restrictive Clone bounds in props with generics by @Gohla in #5451
- fix: ensure file type bit is set for rpm bundle by @acrilique in #5459
- Fix autofill event downcast - ignore events of the wrong type by @ealmloff in #5379
- Add shell-completions for
dxby @sermuns in #5232 - fix(autofmt): add support for handling comments in various expression types by @jkelleyrtp in #5461
- fix: Content-hash-based filename when bundling with wasm_split by @SuperKenVery in #5340
- feat: add blanket IntoAttributeValue impl for references by @tmchow in #5447
- feat: support Cursor editor as debug session option by @faysou in #5205
- feat(html): add
inertglobal HTML attribute by @tmchow in #5476 - Fix: notify parent store when child is marked dirty by @dunkyl in #5365
- Remove bevy from the workspace by @nicoburns in #5471
- fix: workspace hotpatch cache thrashing, feat: add compile profiling, cleanup + refactor + document cli request.rs file by @jkelleyrtp in #5479
- Fix resize and visible type conversion for web by @ealmloff in #5483
- make Action partialeq by @jkelleyrtp in #5488
- Minor fixes for tests by @martin-hughes in #4686
- fix(cli): display user-specified address in serve output by @costajohnt in #5481
- fix: more panic resilience by @jkelleyrtp in #5489
- Add FreeBSD target detection for esbuild by @Servus-Altissimi in #5498
- Manganis: Don't double borrow primitive JNI args by @LLukas22 in #5499
- update the dioxus cratesio readme, add many more examples by @jkelleyrtp in #5501
- fix(autofmt): preserve indentation of commented-out RSX blocks by @seflue in #5464
- feat: windows app icon by @Klemen2 in #3753
New Contributors
- @Gohla made their first contribution in #5451
- @acrilique made their first contribution in #5459
- @SuperKenVery made their first contribution in #5340
- @tmchow made their first contribution in #5447
- @faysou made their first contribution in #5205
- @dunkyl made their first contribution in #5365
- @martin-hughes made their first contribution in #4686
- @Servus-Altissimi made their first contribution in #5498
- @LLukas22 made their first contribution in #5499
- @seflue made their first contribution in #5464
Full Changelog: v0.7.5...v0.7.6
v0.7.5
Dioxus v0.7.5
This release fixes a critical issue where Dioxus wouldn't compile if your Cargo.lock specified too-old versions dependencies like futures-unordered. This was caused by the Dioxus Cargo.toml specifying versions like futures="0.3" when in fact 0.3.32 was required.
Note that the dioxus crate was not updated - only its dependencies that use these versions - so we recommend running cargo update manually.
We also fixed a few other bugs related to hotpatching, autoformatting, and bundling.
What's Changed
- fix(autofmt): remove extra whitespace before commas in for-loop tuple patterns by @costajohnt in #5384
- fix(server): don't redirect error responses from #[get] server functions by @costajohnt in #5429
- Forward
-Blinker search path in thin/patch link args on Linux by @Wilovy09 in #5443 - Add support for aarch64 Windows platform in wasm_opt by @hadeutscher in #5442
- Fixed issue #5438: Added FIPS Compliance flag to candle.exe command by @MasterTemple in #5439
- Check minimum versions in CI by @ealmloff in #5437
New Contributors
- @Wilovy09 made their first contribution in #5443
- @hadeutscher made their first contribution in #5442
- @MasterTemple made their first contribution in #5439
Full Changelog: v0.7.4...v0.7.5
v0.7.4
Dioxus 0.7.4
This release adds a few new features and fixes several bugs:
- You can now customize all aspects of iOS and Android builds via Dioxus.toml. We are still updating docs on how this works, but for now, you can reference the new toml schema on which fields are available. https://github.com/DioxusLabs/dioxus/blob/main/packages/cli/schema.json
- We have added a new FFI interface for Kotlin, Java, and Swift. We plan to add TS/JS next. This automatically bundles relevant source files into your project and generates Rust interfaces, making it easy to write native plugins.
- We now support bundling iOS widgets, enabling things like live-activity support.
- We have fixed, tested, and improved
dx bundleby vendoring and inlining the tauri bundle code which we previously relied on. This properly sets paths for assets, fixing some long-standing bugs. - Many bugs and panics have been fixed! See "what's changed" for more.
What's Changed
- chore: Remove Freya from README by @marc2332 in #5239
- Fix
android_runtime_locknot beingcfgguarded by @CryZe in #5244 - docs: fix grammar and typos in comments and documentation by @AnttiJalomaki in #5254
- fix: replace unwraps with errors in fullstack WebSockets by @matous-volf in #5248
- fix: Handle HTTP errors in FromResponseParts by @nerjs in #5243
- fix more whitespace issues in rsx autofmt nested rsx blocks by @jkelleyrtp in #5257
- workspace hot-patching, dynamic tls fixups by @jkelleyrtp in #5291
- feat: Enable plumbing through keep_names to wasm build for better sta… by @rdeaton in #5296
- fix(cli) replace installation_url with application_id in launch_ios_app_paused by @serbanbjd in #5283
- implement stream and sink for websocket by @MarekPokropinski in #5308
- fix(fullstack): prevent AlreadyBorrowed panic in WebSocket recv() by @kyle-rader in #5300
- permissions,
manganis::ffi, full Info.plist/AndroidManifest.xml customization by @wheregmis in #4842 - Avoid eval on web by @mohe2015 in #5313
- feat(signals): add WritableResultExt trait by @costajohnt in #5338
- Fix panic in calculator when pressing ± after AC by @Bortlesboat in #5352
- Bump quinn-proto from 0.11.13 to 0.11.14 by @dependabot[bot] in #5359
- Update workflow to working intel macOS image by @martinmr in #5336
- Fix opening native targets while they are still building and retry tcp connections to avoid server is still loading page by @ealmloff in #5358
- Update doc reference: SsrRender → Renderer by @Infinoid in #5378
- fix(file-explorer): prevent entering files as directories by @BillionClaw in #5383
- rip out tauri bundle (v2), swc -> esbuild, blacksmith -> warpbuild, FAST CI 🚀 by @jkelleyrtp in #5328
- version tools by @jkelleyrtp in #5407
- docs: clarify difference between use_context and consume_context by @costajohnt in #5406
- fix: diffing debug in
push_all_root_nodes()by @acheul in #5413 - fix stutter in bundle, fix nsis, fix msi bundling by @jkelleyrtp in #5412
- Fix using iOS mobile simulator on Intel Mac. by @petewatts in #5268
- updated dependencies by @niminypiminy in #5402
- chore: add .gitattributes for consistent line endings by @Dieshen in #5385
- Feat: allow config for showing the main app on tray icon click by @mattdjenkinson in #5361
- fix: additional new line in info.plist by @javiersuweijie in #5389
- fix(cli): skip platform-specific test assertions when tools are unavailable by @Dieshen in #5386
New Contributors
- @AnttiJalomaki made their first contribution in #5254
- @matous-volf made their first contribution in #5248
- @nerjs made their first contribution in #5243
- @rdeaton made their first contribution in #5296
- @serbanbjd made their first contribution in #5283
- @MarekPokropinski made their first contribution in #5308
- @kyle-rader made their first contribution in #5300
- @costajohnt made their first contribution in #5338
- @Bortlesboat made their first contribution in #5352
- @martinmr made their first contribution in #5336
- @Infinoid made their first contribution in #5378
- @BillionClaw made their first contribution in #5383
- @petewatts made their first contribution in #5268
- @niminypiminy made their first contribution in #5402
- @Dieshen made their first contribution in #5385
- @mattdjenkinson made their first contribution in #5361
- @javiersuweijie made their first contribution in #5389
Full Changelog: v0.7.3...v0.7.4
v0.7.3
This release fixes a large number of bugs.
We added a few new features:
- Add auxclick, scrollend evnts
- Support for server-only extractors
- Scoped CSS and CSS modules 🎉 #5087
What's Changed
- fix: make install.sh sh compatible by @jkelleyrtp in #5058
- Update README links for version 0.7 by @jullanggit in #5068
- Fix paths under store (extends #5067) by @acheul in #5069
- Resolve
bundle.windows.icon_pathrelative to the crate dir by @nicoburns in #5072 - fix: Allow links with duplicate href if rel is different by @paul-hansen in #5071
- fix typos in dioxus_fullstack::client::get/set/clear_request_headers by @jullanggit in #5078
- Fix call to rustc-objcopy to strip binary on Linux by @nicoburns in #5066
- feat: add support for server-only extractors in anonymous server functions by @jkelleyrtp in #5086
- Add auxclick and scrollend to dioxus events by @rhaskia in #5095
- Bump actions/cache from 4 to 5 by @dependabot[bot] in #5099
- Fix clippy lints (Rust 1.92) by @nicoburns in #5102
- Bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #5100
- Fix the wrong removal of first linker arg in Windows. Small refactor of handling of linker response file. by @qouteall in #5010
- Fix subsecond doc comment by @pickfire in #5134
- Fix optional element regression by @ealmloff in #5110
- fix dx fmt span attribute issue by @jkelleyrtp in #5132
- Add a prelude module to Dioxus Native by @nicoburns in #5104
- Issue 5140 Fix Favorites page by @nilswloewen in #5141
- Issue: 5138 Fix HotDog img URL by @nilswloewen in #5139
- CLI: only push a dioxus/* fallback feature if the crate being compiled depends on the
dioxuscrate. by @nicoburns in #5143 - Switch const serialize to use CBOR by @ealmloff in #4932
- Display bundle format instead of undefined in dev loading screen by @apekros in #5123
- allow codesigning any server backend on macos by @jkelleyrtp in #5085
- fix(cli): pass --all-features flag to cargo by @agucova in #5153
- fix: autofmt duplicate whitespace on attributes, flickering of vscode autoformat by @jkelleyrtp in #5159
- Scoped css by @mcmah309 in #5087
- allow passive wasm segments for manganis by @jkelleyrtp in #5163
- chore: fix typo by @aellwein in #5185
- Fixes Passive Segment in Manganis by @wheregmis in #5189
- Bump rfd to 0.17.2 by @nicoburns in #5204
- CLI: don't enable default features in
--no-default-featuresbuilds by @nicoburns in #5147 - Fix typo in fullstack websocket example by @sermuns in #5220
- Fix optional callback props implementation by @ealmloff in #5225
- fix: prevent dx fmt from adding trailing whitespace to blank lines by @hideselfview in #5224
- Full file paths in drop handlers by @kevinwright in #5211
- fix(cli): showDXToast on reload by @dxps in #5202
- Fix more examples to work with
dioxus-nativeby @nicoburns in #5179 - use $CARGO_HOME for installation if set by @cocoliliace in #5219
- add android_sync_lock to wry event handler to avoid refcell errors by @rhaskia in #5190
- fix:
serve_subsecondlooping when devtools do not connect by @m4tx in #5158 - fix playwright flakey test, upgrade to blacksmith runners for more things,
cargo updateto fix rfd build by @jkelleyrtp in #5228 - tweak log messages by @jkelleyrtp in #5174
- Fix crates.io repository URLs and READMEs for subsecond and manganis crates by @tamaro-skaljic in #5013
- signals: Rebuild stale global cache entries automatically by @tekacs in #4809
- Use ServeDir for fullstack dev static assets by @tekacs in #4983
- Enhance CLI Build Duration Output with Human-Readable Formatting by @wangfu91 in #4591
- respect tailwind_input when detecting tailwind v3 or v4 by @LilahTovMoon in #5151
New Contributors
- @jullanggit made their first contribution in #5068
- @acheul made their first contribution in #5069
- @paul-hansen made their first contribution in #5071
- @qouteall made their first contribution in #5010
- @apekros made their first contribution in #5123
- @agucova made their first contribution in #5153
- @aellwein made their first contribution in #5185
- @sermuns made their first contribution in #5220
- @hideselfview made their first contribution in #5224
- @kevinwright made their first contribution in #5211
- @dxps made their first contribution in #5202
- @cocoliliace made their first contribution in #5219
- @m4tx made their first contribution in #5158
- @tamaro-skaljic made their first contribution in #5013
- @wangfu91 made their first contribution in #4591
Full Changelog: v0.7.2...v0.7.3