NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4821 most downloaded on crates.io
A framework for creating reliable and efficient web applications
Last release 7 months ago
10 Mar 2026
Release timing varies
gaps range from 1 weeks to 2.2 years
Nearly every release is documented
notes for 35 of 37 stable releases
4 versions withdrawn
withdrawn after publishing
9 years old
41 releases · first in 2017
bumping from 0.22 should require no code changes for most users.
bumping from 0.22 should require no code changes for most users.
&str and String can now be used for props of type Option<Html>. [@Casheeew, #4020]scheduler::flush function to reliably finish rendering. Useful in testing as a replacement for timeouts. [@Madoshakalaka, #4044]Nones are now allowed for Option<T> props in the html! macro. [@Madoshakalaka, #4021]One column per quarter.
bumping from 0.22 should require no code changes for most users.
&str and String can now be used for props of type Option<Html>. [@Cashew, #4020]scheduler::flush function to reliably finish rendering. Useful in testing as a replacement for timeouts. [@Siyuan Yan, #4044]Nones are now allowed for Option<T> props in the html! macro. [@Siyuan Yan, #4021]Patch version bump with a couple of fixes and improvements
Patch version bump with a couple of fixes and improvements
Option<T> and &T types can be used as children again. e.g. Option<AttrValue> [@Madoshakalaka, #4005]from_html_unchecked [@101100, #3970]Calling UseStateHandle::set on a handle passed down from a parent does not re-render the child. #4058
To avoid this, either uprade to 0.23 or downgrade to 0.22.0
Option<T> and &T types can be used as children again. e.g. Option<AttrValue> [@Siyuan Yan, #4005]from_html_unchecked [@Jason Heard, #3970]Remove deprecated class=(...) syntax. [ @its-the-shrimp , #3497 ]
class=(...) syntax. [@its-the-shrimp, #3497]<textarea> a void element (no children allowed anymore). [@its-the-shrimp, #3465]html! macro. [@its-the-shrimp, #3498]#[function_component] to #[component]. [@its-the-shrimp, #3885]serde feature to yew. [@its-the-shrimp, #3880]use_ref hook. [@ColonelThirtyTwo, #3548]html! macro. [@cecton, #3508, #3431] [@Madoshakalaka, #3892]inert to the boolean attributes list. [@kawadakk, #3678]VRaw. [@finnbear, #3640]to_callback methods and From impls to convert reducer dispatchers and state setters to callbacks. [@its-the-shrimp, #3519]ChildrenRenderer<VNode> and VChild to VList. [@ranile, #3444]CallbackRef that takes ref in argument instead of value. [@cecton, #3419]UseFutureHandle Clone. [@AdamSteinberg1, #3529]Self in prop fields. [@its-the-shrimp, #3569]html!. [@its-the-shrimp, #3441]html!. [@its-the-shrimp, #3441]#[hook]: clippy::multiple_bound_locations lint no longer triggered. [@its-the-shrimp, #3803]boolinator. [@its-the-shrimp, #3420]FromQuery and IntoQuery traits. [@Roba1993, #3565]class=(...) syntax. [@Tim Kurdov, #3497]<textarea> a void element (no children allowed anymore). [@Tim Kurdov, #3465]html! macro. [@Tim Kurdov, #3498]#[function_component] to #[component]. [@Tim Kurdov, #3885]serde feature to yew. [@Tim Kurdov, #3880]use_ref hook. [@Alex Parrill, #3548]html! macro. [@Cecile Tonglet, #3508, #3431] [@Siyuan Yan, #3892]inert to the boolean attributes list. [@Tomoaki Kawada, #3678]VRaw. [@Finn Bear, #3640]to_callback methods and From impls to convert reducer dispatchers and state setters to callbacks. [@Tim Kurdov, #3519]ChildrenRenderer<VNode> and VChild to VList. [@Muhammad Hamza, #3444]CallbackRef that takes ref in argument instead of value. [@Cecile Tonglet, #3419]UseFutureHandle Clone. [@Adam Steinberg, #3529]Self in prop fields. [@Tim Kurdov, #3569]html!. [@Tim Kurdov, #3441]html!. [@Tim Kurdov, #3441]#[hook]: clippy::multiple_bound_locations lint no longer triggered. [@Tim Kurdov, #3803]boolinator. [@Tim Kurdov, #3420]Update Dependencies with Breaking Changes by @futursolo in #3204
start_app migration section. by @alexschrod in #3016web_worker_fib example use a relative path for the web worker by @kaisalmon in #3057html! macro for IntelliJ Rust plugin by @vlad20012 in #2972awesome.md by @eliaperantoni in #3207Note truncated.
Users can follow the migration guide to migrate from 0.20.0 to 0.21.0.
set_event_bubbling. [[@Tim Kurdov](https://github.com/Tim Kurdov), #3391]IntoPropValue implementation to convert from Cows to AttrValue. [[@Tim Kurdov](https://github.com/Tim Kurdov), #3346]Option in derive(Properties). [[@Tim Kurdov](https://github.com/Tim Kurdov), #3398]'/' is no longer wrongly encoded in wildcard route segments. [ @Madoshakalaka , #4056 ]
Yew pinned to 0.23 now.
/basename//basename resulting in a 404. [@Madoshakalaka, #4030]Yew pinned to 0.23 now.
/basename//basename resulting in a 404. [@Siyuan Yan, #4030]Nothing published for this version
Nothing published for this version
Nothing published for this version
Introduce FromQuery and IntoQuery traits. [@Robert Schütte, #3565]
FromQuery and IntoQuery traits. [@Robert Schütte, #3565]Update dependencies. [@Muhammad Hamza, #3171]
Fixed a "call stack exceeded" panic that occurred if a Component was updated many times [[@jstarry], #1624]
Component was updated many times [[@jstarry], #1624]Added prompt function to DialogService. [[@teymour-aldridge], #1350]
Key now implements Deref . [[@faulesocke], #1370]
Fixed regression where component rendered lifecycle method was called before children components finish rendering. [[@jstarry], #1360]
rendered lifecycle method was called before children components finish rendering. [[@jstarry], #1360]Fix basename handling in router. [@Muhammad Hamza, #2297]
NodeRef passing to <Link> for yew-router. [[@Athan Clark](https://github.com/Athan Clark), #2877]#[cfg(feature = "render")] and yew::Renderer. [[@Kaede Hoshikawa](https://github.com/Kaede Hoshikawa), #2498]Fixed regression where messages sent from Component::create were skipped. [[@jstarry], #1225]
Component::create were skipped. [[@jstarry], #1225]Worker script is now loaded from absolute path. [[@domdir], #1175]
Fix Some Router Behaviour. [@futursolo, #2107]
gloo_utils instead of re-implementing them. [@hamza1311, #2124]RouterButton now prevents default events per default @TheNeikos
RouterButton now prevents default events per default @TheNeikosRemove html! component validation to allow generic components. [[@mankinskin], #1065]
Fix issue where components were rendered out of order. [[@mrh0057] & [@jstarry], #1051]
Connected message was only called for first bridge creation. [[@nicklaswj], #1029]
Connected message was only called for first bridge creation. [[@nicklaswj], #1029]The unit_state module has been removed.
unit_state module has been removed.yew version to 0.17.Fix clippy warning when building with web_sys feature. [[@jstarry], #1001]
web_sys feature. [[@jstarry], #1001]Fix for web-sys version 0.3.36. [[@detegr], #997]
web-sys version 0.3.36. [[@detegr], #997]- ##### 🚨 Breaking changes - Bump yew version to 0.16.
yew version to 0.16.- ##### 🚨 Breaking changes - Bump yew version to 0.15. - #### Extraneous - Remove guide example.
yew version to 0.15.guide example.Fixed docs.rs document generation [254] (Thanks @jetli)
Bumped version of Yew from v0.12.0 to v0.13.0
Fix yew-macro dependency version
yew-macro dependency versionImplemented Default trait for VNode so that unwrap_or_default can be called on Option >. [[@hgzimmerman], #672]
Happy Canadian Thanksgiving! 🦃
Default trait for VNode so that unwrap_or_default can be called on Option<Html<Self>>. [[@hgzimmerman], #672]PartialEq trait for Classes so that is more ergonomic to use Classes type in component props. [[@hgzimmerman], #680]wasm-bindgen dependency to 0.2.50. Please update your wasm-bindgen-cli tool by running cargo install --force --version 0.2.50 -- wasm-bindgen-cli. [[@jstarry], #695]ryu downstream dependency. [[@jstarry], #703]stdweb to 0.4.20 which fixed emscripten builds and unblocked updating wasm-bindgen to 0.2.50. [[@ctaggart], [@jstarry], #683, #694]dyn keywords. [[@benreyn], #687]Improved error handling in macro. [233] @jplatte
RouterLink and RouterButton now support having children Html. This deprecates the text prop. [192]
() to specify state-related type parameters instead of the old macro-based solution. [157]JsSerializable bound on the state parameter used for storing extra data in the history API.[185]text prop. [192]default-features = false, you will have to now specify features = ["service"] to get the same behavior as before. [199]RouterAnchor and RouterButton now have props that take a route: SW where SW: Switch prop instead of a link: String and they now have a mandatory type parameter that specifies this SW. [207]Route's state field now holds a T instead of an Option<T>. [205]unit_state) means that any imports from that module should now be replaced with the path that the type normally has in the project. [157]T to STATE. [208]Redirects that happen in the Router component actually change the url in the browser [171]
Clone in order to be used with the Router [171]Switch trait and Proc Macro enables extracting data from route strings.
Switch trait and Proc Macro enables extracting data from route strings.Router component added.RouterLink and RouterButton helper components added.No changes. Yew pinned to 0.23 now.
No changes.
Yew pinned to 0.23 now.
Fix calls of the disconnected method of on every render. [@Shihpin Tseng, #3435]
Agent v2. [@Kaede Hoshikawa, #2773]
add use_bridge docs. [@Shrey Sudhir, #2722]
use_bridge docs. [[@Shrey Sudhir](https://github.com/Shrey Sudhir), #2722]Fix unmaintained anymap dependency. [@mc1098, #2071]
use_bridge hook for agents. [@futursolo, #2125]gloo_utils instead of re-implementing them. [@hamza1311, #2124]Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →