Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 13, 2025

This PR contains the following updates:

Package Type Update Change
dioxus (source) workspace.dependencies patch 0.7.0-rc.0 -> 0.7.0-rc.3

Release Notes

DioxusLabs/dioxus (dioxus)

v0.7.0-rc.3: Dioxus 0.7.0-rc.3

Compare Source

This release is hopefully the final pre-release before the full 0.7 release!

In this release we:

  • Fixed a critical issue with custom axum routers not injecting wasm/js bootstrap code
  • Added support for /public/ dir, allowing assets without the manganis asset system
  • Added a components command for a shadcn-like components experience
  • Fixed some bugs to unlock hot-patching on the new dioxus playground
  • Moved to pinning dioxus dependencies within the workspace to make it easier to manually upgrade release candidates.

That's about it - hoping to see 0.7 either late this week or early next week!

What's Changed

New Contributors

Full Changelog: DioxusLabs/dioxus@v0.7.0-rc.2...v0.7.0-rc.3

v0.7.0-rc.2: 0.7.0-rc.2

Compare Source

This pre-release ships a number of bug fixes for Dioxus 0.7 as well as a handful of new features.

  • File Dialogs and Drag Events have been fixed after being broken in rc-1
  • The Dioxus JS glue is now independent of the window, making it possible to bootstrap webworkers with the primary dioxus wasm bundle
  • A number of fixes related to wasm hot-patching
  • A number of fixes related to mobile and native hotpatching
  • Ability to set response status and headers from within the SSR app
  • Ability to capture errors during SSR and render a fallback UI
  • Fixes for SSR and hydration
  • Middleware support for server functions with #[middleware] attribute
  • use_loader now serializes its contents for hydration
  • drag_and_drop API for web and related xample

What's Changed

New Contributors

Full Changelog: DioxusLabs/dioxus@v0.7.0-rc.1...v0.7.0-rc.2

v0.7.0-rc.1

Compare Source

Today, we’re releasing Dioxus 0.7.0-rc.1 - the second pre-release of Dioxus 0.7.

This release unfortunately took much longer to ship than we expected. While fixing bugs related to dioxus fullstack, we stumbled across a handful of critical issues in our integration with the server_fn crate. Coupled with changes in the dioxus CLI, these issues prevented a large swath of user projects from compiling.

As such, we re-implemented the server function crate, but this time exclusively tailored for Dioxus and Axum. This rewrite was originally planned as a major feature of Dioxus 0.8, but given the severity of the issues, we decided to pull it forward to 0.7. The rewrite unlocks tons of new functionality including things like SSE, flexible error types, custom axum routers, simple websockets, and a rocket-like endpoint definition system.

Here's a quick sneak peek:

use dioxus::prelude::*;

fn main() {
    dioxus::launch(|| {
        let mut message = use_action(get_message);

        rsx! {
            h1 { "Server says: "}
            pre { "{message:?}"}
            button { onclick: move |_| message.call("world".into(), 30), "Click me!" }
        }
    });
}

/// you can now encode query and path parameters in the macro!

#[get("/api/{name}/?age")]
async fn get_message(name: String, age: i32) -> Result<String> {
    Ok(format!("Hello {}, you are {} years old!", name, age))
}
Rust-Conf keynote

I gave a keynote talk at Rust Conf! Check it out! It covers the various projects we've been working on to push Rust forward, including subsecond hot-patching, progress on autoclones in Rust, and more.

Screenshot 2025-10-08 at 1 25 22 AM
Changes to Fullstack

We completely overhauled dioxus-fullstack, fixing a huge number of long-standing bugs and adding tons of new functionality.

These include:

  • New macros for annotating API endpoints (#[get("/api/route")], #[post("/api/:path?query&param")] )
  • Accept pure axum handlers that take FromRequest and IntoResponse bodies
  • Server-only FromRequest extractors
  • A new HttpError type and accompanying trait for returning proper Axum responses
  • Support for anyhow::Error type as a return type from server functions
  • Addition of a Server-Sent-Events (SSE) type
  • Addition of a Websocket type and reactive use_websocket hook for handling websocket connections
  • Addition of a MultipartFormData type that works across web and native
  • Addition of a Streaming<T, E> type without needing to specify an encoding attribute
  • Support for custom encoding types
  • Access to the full axum::extract::Request type in server functions
  • Support for pure SSR apps with hot-reloading powered by subsecond
  • Support for custom axum routers with dioxus::serve
  • Support for Lazy<T> type for lazy async initializers

As mentioned earlier, the fullstack overhaul was originally planned for Dioxus 0.8, but we decided to pull it forward into 0.7, causing a substantial delay.

To get a feel for the new APIs, take a look at the fullstack examples folder. We will be updating fullstack docs this week to prep for the full 0.7 release soon.

Breaking changes to Events: FormData and FileData

Our Form and File APIs have been clumsy for quite a while. In order to support ergonomics improvements with server functions, we revisited our FormData and FileData APIs to make them more consistent with the web platform.

We replaced the old FilesEngine abstraction with a new FileData type with an API that matches the browser.

In addition, we changed how to read the field names and values from forms. Previously, .values() return a HashMap of form values, but now, .values() returns a Vec of form values - again, to better match web APIs.

Breaking changes to dioxus::core APIs

A number of APIs were moved from ScopeId to the Runtime in dioxus_core. This shouldn't impact most users, but anyone building a renderer around Dioxus will notice that some methods no longer exist.

These were changed to reduce our API surface area outside of core types like Runtime and to make it easier to understand where runtime-related errors were occurring.

Updates to Blitz

Blitz saw massive improvements over the past few weeks, notably with the addition of incremental tree construction which makes Blitz substantially faster. Now, Blitz performance is on-par with the Rust GUI ecosystem.

What's Changed

New Contributors

Full Changelog: DioxusLabs/dioxus@v0.7.0-rc.0...v0.7.0-rc.1


Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/dioxus-0.x-lockfile branch 2 times, most recently from 779fe90 to f5d6771 Compare October 15, 2025 09:35
@renovate renovate bot changed the title chore(deps): update rust crate dioxus to v0.7.0-rc.1 chore(deps): update rust crate dioxus to v0.7.0-rc.2 Oct 15, 2025
@renovate renovate bot force-pushed the renovate/dioxus-0.x-lockfile branch from f5d6771 to 395ef00 Compare October 20, 2025 22:34
@renovate renovate bot changed the title chore(deps): update rust crate dioxus to v0.7.0-rc.2 chore(deps): update rust crate dioxus to v0.7.0-rc.3 Oct 20, 2025
@renovate
Copy link
Contributor Author

renovate bot commented Oct 27, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@DanielleHuisman DanielleHuisman force-pushed the renovate/dioxus-0.x-lockfile branch from 93db3fd to 94f8222 Compare October 29, 2025 10:58
@DanielleHuisman DanielleHuisman enabled auto-merge (squash) October 29, 2025 10:58
@DanielleHuisman DanielleHuisman merged commit d0a9af1 into main Oct 29, 2025
8 checks passed
@DanielleHuisman DanielleHuisman deleted the renovate/dioxus-0.x-lockfile branch October 29, 2025 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants