DioxusLabs/dioxus
 Watch   
 Star   
 Fork   
13 days ago
dioxus

v0.8.0-alpha.3

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

New Contributors

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.8.0-alpha.2...v0.8.0-alpha.3

15 days ago
dioxus

v0.8.0-alpha.2

Highlights

  • New template and rendering internals (#5554):
    • Dioxus no longer uses comment-node placeholders and markers, either at runtime or during hydration. Elements that treat their children as text, such as textarea, now render correctly.
    • rsx! now expands to a const builder API, which you can also use directly.
    • HTML elements are trait-based, and you can define your own with dioxus::html::define_elements!.
    • Core now supports renderer IDs. These lay the groundwork for portals and multiple windows sharing one runtime.
  • Dioxus Native is updated to Blitz 0.3.0-beta.3 (#5780, #5909). This release also fixes a leak where removed nodes were never freed (#5911). A falsy boolean attribute like disabled: false is now removed instead of being written as "false" (#5913). Attributes now default to the empty namespace (#5851).
  • Linux desktop apps no longer link libxdo by default (#5749). This fixes prebuilt binaries failing to start on distros that ship a different libxdo soname.
  • CLI:
    • The bundle application name now comes from application.name in Dioxus.toml (#5533).
    • The runtime no-downloads setting is now respected when bundling (#5748).
    • Fixed a wasm-opt SIGABRT when stripping binaries (#5736).
    • Fixed wasm hot-patching with wasm-bindgen 0.2.128 and newer (#5843).
    • The dev server proxy now sets X-Forwarded-Host (#5627).

Breaking changes

  • HTML elements are no longer namespaced under dioxus_elements (#5554). Because element builders are now ordinary items, they can clash with other names in scope. For example, write html::main {} instead of main {} when your crate also has a main function.
  • libxdo is now opt-in on Linux (#5749). If your app uses the predefined Copy, Cut, Paste or Select All menu items, enable the linux-libxdo feature on dioxus-desktop. That means adding dioxus-desktop to your dependencies directly, because the feature isn't exposed through dioxus.

What's Changed

New Contributors

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.8.0-alpha.1...v0.8.0-alpha.2

2026-07-31 08:28:35
dioxus

v0.8.0-alpha.1

What's Changed

New Contributors

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.8.0-alpha.0...v0.8.0-alpha.1

2026-07-31 06:33:31
dioxus

v0.7.10

What's Changed

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.7.9...v0.7.10

2026-05-20 03:51:49
dioxus

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: Screenshot 2026-05-19 at 12 55 54 PM

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

New Contributors

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.7.6...v0.8.0-alpha.0

2026-05-08 08:09:43
dioxus

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: https://github.com/DioxusLabs/dioxus/compare/v0.7.8...v0.7.9

2026-05-08 06:28:20
dioxus

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

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.7.7...v0.7.8

2026-05-01 08:57:32
dioxus

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

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.7.6...v0.7.7

2026-04-22 09:39:18
dioxus

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 dx using dx 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 serve and dx bundle

What's Changed

New Contributors

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.7.5...v0.7.6

2026-04-07 01:50:46
dioxus

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

New Contributors

Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.7.4...v0.7.5