Welcome back to another Dioxus release! Dioxus (dye • ox • us) is a framework for building cross-platform apps in Rust. We make it easy to ship full-stack web, desktop, and mobile apps with a single codebase.
Dioxus 0.7 delivers on a number of promises we made to improve Rust GUI, and more broadly, what we call “high level Rust.” Rust has excelled as a tool for building foundational software, but we hope with Dioxus 0.7, it’s one step closer to being suitable for rapid, high-level development.
In this release, we’re shipping some incredible features. The highlights of this release include:
Subsecond: Hot-patching of Rust code at runtime
Dioxus Native: WGPU-based HTML/CSS renderer for Dioxus
Fullstack: Revamp of Server Functions with full Axum integration
WASM-Split: Code splitting and lazy loading for WebAssembly
Stores: A new primitive for nested reactive state
Dioxus Primitives: first-party radix-primitives implementation for Dioxus
Dioxus 0.7 also brings a number of other exciting new features:
Automatic tailwind: zero-setup tailwind support built-in!
Dioxus v0.7.0 - dioxus Release Notes | AnnounceHQ
LLMs.txt: first-party context file to supercharge AI coding models
Blitz: our modular HTML/CSS renderer powering Dioxus Native, available for everyone!
Fullstack WebSockets: websockets in a single line of code
Integrated Debugger Support: open CodeLLDB with a single keystroke
Fullstack error codes: Integration of status codes and custom errors in fullstack
Configurable Mobile Builds: Customize your AndroidManifest and Info.plist
Plus, a number of quality-of-life upgrades:
one-line installer ( curl https://dioxus.dev/install.sh | sh )
The biggest feature of this release: Dioxus now supports hot-patching of Rust code at runtime! You can now edit your Rust code and see changes without losing your app’s state.
We’ve been working on this feature for almost an entire year, so this is a very special release for us. The tool powering this hot-patching is called Subsecond and works across all major platforms: Web (WASM), Desktop (macOS, Linux, Windows), and even mobile (iOS, Android):
Subsecond works in tandem with the Dioxus CLI to enable hot-patching for any Rust project. Simply run dx serve on your project and all subsecond::call sites will be hot-patched. For example, here’s Subsecond working with a Ratatui app:
The infrastructure to support Subsecond is quite complex. Currently, we plan to only ship the Subsecond engine within the Dioxus CLI itself with a long-term plan to spin the engine out into its own crate. For now, we still want the ecosystem to experience the magic of Subsecond, so we’ve made the CLI compatible with non-dioxus projects and removed “dioxus” branding when not serving a dioxus project.
Hot-patching Rust code is no simple feat. To achieve a segfault-free experience, we recommend framework authors to tie into Subsecond’s minimal runtime. For application developers, you can simply use subsecond::call(some_fn) at clean integration points to take advantage of hot-patching. If you use Dioxus, hot-patching comes directly integrated with components and server functions.
pub fn launch() {
loop {
std::thread::sleep(std::time::Duration::from_secs(1));
subsecond::call(|| tick());
}
}
fn tick() {
println!("edit me to see the loop in action!!!!!!!!! ");
}
While in theory we could implicitly override calls to tick with function detouring, we instead chose explicit integration points. The first version of subsecond modified process memory externally, but we struggled with issues where the program would be stuck in a task with no way to “resurface”. For this example, the program would always be waiting for IO, making our edits not take effect:
Instead, the explicit runtime integration provides a simple “synchronization point” where the framework can handle things like closing TCP connections, re-instancing state, dropping event listeners, etc. If you add or remove a field of a struct between hot-patches, Subsecond does not automatically migrate your state for you. Libraries like bevy-reflect make this easier - and we might integrate reflection at some point - but for now, frameworks should take care to either dispose or safely migrate structs that change.
We expect folks to use Subsecond outside of Dioxus, namely in web development, so we’ve provided a few starter-integrations for popular libraries:
Axum
Bevy
Ratatui
Subsecond has already made its way into popular projects like Bevy and Iced. Right now, you can git pull the latest Bevy and Iced repositories and start hot-patching with zero setup:
Hot-patching covers nearly every case in Dioxus. Many tasks that were previously massively burdensome are now a breeze:
Adding a new asset!() call
Editing strongly-typed interfaces on components like icon variants or links
Dynamically adding children to a component
Modifying backend server function code
Modifying event handler logic - ie onclick or onmouseover
Loading resources and async values
Refactoring rsx into components
Under the hood, we implemented a form of incremental linking / binary patching tailored for running apps. This is not too distant from the idea laid out by Andrew Kelley for Zig.
Dioxus Native and Blitz
We’re extremely excited to announce the first-ever version of Dioxus Native: our new renderer that paints Dioxus apps entirely on the GPU with WGPU.
Out of the box, it already supports a huge number of features
Accessibility integration
Event handling
Asset fetching and loading.
Dioxus Native required a monumental amount of work, pushing forward
Blitz combines a number of exciting projects to bring customizable HTML rendering engine to everyone. Blitz is a result of collaboration across many projects: Firefox, Google, Servo, and Bevy. We’re leveraging a number of powerful libraries:
Taffy: our high-performance flexbox layout engine
Stylo: Firefox and Servo’s shared CSS resolution engine
Vello: Linebender’s GPU compute renderer
Blitz is an extremely capable renderer, often producing results indistinguishable from browsers like Chrome and Safari:
Not every CSS feature is supported yet, with some bugs like incorrect writing direction or the occasional layout quirk. Our support matrix is here: https://blitz.is/status/css
The samples that Blitz can create are quite incredible. Servo’s website:
Hackernews:
The BBC:
We even implemented basic <form /> support, making it possible to search Wikipedia without a full browser:
Do note that Blitz is still very young and doesn’t always produce the best outputs, especially on pages that require JavaScript to function properly or use less-popular CSS features:
Blitz also provides a pluggable layer for interactivity, supporting actions like text inputs, pluggable widgets, form submissions, hover styling, and more. Here’s Dioxus-Motion working alongside our interactivity layer to provide high quality animations:
The new syntax upgrades makes it easy to declare stable endpoints with a syntax inspired by the popular Rocket library.
/// 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))
}
This revamp allows you to use any valid Axum handler as a Dioxus Server Function, greatly expanding what bodies are allowed. This introduces a number of useful utilities like:
Server Sent Events with ServerEvents<T> type
Websocket and use_websocket for long-lived bidirectional communication
Streaming<T> for arbitrary data streams
Typed Form<T> type and MultipartFormData for handling forms
FileStream for streaming uploads and downloads
An example of the new APIs in example is this simple websocket handler:
#[get("/api/uppercase_ws?name&age")]
async fn uppercase_ws(
name: String,
age: i32,
options: WebSocketOptions,
) -> Result<Websocket<ClientEvent, ServerEvent, CborEncoding>> {
Ok(options.on_upgrade(move |mut socket| async move {
// send back a greeting message
_ = socket
.send(ServerEvent::Uppercase(format!(
"Fist message from server: Hello, {}! You are {} years old.",
name, age
)))
.await;
// Loop and echo back uppercase messages
while let Ok(ClientEvent::TextInput(next)) = socket.recv().await {
_ = socket.send(ServerEvent::Uppercase(next)).await;
}
}))
}
Paired with the use_websocket hook, you can easily send and receive messages directly from your frontend.
fn app() -> Element {
// Track the messages we've received from the server.
let mut messages = use_signal(std::vec::Vec::new);
// The `use_websocket` wraps the `WebSocket` connection and provides a reactive handle to easily
// send and receive messages and track the connection state.
let mut socket = use_websocket(|| uppercase_ws("John Doe".into(), 30, WebSocketOptions::new()));
// Calling `.recv()` automatically waits for the connection to be established and deserializes
// messages as they arrive.
use_future(move || async move {
while let Ok(msg) = socket.recv().await {
messages.push(msg);
}
});
rsx! {
h1 { "WebSocket Example" }
p { "Type a message and see it echoed back in uppercase!" }
p { "Connection status: {socket.status():?}" }
input {
placeholder: "Type a message",
oninput: move |e| async move { _ = socket.send(ClientEvent::TextInput(e.value())).await; },
}
button { onclick: move |_| messages.clear(), "Clear messages" }
for message in messages.read().iter().rev() {
pre { "{message:?}" }
}
}
}
Dioxus Primitives - a collection of Radix-UI equivalents
You asked, we listened. Dioxus now has a first-party component library based on the popular JavaScript library, Radix-Primitives. Our library implements 28 foundational components that you can mix, match, customize, and restyle to fit your project. Each component comes unstyled and is fully equipped with keyboard-shortucts, ARIA accessibility, and is designed to work seamlessly across web, desktop and mobile.
In addition to the unstyled primitives, the components page includes a shadcn-style version of each primitive with css you can copy into your project to build a component library for your project. You can combine these primitives to create larger building blocks like cards, dashboards and forms.
The community has already started construction on new component variants with an exciting project called Lumenblocks built by the Leaf Computer team.
Stores - a new primitive for nested reactive state
We introduced signals in 0.5 to enable fine grained reactive updates in dioxus. Signals are great for atomic piece of state in a component like a string or number, but they are difficult to use with external or nested state. Stores are a powerful new primitive for nested reactive state in 0.7.
With stores, you can derive a store trait on your data to let you zoom into specific parts of the state:
#[derive(Store)]
struct Dir {
children: BTreeMap<String, Dir>,
}
// You can use the children method to get a reactive reference to just that field
let mut children: Store<Vec<Dir>, _> = directory.children();
Stores also include implementations for common data structures like BTreeMap that mark only the changed items as dirty for each operation:
#[component]
fn Directory(directory: Store<Dir>) -> Element {
// Create a temporary to reference just the reactive child field
let mut children = directory.children();
rsx! {
ul {
// Iterate through each reactive value in the children
for (i, dir) in children.iter().enumerate() {
li {
key: "{dir.path()}",
div {
display: "flex",
flex_direction: "row",
"{dir.path()}",
button {
onclick: move |_| {
children.remove(i);
},
"x"
}
}
Directory { directory: dir }
}
}
}
}
}
When we remove a directory from the store, it will only rerun the parent component that iterated over the BTreeMap and the child that was removed.
Automatic Tailwind
The community has been asking for automatic Tailwind for a very long time. Finally in Dioxus 0.7, dx detects if your project has a tailwind.css file at the root, and if it does, automatically starts a TailwindCSS watcher for you. You no longer need to manually start or download the Tailwind CLI - everything is handled for you seamlessly in the background:
We’ve updated our docs and examples to Tailwind V4, but we’ve also made sure the CLI can handle and autodetect both V3 and V4. Automatic Tailwind support is an amazing feature and we’re sorry for not having integrated it earlier!
Improvements with AI - LLMs.txt and “vibe-coding”
If you’ve kept up with the news recently, it’s become obvious that AI and Large Language Models are taking over the world. The AI world moves quickly with new tools and improvements being released every week. While the reception of LLMs in the Rust community seems to be mixed, we don’t want Dioxus to be left behind!
In Dioxus 0.7, we’re shipping our first step in the AI world with a first-party llms.txt automatically generated from the Dioxus documentation! LLMs can easily stay up to date on new Dioxus features and best practices, hopefully reducing hallucinations when integrating with tools like Copilot and Cursor.
The latest version of the template also includes an optional set of prompts with context about the latest release of dioxus. The prompts provide condensed information about dioxus for tools that don’t have access to web search or llms.txt integration.
Combined with the Subsecond hot-patching work, users can now more effectively “vibe code” their apps without rebuilding. While we don’t recommend “vibe coding” high-stakes parts of your app, modern AI tools are quite useful for quickly whipping up prototypes and UI.
To date, debugging Rust apps with VSCode hasn’t been particularly easy. Each combination of launch targets, flags, and arguments required a new entry into your vscode.json With Dioxus 0.7, we wanted to improve debugging, so we’re shipping a debugger integration! While running dx serve, simply press d and the current LLDB instance will attach to currently running app. The new debugger integration currently only works with VSCode-based editor setups, but we’d happily accept contributions to expand our support to Neovim, Zed, etc.
The integrated debugger is particularly interesting since it works across the web, desktop, and mobile. Setting up an Android debugger from VSCode is particularly challenging, and the new integration makes it much easier.
When launching for the web, we actually open a new Chrome instance with a debugger attached. Provided you download the DWARF symbols extension, Rust symbols will show up properly demangled in the debugger tab instead of confusing function addresses.
The log coloring of the CLI and help menus have been upgraded to match cargo and reflect error/warn/debug/info levels:
DX Compatibility with any project
The dioxus CLI “dx” tooling is now usable with any Rust project, not just Dioxus projects! You can use dx alongside any Rust project, getting a number of awesome features for free:
Rust hot-reloading with Subsecond
Packaging and bundling for Web/Desktop/Mobile
Extraction and optimization of assets included with the asset!() macro
Interactive TUI with shortcuts to rebuild your app
Tracing integration to toggle “verbose” and “tracing” log levels
Simultaneous multi-package dx serve @client @server support
Integrated debugger
Notably, Bevy has already integrated support for Subsecond and works well with the new dx:
We have big plans for dx and will improve it by adding support for more features:
Remote build caching for instant fresh compiles
Advanced caching for incremental builds in CI
Dedicated Docker and GitHub images for cross-platform distribution
Adapters to make your project usable with Bazel / Buck2
Built-in deploy command for deploying to AWS/GCP/Azure/Cloudflare
Integrated #[test] and #[preview] attributes that work across web, desktop, and mobile
Inline VSCode Simulator support
Detailed build timings for cargo and bundling
CI integration with integrated dashboard
Improved Version Management Experience
Dioxus has supported binary installation for quite a while - but we’ve always required users to install cargo binstall and then run cargo binstall dioxus-cli. Now, we’re dropping the cargo binstall requirement entirely, making it easy to install the CLI and then keep it updated.
To install the CLI:
curl -fsSL https://dioxus.dev/install.sh | bash
Whenever the Dioxus team pushes new updates, the CLI will automatically give you a one-time update notification. To update, you can use
dx self-update
When you try to use the dioxus-cli with an incompatible dioxus version, you’ll receive a warning and some instructions on how to update.
Customize AndroidManifest.xml and Info.plist
You can now customize the Info.plist and AndroidManifest.xml files that Dioxus generates for your Android, iOS, and macOS projects. This makes it possible to add entitlements, update permissions, set splash screens, customize icons, and fully tweak your apps for deployment.
ADB Reverse Proxy for Device Hot-Reload
Thanks to community contributions, dx serve --platform android now supports Android devices! You can edit markup, modify assets, and even hot-patch on a real Android device without needing to boot a simulator. This works by leveraging adb reverse, and should help speed up Android developers looking to test their apps on real devices.
iPad Support
A small update - Dioxus now properly supports iPad devices! When you dx serve --platform ios with an iPad simulator open, your Dioxus app will properly scale and adapt to the iPadOS environment.
Basic Telemetry
Anonymized by default
Using it to hunt down panics in tooling and in dioxus itself (during development)
Want to provide more robust library and tooling - github issues only captures a snapshot
Opt out
Over time, the CLI has grown from a simple server that watches for file changes and reruns cargo to a tool that helps you through every stage of your apps lifecycle with support for bundling, asset optimization, hot patching, hot reloading, and translation. As the complexity has grown, so has the surface area for bugs and UX issues. To make the CLI more robust, we have started collecting a minimal set of telemetry data in 0.7. This information will help to catch rare panics, performance issues and trends over time that don’t show up in github issues. All telemetry is anonymized with all personal information stripped. We collect:
You can opt-out of telemetry by compiling the CLI with the disable-telemetry feature, setting TELEMETRY=false in your environment variables or running dx config set disable-telemetry true
Expanded Documentation
We reorganized and expanded the documentation for core concepts in 0.7. The docs now go into more details about important concepts like reactivity, the rendering model of dioxus, and async state in dioxus. The new docs also come with a new look for the docsite with a wider panel that fits more documentation in the screen:
The new docsite also includes search results for rust items from docs.rs for more specific apis:
What's Changed
fix(interpreter): missing scrollTo boolean return value by @sehnryr in https://github.com/DioxusLabs/dioxus/pull/3734
feat: router-based wasm bundle splitting by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/3683
fix: wix assets path by @Klemen2 in https://github.com/DioxusLabs/dioxus/pull/3763
Fix hot reloading component removal with formatted attribute values by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3559
Add missing optional dependency to web feature by @damccull in https://github.com/DioxusLabs/dioxus/pull/3805
Prevent default if an onclick event is triggered on a button under a form by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3804
Feat: CLI Debug Warning by @DogeDark in https://github.com/DioxusLabs/dioxus/pull/3779
Revision: Open Browser With Localhost by @DogeDark in https://github.com/DioxusLabs/dioxus/pull/3776
Add helper methods to provide a single clone server only context by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3483
Fix --target flag not passed to cargo when Platform == Server by @marcobergamin-videam in https://github.com/DioxusLabs/dioxus/pull/3595
Fix opened browser blocking dx serve by @wdcocq in https://github.com/DioxusLabs/dioxus/pull/3818
Support concat! and other macros in asset path by @dtolnay in https://github.com/DioxusLabs/dioxus/pull/3809
Fix the typo checking CI by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3824
Fix span locations in ifmt and components by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3823
Expose Outlet Context by @wheregmis in https://github.com/DioxusLabs/dioxus/pull/3788
Make GenericRouterContext pub by @3lpsy in https://github.com/DioxusLabs/dioxus/pull/3812
Switch the default server function codec to json by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3602
Fix initialising tray icons on the macos desktop platform by @PhilTaken in https://github.com/DioxusLabs/dioxus/pull/3533
Update: tauri-bundler, tauri-utils by @DogeDark in https://github.com/DioxusLabs/dioxus/pull/3801
Update the server function crate to 0.7 by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3560
Revision: Cleanup Dioxus.toml by @DogeDark in https://github.com/DioxusLabs/dioxus/pull/3802
Update wry version to 0.50.1 by @mzdk100 in https://github.com/DioxusLabs/dioxus/pull/3810
fix(fullstack): Resolve suspense before the head chunk when streaming is disabled by @hackartists in https://github.com/DioxusLabs/dioxus/pull/3829
Typo Fix on Outlet Documentation by @wheregmis in https://github.com/DioxusLabs/dioxus/pull/3830
build(deps): bump ring from 0.17.8 to 0.17.13 by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/3841
Rename wgpu child window example for discoverability by @carlosdp in https://github.com/DioxusLabs/dioxus/pull/3837
fix(server): Provide GoogleBot compatibility. by @hackartists in https://github.com/DioxusLabs/dioxus/pull/3851
Return a 404 when paring the route fails by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3860
trivial fix for documentation example for onclick handler of buttons by @caseykneale in https://github.com/DioxusLabs/dioxus/pull/3882
Fixed android app crashing when changing phone orientation by @jjvn84 in https://github.com/DioxusLabs/dioxus/pull/3905
Fix later-attached wry event handlers not getting called by @MintSoup in https://github.com/DioxusLabs/dioxus/pull/3908
adds feature axum_core that compiles for wasm target exposing server functions and ssr by @conectado in https://github.com/DioxusLabs/dioxus/pull/3840
fixed the bug when future restarts the state goes to ready instead of pending by @avij1109 in https://github.com/DioxusLabs/dioxus/pull/3617
Fix windows CI by removing virtual file system cache by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3912
fix comment by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/3929
doc: Fix spawn doc by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/3871
doc: Add head ordering doc part by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/3771
build(deps): bump tar-fs from 2.1.1 to 2.1.2 in /packages/extension by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/3954
build(deps): bump openssl from 0.10.68 to 0.10.72 by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/3955
Remove default features when fullstack is enabled and one platform is enabled in the default features by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3925
Allow spread attributes to be set directly by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3881
Fix component macro with where clause by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3951
Fix select multiple default value by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3953
Fix key validation logic by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3936
Fix escaped text in ssr stylesheets and scripts by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3933
Wait for the suspense boundary above the router to resolve before sending the first streaming chunk by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3891
feat: inline dioxus-native from blitz by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/3675
build(deps): bump JamesIves/github-pages-deploy-action from 4.6.9 to 4.7.3 by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/3794
fix: more accurate derive Clone, PartialEq for generic components by @clouds56 in https://github.com/DioxusLabs/dioxus/pull/3968
Provide HotkeyState on Global Shortcut Events by @CryZe in https://github.com/DioxusLabs/dioxus/pull/3822
feat: Add logger to logger example by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/3846
build(deps): bump crossbeam-channel from 0.5.14 to 0.5.15 by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/3978
Changes to support axum 0.8 by @CristianCapsuna in https://github.com/DioxusLabs/dioxus/pull/3820
Update axum and many dependencies by @stevelr in https://github.com/DioxusLabs/dioxus/pull/3825
Fix: Eval Prematurely Dropping by @DogeDark in https://github.com/DioxusLabs/dioxus/pull/3877
Env logger feature by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/3775
Update and Improve Dev Container by @LeWimbes in https://github.com/DioxusLabs/dioxus/pull/3977
default the storage to UnSyncStorage in ReadSignal type by @RobertasJ in https://github.com/DioxusLabs/dioxus/pull/3879
fix(rsx): formatted attribute merging by @sehnryr in https://github.com/DioxusLabs/dioxus/pull/3719
fix: Use as_value() to properly serialize form values in login example by @created-by-varun in https://github.com/DioxusLabs/dioxus/pull/3835
Fix javascript asset bundling errors and fallback by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3935
Manganis CSS Modules Support by @DogeDark in https://github.com/DioxusLabs/dioxus/pull/3578
fix(fullstack): Allow configuration of the public_path by @brianmay in https://github.com/DioxusLabs/dioxus/pull/3419
feat: add cli support to build assets from executable by @brianmay in https://github.com/DioxusLabs/dioxus/pull/3429
Add some CLI docs for stdin file input to fmt command by @carlosdp in https://github.com/DioxusLabs/dioxus/pull/3934
feat: update flake.lock by @srghma-old in https://github.com/DioxusLabs/dioxus/pull/3994
fix: collectFormValues should be retrieveFormValues, export WeakDioxusChannel by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/3993
Fix the wgpu child window example by @dowski in https://github.com/DioxusLabs/dioxus/pull/3989
Fix: Toast Flash of Unstyled Content by @DogeDark in https://github.com/DioxusLabs/dioxus/pull/4012
Add android sync lock to asset handler to avoid already borrowed errors on android by @rhaskia in https://github.com/DioxusLabs/dioxus/pull/4006
Remove signal write warnings by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4024
fix FormData::valid by @clouds56 in https://github.com/DioxusLabs/dioxus/pull/4027
fix: dx check now respects files to ignore (e.g. .gitignore) by @SilentVoid13 in https://github.com/DioxusLabs/dioxus/pull/4038
Fix JS deprecation warning in wasm init by @sebdotv in https://github.com/DioxusLabs/dioxus/pull/4054
Fix typo in router example by @kyle-nweeia in https://github.com/DioxusLabs/dioxus/pull/4069
Fix parsing of braced expressions followed by a method by @jjvn84 in https://github.com/DioxusLabs/dioxus/pull/4035
Binary patching rust hot-reloading, sub-second rebuilds, independent server/client hot-reload by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/3797
fix: interaction between both hot-reload engines by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4083
Add Missing Fields From Scroll Event by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/4022
fix: add missing img attrs by @wiseaidev in https://github.com/DioxusLabs/dioxus/pull/4073
Update dx serve output: remove wrap in right-side paragraphs by @sebdotv in https://github.com/DioxusLabs/dioxus/pull/4055
feat(html): add scroll method to MountedData by @sehnryr in https://github.com/DioxusLabs/dioxus/pull/3722
Support scrollIntoView alignment options by @otgerrogla in https://github.com/DioxusLabs/dioxus/pull/3952
Add "native" feature flag to examples by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4050
fix: dx bundle progress output off-by-one in log lines by @chrivers in https://github.com/DioxusLabs/dioxus/pull/4014
call_with_explicit_closure support closure in block by @clouds56 in https://github.com/DioxusLabs/dioxus/pull/4031
Fix clearing error boundaries by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4041
Use SuperInto and correct Owner for props defaults by @pandarrr in https://github.com/DioxusLabs/dioxus/pull/3959
Fix the base path in desktop builds by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3949
adhoc: Fix Clippy lints in const-serialize etc. by @gbutler69 in https://github.com/DioxusLabs/dioxus/pull/3880
Fix dx serve proxying of websocket connections established from the browser by @arvidfm in https://github.com/DioxusLabs/dioxus/pull/3895
Merge static and dynamic styles by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3950
feat(cli): add bundle.android config to build and sign the apk file in release mode by @fontlos in https://github.com/DioxusLabs/dioxus/pull/4062
Inline the TailwindCLI into dx and run it during serve by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4086
Replace magic-nix-cache-action by @Hasnep in https://github.com/DioxusLabs/dioxus/pull/4096
Fix websocket server functions and add an example by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4107
fix(ci): out of disk space by @Jayllyz in https://github.com/DioxusLabs/dioxus/pull/4090
Fix web redirect routes by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4109
CLI self-updater, warn on version mismatch, direct install.sh option, androidmanifest and info.plist customization, bump to 0.7-alpha.0 by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4095
fix stdin handling for the tw watcher by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4119
fix: use response files (@args) on windows by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4121
Fix is_release_profile Logic by @LeWimbes in https://github.com/DioxusLabs/dioxus/pull/4091
fix: fixed wasm and js paths in release mode by @wosienko in https://github.com/DioxusLabs/dioxus/pull/4140
fix: use diagnostic instead of compilermessage giving rendered ansi logs during hotpatch by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4123
Fix authentication example by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4145
fix the ADRP violation bugs by treating TLS as Text by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4152
fix(cli): prevent linker argument overflow on Windows by @fontlos in https://github.com/DioxusLabs/dioxus/pull/4126
fix windows subsecond, add DX_LINKER and DX_HOST_LINKER env var overrides by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4164
fix: Make Writable::toggle use peek to avoid subscribing as Readable::Cloned uses Readable::read by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/4166
fix: use system ranlib to build a table of contents for the hotpatching archive by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4163
fix: symbol mismatch in object file by @dsgallups in https://github.com/DioxusLabs/dioxus/pull/4171
fix: use the rustc env for linking too, hopefully fixing windows by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4172
subsecond: Typed HotFn pointer by @mockersf in https://github.com/DioxusLabs/dioxus/pull/4153
fix(cli): filter out .lib files when targeting Android by @fontlos in https://github.com/DioxusLabs/dioxus/pull/4130
Fix setting option value to an empty string by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4176
fix rust 1.87 with wasm-opt bulk-memory, allow configuring wasm-opt flags by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4187
feat: copy frameworks to Frameworks folder, detect linkers, custom target dirs by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4174
Enable serve_dioxus_application for WASM targets by @DrewRidley in https://github.com/DioxusLabs/dioxus/pull/4170
debugger support for dx by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/3814
fix: only patch pid and require rebuilds by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4197
refactor: remove once_cell dependency and use std::sync equivalents by @FalkWoldmann in https://github.com/DioxusLabs/dioxus/pull/4185
use vcs when dx new by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4199
fix hot-reload watcher for client/server by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4200
attempt to fix playwright by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4198
Restore docs CI checks and fix all doc lints by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4204
Clarify schedule_update docs by @Craig-Macomber in https://github.com/DioxusLabs/dioxus/pull/4127
Fix the toggle event by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4206
chore(ssr): update askama_escape dependency by @Kijewski in https://github.com/DioxusLabs/dioxus/pull/4215
subsecond/cli: fix linker and passing through -fuse-ld properly by @laundmo in https://github.com/DioxusLabs/dioxus/pull/4222
Fix dx bundle and release web builds by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4211
Update global hotkey by @leo030303 in https://github.com/DioxusLabs/dioxus/pull/4207
feat: update examples to tailwind v4 by @danielkov in https://github.com/DioxusLabs/dioxus/pull/3943
Add the onload property to links by @Makosai in https://github.com/DioxusLabs/dioxus/pull/3843
fix: escape backslashes in debug locations for HTMLData serialization by @windows-fryer in https://github.com/DioxusLabs/dioxus/pull/4116
unset CARGO_MANIFEST_DIR, don't set it to empty string by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4225
Upgrade to Blitz 0.1.0-alpha.2 by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4227
Remove schedule_update and schedule_update_any from prelude by @Craig-Macomber in https://github.com/DioxusLabs/dioxus/pull/4128
Update Playwright to version 1.52.0 by @LeWimbes in https://github.com/DioxusLabs/dioxus/pull/4125
Unify todomvc and todomvc-native examples by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4228
Move asset hashing into the CLI by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3988
re-enable linux arm64 in CI for tests and release by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4226
Fix url encoding query and implement FromQueryArgument for Option by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4213
Allow changing the base path from a cli arg by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4242
white-list .rcgu.o files in the linking phase, otherwise dump them into the normal linking pile by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4246
chore(deps): bump tar-fs from 2.1.2 to 2.1.3 in /packages/extension by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/4243
Always download wasm opt from the binary by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4247
Only use std::sync::Arc when needed: debug_assertions enabled by @flba-eb in https://github.com/DioxusLabs/dioxus/pull/4261
Upgrade Blitz to 0.1.0-alpha.3 and add Dioxus-Native WGPU Canvas Integration by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4286
Fix --args and handle merging in @server and @client by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4212
Switch to owned listener type by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4289
Allows desktop apps to open mailto links by @jjvn84 in https://github.com/DioxusLabs/dioxus/pull/4282
Translate position to account for the display scaling factor. by @pythoneer in https://github.com/DioxusLabs/dioxus/pull/4275
feat: Opt-out html in dioxus-router by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/4217
update and improve chinese README.md by @Yuhanawa in https://github.com/DioxusLabs/dioxus/pull/4254
Fix router hydration by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4209
Use different release profiles for desktop and server builds, adhoc profiles by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3693
Make new_window asynchronous by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4297
properly respect rustflags, fix x86-sim issue by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4295
Fixes issue with the file dialog showing only folders and not files by @jjvn84 in https://github.com/DioxusLabs/dioxus/pull/4177
Fix base path by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4276
tell user about basepath by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4298
Cache hashed assets forever in fullstack by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/3928
Remove invalid global data attribute by @navyansh007 in https://github.com/DioxusLabs/dioxus/pull/4270
Improve server macro documentation by @Nathy-bajo in https://github.com/DioxusLabs/dioxus/pull/3403
Allow a borrowed key to move into children by @Threated in https://github.com/DioxusLabs/dioxus/pull/4277
Implement Into for the default server function error type by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4205
Restore SSG serve logic by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4111
Add better error handling for wasm-opt and prevent file truncation on error by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4313
Avoid fingerprint busting during builds by @hecrj in https://github.com/DioxusLabs/dioxus/pull/4244
use dx run for playwright tests, properly abort if error occurs, don't ddos github releases, split apt-cache by os/target in matrix by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4315
Add initial version of hash history by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4311
fix(cli, breaking): Align Android applicationId with user's bundle.identifier by @fontlos in https://github.com/DioxusLabs/dioxus/pull/4103
Remove broken links in examples/README.md by @StudioLE in https://github.com/DioxusLabs/dioxus/pull/4318
add --offline, --locked, remove dioxus branding if dioxus is not being used explicitly by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4155
Create SECURITY.md by @wiseaidev in https://github.com/DioxusLabs/dioxus/pull/4136
Fix docs.rs build for dioxus-lib crate by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4321
fix "multiple" attribute by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4323
Don't use inline scripts and function constructor by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4310
Fix hotpatched assets by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4326
Upgrade to Blitz 0.1.0-alpha.4 by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4335
Handle panics in main on android by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4328
Pass android linker to cargo by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4332
Intentionally shadow module to prevent accidential use by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4327
fix ios codesign on device by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4339
Hashless assets by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4312
chore: update readme - reference Yew SSR by @wiseaidev in https://github.com/DioxusLabs/dioxus/pull/4075
Fix form submission on native if there is an onclick handler somewhere by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4329
Save logical position when restoring on macos by @clouds56 in https://github.com/DioxusLabs/dioxus/pull/4061
chore(deps): upgrade wry from 0.45.0 to v0.52.0, switch to websocket instead of longpoll by @Plebshot in https://github.com/DioxusLabs/dioxus/pull/4255
fix issue: Routable doesn't work with component in a core module. #4331 by @zhiyanzhaijie in https://github.com/DioxusLabs/dioxus/pull/4350
feat: close behaviour for specific window by @Klemen2 in https://github.com/DioxusLabs/dioxus/pull/3754
fix multiwindow due to mounts not dropping in virtualdom by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4351
Reclaim element id for all removed nodes by @gammahead in https://github.com/DioxusLabs/dioxus/pull/3782
fix: allow to name module std in project by @davidB in https://github.com/DioxusLabs/dioxus/pull/4353
Add a bevy-texture example based on wgpu-texture by @jerome-caucat in https://github.com/DioxusLabs/dioxus/pull/4360
Native: Accept winit::WindowAttributes as a config value by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4364
Fix router state after client side navigation by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4383
Native: Split dioxus-native-dom crate out of dioxus-native by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4366
Add PartialEq and Eq derives to ServerFnError by @Himmelschmidt in https://github.com/DioxusLabs/dioxus/pull/4393
fix(bundle): add serde defaults to prevent deserialization errors by @rennanpo in https://github.com/DioxusLabs/dioxus/pull/4398
prevent_default must be called synchronously or it will have no effect by @LilahTovMoon in https://github.com/DioxusLabs/dioxus/pull/4386
final 0.7 fixes: xcode 15/16 hybrid, auto openssldir for android, include_*! tracking hotpatch, fix /assets/ brick at high opt levels, windows linker file, etc by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4376
Fixed touch input it will now serialize the touchlist by @bananabit-dev in https://github.com/DioxusLabs/dioxus/pull/4406
updated the dependencies - maintaining compatibility and tests by @debanjanbasu in https://github.com/DioxusLabs/dioxus/pull/4363
Reconnect the edits websocket if it disconnects by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4391
fix link opening on mobile by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4415
Warn about assets being stripped if strip is true and the current package depends on manganis by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4400
Example of rendering a dioxus-native app to a texture by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4365
fix unicode characters in line printing by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4420
Prevent desktop reloads at the wry level by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4422
Capture the rustc environment and project it into run by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4421
fix: don't eat comments in more situations by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4423
Avoid the accidental removal of comments inside expressions by dx fmt by @jjvn84 in https://github.com/DioxusLabs/dioxus/pull/4410
clean up prelude by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4416
Fix assets with odd extensions and race condition with the same asset at different paths by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4436
Fix Tailwind race condition in fullstack serve mode by @Himmelschmidt in https://github.com/DioxusLabs/dioxus/pull/4433
Remove dioxus-lib, fix doc imports by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4438
Example of rendering a dioxus-native app to a texture in a Bevy application by @jerome-caucat in https://github.com/DioxusLabs/dioxus/pull/4427
Fix server function warning with default features by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4453
Upgrade Blitz to 0.1.0-rc.1 by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4452
Add secure context on android by @OlivierLemoine in https://github.com/DioxusLabs/dioxus/pull/4428
fix(bundle): add serde default for all fields that impl Default by @wdjcodes in https://github.com/DioxusLabs/dioxus/pull/4442
CLI: add --renderer argument by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4320
Allow customization of MainActivity.kt by @Kbz-8 in https://github.com/DioxusLabs/dioxus/pull/4294
Fix hot patching hook types by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4381
Use Blitz 0.1.0-rc2 by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4462
Fix title example on native by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4463
better logs, don't run codesign if no assets are found by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4464
Fix asset location for linux bundles by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4460
Allow user to specify =false for default true flags by @ryo33 in https://github.com/DioxusLabs/dioxus/pull/4467
Downgrade chrono to 0.4.39 by @DanielWarloch in https://github.com/DioxusLabs/dioxus/pull/4473
Boxed and mapped signals preparing for stores by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4413
Fix rustc wrapper to read command files for linking detection by @Himmelschmidt in https://github.com/DioxusLabs/dioxus/pull/4481
Stores: Externally tracked state and reactive collections by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4483
Use data dir instead of home dir for dioxus-related data by @Andrew15-5 in https://github.com/DioxusLabs/dioxus/pull/4445
Vendor OpenSSL on android with google prebuilt libs by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4511
fix: Use Rc for lifecycle management by @yydcnjjw in https://github.com/DioxusLabs/dioxus/pull/4471
add basic crash analytics and very light telemetry to dioxus-cli by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4224
Adds a build and output for the dioxus-cli by @damccull in https://github.com/DioxusLabs/dioxus/pull/4519
Move ctrl-c handler to non-conditional match by @s3bba in https://github.com/DioxusLabs/dioxus/pull/4532
Cross platform asset resolver by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4521
allow customizing entitlements by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4533
fix platform unification by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4536
Clarify telemetry paragraph about rollups by @Andrew15-5 in https://github.com/DioxusLabs/dioxus/pull/4539
Bump Blitz to 0.1.0-rc.3 (+dangerous_inner_html + style ns attrs) by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4538
Allow specifying min_sdk_version in dioxus config for Android. by @rhaskia in https://github.com/DioxusLabs/dioxus/pull/4549
Don't output escape codes for the cursor when the tui isn't active by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4556
Improve use_server_cached docs by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/4557
Fix hotdog asset by @emmanuel-ferdman in https://github.com/DioxusLabs/dioxus/pull/4570
Fix integration of SSL libs into non-ARM64 Android builds. by @priezz in https://github.com/DioxusLabs/dioxus/pull/4563
Fix store macro with struct bounds by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4572
Fix hydration of link element by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4561
Remove must_use from Resource by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/4551
Add '.zed' folder for Zed-related development by @ktechhydle in https://github.com/DioxusLabs/dioxus/pull/4575
Bump tmp from 0.2.1 to 0.2.5 in /packages/extension by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/4524
Correct misleading string content. by @dabrahams in https://github.com/DioxusLabs/dioxus/pull/4542
Bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/4574
fix: select best match from --device by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4581
Fix the server extension on windows server bundles by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4555
show panics in the toast in wasm by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4582
fix: automatic rebuilds, num_threads for localpools by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4583
ensure wasm-split has lto and debug enabled by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4584
bump android min-sdk up to 28 by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4585
fix lints on rust 1.89 by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4587
feat: add subsecond serve by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4588
Deprecate ReadOnlySignal by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/4552
Fix empty borrow location warnings by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4593
Add cancel event by @d-corler in https://github.com/DioxusLabs/dioxus/pull/4476
feat: add dx print command, drive hotpatching engine directly. by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4602
Improve placeholder hash error message by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4615
Upgrade Blitz to v0.1.0 by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4619
Remove transitions from todomvc stylesheet by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4620
Rebuild router on every hot reload message by @s3bba in https://github.com/DioxusLabs/dioxus/pull/4537
Fixed client config macro by @snatvb in https://github.com/DioxusLabs/dioxus/pull/4650
fix: feature gate tokio and tracing by @omar-mohamed-khallaf in https://github.com/DioxusLabs/dioxus/pull/4651
Implement copy for eval by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4655
Add GlobalStore to the prelude by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4662
Allow relative assets in rust > 1.88 by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4658
Pin serde in the CLI by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4663
Remove usage of private syn modules by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4664
Fix opening in new tab with internal links by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4677
Don't rely on window by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4697
Fix the root error boundary during suspense in ssr by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4710
Fix hydration error suspense by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4640
native: open links in default webbrowser by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4623
Bump tar-fs from 2.1.3 to 2.1.4 in /packages/extension by @dependabot[bot] in https://github.com/DioxusLabs/dioxus/pull/4702
codify "platform" into resolution logic, server-fn/fullstack overhaul by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4596
Fix chained attribute if statements with static strings by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4721
Don't try launching a tokio runtime if we are already within one by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4699
Fix splitting logic for serve args by @kristoff3r in https://github.com/DioxusLabs/dioxus/pull/4695
Fix stores with vec index method and expose opaque writer types by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4684
Fix fullstack serialization order for adjacent components by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4600
fix: use floats for pointer events by @Tumypmyp in https://github.com/DioxusLabs/dioxus/pull/4708
Fix hydration with empty spread attributes by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4647
fix: save cli config as a toml file by @omar-mohamed-khallaf in https://github.com/DioxusLabs/dioxus/pull/4652
Fix route hydration with ssg without early chunk commit by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4654
Fix #4504 where dx fmt fails on eval of JS that contains empty line. by @nilswloewen in https://github.com/DioxusLabs/dioxus/pull/4506
Sync ReadSignal and Store by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4608
Improve use_hook_did_run docs by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/4554
Improve use_server_future docs by @mcmah309 in https://github.com/DioxusLabs/dioxus/pull/4558
Look for strip settings in inherited profiles and global configs by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4645
move ScopeId methods to the runtime by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4723
Fix Sse keepalive build error by @fasterthanlime in https://github.com/DioxusLabs/dioxus/pull/4725
fix: hotpatching fullstack by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4730
Propagate linker failure by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4728
Update gradle wrapper by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4726
Upgrade to Blitz v0.2.0 by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4731
FIX: web.https configuration - error: no process-level CryptoProvider available by @tgrushka in https://github.com/DioxusLabs/dioxus/pull/4736
More fullstack fixes by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4737
Fix ReadOnlySignal alias without storage by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4735
Fix: File dialogs that are not part of a form by @Klemen2 in https://github.com/DioxusLabs/dioxus/pull/4752
Don't rely on window Part 2 by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4757
native: disable debug logs by default by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4740
Handle wasm-bindgen wbg_cast helper in wasm hotpatching by @tekacs in https://github.com/DioxusLabs/dioxus/pull/4748
redirects, middleware, Transport, set/capture error status by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4751
Fix wasm hotpatching for zero-sized data symbols by @tekacs in https://github.com/DioxusLabs/dioxus/pull/4747
Fix base path for wasm splitting by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4770
fix collect2 ld error with hotpatching by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4771
use queue_events instead of process_events to fix ssr issue by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4772
Fix on NixOS by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4776
Don't rely on window by @mohe2015 in https://github.com/DioxusLabs/dioxus/pull/4775
Feat: "dx new" check if given project name is available in filesystem by @thyseus in https://github.com/DioxusLabs/dioxus/pull/4773
fix: server function custom errors set status codes by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4782
Prevent hot patch from leaving devserver in BuildError state by @tekacs in https://github.com/DioxusLabs/dioxus/pull/4784
more fullstack cleanups: loaders serialize, ServeConfig only by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4785
remove --docs cfg to fix docsrs building by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4788
datatransfer object, drag_and_drop example, fix drag-and-drop by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4789
Elements: add autocorrect attribute to and by @fasterthanlime in https://github.com/DioxusLabs/dioxus/pull/4797
resolve the index before rendering by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4806
👩🏫 Add support for default-members by @Jasper-Bekkers in https://github.com/DioxusLabs/dioxus/pull/4811
Removed wasm rel-preload link from bundle index.html to save bandwidth for Safari users by @RickWong in https://github.com/DioxusLabs/dioxus/pull/4796
follow up to serveconfig by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4820
Support public dir by @tekacs in https://github.com/DioxusLabs/dioxus/pull/4783
DX components command by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4669
CLI fixes for hotpatching the playground by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4715
Fix the info message for the dx components subcommand by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4832
Native: implement hot-reloading of stylesheets by @nicoburns in https://github.com/DioxusLabs/dioxus/pull/4830
fix(hotpatch): Gracefully handle missing '-flavor' flag during WASM link by @luckybelcik in https://github.com/DioxusLabs/dioxus/pull/4833
Readable and Writable helpers for String, HashMap and HashSet by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4834
Skip emitting a transposed type if the original type is entirely generic by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4838
fix(cli): correct Android toolchain target for 32-bit arm architectures by @atty303 in https://github.com/DioxusLabs/dioxus/pull/4837
Pin tauri-macos-sign by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4845
fix: tokio rt is not set when calling handlers by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4850
use CapturedError as dioxus::Ok() so resources still function as expected by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4851
Fullstack: Fix missing query string on #[get] server functions by @bwskin in https://github.com/DioxusLabs/dioxus/pull/4827
restore the extract function for server functions by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4849
Add option_asset! to match asset! by @tekacs in https://github.com/DioxusLabs/dioxus/pull/4791
feat: set windows subsytem to windows for gui apps by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4855
Pipe Android/ADB logs into CLI by @wheregmis in https://github.com/DioxusLabs/dioxus/pull/4853
Fix updating components and local components by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4856
multiple fullstack nits/cleanups before release by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4852
Relax asset resolver bounds and document resolving folder assets by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4859
Expand relative assets to a placeholder if we are running in rust analyzer by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/4860
Add some functions to read/write request header for server functions by @javierEd in https://github.com/DioxusLabs/dioxus/pull/4823
Feat: eager loading of assets by @omar-mohamed-khallaf in https://github.com/DioxusLabs/dioxus/pull/4653
fix: dx not recognizing [web, server] in default by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/4865
New Contributors
@damccull made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3805
@marcobergamin-videam made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3595
@wdcocq made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3818
@dtolnay made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3809
@wheregmis made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3788
@3lpsy made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3812
@PhilTaken made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3533
@mzdk100 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3810
@carlosdp made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3837
@caseykneale made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3882
@jjvn84 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3905
@MintSoup made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3908
@conectado made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3840
@avij1109 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3617
@mcmah309 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3929
@clouds56 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3968
@CristianCapsuna made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3820
@stevelr made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3825
@RobertasJ made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3879
@created-by-varun made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3835
@brianmay made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3419
@srghma-old made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3994
@dowski made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3989
@SilentVoid13 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4038
@sebdotv made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4054
@kyle-nweeia made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4069
@otgerrogla made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3952
@chrivers made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4014
@pandarrr made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3959
@gbutler69 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3880
@arvidfm made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3895
@fontlos made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4062
@Hasnep made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4096
@Jayllyz made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4090
@wosienko made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4140
@dsgallups made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4171
@mockersf made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4153
@DrewRidley made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4170
@FalkWoldmann made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4185
@Craig-Macomber made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4127
@Kijewski made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4215
@laundmo made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4222
@leo030303 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4207
@danielkov made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3943
@Makosai made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3843
@windows-fryer made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4116
@pythoneer made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4275
@Yuhanawa made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4254
@navyansh007 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4270
@Nathy-bajo made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3403
@Threated made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4277
@mohe2015 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4313
@hecrj made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4244
@StudioLE made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4318
@zhiyanzhaijie made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4350
@gammahead made their first contribution in https://github.com/DioxusLabs/dioxus/pull/3782
@davidB made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4353
@jerome-caucat made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4360
@Himmelschmidt made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4393
@rennanpo made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4398
@LilahTovMoon made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4386
@bananabit-dev made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4406
@debanjanbasu made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4363
@OlivierLemoine made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4428
@wdjcodes made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4442
@Kbz-8 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4294
@DanielWarloch made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4473
@yydcnjjw made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4471
@s3bba made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4532
@emmanuel-ferdman made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4570
@priezz made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4563
@ktechhydle made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4575
@dabrahams made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4542
@d-corler made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4476
@snatvb made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4650
@omar-mohamed-khallaf made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4651
@kristoff3r made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4695
@Tumypmyp made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4708
@nilswloewen made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4506
@fasterthanlime made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4725
@tgrushka made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4736
@tekacs made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4748
@thyseus made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4773
@Jasper-Bekkers made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4811
@RickWong made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4796
@luckybelcik made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4833
@bwskin made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4827
@javierEd made their first contribution in https://github.com/DioxusLabs/dioxus/pull/4823
Full Changelog: https://github.com/DioxusLabs/dioxus/compare/v0.6.3...v0.7.0