Skip to content

Latest commit

 

History

History
1452 lines (1103 loc) · 89.4 KB

CHANGELOG.md

File metadata and controls

1452 lines (1103 loc) · 89.4 KB

Changelog

✨ yew 0.21.0 (2023-09-23)

Changelog

🛠 Fixes

⚡️ Features

🚨 Breaking changes

✨ yew-router 0.18.0 (2023-09-xx)

Changelog

⚡️ Features

🚨 Breaking changes

✨ yew-agent 0.3.0 (2023-09-xx)

Changelog

🚨 Breaking changes


✨ yew 0.20.0 (2022-11-xx)

Changelog

✨ yew-router 0.17.0 (2022-11-xx)

Changelog

✨ yew-agent 0.2.0 (2022-11-xx)

Changelog

✨ yew 0.19.0 (2021-11-26)

Changelog

✨ yew-router 0.16.0 (2021-11-26)

Changelog

✨ yew-agent 0.1.0 (2021-11-26)

Changelog

✨ yew 0.18.0 (2021-05-15)

Changelog

✨ yew-router 0.15.0 (2021-05-15)

  • ⚡️ Features

    • None
  • 🛠 Fixes

    • None
  • 🚨 Breaking changes

    • RouterButton now prevents default events per default @TheNeikos

✨ yew 0.17.4 (2020-10-18)

