mirror of
https://github.com/adoyle0/leptos-use.git
synced 2025-01-23 09:09:21 -05:00
079509efd3
Fix dates in changelog Use cache after install deps in Publish book workflow
394 lines
No EOL
11 KiB
Markdown
394 lines
No EOL
11 KiB
Markdown
# Changelog
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [0.10.1] - 2024-01-31
|
|
|
|
### Fix 🍕
|
|
|
|
- Fixed docs.rs build
|
|
|
|
## [0.10.0] - 2024-01-31
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_broadcast_channel`
|
|
- `use_cookie` (thanks to @rakshith-ravi)
|
|
- `use_mouse_in_element`
|
|
- `use_device_orientation` (thanks to @mondeja)
|
|
- `use_device_pixel_ratio` (thanks to @mondeja)
|
|
- `use_element_bounding`
|
|
|
|
### Breaking Changes 🛠
|
|
|
|
- The `leptos` version is now 0.6
|
|
- The trait `Codec` has been renamed to `StringCodec` and has been moved to `util::StringCodec`.
|
|
- The struct `StringCodec` has been renamed to `FromToStringCodec` and has been moved to `util::FromToStringCodec`.
|
|
- The structs `JsonCodec` and `ProstCodec` have been moved to `util` as well.
|
|
- The function `use_storage` now requires type parameters for the stored type and the codec like all the other
|
|
`...storage...` functions.
|
|
|
|
### Fixes 🍕
|
|
|
|
- Fixed `use_geolocation` SSR compile issue
|
|
- Fixed `use_intl_number_format` maximum fraction digits option
|
|
|
|
### Changes 🔥
|
|
|
|
- The `UseMouseReturn` signals `x`, `y`, and `source_type` are now of type `Signal<f64>` instead of `ReadSignal<f64>`.
|
|
- You can now convert `leptos::html::HtmlElement<T>` into `Element(s)MaybeSignal`. This should make functions a lot easier to use in directives.
|
|
- There's now a chapter in the book especially for `Element(s)MaybeSignal`.
|
|
- Throttled or debounced callbacks (in watch_* or *_fn) no longer are called after the containing scope was cleaned up.
|
|
- The document returned from `use_document` now supports the methods `query_selector` and `query_selector_all`.
|
|
|
|
## [0.9.0] - 2023-12-06
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_display_media` (thanks to @seanaye)
|
|
|
|
### Breaking Changes 🛠
|
|
|
|
- (@feral-dot-io) The use `use_<type>_storage` functions have been rewritten to use `Codec`s instead of always
|
|
requiring `serde`.
|
|
- This also removes the feature `storage`
|
|
- By default the `StringCodec` is used which relies on types implementing `FromString + ToString`
|
|
- If you want to use `JsonCodec` you have to enable the feature `serde`
|
|
- If you want to use `ProstCodec` (new!) you have to enable the feature `prost`.
|
|
- (@feral-dot-io) The Rust flag `--cfg=web_sys_unstable_apis` is not needed anymore since relevant `web_sys` APIs are
|
|
now stable.
|
|
This affects in particular
|
|
- `use_element_size`
|
|
- `use_resize_observer`
|
|
|
|
### Fixes 🍕
|
|
|
|
- `use_raf_fn` and `use_timestamp` no longer spam warnings because of `get`ting signals outside of reactive contexts.
|
|
- `use_infinite_scroll` no longer calls the callback twice for the same event
|
|
- `use_scroll` now uses `try_get_untracked` in the debounced callback to avoid panics if the context has been destroyed
|
|
while the callback was waiting to be called.
|
|
- `use_idle` works properly now (no more idles too early).
|
|
- `use_web_notification` doesn't panic on the server anymore.
|
|
|
|
## [0.8.2] - 2023-11-09
|
|
|
|
### Fixes 🍕
|
|
|
|
- Fixed SSR for
|
|
- use_timestamp
|
|
- use_raf_fn
|
|
- use_idle
|
|
|
|
## [0.8.1] - 2023-10-28
|
|
|
|
### Fixes 🍕
|
|
|
|
- Using strings for `ElementMaybeSignal` and `ElementsMaybeSignal` is now SSR safe.
|
|
- This fixes specifically `use_color_mode` to work on the server.
|
|
|
|
## [0.8.0] - 2023-10-24
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_web_notification` (thanks to @centershocks44)
|
|
- `use_infinite_scroll`
|
|
- `use_service_worker` (thanks to @lpotthast)
|
|
|
|
### Breaking Changes 🛠
|
|
|
|
- `use_scroll` returns `impl Fn(T) + Clone` instead of `Box<dyn Fn(T)>`.
|
|
|
|
### Other Changes 🔥
|
|
|
|
- `UseScrollReturn` is now documented
|
|
|
|
## [0.7.2] - 2023-10-21
|
|
|
|
### Fixes 🍕
|
|
|
|
- Some functions still used `window()` which could lead to panics in SSR. This is now fixed.
|
|
Specifically for `use_draggable`.
|
|
|
|
## [0.7.1] - 2023-10-02
|
|
|
|
### New Function 🚀
|
|
|
|
- `use_sorted`
|
|
|
|
## [0.7.0] - 2023-09-30
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_timestamp`
|
|
- `use_idle`
|
|
- `use_document`
|
|
- `use_window`
|
|
- `use_geolocation`
|
|
- `signal_debounced`
|
|
- `signal_throttled`
|
|
|
|
### Breaking Changes 🛠
|
|
|
|
- Leptos version is now 0.5
|
|
- No `cx: Scope` params are supported/needed anymore because of the changes in Leptos.
|
|
Please check the release notes of Leptos 0.5 for how to upgrade.
|
|
- `watch` is now deprecated in favor of `leptos::watch` and will be removed in a future release.
|
|
`watch_with_options` will continue to exist.
|
|
- `use_event_listener_with_options` now takes a `UseEventListenerOptions` instead of
|
|
a `web_sys::AddEventListenerOptions`.
|
|
- `use_mutation_observer_with_options` now takes a `UseMutationObserverOptions` instead of
|
|
a `web_sys::MutationObserverInit`.
|
|
- `use_websocket`:
|
|
- takes now a `&str` instead of a `String` as its `url` parameter.
|
|
- same for the returned `send` method.
|
|
- The `ready_state` return type is now renamed to `ConnectionReadyState` instead of `UseWebSocketReadyState`.
|
|
- The returned signals `ready_state`, `message`, `message_bytes` have now the type
|
|
`Signal<...>` instead of `ReadSignal<...>` to make them more consistent with other functions.
|
|
- The options `reconnect_limit` and `reconnect_interval` now take a `u64` instead of `Option<u64>` to improve DX.
|
|
- The option `manual` has been renamed to `immediate` to make it more consistent with other functions.
|
|
To port please note that `immediate` is the inverse of `manual` (`immediate` = `!manual`).
|
|
- Added documentation how pass it ergonomically as context.
|
|
- `use_color_mode`:
|
|
- The optional `on_changed` handler parameters have changed slightly. Please refer to the docs for more details.
|
|
- Throttled or debounced functions cannot be `FnOnce` anymore.
|
|
- All traits `ClonableFn...` have been removed.
|
|
|
|
### Other Changes 🔥
|
|
|
|
- `use_websocket` can use relative urls now
|
|
- Callbacks in options don't require to be cloneable anymore
|
|
- Callback in `use_raf_fn` doesn't require to be cloneable anymore
|
|
- All (!) functions can now be safely called on the server. Specifically this includes the following that before
|
|
panicked on the server:
|
|
- `use_scroll`
|
|
- `use_event_listener`
|
|
- `use_element_hover`
|
|
- `on_click_outside`
|
|
- `use_drop_zone`
|
|
- `use_element_size`
|
|
- `use_element_visibility`
|
|
- `use_resize_observer`
|
|
- `use_intersection_observer`
|
|
- `use_mutation_observer`
|
|
|
|
### Fixes 🍕
|
|
|
|
- `use_element_visibility` didn't work in some cases on Chrome properly. This has been fixed.
|
|
|
|
## [0.6.3] - 2023-08-12
|
|
|
|
### Fixes 🍕
|
|
|
|
- `use_websocket` panicked after unmount
|
|
|
|
## [0.6.2] - 2023-08-03
|
|
|
|
### Fixes 🍕
|
|
|
|
- `use_event_listener_with_options` removes the handlers now correctly.
|
|
|
|
## [0.6.1] - 2023-08-03
|
|
|
|
### Fixes 🍕
|
|
|
|
- `use_storage` now uses `.get_untracked()` to avoid warnings.
|
|
|
|
## [0.6.0] - 2023-07-17
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_draggable`
|
|
- `use_to_string`
|
|
- `is_err`
|
|
- `is_ok`
|
|
- `is_none`
|
|
- `is_some`
|
|
- `use_raf_fn`
|
|
|
|
### Breaking Changes 🛠
|
|
|
|
- The following functions now accept a `MaybeRwSignal` as their initial/default value which means
|
|
you can use a synchronized `RwSignal` in those places.
|
|
- `use_color_mode`
|
|
- `use_cycle_list`
|
|
- `use_favicon`
|
|
- `use_storage`
|
|
- `use_local_storage`
|
|
- `use_session_storage`
|
|
- Instead of returning `ReadSignal`, the following functions now return `Signal`.
|
|
- `use_color_mode`
|
|
- `use_favicon`
|
|
- `use_storage`
|
|
- `use_local_storage`
|
|
- `use_session_storage`
|
|
|
|
### Fixes 🍕
|
|
|
|
- `use_drop_zone` now uses `.get_untracked()` in event handlers
|
|
|
|
## [0.5.0] - 2023-07-15
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_drop_zone`
|
|
- `use_websocket` (thanks @sectore)
|
|
- `use_intl_number_format`
|
|
|
|
### Changes 🔥
|
|
|
|
- Crate is ready for Server-Side Rendering. Enable feature `ssr` like you do for `leptos`.
|
|
|
|
## [0.4.1] - 2023-07-07
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_window_focus`
|
|
- `use_window_scroll`
|
|
- `use_document_visibility`
|
|
|
|
## [0.4.0] - 2023-07-03
|
|
|
|
### Breaking Changes 🛠
|
|
|
|
- Required `leptos` version is now 0.4
|
|
- Following the changes in `leptos` there is no longer a `stable` crate feature required in order to use this library
|
|
with a stable toolchain.
|
|
If you want to use it with a nightly toolchain you have to enable the `nightly` feature only on `leptos` directly.
|
|
No change is required for `leptos-use` itself.
|
|
|
|
## [0.3.3] - 2023-06-24
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_color_mode`
|
|
- `use_cycle_list`
|
|
- `use_active_element`
|
|
|
|
### Changes 🔥
|
|
|
|
- You can now use this crate with the `stable` toolchain (thanks @lpotthast)
|
|
- Set leptos dependency to `default-features = false` in order to enable SSR.
|
|
|
|
## [0.3.2] - 2023-06-17
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_css_var`
|
|
- `use_element_hover`
|
|
|
|
## [0.3.1] - 2023-06-15
|
|
|
|
### New Functions 🚀
|
|
|
|
- `use_interval_fn`
|
|
- `use_interval`
|
|
|
|
## [0.3.0] - 2023-06-13
|
|
|
|
### Breaking Changes 🛠
|
|
|
|
- `use_event_listener` no longer returns a `Box<dyn Fn()>` but a `impl Fn() + Clone`
|
|
|
|
### Changes 🔥
|
|
|
|
- You can now specify a `&str` or `Signal<String>` with CSS selectors wherever a node ref is accepted
|
|
- Callbacks of the following functions no longer require `Clone`
|
|
- `use_resize_observer`
|
|
- `use_intersection_observer`
|
|
- These functions now also accept multiple target elements in addition to a single one:
|
|
- `use_resize_observer`
|
|
- `use_intersection_observer`
|
|
|
|
### New Functions 🚀
|
|
|
|
- `whenever`
|
|
- `use_mutation_observer`
|
|
- `use_abs`
|
|
- `on_click_outside`
|
|
|
|
## [0.2.1] - 2023-06-11
|
|
|
|
### New Functions
|
|
|
|
- `use_intersection_observer`
|
|
- `use_element_visibility`
|
|
|
|
## [0.2.0] - 2023-06-11
|
|
|
|
### Breaking Changes
|
|
|
|
- `watch` doesn't accept `immediate` as a direct argument anymore. This is only provided by the option variant.
|
|
- `watch` has now variant `watch_with_options` which allows for debouncing and throttling.
|
|
|
|
### New Functions
|
|
|
|
- `use_storage`
|
|
- `use_local_storage`
|
|
- `use_session_storage`
|
|
- `watch_debounced`
|
|
- `watch_throttled`
|
|
- `watch_pausable`
|
|
- `use_ceil`
|
|
- `use_round`
|
|
- `use_media_query`
|
|
- `use_preferred_dark`
|
|
- `use_preferred_contrast`
|
|
- `use_favicon`
|
|
- `use_breakpoints`
|
|
|
|
### Other Changes
|
|
|
|
- Function count badge in readme
|
|
|
|
## [0.1.8/9] - 2023-06-05
|
|
|
|
- Fixed documentation and doc tests running for functions behind `#[cfg(web_sys_unstable_apis)]`
|
|
|
|
## [0.1.7] - 2023-06-05
|
|
|
|
### New Function
|
|
|
|
- `use_element_size`
|
|
|
|
## [0.1.6] - 2023-06-03
|
|
|
|
### Changes
|
|
|
|
- Fixed documentation so all feature are documented
|
|
|
|
## [0.1.5] - 2023-06-03
|
|
|
|
### New Functions
|
|
|
|
- `use_floor`
|
|
- `use_max`
|
|
- `use_min`
|
|
|
|
### Changes
|
|
|
|
- New feature: `math` that has to be activated in order to use the math functions.
|
|
|
|
## [0.1.4] - 2023-06-02
|
|
|
|
### New Functions
|
|
|
|
- `use_supported`
|
|
- `use_resize_observer`
|
|
- `watch`
|
|
- `use_mouse`
|
|
|
|
### Changes
|
|
|
|
- Use the crate `default-struct-builder` to provide ergonimic function options.
|
|
|
|
## [0.1.3] - 2023-05-28
|
|
|
|
### New Functions
|
|
|
|
- `use_scroll`
|
|
- `use_debounce_fn`
|
|
|
|
### Other Changes
|
|
|
|
- Better and more beautiful demo integration into the guide. |