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. [@Madoshakalaka, #4056]
- Fixed a url corruption issue causing redirection to
/basename//basenameresulting in a 404. [@Madoshakalaka, #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 [@Madoshakalaka, #4003]
- Some
Option<T>and&Ttypes can be used as children again. e.g.Option<AttrValue>[@Madoshakalaka, #4005] - Custom hooks now compile in edition 2024. [@Madoshakalaka, #3992]
- No more stale states in callbacks when multiple events fire rapidly. [@Madoshakalaka, #3988]
- Fixed invisible svg issue on Chrome when included with
from_html_unchecked[@101100, #3970] - Fixed documentation typo in introduction.mdx. [@devfbe, #3417]
⚙️ Improvements
- Improved SSR example with meta rendering. [@Madoshakalaka, #4011]
- Replaced once_cell with std equivalents (LazyLock, OnceLock). [@Madoshakalaka, #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. [@Madoshakalaka, #3900]
- Allow setting JsValue as properties. [@ranile, #3458]
- Remove deprecated
class=(...)syntax. [@its-the-shrimp, #3497] - Remove ToHtml trait. [@ranile, #3453]
- Make
<textarea>a void element (no children allowed anymore). [@its-the-shrimp, #3465]
⚡️ Features
- Add for-loops to
html!macro. [@its-the-shrimp, #3498] - Rename
#[function_component]to#[component]. [@its-the-shrimp, #3885] - Add
serdefeature to yew. [@its-the-shrimp, #3880] - Add
use_refhook. [@ColonelThirtyTwo, #3548] - Better ImplicitClone ergonomics. Fewer ampersands and stars needed in the
html!macro. [@cecton, #3508, #3431] [@Madoshakalaka, #3892] - Preserve camelCase for known SVG elements. [@Madoshakalaka, #3875]
- Add
inertto the boolean attributes list. [@kawadakk, #3678] - Namespace support for
VRaw. [@finnbear, #3640] to_callbackmethods and From impls to convert reducer dispatchers and state setters to callbacks. [@its-the-shrimp, #3519]- Allows converting
ChildrenRenderer<VNode>andVChildto VList. [@ranile, #3444] - Add
CallbackRefthat takes ref in argument instead of value. [@cecton, #3419] - Allow import of layout_test into 3rd party crates. [@rollo-b2c2, #3463]
- Add WASI support for server-side rendering. [@langyo, #3534]
- Make
UseFutureHandleClone. [@AdamSteinberg1, #3529] - Allow
Selfin prop fields. [@its-the-shrimp, #3569] - Allow boolean in
html!. [@its-the-shrimp, #3441]
🛠 Fixes
- Fix panic when hydrating components with unstable render order. [@WorldSEnder, #3914]
- Fix hydration panic on camelCased elements. [@Madoshakalaka, #3876]
- Fix autocompletion in html macro for rust-analyzer. [@mohe2015, #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. [@its-the-shrimp, #3769]
- Fixed inconsistent clone() requirement when passing Classes to HTML elements vs. components. [@sshekhar563, #3931]
- Fix svg animation always starting immediately. [@Madoshakalaka, #3892]
- Better diagnostics for byte literals in
html!. [@its-the-shrimp, #3441] - Concise diagnostics for missing props. [@Madoshakalaka, #3873]
- Use the namespace when xmlns attributes are specified. [@jasoncg, #3629]
- Fix generic type missing erros in hooks. [@Ichmed, #3633]
- Better duplicate key diagnostics. [@WorldSEnder, #3785]
- Fix autocompletion in html macro for rust-analyzer. [@mohe2015, #3829]
#[hook]:clippy::multiple_bound_locationslint no longer triggered. [@its-the-shrimp, #3803]
⚙️ Improvements
- Avoid unnecessary scheduling. [@WorldSEnder, #3935]
- Remove the dependency on
boolinator. [@its-the-shrimp, #3420] - Avoid string copy for Key: From implementation. [@flumm, #3858]
- Switch to tokise from tokio [@ranile, #3776]
- use_future_with: simplify code a bit by using read-only use_memo rather than use_state. [@Ekleog, #3610]
📝 Documentation
- website: modernise the Yew usage in the tutorial. [@its-the-shrimp, #3882]
- website: make tutorial testable. [@its-the-shrimp, #3879]
- fix the docs of use_prepared_state. [@its-the-shrimp, #3881]
- Update tutorial placeholder image generator. [@aznashwan, #3830]
- Refactor(NavbarItem): improve readability and maintainability. [@brilliantkid87, #3763]
- Fix website search. [@ranile, #3522]
- Addition and improvements to example crates. [@Oliver-Bilbie, #3587] [@astariul, #3631] [@ydirson, #3570] [@cecton, #3505] [@futursolo, #3436]
- Wording and typo fixes. [@waldyrious, #3754] [@Jupp56, #3429] [@fdvmoreira, #3418] [@ronanM, #3413] [@waldyrious, #3754] [@dlachaume, #3790] [@RandomInsano, #3788] [@Tushar12222, #3585] [@rockyzhengwu, #3574] [@raahimfareed, #3539] [@gcmutator, #3628] [@rmschindler, #3605] [@JonathanPicques, #3448] [@eltociear, #3432] [@moyeah, #3425]
✨ yew-router 0.19.0
⚡️ Features
- Introduce
FromQueryandIntoQuerytraits. [@Roba1993, #3565] - Dynamic basename support. [@finnbear, #3725]
🚨 Breaking changes
- MSRV raised to 1.84.0. [@Madoshakalaka, #3900]
✨ yew-agent 0.4.0
🛠 Fixes
⚡️ Features
- Support module type web worker. [@LucaCappelletti94, #3859]
🚨 Breaking changes
- MSRV raised to 1.84.0. [@Madoshakalaka, #3900]
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