Releases: yewstack/yew
Releases · yewstack/yew
yew v0.23.0
bumping from 0.22 should require no code changes for most users.
🚨 Breaking changes
- Performance: use_reducer now skips re-rendering for the same Rc. [@Pascal-So, #3945]
NOTE: Whether this is breaking is arguable. It merely breaks the promise that a dispatch will always cause a re-render. For code that wishes to force re-render, use_force_update helps. Please refer to the migration guide for details.
⚡️ Features
&strandStringcan now be used for props of typeOption<Html>. [@Casheeew, #4020]- Added a
scheduler::flushfunction to reliably finish rendering. Useful in testing as a replacement for timeouts. [@Madoshakalaka, #4044]
🛠 Fixes
- No more broken child re-renders while setting parents' states. [@Madoshakalaka, #4060]
- Ergonomics: Bare
Nones are now allowed forOption<T>props in thehtml!macro. [@Madoshakalaka, #4021]
⚙️ Improvements
- Yew's scheduler now yields to the main thread from time to time. This fix will make the web page more responsive and reduce warnings about long tasks in the console. [@Madoshakalaka, #4033]
yew-router v0.20.0
Yew pinned to 0.23 now.
🛠 Fixes
- '/' is no longer wrongly encoded in wildcard route segments. [@Siyuan Yan, #4056]
- Fixed a url corruption issue causing redirection to
/basename//basenameresulting in a 404. [@Siyuan Yan, #4030]
yew-agent v0.5.0
No changes.
Yew pinned to 0.23 now.
yew-v0.22.1
YANKED
Patch version bump with a couple of fixes and improvements
🛠 Fixes
- Domslot hydration panic caused by suspension [@Siyuan Yan, #4003]
- Some
Option<T>and&Ttypes can be used as children again. e.g.Option<AttrValue>[@Siyuan Yan, #4005] - Custom hooks now compile in edition 2024. [@Siyuan Yan, #3992]
- No more stale states in callbacks when multiple events fire rapidly. [@Siyuan Yan, #3988]
- Fixed invisible svg issue on Chrome when included with
from_html_unchecked[@Jason Heard, #3970] - Fixed documentation typo in introduction.mdx. [@devfbe, #3417]
⚙️ Improvements
- Improved SSR example with meta rendering. [@Siyuan Yan, #4011]
- Replaced once_cell with std equivalents (LazyLock, OnceLock). [@Siyuan Yan, #4010]
- Updated rust dependencies.
🐛 KNOWN BUGS
-
Calling
UseStateHandle::seton a handle passed down from a parent does not re-render the child. #4058To avoid this, either uprade to 0.23 or downgrade to 0.22.0
yew v0.22.0, yew-router v0.19.0, yew-agent v0.4.0
✨ yew 0.22.0
🚨 Breaking changes
- MSRV raised to 1.84.0. [@Siyuan Yan, #3900]
- Allow setting JsValue as properties. [@Elina, #3458]
- Remove deprecated
class=(...)syntax. [@Tim Kurdov, #3497] - Remove ToHtml trait. [@Elina, #3453]
- Make
<textarea>a void element (no children allowed anymore). [@Tim Kurdov, #3465]
⚡️ Features
- Add for-loops to
html!macro. [@Tim Kurdov, #3498] - Rename
#[function_component]to#[component]. [@Tim Kurdov, #3885] - Add
serdefeature to yew. [@Tim Kurdov, #3880] - Add
use_refhook. [@Alex Parrill, #3548] - Better ImplicitClone ergonomics. Fewer ampersands and stars needed in the
html!macro. [@Cecile Tonglet, #3508, #3431] [@Siyuan Yan, #3892] - Preserve camelCase for known SVG elements. [@Siyuan Yan, #3875]
- Add
inertto the boolean attributes list. [@Tomoaki Kawada, #3678] - Namespace support for
VRaw. [@Finn Bear, #3640] to_callbackmethods and From impls to convert reducer dispatchers and state setters to callbacks. [@Tim Kurdov, #3519]- Allows converting
ChildrenRenderer<VNode>andVChildto VList. [@Muhammad Hamza, #3444] - Add
CallbackRefthat takes ref in argument instead of value. [@Cecile Tonglet, #3419] - Allow import of layout_test into 3rd party crates. [@rollo-b2c2, #3463]
- Add WASI support for server-side rendering. [@langyo, #3534]
- Make
UseFutureHandleClone. [@Adam Steinberg, #3529] - Allow
Selfin prop fields. [@Tim Kurdov, #3569] - Allow boolean in
html!. [@Tim Kurdov, #3441]
🛠 Fixes
- Fix panic when hydrating components with unstable render order. [@WorldSEnder, #3914]
- Fix hydration panic on camelCased elements. [@Siyuan Yan, #3876]
- Fix autocompletion in html macro for rust-analyzer. [@Moritz Hedtke, #3829]
- Fix empty lists hydration failure when they were placed next to suspensions and other components. [@WorldSEnder, #3630]
- Silenced non-normalised element name warnings for SVG elements. [@Tim Kurdov, #3769]
- Fixed inconsistent clone() requirement when passing Classes to HTML elements vs. components. [@Siddhant Shekhar, #3931]
- Fix svg animation always starting immediately. [@Siyuan Yan, #3892]
- Better diagnostics for byte literals in
html!. [@Tim Kurdov, #3441] - Concise diagnostics for missing props. [@Siyuan Yan, #3873]
- Use the namespace when xmlns attributes are specified. [@JasonCG, #3629]
- Fix generic type missing erros in hooks. [@Michael Meyer, #3633]
- Better duplicate key diagnostics. [@WorldSEnder, #3785]
- Fix autocompletion in html macro for rust-analyzer. [@Moritz Hedtke, #3829]
#[hook]:clippy::multiple_bound_locationslint no longer triggered. [@Tim Kurdov, #3803]
⚙️ Improvements
- Avoid unnecessary scheduling. [@WorldSEnder, #3935]
- Remove the dependency on
boolinator. [@Tim Kurdov, #3420] - Avoid string copy for Key: From implementation. [@flumm, #3858]
- Switch to tokise from tokio [@Elina, #3776]
- use_future_with: simplify code a bit by using read-only use_memo rather than use_state. [@Léo Gaspard, #3610]
📝 Documentation
- website: modernise the Yew usage in the tutorial. [@Tim Kurdov, #3882]
- website: make tutorial testable. [@Tim Kurdov, #3879]
- fix the docs of use_prepared_state. [@Tim Kurdov, #3881]
- Update tutorial placeholder image generator. [@Nashwan Azhari, #3830]
- Refactor(NavbarItem): improve readability and maintainability. [@Brilliantkid, #3763]
- Fix website search. [@Muhammad Hamza, #3522]
- Addition and improvements to example crates. [@Oliver Bilbie, #3587] [@Astariul, #3631] [@Yann Dirson, #3570] [@Cecile Tonglet, #3505] [@Kaede Hoshikawa, #3436]
- Wording and typo fixes. [@Waldir Pimenta, #3754] [@Jupp56, #3429] [@Flavio Moreira, #3418] [@ronanM, #3413] [@Waldir Pimenta, #3754] [@Damien Lachaume, #3790] [@Edwin Amsler, #3788] [@Tushar GH, #3585] [@zhengwu, #3574] [@Raahim Fareed, #3539] [@gcmutator, #3628] [@Raphael Martin Schindler, #3605] [@Jonathan Picques, #3448] [@Ikko Eltociear Ashimine, #3432] [@Daniel Sousa, #3425]
✨ yew-router 0.19.0
⚡️ Features
- Introduce
FromQueryandIntoQuerytraits. [@Robert Schütte, #3565] - Dynamic basename support. [@Finn Bear, #3725]
🚨 Breaking changes
- MSRV raised to 1.84.0. [@Siyuan Yan, #3900]
✨ yew-agent 0.4.0
🛠 Fixes
- Fix calls of the disconnect...
yew-agent-v0.4.0
see the main yew v0.22.0 release notes
yew v0.21.0, yew-router v0.18, yew-agent 0.2.0
What's Changed
- Update documentation to point to the right example by @campeis in #2993
- Bump @docusaurus/plugin-content-pages from 2.1.0 to 2.2.0 in /website by @dependabot in #2945
- Bump @typescript-eslint/eslint-plugin from 5.38.1 to 5.45.0 in /website by @dependabot in #2997
- Bump prettier from 2.7.1 to 2.8.0 in /website by @dependabot in #2996
- Bump minimatch from 3.0.4 to 3.1.2 in /tools/benchmark-struct by @dependabot in #2974
- Website update api doc link in hooks page to version 0.20 by @ta32 in #2994
- Bump @docusaurus/module-type-aliases from 2.1.0 to 2.2.0 in /website by @dependabot in #2995
- Bump loader-utils from 2.0.2 to 2.0.4 in /website by @dependabot in #2966
- Bump minimatch, recursive-readdir and serve-handler in /website by @dependabot in #2976
- Bump minimatch from 3.0.4 to 3.1.2 in /tools/benchmark-hooks by @dependabot in #2975
- Bump @docusaurus/core from 2.0.1 to 2.2.0 in /website by @dependabot in #2946
- Update GitHub Actions by @futursolo in #2998
- Update introduction.mdx by @tieje in #3010
- Name the correct feature in the
start_appmigration section. by @alexschrod in #3016 - Bump @types/react-helmet from 6.1.5 to 6.1.6 in /website by @dependabot in #3008
- Bump @svgr/webpack from 6.3.1 to 6.5.1 in /website by @dependabot in #3005
- Bump peterjgrainger/action-create-branch from 2.0.1 to 2.4.0 by @dependabot in #3004
- Bump actions/cache from 2 to 3 by @dependabot in #3000
- Bump hmarr/auto-approve-action from 2 to 3 by @dependabot in #3001
- Bump jetli/wasm-pack-action from 0.3.0 to 0.4.0 by @dependabot in #3002
- Bump Swatinem/rust-cache from 1 to 2 by @dependabot in #3003
- Bump @docusaurus/plugin-content-docs from 2.1.0 to 2.2.0 in /website by @dependabot in #3006
- Bump @docusaurus/plugin-google-analytics from 2.1.0 to 2.2.0 in /website by @dependabot in #3007
- Bump @typescript-eslint/parser from 5.33.0 to 5.45.0 in /website by @dependabot in #3009
- fix: dead links by @Banyc in #3013
- Point links in docs for 0.20 to stable versions by @WorldSEnder in #3019
- Fix clippy::let_unit_value lint in propless components by @WorldSEnder in #2970
- Mention certain components must be children of Router by @sasacocic in #2913
- Make Classes cheap to clone by @cecton in #3021
- Fix top-level reconciliation in portals by @WorldSEnder in #3020
- Assert there are no circular references by @WorldSEnder in #3025
- Consolidate publish workflows into one by @hamza1311 in #3026
- update migration docs to be more explicit by @spanishpear in #3028
- Update benchmark crates and workflow by @WorldSEnder in #3027
- Fix post-benchmark action by @WorldSEnder in #3032
- Add impl IntoIterator on &Classes by @cecton in #3038
- Try fixing the post-comment benchmark action by @WorldSEnder in #3045
- Try fixing the post-comment benchmark action, take 2 by @WorldSEnder in #3047
- website/docs/tutorial: fix two typos by @fschr in #2971
- Fix typo in wasm-bindgen doc page by @michaeljones in #2963
- Reentrant event listeners by @WorldSEnder in #3037
- Only handle "normal" clicks on s by @kaisalmon in #3056
- remove "Next loop" - introduction repeating by @jesper-olsen in #3040
- Add hurlurl to awesome.md by @lucasmerlin in #3051
- Update SVG colors by @siku2 in #3064
- Use SVG for logo on website by @hamza1311 in #3065
- Makes the web worker in the
web_worker_fibexample use a relative path for the web worker by @kaisalmon in #3057 - Bump @typescript-eslint/eslint-plugin from 5.45.0 to 5.47.1 in /website by @dependabot in #3069
- Bump actions/upload-artifact from 2 to 3 by @dependabot in #3074
- Bump jetli/trunk-action from 0.1.0 to 0.2.0 by @dependabot in #3073
- Bump @docusaurus/plugin-client-redirects from 2.1.0 to 2.2.0 in /website by @dependabot in #3072
- Bump prettier from 2.8.0 to 2.8.1 in /website by @dependabot in #3070
- Bump json5 from 2.2.1 to 2.2.3 in /website by @dependabot in #3079
- Bump actions/setup-node from 1 to 3 by @dependabot in #3076
- Bump JamesSingleton/is-organization-member from 1.0.0 to 1.0.1 by @dependabot in #3075
- Add method map() on Children to wrap easily by @cecton in #3039
- docs: fix markdown link by @eventualbuddha in #3081
- Prefer pop_first if it is available by @futursolo in #3084
- docs: Fix router documentation by @finga in #3078
- Implement an internal DomSlot for positioning instead of NodeRef by @WorldSEnder in #3048
- Fix typo in html! concept docs by @lukependleton in #3096
- Bump @typescript-eslint/parser from 5.45.0 to 5.50.0 in /website by @dependabot in #3103
- Bump jetli/trunk-action from 0.2.0 to 0.4.0 by @dependabot in #3106
- Bump @docusaurus/core from 2.2.0 to 2.3.0 in /website by @dependabot in #3102
- Bump prettier from 2.8.1 to 2.8.3 in /website by @dependabot in #3104
- Bump @typescript-eslint/eslint-plugin from 5.47.1 to 5.50.0 in /website by @dependabot in #3105
- Fix clippy for 1.67 by @futursolo in #3100
- Deduplicate suspensions when considering subsequent renders for suspensions by @futursolo in #3099
- Separate PR and master size collection by @futursolo in #3101
- Improve grammar in website/docs by @jsjolund in #3092
- Pass string types to Html props by @cecton in #2872
- Fix in custom-hooks.mdx by @TheBestTvarynka in #3094
- Update examples/README with correct starter templates link by @Enigo in #3098
- Implement component name completion inside
html!macro for IntelliJ Rust plugin by @vlad20012 in #2972 - Add link to the rust-yew vscode plugin to the yew docs by @ttax00 in #3116
- Bump actions/checkout from 2 to 3 by @dependabot in #3137
- Fix website workflow by @futursolo in #3110
- Fix spelling in guides by @fosskers in #3109
- Fix Dependabot and GitHub Actions by @futursolo in #3111
- Bump actions/checkout from 2 to 3 by @dependabot in #3141
- Bump @docusaurus/plugin-content-docs from 2.2.0 to 2.3.1 in /website by @dependabot in #3133
- Bump @docusaurus/plugin-client-redirects from 2.2.0 to 2.3.1 in /website by @dependabot in #3132
- Bump @typescript-eslint/parser from 5.50.0 to 5.54.0 in /website by @dependabot in #3131
- Bump @docusaurus/theme-classic from 2.1.0 to 2.3.1 in /website by @dependabot in #3134
- Bump prettier from 2.8.3 to 2.8.4 in /website by @dependabot in #3135
- Bump git2 from 0.15.0 to 0.16.1 by @dependabot in #3142
- Bump once_cell from 1.17.0 to 1.17.1 by @dependabot in #3143
- Bump base64ct from 1.5.3 to 1.6.0 by @dependabot in #3144
- Bump tokio from 1.25.0 to 1.26.0 by @dependabot in #3146
- Fix benchmark workflow by @futursolo in #3112
- Set CORS headers for tutorial/data.json by @hamza1311 in #3162
- Fix clippy for Rust 1.68 by @futursolo in #31...
yew-agent-v0.2.0
chore: Release yew-agent version 0.2.0
yew-v0.20.0
chore: Release yew version 0.20.0
yew-router-v0.17.0
chore: Release yew-router version 0.17.0