v0.4.3

DioxusLabs/dioxusv0.4.3Feb 23, 2024by jkelleyrtp

AI Summary

A stabilization release for the 0.4 cycle, adding new component attribute systems and improving the CLI and router functionality.

Key Highlights

  • New system for creating component attributes
  • Improvements to the Routable macro
  • Initial value support for textarea elements
  • Query segment examples and documentation

New Features

  • Component attributes system
  • Initial value for textarea
  • Incremental rendering feature

Full Release Notes

## v0.4.3

This is the last release of the 0.4 cycle, containing a number of useful new features as well as many bug fixes.

You can now manipulate the dioxus runtime without going through the `Scope` object.

This was originally released many months ago, but we never made the release post.

## What's Changed
* Update all uncommented commands to remove actions-rs by @esimkowitz in https://github.com/DioxusLabs/dioxus/pull/1366
* Add ScopeId::ROOT by @JaniM in https://github.com/DioxusLabs/dioxus/pull/1398
* Explain features necessary for the `pre_cache_static_routes` function. by @photon-garden in https://github.com/DioxusLabs/dioxus/pull/1401
* Expose new_in_scope for signals by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1384
* Make incremental a cfg feature. by @skabber in https://github.com/DioxusLabs/dioxus/pull/1409
* Fix cli compile error due to tauri bundler adding fields by @fanyang89 in https://github.com/DioxusLabs/dioxus/pull/1416
* Add query segment example and documentation by @Stygmates in https://github.com/DioxusLabs/dioxus/pull/1417
* fix: Typo on use_on_unmount by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1421
* Improve CLI docs by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1404
* fix: prettier_build unavailabe by @mrxiaozhuox in https://github.com/DioxusLabs/dioxus/pull/1410
* fix: Add the --locked param to every cli installation command by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1427
* Pin Tauri dependencies to a minor version by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1415
* Forward Wry's devtools, dox and linux-body flags by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1412
* Only collect the rsx and render macros in autofmt by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1420
* Bump the dioxus-cli to 0.4.1 by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1424
* Find attributes and components to drop when rendering any lazy nodes by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1376
* Add initial_value to textarea by @valyagolev in https://github.com/DioxusLabs/dioxus/pull/1434
* Url decode routes by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1407
* Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/DioxusLabs/dioxus/pull/1452
* Remove stray log statement in `onmounted` by @oxkitsune in https://github.com/DioxusLabs/dioxus/pull/1453
* `Routable` improvements by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1461
* Use a `gen` in `PartialEq` for `UseSharedState` by @DanielAlbl in https://github.com/DioxusLabs/dioxus/pull/1389
* Switch to tracing for logging by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1436
* Add system for creating component attributes + new `#[component]` attribute by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1448
* Fix use_future docs by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1440
* fix: Update doc links from v0.3 to v0.4 by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1464
* Fix docs.rs build for desktop by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1382
* Deduplicate serve code with hot reloading in the CLI crate by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1446
* Fix web query segments by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1406
* Handle oninput for select elements by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1315
* Fix leaked signals created in effects by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1386
* Fix parsing spread routes by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1298
* Fix events with a text node target by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1322
* Expose public methods for manipulating the global runtime by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1441
* Return more useful messages when a server function errors by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1313
* Fix boolean attribute rendering in SSR by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1324
* Update Cargo.toml (desktop package) by @Deepp0925 in https://github.com/DioxusLabs/dioxus/pull/1466
* Fix #1367 by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1471
* PartialOrd for UseState by @Calastrophe in https://github.com/DioxusLabs/dioxus/pull/1473
* Make RuntimeGuard public by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1467
* Restore the tray feature in the desktop crate by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1475
* Fix playwright tests on windows by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1480
* fix: Update server function docs link by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1489
* liveview: Add `interpreter_glue_relative_uri by @kang-sw in https://github.com/DioxusLabs/dioxus/pull/1481
* Rename `dioxus-hooks` modules to use snake_case by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1498
* feat: initial_selected attribute for options by @White-Oak in https://github.com/DioxusLabs/dioxus/pull/1508
* Update `dioxus-core-macro` README as per #1448 by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1510
* cli: Fix typo, `resouces` by @srid in https://github.com/DioxusLabs/dioxus/pull/1516
* chore: `tauri-mobile` -> `cargo-mobile2` by @amrbashir in https://github.com/DioxusLabs/dioxus/pull/1518
* Add `use_on_mount` and fix some typos by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1497
* CLI: Clarify where serve warnings come from by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1524
* Fix clippy from https://github.com/DioxusLabs/dioxus/commit/248d78fbfe859350fc9ac657e84264d984976c62 by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1532
* cli: Log connection errors during `dx serve` in desktop apps by @srid in https://github.com/DioxusLabs/dioxus/pull/1515
* cli: Add ability for autofmt to read stdin by @mertzt89 in https://github.com/DioxusLabs/dioxus/pull/1529
* feat: Remove unused deps by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1447
* CLI: Remove redundant directories by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1535
* Include README and Dioxus logo in package docs by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1536
* feat: initial_checked attribute for inputs by @White-Oak in https://github.com/DioxusLabs/dioxus/pull/1540
* Fix deref for mapped Write structs in dioxus-signals by @esimkowitz in https://github.com/DioxusLabs/dioxus/pull/1549
* Make signal callable on stable by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1550
* Add must use to several hooks by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1544
* Change the semantics of exprs/for loops allocations strategy by @jkelleyrtp in https://github.com/DioxusLabs/dioxus/pull/1546
* refactor todo mvc example by @alexanderjophus in https://github.com/DioxusLabs/dioxus/pull/1556
* Add openidconnect authentication demo by @Stygmates in https://github.com/DioxusLabs/dioxus/pull/1500
* feat: Optional web support for hot-reload crate by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1527
* Add link to website section on contributing to root README by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1559
* Append prop documentation to function when using `#[inline_props]` or `#[component]` by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1563
* Improve prop docs by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1565
* Fix using signals outside of a scope by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1551
* Add error message when overlapping fullstack features are enabled by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1570
* Add an readable error when you name a prop key by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1558
* Add Newtype so that Rust-url can be IntoRoutable by @andar1an in https://github.com/DioxusLabs/dioxus/pull/1579
* Fix prop docs line breaks by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1573
* Implement LiveView Router Integration by @DonAlonzo in https://github.com/DioxusLabs/dioxus/pull/1505
* Silence desktop build outputs from cargo by @hirschenberger in https://github.com/DioxusLabs/dioxus/pull/1584
* Make window invisible until the first render by @HKalbasi in https://github.com/DioxusLabs/dioxus/pull/1588
* Bump actions/setup-node from 3 to 4 by @dependabot in https://github.com/DioxusLabs/dioxus/pull/1592
* Fix `#[component]` expansion Clippy warning by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1599
* Fix the scroll event on the web renderer by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1602
* fix: Read value from root when calling `AtomState::current()` by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1609
* fix syntax error at `#[derive(Props)]` using const generics by @syrflover in https://github.com/DioxusLabs/dioxus/pull/1607
* fix: Update error message when no atom root is found in context by @marc2332 in https://github.com/DioxusLabs/dioxus/pull/1611
* update readme by @xTekC in https://github.com/DioxusLabs/dioxus/pull/1615
* Drop any attribute after rendering by @ealmloff in https://github.com/DioxusLabs/dioxus/pull/1581
* Updated server_fn to 0.5.2 by @WolfeCub in https://github.com/DioxusLabs/dioxus/pull/1620
* Fix 1623 by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1626
* fix keyboard input on calc example by @alexanderjophus in https://github.com/DioxusLabs/dioxus/pull/1639
* Related to #1547: use `dioxus-cli` within a workspace (wildcard-members, real package names) by @RGafiyatullin in https://github.com/DioxusLabs/dioxus/pull/1642
* Fix tailwind.css 404 in Cli web platform build by @hjin-me in https://github.com/DioxusLabs/dioxus/pull/1649
* Fix grammar typo in comment by @onichandame in https://github.com/DioxusLabs/dioxus/pull/1652
* Fix outdated lazynode documentation by @Exotik850 in https://github.com/DioxusLabs/dioxus/pull/1648
* Add `backdrop-filter` attribute by @tigerros in https://github.com/DioxusLabs/dioxus/pull/1660
* Make UseFuture Clone, factor out dependencies field by @Exotik850 in https://github.com/DioxusLabs/dioxus/pull/1666
* remove #[doc(hidden)] from EventHandler by @Exotik850 in https://github.com/DioxusLabs/dioxus/pull/1665
* Add use_const hook by @Exotik850 in https://github.com/DioxusLabs/dioxus/pull/1667
* Add cargo make tidy/miri by @Exotik850 in https://github.com/DioxusLabs/dioxus/pull/1670
* Switch outdated tui crate for ratatui by @Exotik850 in https://github.com/DioxusLabs/dioxus/pull/1671
* docs(desktop): fix wrong example code by @zhangzhonglai in https://github.com/DioxusLabs/dioxus/pull/1678
* Set local_socket_stream to blocking (default) by @felixf4xu in https://github.com/DioxusLabs/dioxus/pull/1682
* fix false notification/rebuild for dx hot-reload by @felixf4xu in https://github.com/DioxusLabs/dioxus/pull/1684
* Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0 by @dependabot in https://github.com/DioxusLabs/dioxus/pull/1685
* Fixed conflict of  "--verbose" and "--quiet" flags by @raulcesar in https://github.com/DioxusLabs/dioxus/pull/1686
* feat(fullstack): add `render_handler_with_state` by @sd2k in https://github.com/DioxusLabs/dioxus/pull/1687
* Fix typo by @JMS55 in https://github.com/DioxusLabs/dioxus/pull/1695

## New Contributors
* @JaniM made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1398
* @photon-garden made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1401
* @skabber made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1409
* @fanyang89 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1416
* @Stygmates made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1417
* @valyagolev made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1434
* @oxkitsune made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1453
* @Deepp0925 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1466
* @Calastrophe made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1473
* @kang-sw made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1481
* @White-Oak made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1508
* @amrbashir made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1518
* @mertzt89 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1529
* @alexanderjophus made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1556
* @DonAlonzo made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1505
* @hirschenberger made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1584
* @HKalbasi made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1588
* @syrflover made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1607
* @WolfeCub made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1620
* @RGafiyatullin made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1642
* @hjin-me made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1649
* @onichandame made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1652
* @zhangzhonglai made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1678
* @felixf4xu made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1682
* @raulcesar made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1686
* @sd2k made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1687
* @JMS55 made their first contribution in https://github.com/DioxusLabs/dioxus/pull/1695

**Full Changelog**: https://github.com/DioxusLabs/dioxus/compare/v0.4.2...v0.4.3