NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4882 most downloaded on crates.io
A framework for making client-side single-page apps
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 20 of 21 stable releases
4 versions withdrawn
withdrawn after publishing
7 years old
25 releases · first in 2019
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]Domslot hydration panic caused by suspension [@Siyuan Yan, #4003]
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]
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]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 @TheNeikosConnected 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.- ##### 🚨 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]Your coding agent can read these notes before it upgrades. Set up the MCP server →