Highlights
- Security updates. Dependencies with RustSec advisories are updated, including rustls 0.23.46, h2 0.4.20 (DoS against fullstack servers) and webbrowser 1.2.4. The minimum versions of rustls, webbrowser and plist are raised so downstream projects can't resolve to vulnerable releases (#5938). The discontinued
async-stdis removed from examples and tests (#5939). - Desktop and mobile on tao 0.37 / wry 0.57 (#5936). On Android, toggling dark mode, font scale, density and similar settings no longer re-creates the activity and leaves a blank webview.
manganis::android::with_activitynow tracks the current activity instead of caching the first one. - Native:
NodeHandlemethods such asset_focus,scroll_toandget_client_rectno longer panic with aRefCelldouble borrow when called from tasks, effects or component bodies during a render. Mutations are now buffered and applied after the VirtualDOM runs, as on web and desktop (#5943).use dioxus_native::prelude::*now includes everythingrsx!needs, so thecannot find module htmlerrors from alpha.2 are gone (#5927). - Web logging in
dx serve: web app logs are now plain text at their real level, so DEBUG is hidden unless verbose is on and the stray%cmarkers are gone (#5921). Signal and memo creation no longer adds a span to the browser's performance buffer in debug builds (#5930). - Core: fixed placement of fragment siblings, a regression from #5554 (#5924, by @rdeaton).
dx new/dx init: cargo-generate 0.25 (#5944).dx new --yeswithout--subtemplatepicks the first sub-template instead of failing withnot a terminal, and hook scripts are no longer left in the generated project. Inside an existing workspace,dx newno longer duplicates members already covered by a glob (#5947), no longer adds a project that has its own[workspace]to the outer workspace (#5948), and no longer reformats the root manifest.dx translate --componentno longer emits a stray)(#5926, by @toastmod, their first contribution).- Dependency upgrades and cleanup: reqwest 0.13 with a single tungstenite 0.29 (#5935), blitz 0.3.0-beta.4 and keyboard-types 0.8 (#5934), toml 1.1 / toml_edit 0.25 / cargo_toml 1.0 (#5937), ratatui 0.30 (#5954), gloo-net 0.7 (#5957), gloo-timers 0.4, and lightningcss without its unused default features (#5942). Many duplicate crate versions are gone from the tree.
- docs.rs:
dioxus-serverdocumentation builds again; it had failed since 0.7.10 (#5923).
Breaking changes
- keyboard-types 0.8 (#5934): named keys moved to a separate enum, so
Key::EnterbecomesKey::Named(NamedKey::Enter).NamedKeyis re-exported next toKeyfromdioxus::prelude,dioxus-htmlanddioxus_native::prelude. - Custom renderers (#5945):
WriteMutations::set_attributenow takesBorrowedAttributeValue<'_>instead of&AttributeValue.Textborrows a&str, and there is noListenervariant. dioxus-desktop(#5934, #5936): thelinux-libxdofeature is removed, because muda and tray-icon no longer use libxdo, andlibxdo-devis no longer needed on Linux. Thetransparentandfullscreenfeatures are kept but now do nothing (wry always enables them). In the re-exported tao,Event::Suspended/Resumedmoved toWindowEvent. tao and wry now usewindows0.62, which drops Windows 7.- Fullstack, native targets (#5935):
dioxus::launchinstalls ring as the process-wide rustls crypto provider unless one is already installed. To use a different provider, install it before callinglaunch.axum-serveris now 0.8 andaxum-extra0.12. - Fullstack, web (#5957):
ClientRequest::new_gloo_requestreturns a gloo-net 0.7RequestBuilder. - Native (#5943): code that runs during a render now sees the document as it was before that render, as on web.
- Android (#5936):
manganis::android::with_activityreturnsNonewhen no activity has been set.
What's Changed
- dioxus-server: drop stale docs.rs features so docs build again by @nicoburns in #5923
- dioxus-native: re-export
htmland element prelude frompreludeby @nicoburns in #5927 - fix(cli): Remove ')' from
dx translate --componentby @toastmod in #5926 - Add release-alpha agent skill by @nicoburns in #5928
- signals: record signal and memo spans at trace level by @nicoburns in #5930
- Replace
tracing-wasmwith a custom implementation by @nicoburns in #5921 - fix(core): read fragment siblings through their current mount views d… by @rdeaton in #5924
- Upgrade
global-hotkey,muda,tray-icon,keyboard-types, andzipby @nicoburns in #5934 - Upgrade reqwest to 0.13, unify tungstenite on 0.29, bump axum companions by @nicoburns in #5935
- Upgrade toml to 1.1, toml_edit to 0.25 and cargo_toml to 1.0 by @nicoburns in #5937
- Update dependencies with security advisories by @nicoburns in #5938
- Drop libxdo-dev, replace async-std in examples, bump gloo-timers by @nicoburns in #5939
- Upgrade tao to 0.37 and wry to 0.57 by @nicoburns in #5936
- ci: prune stale cargo artifacts before saving caches, and only save caches on main by @nicoburns in #5950
- core: pass a borrowed attribute value to
WriteMutations::set_attributeby @nicoburns in #5945 - dx new: don't add a workspace member already covered by a glob by @nicoburns in #5947
- dx new: don't add a workspace-root project to an outer workspace by @nicoburns in #5948
- native: buffer mutations and apply them after the vdom has run by @nicoburns in #5943
- Upgrade cargo-generate to 0.25.0 and console-subscriber to 0.5.0 by @nicoburns in #5944
- Trim lightningcss features and upgrade sqlx to 0.9 in examples by @nicoburns in #5942
- Upgrade ratatui to 0.30 and related TUI crates by @nicoburns in #5954
- CI: Use local cache action. Cache Windows via GitHub by @nicoburns in #5951
- CI: Don't rerun CI for a PR title/description edit by @nicoburns in #5956
- Upgrade gloo-net to 0.7 by @nicoburns in #5957
- Bump versions for 0.8.0-alpha.3 release by @nicoburns in #5958
New Contributors
Full Changelog: v0.8.0-alpha.2...v0.8.0-alpha.3