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