cargo leptos 0.2.4
`v0.2.4`

latest releases: 0.7.0-preview2, 0.7.0-preview, 0.6.11...
18 months ago

v0.2.3 fixed support for stable Rust, which I temporarily broke in v0.2.2.

The main change in v0.2.4 is a rewritten reactive system. This didn't involve any breaking API changes, except to the extent that fixing bugs and glitchy behavior breaks apps that depend on the glitches. It pretty significantly improves the performance of the reactive system on deep graphs (i.e., when you have a chain of dependencies like memos leading from a signal to an effect), as well as fixing reactive "glitching" behaviors in ways that make effects run more efficiently. You can read more about the details here.

Other changes:

  • improved error handling in <ActionForm/>
  • Support for using signals directly in the view in stable Rust
  • cancelable versions of set_timeout, request_idle_callback, and request_animation_frame (all ending with with_handle)
  • a debounce helper that makes it easy to debounce event listeners
  • allow manual disposal of signals before the current reactive cope is disposed with the SignalDispose trait (and .dispose()) function, to avoid leaking memory if you create a list of signals at the root scope
  • allow batching multiple updates with Scope::batch() before running effects
  • many small bugfixes

What's Changed

  • fix broken stable support by @gbj in #670
  • feat: <ActionForm/> improvements by @gbj in #676
  • chore: apply cargo machete systematically by @gbj in #671
  • feat: new reactive system implementation by @gbj in #637
  • Fixed building in release (cfg(not(debug_assertions))) by @Buzzec in #679
  • feat: maintain order of sources and dependencies by @gbj in #678
  • CI: add --release checks by @gbj in #681
  • fix: leaking stored values by @gbj in #683
  • fix: suppress spurious hydration warnings for tags in leptos_meta by @gbj in #684
  • Added IntoView for ReadSignal and RwSignal in the stable feature. by @Buzzec in #677
  • docs: typos by @ryndin32 in #685
  • fix: allow multiple <Suspense/> on same page during in-order or async rendering by @gbj in #687
  • Added example using Tailwind, CSR (only) and Trunk by @vascokk in #666
  • fix: hydration errors with <Suspense/> inside components in SSR mode by @gbj in #688
  • feat: support diffing inside component children in hot-reload by @gbj in #690
  • examples: remove duplicate console_error_panic_hook::set_once() calls by @elliotwaite in #692
  • docs: beginning work on router docs by @gbj in #682
  • fix issues in release mode (closes #700) by @gbj in #701
  • fix: ignore view markers in DynChild hydration (closes issue #697) by @gbj in #703
  • feat: add cancellable versions of request_animation_frame and request_idle_callback by @elliotwaite in #698
  • feat: add a debounce helper for event listeners by @gbj in #691
  • view! macro not compiling with a non-default scope name by @alexisfontaine in #704
  • Clippy: less .clone() calls, simpler pointer passing. by @martinfrances107 in #707
  • feat: add set_interval_with_handle and deprecate set_interval by @gbj in #709
  • feat: allow manual signal disposal before the scope is disposed by @gbj in #710
  • feat: add Scope::batch() by @gbj in #711
  • chores: clearing up some warnings and adding missing exports by @gbj in #712
  • Used modulo rather than bitwise & for is_odd check. by @carltongibson in #713
  • docs: small fixes by @gbj in #715
  • fix: <Transition/> behavior by @gbj in #717
  • Minor: Simplifiy Box::Pin() call. by @martinfrances107 in #718

New Contributors

Full Changelog: v0.2.2...v0.2.4

Don't miss a new leptos release

NewReleases is sending notifications on new releases.