github DioxusLabs/dioxus v0.8.0-alpha.3

pre-release3 hours ago

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-std is 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_activity now tracks the current activity instead of caching the first one.
  • Native: NodeHandle methods such as set_focus, scroll_to and get_client_rect no longer panic with a RefCell double 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 everything rsx! needs, so the cannot find module html errors 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 %c markers 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 --yes without --subtemplate picks the first sub-template instead of failing with not a terminal, and hook scripts are no longer left in the generated project. Inside an existing workspace, dx new no 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 --component no 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-server documentation 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::Enter becomes Key::Named(NamedKey::Enter). NamedKey is re-exported next to Key from dioxus::prelude, dioxus-html and dioxus_native::prelude.
  • Custom renderers (#5945): WriteMutations::set_attribute now takes BorrowedAttributeValue<'_> instead of &AttributeValue. Text borrows a &str, and there is no Listener variant.
  • dioxus-desktop (#5934, #5936): the linux-libxdo feature is removed, because muda and tray-icon no longer use libxdo, and libxdo-dev is no longer needed on Linux. The transparent and fullscreen features are kept but now do nothing (wry always enables them). In the re-exported tao, Event::Suspended/Resumed moved to WindowEvent. tao and wry now use windows 0.62, which drops Windows 7.
  • Fullstack, native targets (#5935): dioxus::launch installs ring as the process-wide rustls crypto provider unless one is already installed. To use a different provider, install it before calling launch. axum-server is now 0.8 and axum-extra 0.12.
  • Fullstack, web (#5957): ClientRequest::new_gloo_request returns a gloo-net 0.7 RequestBuilder.
  • 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_activity returns None when 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 html and element prelude from prelude by @nicoburns in #5927
  • fix(cli): Remove ')' from dx translate --component by @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-wasm with 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, and zip by @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_attribute by @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

Don't miss a new dioxus release

NewReleases is sending notifications on new releases.