Dioxus v0.6.0-alpha.4
This release is planned to be the last release of the v0.6 alpha cycle fixing a number of bugs with hotreloading, assets, the router, and more.
To install the CLI (instead of building from source) use:
cargo binstall dioxus-cli --version v0.6.0-alpha.4
Major changes in this alpha:
Inline iOS support, android fixes:
Overhaul of the CLI:
We dropped the custom scroll behavior of the previous alpha in favor of a simple fixed viewport and traditional println!()
-oriented history.
This provides more details while also allowing scrollback/selection/etc.
Hotreloading for manganis assets in all platforms (except Android)
All asset!()
calls now support hotreloading:
bundled-ios-reload.mp4
Asset system changes
We adjusted the path format of the asset!()
macro to force leading slashes. This will eventually let us support relative paths to assets as well as make it clear that you cannot include assets from outside the package directory:
onresize handler
You can now attach onresize
to your elements and track changes to element size without an Observer.
Fullstack server functions for iOS/Android/Desktop
By default, in dev, server functions are now callable from native apps without any additional configuration.
Keep in mind that in production you will still want to set the endpoint of your server.
Improved compile times
We cut the workspace into smaller pieces that include fewer dependencies. This should improve build times by about 50%.
Docsite improvements
We have been using the docsite as a canary for many of the new features (like static-site-generation) and you can test drive it at https://dioxuslabs.com.
Bug fixes
We fixed a ton of bugs, so things should be more reliable, faster, and hopefully more intuitive.
Known issues remaining:
- non-serve commands are too verbose
dx bundle
is pointing to the wrong directorybase_path
is getting set properly in some scenarios
What's Changed
- Fix github CLI publish CI msrv by @jkelleyrtp in #2802
- Fix mac CLI publish by using mac13 for runner by @jkelleyrtp in #2803
- Simplify and fix some issues with
#[component]
macro by @tigerros in #2289 - Fix Option with non path T types by @ealmloff in #2808
- Fix assets folder workspace by @ealmloff in #2821
- adding the Access-Control-Allow-Origin header to assets by @daixiwen in #2818
- Fix nested rsx expansion by not using template titles by @jkelleyrtp in #2799
- Update: wasm-bindgen by @DogeDark in #2824
- Synchronous prevent default by @ealmloff in #2792
- Fix templates merging in debug mode in macros by @ealmloff in #2828
- Fix mount use after removal/Simplify mounts a bit by @ealmloff in #2834
- Fix non-brace delimeters in nested macro formatting by @jkelleyrtp in #2831
- Fix side-by-side fragments by walking in reverse by @jkelleyrtp in #2841
- Apply any queued hot reload changes when the client connects by @ealmloff in #2843
- Fix hot reloading component properties out of order by @ealmloff in #2842
- Add the
onresize
event handler to Element by @ASR-ASU in #2479 - Add version number to package section of Cargo.toml to fix issue #2833 by @jacklund in #2835
- Don't rebuild when the code is in an invalid intermediate state by @ealmloff in #2848
- fix collapsing of multiline components and rsx!{} calls by @jkelleyrtp in #2849
- Fix: Make Toast Fixed & Increase Z-Index by @DogeDark in #2850
- Move to a generic GlobalLazy by @ealmloff in #2851
- fix autofmt: don't panic when writing blocks out without a srcfile by @jkelleyrtp in #2854
- Fix: CLI Progress by @DogeDark in #2840
- Fix
Error parsing user_event: Error("EOF while parsing a value", line: 1, column: 0)
by @ASR-ASU in #2856 - Fix hot reload custom element by @ealmloff in #2866
- Make desktop fullstack work with the CLI by @ealmloff in #2862
- Make use_callback and Callback bring the runtime with them by @ealmloff in #2852
- Update README.md to highlight both licenses by @jkelleyrtp in #2868
- Fix: clippy, dont throw error on commas by @jkelleyrtp in #2869
- Bump sledgehammer by @ealmloff in #2879
- Bump dependencies to transitively bump git2 from 0.18 to 0.19 by @pyrrho in #2873
- Add placeholder doc comments to macro-generated enums by @pyrrho in #2872
- feat: Manual impl of PartialEq for
Coroutine
by @marc2332 in #2895 - Restore Nix devShell support by @srid in #2890
- Revert "feat: Manual impl of PartialEq for
Coroutine
" by @marc2332 in #2899 - Fix script component src attribute by @ealmloff in #2887
- Finish the running examples section of the readme by @ealmloff in #2889
- Fix hot reloading components with keys by @ealmloff in #2886
- Fix ordering issues when with_menu(None) is called before setting the window builder by @ealmloff in #2903
- Bump webpack from 5.88.1 to 5.94.0 in /packages/extension by @dependabot in #2907
- Add
aspect-ratio
property by @ASR-ASU in #2916 - Use of
async_std::task::sleep
instead oftokio::time::sleep
in examples by @ASR-ASU in #2912 - Bump quinn-proto from 0.11.6 to 0.11.8 by @dependabot in #2922
- Bump gix-path from 0.10.9 to 0.10.10 by @dependabot in #2921
- Fix clock example (
tokio::time::sleep
->async_std::task::sleep
) by @ASR-ASU in #2939 - Bump gix-path from 0.10.10 to 0.10.11 by @dependabot in #2938
- Parse trailing route slash by @ealmloff in #2896
- Allow hooks in the expression of a match statement and if statement by @ealmloff in #2902
- Fix custom launch builder with unsized context types by @ealmloff in #2920
- Bump wry to 0.43 by @ealmloff in #2945
- add
disabled
,form
andname
attributes to fieldset by @chungwong in #2947 - remove unused logic in fullstack launch by @chungwong in #2949
- ci: Add workflow for building
flake.nix
by @srid in #2910 - Bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.4 by @dependabot in #2944
- Remove mention of suspense/streaming in readme comparison by @ealmloff in #2950
- Simplify TodoMVC example by @matthunz in #2935
- Fix dx bundle command and resources panic by @ealmloff in #2951
- CLI Fixes & Tweaks by @DogeDark in #2846
- small style tweak: make spacing cosnsistent for uses of
rsx! {
, switchtodo!()
tounimplemented!()
by @jkelleyrtp in #2956 - Chore: remove old cruft in web crate by @jkelleyrtp in #2957
- Skip running Nix CI for draft PRs by @matthunz in #2961
- Chore: hoist example projects for discoverability by @jkelleyrtp in #2959
- Extract some simple cleanups from 2779 by @jkelleyrtp in #2966
- Split out isrg from ssr and reorient build graph to make interpreter build 2x faster by @jkelleyrtp in #2969
- Chore: format some cargo tomls by @jkelleyrtp in #2970
- Improve compile times by splitting out rsx-hotreload from rsx by @jkelleyrtp in #2971
- Simplify cli-config, hotreload -> devtools (drop to 0 deps, fast compile times) by @jkelleyrtp in #2975
- chore: add the missing in comment by @jingchanglu in #2978
- docs: Modify Examples 'website by @houseme in #2996
- feat(web): using
None
instead ofElement
by @ilaborie in #3012 - File explorer example was moved from
examples
toexample-projects
. Update related files. by @sknauff in #3009 - Extend head components with global attributes by @ealmloff in #2888
- Use callback in desktop asset handler by @ealmloff in #3000
- Use the absolute path for result in the router macro by @ealmloff in #3017
- Fix memo dirty flag after unrelated writes by @ealmloff in #2992
- improve
use_drop
documentation by @chungwong in #3023 - docs: add korean translation for README.md by @azamara in #2998
- Fix restarting coroutines by @ealmloff in #3005
- Escape HTML entities in rsx rosetta by @ealmloff in #3038
- Fix partially formatted if chains in attributes by @ealmloff in #2999
- Fix special characters in head elements by @ealmloff in #3031
- Remove dependency on atty by @tpoliaw in #3047
- Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.8 by @dependabot in #3018
- Remove native and web features from dioxus-html by @ealmloff in #3006
- Improve documentation for the fullstack crate by @ealmloff in #2952
- Simplify the launch builder by @ealmloff in #2967
- Fix cloned rsx double drop by @ealmloff in #2839
- Update bug report format by @matthunz in #2955
- Bump lycheeverse/lychee-action from 1 to 2 by @dependabot in #3056
- Move the document trait into a separate crate by @ealmloff in #3035
- Fix: Windows File Drag-N-Drop by @DogeDark in #3046
- Bump manganis prerelease to alpha.2 by @jkelleyrtp in #3058
- bump manganis to alpha.3 by @jkelleyrtp in #3059
- fix fullstack build bug when --release by @hackartists in #3078
- fix fullstack doc by @chungwong in #3071
- Fix inserting attributes after expanding dynamic nodes by @ealmloff in #3094
- Fix bundling/path errors, sidecar support, iOS/Android simulator support, asset hotreload fixes, serverfn hotrelad, native tailwind support by @jkelleyrtp in #2779
- Fix: TUI YT Link by @DogeDark in #3102
- Fix: Windows Hot Reload by @DogeDark in #3103
- Capture current scope ID in
use_muda_event_handler
by @matthunz in #3120 - Fix: CLI Release & Profile Conflict by @DogeDark in #3115
- fix: 🔒 removed the line that exposes file structure of web server by @Tahinli in #3118
- Remove:
default_platform
inDioxus.toml
by @DogeDark in #3108 - Better caching in CI by @jkelleyrtp in #3127
- Fix: CLI Not Applying
no-default-features
When Specifying Platform by @DogeDark in #3130 - feat: add stylesheet component to dioxus document by @jkelleyrtp in #3138
- fix: don't panic while reading file in hotreload by @jkelleyrtp in #3142
- Fix liveview launch by @ealmloff in #3145
- use DragEvent not MouseEvent for drag events by @rogusdev in #3137
- Move the history provider into the context by @ealmloff in #3048
- SystemTray by @Klemen2 in #3123
- Fix if chain attributes with mixed expressions and strings by @ealmloff in #3149
- Add a warning about using use_hook(RefCell) in the docs by @ealmloff in #3151
- Fix the current route in ssr fullstack rendering by @ealmloff in #3153
- Fix isg streaming by @ealmloff in #3156
- feat: enable ssg using
/api/static_routes
by @jkelleyrtp in #3157
New Contributors
- @daixiwen made their first contribution in #2818
- @jacklund made their first contribution in #2835
- @jingchanglu made their first contribution in #2978
- @houseme made their first contribution in #2996
- @sknauff made their first contribution in #3009
- @azamara made their first contribution in #2998
- @tpoliaw made their first contribution in #3047
- @hackartists made their first contribution in #3078
- @Klemen2 made their first contribution in #3123
Full Changelog: v0.6.0-alpha.2...v0.6.0-alpha.4