Changelog

  • 🛠 Fixes

    • Fixed a "call stack exceeded" panic that occurred if a Component was updated many times [@jstarry, #1624]

✨ yew 0.17.3 (2020-08-16)

Changelog

  • ⚡️ Features

  • 🛠 Fixes

    • Properties with default type params can now have Properties trait derived. [@siku2, #1408]
    • html!: Improved compile error messages for invalid list fragments. [@siku2, #1445]
    • Batch component updates are processed more efficiently. [@bakape, #1470]

✨ yew 0.17.2 (2020-07-04)

Changelog

  • ⚡️ Features

  • 🛠 Fixes

    • Uncontrolled input values are no cleared when component renders. [@jstarry, #1374]
    • Revert lazy rendering behavior introduced in 0.17.0. Yew will render the component between each update. [@jstarry, #1373]

✨ yew 0.17.1 (2020-07-01)

Changelog

  • 🛠 Fixes

    • Fixed regression where component rendered lifecycle method was called before children components finish rendering. [@jstarry, #1360]

✨ yew-router 0.14.0 (2020-06-30)

  • ⚡️ Features

    • None
  • 🛠 Fixes

    • None
  • 🚨 Breaking changes

    • The unit_state module has been removed.
    • Bump yew version to 0.17.

✨ yew 0.17.0 (2020-06-29)

Changelog

  • ⚡️ Features

    • Allow agents to send input messages to themselves. [@mkawalec, #1278]

    • Rendering performance has been improved by ~20%. [@jstarry, #1296, #1309]

    • html!: Elements can be specified with dynamic tag names. [@siku2, #1266]

      In order to specify a dynamic tag name, wrap an expression with @{..}:

      let tag_name = "input";
      html! { <@{tag_name} value="Hello" /> }
    • HTML button element type can now be specified ("submit", "reset", or "button"). [@captain-yossarian, #1033]

    • All global event listeners can be used as listeners (onerror, onloadend, and many more). [@siku2, #1244]

    • PartialEq is now implemented for VChild when properties also implement PartialEq. [[@kellpossible], #1242]

    • Agent callbacks now accept Into<Message> to improve ergonomics. [@totorigolo, #1215]

    • Agents can now send messages to themselves. [@totorigolo, #1215]

  • 🛠 Fixes

    • Bincode dependency version has been loosened 1.2.1 -> 1. [@jstarry, #1349]

    • Keyed list ordering algorithm has been fixed. [@totorigolo and @jstarry, #1231]

    • html!: key and ref are no longer ignored for components with no properties. [@jstarry, #1338]

    • html!: List rendering behavior is consistent no matter which syntax is chosen. [@siku2, #1275]

      html! { for node_list } is now equivalent to html! { node_list } when node_list is a Vec<VNode>.

    • KeyboardService events can now have default behavior prevented. [[@ghpu], #1286]

    • Yew will check the current DOM input value before comparing with the desired value. [[@ShadoySV], #1268]

    • html!: Void elements (<br/>, <input />) are no longer allowed to have children. [@kaoet, #1217]

    • Local agents no longer require Input and Output to implement Serializable. [@mkawalec, #1195]

  • 🚨 Breaking changes

    • Renders are now done lazily and will not be executed until all updates have been processed. [@jstarry, #1309]

    • ConsoleService, DialogService, IntervalService, RenderService, TimeoutService, and WebSocketService methods are now static. [@teymour-aldridge, #1313]

    • html!: Children no longer implements Renderable. [@siku2, #1275]

      Replace instances of self.props.children.render() with self.props.children.clone().

    • Yew no longer stops propagation of events by default. [@jstarry, #1256]

      Event propagation is usually stopped when you have event listeners attached to nested elements and do not want the event to bubble up from where it was first captured. If your app has this behavior, you can stop propagation by calling stop_propagation() on the desired event.

    • The onsubmit listener now uses FocusEvent instead Event when using web-sys. [@siku2, #1244]

    • The onmousewheel and ontouchenter listeners have been removed. [@siku2, #1244]

    • The ondoubleclick listener is now named ondblclick. [@siku2, #1244]

    • FetchService methods are now static. [@teymour-aldridge, #1235]

      Instead of FetchService::new().fetch(..) you should now use FetchService::fetch(..)

    • The send_message_batch method has been removed from AgentLink. [@totorigolo, #1215]

    • Minimum supported rust version has been bumped from 1.40.0 to 1.42.0. [@mkawalec, #1195]

    • Every agent Reach type is now generic. [@mkawalec, #1195]

      In order to fix your app, simply append <Self> to the reach:

      Reach = Context -> Reach = Context<Self>

    • Removed Global agent because it was never implemented. [@jstarry, #1202]

    • Reduced visibility of internal agent types that were not intended to be public. [@jstarry, #1202]

✨ yew 0.16.2 (2020-05-14)

Changelog

  • 🛠 Fixes

    • Fixed regression where messages sent from Component::create were skipped. [@jstarry, #1225]

✨ yew 0.16.1 (2020-05-14)

Changelog

✨ yew-router 0.13.0 (2020-05-12)

  • 🚨 Breaking changes

    • Bump yew version to 0.16.

✨ yew 0.16 (2020-05-09)

Changelog

  • ⚡️ Features

    • Added optional id, class, and placeholder properties to the Select component. [@Stigjb, #1187]

    • Re-export web-sys from Yew. This allows projects to use web-sys without adding it to their Cargo.toml. [@D4nte, #1176]

    • Added support for Option wrapped class names. [@liquidblock, #1085]

      The following code is now supported:

      let color: &Option<String> = &self.color;
      html! { <div class=("btn", color)></div> }
    • Added get_parent and get_component methods to ComponentLink to allow access to parent component state. [@jstarry, #1151]

  • 🛠 Fixes

    • Fixed bug that caused html class attributes to be set to an empty string. [@liquidblock, #1085]
    • Fixed Private worker lifecycle event sending. [@joaquindk, #1146]
  • 🚨 Breaking changes

    • Bumped minimum supported Rust version (MSRV) to 1.40.0. [@jstarry, #1152]

✨ yew-router 0.12.1 (2020-04-26)

  • 🛠 Fixes

    • Fix infinite rerender bug in 'Router' component. (Thanks @dancespiele)

✨ yew 0.15 (2020-04-25)

Attention!

yew now uses web-sys by default. If your project uses web-sys, you can now drop the "web_sys" feature from your yew dependency. Don't worry stdweb users, we have created a new alias crate for y'all called yew-stdweb. In order to use it, update your Cargo.toml yew dependency to the following:

yew = { version = "0.15", package = "yew-stdweb" }

Dev Survey Results

Thank you to everyone that took the time to fill out the Yew Dev Survey! 🙇‍♂️

Results have been posted here: https://github.com/yewstack/yew/wiki/Dev-Survey-%5BSpring-2020%5D

New Chatroom

We moved from Gitter to Discord! Join us: https://discord.gg/VQck8X4

Changelog

  • ⚡️ Features

    • Add support for single use callbacks (useful for TimeoutService). [@lukerandall, #1125]
    • Updated scheduler to eagerly destroy components to avoid unnecessary renders. [@jstarry, #1072]
    • Add support key attribute to improve rendering performance. [@mrh0057, #1076]
  • 🛠 Fixes

    • Split class names on whitespace when passed within tuple or Vec. [@bryanjswift, #1084]
  • 🚨 Breaking changes

    • The components module has been moved out yew and into yew-components. [@jstarry, #1132]
    • Replaced mounted component lifecycle method with rendered which is called after each render. [@jstarry, #1072]
    • Components must now implement the change method (forgetting this was a very common issue). [@jstarry, #1071]
    • Yew now builds with web-sys by default. [@jstarry, #1092]

✨ yew-router 0.12.0 (2020-04-25)

  • 🚨 Breaking changes

    • Bump yew version to 0.15.
  • Extraneous

    • Remove guide example.

✨ yew 0.14.3 (2020-04-04)

✨ yew 0.14.2 (2020-03-23)

  • 🛠 Fixes

    • Fix issue where components were rendered out of order. [@mrh0057 & @jstarry, #1051]
    • Reset Select component correctly in Firefox / Edge. [@kuy, #987]

✨ yew 0.14.1 (2020-03-14)

  • 🛠 Fixes

    • Connected message was only called for first bridge creation. [@nicklaswj, #1029]

✨ yew 0.14 (2020-03-14)

Happy 🥧 (PI) Day! This release brings a number of bug fixes for web-sys apps and ergonomic improvements to the API. Huge thanks to the community for diving into the migration from stdweb to web-sys so quickly and uncovering these issues!

Changelog

  • ⚡️ Features

  • 🛠 Fixes

    • Fixed panic in stdweb ResizeService event handling. [@nicklaswj, #1014]
    • Removed build check for OS compatibility. [@jstarry, #1019]
    • Fixed interval and timer usage in web-sys workers by updating gloo. [@jstarry, #1018]
    • Send Connected message for Public agents. [@TheNeikos, #1007]
    • Fixed web-sys Public / Private agent initialization. [@jstarry, #1006]
    • Fixed websocket 'text' message handling for web-sys agents. [@jstarry, #1005]
  • 🚨 Breaking changes

    • FetchError::FetchFailed enum variant now wraps a String to hold the failure reason. [@jstarry, #1025]
    • Message APIs now accept Into<Msg>, so calling msg.into() will cause compile errors. [@captain-yossarian, #999]

✨ yew-router 0.11.0 (2020-03-14)

  • 🛠 Fixes

    • Fixed docs.rs document generation [254] (Thanks @jetli)
    • Fixed clippy for web_sys target [249] (Thanks @jetli)

✨ yew 0.13.2 (2020-03-05)

  • 🛠 Fixes

    • Fix clippy warning when building with web_sys feature. [@jstarry, #1001]

✨ yew 0.13.1 (2020-03-04)

  • 🛠 Fixes

✨ yew-router 0.10.0 (2020-03-02)

  • Bumped version of Yew from v0.12.0 to v0.13.0
  • This brings support for web_sys, which necessitates specifying either "web_sys" or "std_web" as a feature. (Thanks @tarkah)

✨ yew 0.13 (2020-03-01)

web-sys support has arrived! @daxpedda spear-headed the effort and courageously integrated web-sys while maintaining support for stdweb through no small amount of cfg macro usage. We chose to continue support for apps built with stdweb because the dev experience is still quite a bit better (Unfortunately cargo-web is incompatible with web-sys). However, the Yew team recognizes that the future of cargo-web of stdweb are uncertain. For this reason, we recommend devs start making the switch over to web-sys and wasm-bindgen. We will likely invest in improving the dev experience with these tools so that switching over is eventually a no-brainer. Please reach out with ideas and feedback for this migration through Github issues and in our Gitter chatroom!

After upgrading to v0.13, devs will now have to opt in to either stdweb or web-sys by using either the "web_sys" or "std_web" on the yew crate in their Cargo.toml.

# Choose `stdweb`
yew = { version = "0.13", features = ["std_web"] }

# Choose `web-sys`
yew = { version = "0.13", features = ["web_sys"] }

Lastly, take note that API docs on https://docs.rs/yew will be using the "web_sys" feature. For "std_web" docs, please visit https://docs.rs/yew-stdweb.

Changelog

  • ⚡️ Features

    • Added support for building apps with web-sys. [@daxpedda, #961]

    • Properties 2.0 [@AlephAlpha, #975]

      Component properties are now assumed to be required unless otherwise annotated with a default value. Check out the proposal issue #928 for more details!

  • 🛠 Fixes

    • Fixed Component children re-rendering bug. [@jstarry, #980]
    • Fixed panic when interacting with agents after receiving an agent message. [@jstarry, #981]
    • Fixed panic when a component with a root VRef node is detached. [@jstarry, #983]
    • Fixed annoying warning when a component with a root VTag node is detached. [@jstarry, #983]
  • 🚨 Breaking changes

    • Changed Properties macro behavior. Check out the proposal issue #928 for more details! [@AlephAlpha, #975]
    • Cleaned up exported apis and doc visibility. [@jstarry, #977]
    • ReaderService methods now return a Result instead of panicking. [@daxpedda, #868]
    • FetchService methods now return a Result instead of panicking. [@daxpedda, #867]
    • StorageService methods now return a Result instead of panicking. [@daxpedda, #827]

✨ yew-router 0.9.0 (2020-02-25)

  • ⚡️ Features

    • Improved error handling in macro. [233] @jplatte
  • 🛠 Fixes

    • Fix RouterAnchor href [228] @jetli
    • Undo non-passive state for prevent_default [240] @jetli

✨ yew 0.12 (2020-02-16)

  • ⚡️ Features

    • Improved ergonomics for html! { for .. }. [@jstarry, #875]
    • Added #[props(default = "fn_path")] for specifying a default property value. [@AlephAlpha,