vueuse/vueuse
### [`v9.5.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.5.0)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.4.0...v9.5.0)
##### 🚀 Features
- **onClickOutside**: Support options in component - by [@fiadone](https://togithub.com/fiadone) and [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/2391](https://togithub.com/vueuse/vueuse/issues/2391)
- **useEventListener**: Accept multiple `events` or `listeners` - by [@vaakian](https://togithub.com/vaakian) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2180](https://togithub.com/vueuse/vueuse/issues/2180)
- **useFetch**: Allow configure lifecycle handler behavior - by [@climba03003](https://togithub.com/climba03003) in [https://github.com/vueuse/vueuse/issues/2333](https://togithub.com/vueuse/vueuse/issues/2333)
- **useFetch**: Support sending the custom request to an absolute URL regardless baseURL - by [@sun0day](https://togithub.com/sun0day) in [https://github.com/vueuse/vueuse/issues/2210](https://togithub.com/vueuse/vueuse/issues/2210)
- **useGeolocation**: Pause and resume controls - by [@benax-se](https://togithub.com/benax-se) in [https://github.com/vueuse/vueuse/issues/2376](https://togithub.com/vueuse/vueuse/issues/2376)
- **useIDBKeyval**: New integration - Idb-keyval wrapper - by [@Harmony222](https://togithub.com/Harmony222) in [https://github.com/vueuse/vueuse/issues/2335](https://togithub.com/vueuse/vueuse/issues/2335)
- **useWebsocket**: Url to be ref/computed - by [@rotu](https://togithub.com/rotu) in [https://github.com/vueuse/vueuse/issues/2367](https://togithub.com/vueuse/vueuse/issues/2367)
##### 🐞 Bug Fixes
- **onClickOutside**: Access correct `document` - by [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/2404](https://togithub.com/vueuse/vueuse/issues/2404)
- **usePointerSwipe**: Handle secondary clicks properly - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/2379](https://togithub.com/vueuse/vueuse/issues/2379)
- **useScroll**: The expected result cannot be returned after setting the throttle parameter - by [@LittleSound](https://togithub.com/LittleSound) in [https://github.com/vueuse/vueuse/issues/2390](https://togithub.com/vueuse/vueuse/issues/2390)
- **useWebSocket**: Don't hide pong setTimeout reference - by [@kellerza](https://togithub.com/kellerza) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2206](https://togithub.com/vueuse/vueuse/issues/2206)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.4.0...v9.5.0)
### [`v9.4.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.4.0)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.3.1...v9.4.0)
##### 🚀 Features
- **refDebounced**: Use MaybeComputedRef for ms - by [@dominikklein](https://togithub.com/dominikklein) in [https://github.com/vueuse/vueuse/issues/2337](https://togithub.com/vueuse/vueuse/issues/2337)
- **useClipboard**: Support legacy copy - by [@lumdzeehol](https://togithub.com/lumdzeehol) in [https://github.com/vueuse/vueuse/issues/2336](https://togithub.com/vueuse/vueuse/issues/2336)
- **useVirtualList**: Horizontal list - by [@Surof1n](https://togithub.com/Surof1n) in [https://github.com/vueuse/vueuse/issues/2310](https://togithub.com/vueuse/vueuse/issues/2310)
- **useWebWorker**: Support overloads - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2259](https://togithub.com/vueuse/vueuse/issues/2259)
##### 🐞 Bug Fixes
- **useCounter**: Set and reset should also be limited - by [@iChengbo](https://togithub.com/iChengbo) in [https://github.com/vueuse/vueuse/issues/2179](https://togithub.com/vueuse/vueuse/issues/2179)
- **useRouteHash, useRouteParams, useRouteQuery**: Override only selected route param - by [@dvh91](https://togithub.com/dvh91) in [https://github.com/vueuse/vueuse/issues/2350](https://togithub.com/vueuse/vueuse/issues/2350)
- **useWebSocket**: Don't reconnect WebSocket if `close` issued between retries - by [@rotu](https://togithub.com/rotu) in [https://github.com/vueuse/vueuse/issues/2330](https://togithub.com/vueuse/vueuse/issues/2330)
- **watchThrottled**: Wait incorrect remaining time - by [@sun0day](https://togithub.com/sun0day) in [https://github.com/vueuse/vueuse/issues/2267](https://togithub.com/vueuse/vueuse/issues/2267)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.3.1...v9.4.0)
### [`v9.3.1`](https://togithub.com/vueuse/vueuse/releases/tag/v9.3.1)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.3.0...v9.3.1)
##### 🚀 Features
- **fromEvent**: Support HTMLElement - by [@rorry121](https://togithub.com/rorry121) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2048](https://togithub.com/vueuse/vueuse/issues/2048)
- **useAxios**: Add R genericity type for custom response data - by [@jahnli](https://togithub.com/jahnli) in [https://github.com/vueuse/vueuse/issues/2304](https://togithub.com/vueuse/vueuse/issues/2304)
- **useFocusTrap**: Enable options in component - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2321](https://togithub.com/vueuse/vueuse/issues/2321)
- **useSorted**: New function - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1799](https://togithub.com/vueuse/vueuse/issues/1799)
##### 🐞 Bug Fixes
- **nuxt**: Wrap ssr plugin in defineNuxtPlugin - by [@dan-online](https://togithub.com/dan-online) in [https://github.com/vueuse/vueuse/issues/2326](https://togithub.com/vueuse/vueuse/issues/2326)
- **useBluetooth**: Use `shallowRef` for bluetooth instance - by [@antfu](https://togithub.com/antfu) [(0199b)](https://togithub.com/vueuse/vueuse/commit/0199b983)
- **useFetch**: Fix incorrect `chainCallbacks` behavior - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2231](https://togithub.com/vueuse/vueuse/issues/2231)
- **useFirestore**: Auto dispose documents - by [@Zehir](https://togithub.com/Zehir) in [https://github.com/vueuse/vueuse/issues/2318](https://togithub.com/vueuse/vueuse/issues/2318)
- **useStorage**: Fixed data desynchronization in case of clearing storage - by [@yuryrudey](https://togithub.com/yuryrudey) in [https://github.com/vueuse/vueuse/issues/2221](https://togithub.com/vueuse/vueuse/issues/2221)
- **useTitle**: Prevent `observe` and `titleTemplate` been specified at the same time - by [@huynl-96](https://togithub.com/huynl-96) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2049](https://togithub.com/vueuse/vueuse/issues/2049)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.3.0...v9.3.1)
### [`v9.3.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.3.0)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.2.0...v9.3.0)
##### 🚀 Features
- Optional callback for useInterval, useTimeout & useTimestamp - by [@Waleed-KH](https://togithub.com/Waleed-KH) in [https://github.com/vueuse/vueuse/issues/2240](https://togithub.com/vueuse/vueuse/issues/2240)
- **onClickOutside**: Add `bubble` modifier to directive - by [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/2183](https://togithub.com/vueuse/vueuse/issues/2183)
- **onKeyStroke**: Support capture all handler - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2197](https://togithub.com/vueuse/vueuse/issues/2197)
- **useAxios**: Improve type - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2208](https://togithub.com/vueuse/vueuse/issues/2208)
- **useAxios**: Add second generic type to error - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2248](https://togithub.com/vueuse/vueuse/issues/2248)
- **useAxios**: Add option for choosing shallowRef or ref - by [@jahnli](https://togithub.com/jahnli) in [https://github.com/vueuse/vueuse/issues/2251](https://togithub.com/vueuse/vueuse/issues/2251)
- **useDateFormat**: Support MMM and MMMM formatter - by [@777Vasya77](https://togithub.com/777Vasya77) in [https://github.com/vueuse/vueuse/issues/2234](https://togithub.com/vueuse/vueuse/issues/2234)
- **useDateFormat**: Support meridiem format - by [@huynl-96](https://togithub.com/huynl-96) in [https://github.com/vueuse/vueuse/issues/2011](https://togithub.com/vueuse/vueuse/issues/2011)
- **useFirestore**: Support dependent queries - by [@kiyopikko](https://togithub.com/kiyopikko) in [https://github.com/vueuse/vueuse/issues/2103](https://togithub.com/vueuse/vueuse/issues/2103)
- **useMediaQuery**: Allow query to be a `ref` - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2178](https://togithub.com/vueuse/vueuse/issues/2178)
- **useScroll**: Support setting scroll position and toggling smooth scrolling - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/1996](https://togithub.com/vueuse/vueuse/issues/1996)
- **useTimeAgo**: New `showSecond` option - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2209](https://togithub.com/vueuse/vueuse/issues/2209)
##### 🐞 Bug Fixes
- **onClickOutside**: Put ignore logic on `pointerdown` event - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2198](https://togithub.com/vueuse/vueuse/issues/2198)
- **templateRef**: Add Component type - by [@Holi0317](https://togithub.com/Holi0317) in [https://github.com/vueuse/vueuse/issues/2203](https://togithub.com/vueuse/vueuse/issues/2203)
- **until**: `.not` returns new instance - by [@lsdsjy](https://togithub.com/lsdsjy) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2224](https://togithub.com/vueuse/vueuse/issues/2224)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.2.0...v9.3.0)
### [`v9.2.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.2.0)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.1.1...v9.2.0)
##### 🚨 Breaking Changes
- Bump Nuxt support to RC.9, update `autoImports:sources` hook - by [@DamianGlowala](https://togithub.com/DamianGlowala) in [https://github.com/vueuse/vueuse/issues/2166](https://togithub.com/vueuse/vueuse/issues/2166)
##### 🚀 Features
- **useAxios**: Support RequestConfig for `execute` - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2152](https://togithub.com/vueuse/vueuse/issues/2152)
- **useBreakpoints**: Support `greaterOrEqual` etc. - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2148](https://togithub.com/vueuse/vueuse/issues/2148)
- **useCloned**: New function - by [@chaii3](https://togithub.com/chaii3) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2045](https://togithub.com/vueuse/vueuse/issues/2045)
- **useDraggable**: Support customizing `trigger` element - by [@imguolao](https://togithub.com/imguolao) in [https://github.com/vueuse/vueuse/issues/2133](https://togithub.com/vueuse/vueuse/issues/2133)
- **useElementSize**: Support `box` sizing - by [@vaakian](https://togithub.com/vaakian) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2143](https://togithub.com/vueuse/vueuse/issues/2143)
- **useElementVisibility**: Support watch the real element - by [@sxzz](https://togithub.com/sxzz) in [https://github.com/vueuse/vueuse/issues/2169](https://togithub.com/vueuse/vueuse/issues/2169)
- **useUrlSearchParams**: Add `write` option - by [@waldonUB](https://togithub.com/waldonUB) in [https://github.com/vueuse/vueuse/issues/2165](https://togithub.com/vueuse/vueuse/issues/2165)
- **useVModel**: Support `clone` option - by [@edumudu](https://togithub.com/edumudu) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2022](https://togithub.com/vueuse/vueuse/issues/2022)
- **useWebSocket**: Enhence heartbeat - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2170](https://togithub.com/vueuse/vueuse/issues/2170)
- **useWindowSize**: Support `includeScrollbar` - by [@vaakian](https://togithub.com/vaakian) in [https://github.com/vueuse/vueuse/issues/2161](https://togithub.com/vueuse/vueuse/issues/2161)
##### 🐞 Bug Fixes
- **useArrayMap**: Allow return type matches the mapper function - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2172](https://togithub.com/vueuse/vueuse/issues/2172)
- **useAxios**: Reset error on `execute` - by [@flyingTodream](https://togithub.com/flyingTodream) in [https://github.com/vueuse/vueuse/issues/2095](https://togithub.com/vueuse/vueuse/issues/2095)
- **useDevicePixelRatio**: More efficient mechanism - by [@Waleed-KH](https://togithub.com/Waleed-KH) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2044](https://togithub.com/vueuse/vueuse/issues/2044)
- **useFavicon**: Improve type overload - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2123](https://togithub.com/vueuse/vueuse/issues/2123)
- **useFileDialog**: Choose file not work on mobile - by [@1SZX1](https://togithub.com/1SZX1) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2080](https://togithub.com/vueuse/vueuse/issues/2080)
- **useFocusWithin**: Change focused typing to ComputedRef - by [@chaii3](https://togithub.com/chaii3) in [https://github.com/vueuse/vueuse/issues/2073](https://togithub.com/vueuse/vueuse/issues/2073)
- **useMemoize**: Allow number in `getKey` - by [@chaii3](https://togithub.com/chaii3) in [https://github.com/vueuse/vueuse/issues/2074](https://togithub.com/vueuse/vueuse/issues/2074)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.1.1...v9.2.0)
### [`v9.1.1`](https://togithub.com/vueuse/vueuse/releases/tag/v9.1.1)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.1.0...v9.1.1)
##### 🚀 Features
- **usePreferredContrast**: New function - by [@Zhaocl1997](https://togithub.com/Zhaocl1997) in [https://github.com/vueuse/vueuse/issues/2040](https://togithub.com/vueuse/vueuse/issues/2040)
##### 🐞 Bug Fixes
- **firebase**: Improve externalization - by [@antfu](https://togithub.com/antfu) [(e2a78)](https://togithub.com/vueuse/vueuse/commit/e2a78284)
- **shared**: Resolve internal circular reference - by [@antfu](https://togithub.com/antfu) [(0fdbb)](https://togithub.com/vueuse/vueuse/commit/0fdbbf4f)
- **useActiveElement**: Use `computedWithControl` instead of `counter` ref - by [@vaakian](https://togithub.com/vaakian) in [https://github.com/vueuse/vueuse/issues/2093](https://togithub.com/vueuse/vueuse/issues/2093)
- **useElementHover**: Support set el ref type - by [@JiatLn](https://togithub.com/JiatLn) in [https://github.com/vueuse/vueuse/issues/2079](https://togithub.com/vueuse/vueuse/issues/2079)
- **useScroll**: Account for rounding errors when calculating arrivedState - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/2051](https://togithub.com/vueuse/vueuse/issues/2051)
- **useURLSearchParams**: Avoid referencing to global `location` - by [@mskr](https://togithub.com/mskr) in [https://github.com/vueuse/vueuse/issues/2066](https://togithub.com/vueuse/vueuse/issues/2066)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.1.0...v9.1.1)
### [`v9.1.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.1.0)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.0.2...v9.1.0)
##### 🚀 Features
- **useCycleList**: Support MaybeRef for initialValue - by [@Waleed-KH](https://togithub.com/Waleed-KH) in [https://github.com/vueuse/vueuse/issues/2025](https://togithub.com/vueuse/vueuse/issues/2025)
- **usePrecision**: New function - by [@antfu](https://togithub.com/antfu) [(49c8a)](https://togithub.com/vueuse/vueuse/commit/49c8ac4f)
- **usePreferredReducedMotion**: New function - by [@Zhaocl1997](https://togithub.com/Zhaocl1997) in [https://github.com/vueuse/vueuse/issues/2039](https://togithub.com/vueuse/vueuse/issues/2039)
- **useToNumber**: New function - by [@antfu](https://togithub.com/antfu) [(f69a3)](https://togithub.com/vueuse/vueuse/commit/f69a36df)
- **useToString**: New function - by [@antfu](https://togithub.com/antfu) [(2b869)](https://togithub.com/vueuse/vueuse/commit/2b869adb)
##### 🐞 Bug Fixes
- Improve `MaybeComputedRef` - by [@antfu](https://togithub.com/antfu) [(28c5a)](https://togithub.com/vueuse/vueuse/commit/28c5a95f)
- **useFavicon**: Writable return type - by [@chaii3](https://togithub.com/chaii3) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2036](https://togithub.com/vueuse/vueuse/issues/2036)
- **useOffsetPagination**: Min value for pageCount should be 1 - by [@jd-solanki](https://togithub.com/jd-solanki) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2001](https://togithub.com/vueuse/vueuse/issues/2001)
- **useScriptTag**: Normalize `src` arg - by [@huynl-96](https://togithub.com/huynl-96) in [https://github.com/vueuse/vueuse/issues/2030](https://togithub.com/vueuse/vueuse/issues/2030)
- **useToFixed**: Deprecated in favor of `usePrecision` - by [@antfu](https://togithub.com/antfu) [(790ef)](https://togithub.com/vueuse/vueuse/commit/790ef402)
- **useTransition**: Improve type of `TransitionPresets` - by [@antfu](https://togithub.com/antfu) [(cc865)](https://togithub.com/vueuse/vueuse/commit/cc8658aa)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.0.2...v9.1.0)
### [`v9.0.2`](https://togithub.com/vueuse/vueuse/releases/tag/v9.0.2)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.0.1...v9.0.2)
##### 🐞 Bug Fixes
- **nuxt**: Disable auto import for `integrations` - by [@antfu](https://togithub.com/antfu) [(0a43b)](https://togithub.com/vueuse/vueuse/commit/0a43b8e9)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.0.1...v9.0.2)
### [`v9.0.1`](https://togithub.com/vueuse/vueuse/releases/tag/v9.0.1)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.0.0...v9.0.1)
##### 🚀 Features
- **useDateFormat**: Support dd, ddd and dddd formatter - by [@aki77](https://togithub.com/aki77) in [https://github.com/vueuse/vueuse/issues/1986](https://togithub.com/vueuse/vueuse/issues/1986)
- **useFirestore**: Support reactive query - by [@kiyopikko](https://togithub.com/kiyopikko) in [https://github.com/vueuse/vueuse/issues/2008](https://togithub.com/vueuse/vueuse/issues/2008)
- **useToFixed**: New function - by [@FliPPeDround](https://togithub.com/FliPPeDround) in [https://github.com/vueuse/vueuse/issues/2003](https://togithub.com/vueuse/vueuse/issues/2003)
##### 🐞 Bug Fixes
- **useColorMode**: When emitAuto is true, onChanged does not trigger when preferredMode changed - by [@Waleed-KH](https://togithub.com/Waleed-KH) in [https://github.com/vueuse/vueuse/issues/2004](https://togithub.com/vueuse/vueuse/issues/2004)
- **useFetch**: Broken callbacks when RequestInit and UseFetchOptions are both passed in - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/2013](https://togithub.com/vueuse/vueuse/issues/2013)
##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.0.0...v9.0.1)
### [`v9.0.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.0.0)
[Compare Source](https://togithub.com/vueuse/vueuse/compare/v8.9.4...v9.0.0)
##### 🚨 Breaking Changes
- **all**: `isSupported` becomes `Ref` instead of `boolean` for SSR compatibility - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1800](https://togithub.com/vueuse/vueuse/issues/1800)
- **all**: Rename function options type with consistant `Use` prefix, huge thanks to [@okxiaoliang4](https://togithub.com/okxiaoliang4)! (this should not affect most of the usage case, unless you are importing those types directly)
- All Changes
- **useSpeechSynthesis**: Rename type `Status` to `UseSpeechSynthesisStatus` - by [@antfu](https://togithub.com/antfu) [(db61f)](https://togithub.com/vueuse/vueuse/commit/db61fce9)
- **onKeyStroke**: Rename type `KeyStrokeOptions` to `OnKeyStrokeOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1807](https://togithub.com/vueuse/vueuse/issues/1807)
- **useAsyncState**: Rename type `AsyncStateOptions` to `UseAsyncStateOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1809](https://togithub.com/vueuse/vueuse/issues/1809)
- **useClipboard**: Rename type `ClipboardOptions` to `UseClipboardOptions` and `ClipboardReturn` to `UseClipboardReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1861](https://togithub.com/vueuse/vueuse/issues/1861)
- **useElementVisibility**: Rename type `VisibilityScrollTargetOptions` to `UseElementVisibilityOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1863](https://togithub.com/vueuse/vueuse/issues/1863)
- **useEventSource**: Return type should be `UseEventSourceReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1864](https://togithub.com/vueuse/vueuse/issues/1864)
- **useFavicon**: Rename type `FaviconOptions` to `UseFaviconOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1865](https://togithub.com/vueuse/vueuse/issues/1865)
- **useFocusWithin**: Rename type `FocusWithinReturn` to `UseFocusWithinReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1866](https://togithub.com/vueuse/vueuse/issues/1866)
- **useGeolocation**: Rename type `GeolocationOptions` to `UseGeolocationOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1868](https://togithub.com/vueuse/vueuse/issues/1868)
- **useIdle**: Rename type `IdleOptions` to `UseIdleOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1869](https://togithub.com/vueuse/vueuse/issues/1869)
- **useIntersectionObserver**: Rename type `IntersectionObserverOptions` to `UseIntersectionObserverOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1870](https://togithub.com/vueuse/vueuse/issues/1870)
- **useJwt**: Rename type `JwtOptions` to `UseJwtOptions` and `JwtResult` to `UseJwtReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1899](https://togithub.com/vueuse/vueuse/issues/1899)
- **useKeyModifier**: Rename type `ModifierOptions` to `UseModifierOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1871](https://togithub.com/vueuse/vueuse/issues/1871)
- **useMagicKeys**: Rename type `MagicKeys` to `UseMagicKeysReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1873](https://togithub.com/vueuse/vueuse/issues/1873)
- **useMemoize**: Rename type `UseMemoizedFn` to `UseMemoizeReturn` and new type `UseMemoizeOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1872](https://togithub.com/vueuse/vueuse/issues/1872)
- **useMemory**: Rename type `MemoryOptions` to `UseMemoryOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1605](https://togithub.com/vueuse/vueuse/issues/1605)
- **useMouse**: Rename type `MouseOptions` to `UseMouseOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1877](https://togithub.com/vueuse/vueuse/issues/1877)
- **useMutationObserver**: Rename type `MutationObserverOptions` to `UseMutationObserverOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1884](https://togithub.com/vueuse/vueuse/issues/1884)
- **useParallax**: Rename type `ParallaxOptions` to `UseParallaxOptions` and `ParallaxReturn` to `UseParallaxReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1885](https://togithub.com/vueuse/vueuse/issues/1885)
- **usePointerSwipe**: Rename type `PointerSwipeOptions` to `UsePointerSwipeOptions` and `PointerSwipeReturn` to `UsePointerSwipeReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1886](https://togithub.com/vueuse/vueuse/issues/1886)
- **useRTDB**: Rename type `RTDBOptions` to `UseRTDBOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1901](https://togithub.com/vueuse/vueuse/issues/1901)
- **useRafFn**: Rename type `RafFnOptions` to `UseRafFnOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1887](https://togithub.com/vueuse/vueuse/issues/1887)
- **useResizeObserver**: Rename type `ResizeObserverOptions` to `UseResizeObserverOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1862](https://togithub.com/vueuse/vueuse/issues/1862)
- **useShare**: Rename type `ShareOptions` to `UseShareOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1888](https://togithub.com/vueuse/vueuse/issues/1888)
- **useSpeechRecognition**: Rename type `SpeechRecognitionOptions` to `UseSpeechRecognitionOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1889](https://togithub.com/vueuse/vueuse/issues/1889)
- **useSpeechSynthesis**: Rename type `SpeechSynthesisOptions` to `UseSpeechSynthesisOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1890](https://togithub.com/vueuse/vueuse/issues/1890)
- **useSpeechSynthesis**: Remove `voiceInfo`, allow `voice` as ref - by [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/1882](https://togithub.com/vueuse/vueuse/issues/1882)
- **useStorage**: Rename type `StorageOptions` to `UseStorageOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1867](https://togithub.com/vueuse/vueuse/issues/1867)
- **useStorageAsync**: Rename type `StorageAsyncOptions` to `UseStorageAsyncOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1883](https://togithub.com/vueuse/vueuse/issues/1883)
- **useSwipe**: Rename type `SwipeOptions` to `UseSwipeOptions` and `SwipeReturn` to `UseSwipeReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1891](https://togithub.com/vueuse/vueuse/issues/1891)
- **useTimestamp**: Rename type `TimestampOptions` to `UseTimestampOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1892](https://togithub.com/vueuse/vueuse/issues/1892)
- **useTransition**: Rename type `TransitionOptions` to `UseTransitionOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1893](https://togithub.com/vueuse/vueuse/issues/1893)
- **useVModel**: Rename type `VModelOptions` to `UseVModelOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1894](https://togithub.com/vueuse/vueuse/issues/1894)
- **useWebSocket**: Rename type `WebSocketOptions` to `UseWebSocketOptions` and `WebSocketResult` to `UseWebSocketReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1895](https://togithub.com/vueuse/vueuse/issues/1895)
- **useWebWorkerFn**: Rename type `WebWorkerOptions` to `UseWebWorkerOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1896](https://togithub.com/vueuse/vueuse/issues/1896)
- **useWindowSize**: Rename type `WindowSizeOptions` to `UseWindowSizeOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1897](https://togithub.com/vueuse/vueuse/issues/1897)
- **useInterval**: Rename type `IntervalOptions` to `UseIntervalOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1945](https://togithub.com/vueuse/vueuse/issues/1945)
- **useIntervalFn**: Rename type `IntervalFnOptions` to `UseIntervalFnOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1943](https://togithub.com/vueuse/vueuse/issues/1943)
- **useTimeoutFn,useTimeout**: Rename type `TimeoutOptions` to `UseTimeoutOptions` and `TimeoutFnOptions` to `UseTimeoutFnOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1944](https://togithub.com/vueuse/vueuse/issues/1944)
firebase: Support firebase 9 modular - by @antfu(9c65f)
This introduces a new convention of passing reactive getters as arguments. Previously, many of VueUse functions supported a convention to accept optional Ref as arguments (MaybeRef<T>) to make the reactivity connections. For example:
// pass plain value
const title = useTitle('foo') // changes title to 'foo'
// pass a ref
const myTitle = ref('foo')
useTitle(myTitle) // changes title to 'foo'
// reactive triggers the update
myTitle.value = 'bar' // changes title to 'bar'
Since v9.0, most of the VueUse function also accepts a getter function similar to computed or the watch source of watch to provide better flexibility.
// before
const title = computed(() => `${foo.value} | template`)
useTitle(title)
// with 9.0
useTitle(() => `${foo.value} | template`)
// before
const title = $('foo')
useTitle($$(title)) // you need to use $$() to preserve the reactive
// with 9.0
const title = $('foo')
useTitle(() => title) // you can use a getter function just like `watch`
This PR contains the following updates:
^8.6.0
->^9.5.0
Release Notes
vueuse/vueuse
### [`v9.5.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.5.0) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.4.0...v9.5.0) ##### 🚀 Features - **onClickOutside**: Support options in component - by [@fiadone](https://togithub.com/fiadone) and [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/2391](https://togithub.com/vueuse/vueuse/issues/2391) - **useEventListener**: Accept multiple `events` or `listeners` - by [@vaakian](https://togithub.com/vaakian) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2180](https://togithub.com/vueuse/vueuse/issues/2180) - **useFetch**: Allow configure lifecycle handler behavior - by [@climba03003](https://togithub.com/climba03003) in [https://github.com/vueuse/vueuse/issues/2333](https://togithub.com/vueuse/vueuse/issues/2333) - **useFetch**: Support sending the custom request to an absolute URL regardless baseURL - by [@sun0day](https://togithub.com/sun0day) in [https://github.com/vueuse/vueuse/issues/2210](https://togithub.com/vueuse/vueuse/issues/2210) - **useGeolocation**: Pause and resume controls - by [@benax-se](https://togithub.com/benax-se) in [https://github.com/vueuse/vueuse/issues/2376](https://togithub.com/vueuse/vueuse/issues/2376) - **useIDBKeyval**: New integration - Idb-keyval wrapper - by [@Harmony222](https://togithub.com/Harmony222) in [https://github.com/vueuse/vueuse/issues/2335](https://togithub.com/vueuse/vueuse/issues/2335) - **useWebsocket**: Url to be ref/computed - by [@rotu](https://togithub.com/rotu) in [https://github.com/vueuse/vueuse/issues/2367](https://togithub.com/vueuse/vueuse/issues/2367) ##### 🐞 Bug Fixes - **onClickOutside**: Access correct `document` - by [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/2404](https://togithub.com/vueuse/vueuse/issues/2404) - **usePointerSwipe**: Handle secondary clicks properly - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/2379](https://togithub.com/vueuse/vueuse/issues/2379) - **useScroll**: The expected result cannot be returned after setting the throttle parameter - by [@LittleSound](https://togithub.com/LittleSound) in [https://github.com/vueuse/vueuse/issues/2390](https://togithub.com/vueuse/vueuse/issues/2390) - **useWebSocket**: Don't hide pong setTimeout reference - by [@kellerza](https://togithub.com/kellerza) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2206](https://togithub.com/vueuse/vueuse/issues/2206) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.4.0...v9.5.0) ### [`v9.4.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.4.0) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.3.1...v9.4.0) ##### 🚀 Features - **refDebounced**: Use MaybeComputedRef for ms - by [@dominikklein](https://togithub.com/dominikklein) in [https://github.com/vueuse/vueuse/issues/2337](https://togithub.com/vueuse/vueuse/issues/2337) - **useClipboard**: Support legacy copy - by [@lumdzeehol](https://togithub.com/lumdzeehol) in [https://github.com/vueuse/vueuse/issues/2336](https://togithub.com/vueuse/vueuse/issues/2336) - **useVirtualList**: Horizontal list - by [@Surof1n](https://togithub.com/Surof1n) in [https://github.com/vueuse/vueuse/issues/2310](https://togithub.com/vueuse/vueuse/issues/2310) - **useWebWorker**: Support overloads - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2259](https://togithub.com/vueuse/vueuse/issues/2259) ##### 🐞 Bug Fixes - **useCounter**: Set and reset should also be limited - by [@iChengbo](https://togithub.com/iChengbo) in [https://github.com/vueuse/vueuse/issues/2179](https://togithub.com/vueuse/vueuse/issues/2179) - **useRouteHash, useRouteParams, useRouteQuery**: Override only selected route param - by [@dvh91](https://togithub.com/dvh91) in [https://github.com/vueuse/vueuse/issues/2350](https://togithub.com/vueuse/vueuse/issues/2350) - **useWebSocket**: Don't reconnect WebSocket if `close` issued between retries - by [@rotu](https://togithub.com/rotu) in [https://github.com/vueuse/vueuse/issues/2330](https://togithub.com/vueuse/vueuse/issues/2330) - **watchThrottled**: Wait incorrect remaining time - by [@sun0day](https://togithub.com/sun0day) in [https://github.com/vueuse/vueuse/issues/2267](https://togithub.com/vueuse/vueuse/issues/2267) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.3.1...v9.4.0) ### [`v9.3.1`](https://togithub.com/vueuse/vueuse/releases/tag/v9.3.1) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.3.0...v9.3.1) ##### 🚀 Features - **fromEvent**: Support HTMLElement - by [@rorry121](https://togithub.com/rorry121) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2048](https://togithub.com/vueuse/vueuse/issues/2048) - **useAxios**: Add R genericity type for custom response data - by [@jahnli](https://togithub.com/jahnli) in [https://github.com/vueuse/vueuse/issues/2304](https://togithub.com/vueuse/vueuse/issues/2304) - **useFocusTrap**: Enable options in component - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2321](https://togithub.com/vueuse/vueuse/issues/2321) - **useSorted**: New function - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1799](https://togithub.com/vueuse/vueuse/issues/1799) ##### 🐞 Bug Fixes - **nuxt**: Wrap ssr plugin in defineNuxtPlugin - by [@dan-online](https://togithub.com/dan-online) in [https://github.com/vueuse/vueuse/issues/2326](https://togithub.com/vueuse/vueuse/issues/2326) - **useBluetooth**: Use `shallowRef` for bluetooth instance - by [@antfu](https://togithub.com/antfu) [(0199b)](https://togithub.com/vueuse/vueuse/commit/0199b983) - **useFetch**: Fix incorrect `chainCallbacks` behavior - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2231](https://togithub.com/vueuse/vueuse/issues/2231) - **useFirestore**: Auto dispose documents - by [@Zehir](https://togithub.com/Zehir) in [https://github.com/vueuse/vueuse/issues/2318](https://togithub.com/vueuse/vueuse/issues/2318) - **useStorage**: Fixed data desynchronization in case of clearing storage - by [@yuryrudey](https://togithub.com/yuryrudey) in [https://github.com/vueuse/vueuse/issues/2221](https://togithub.com/vueuse/vueuse/issues/2221) - **useTitle**: Prevent `observe` and `titleTemplate` been specified at the same time - by [@huynl-96](https://togithub.com/huynl-96) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2049](https://togithub.com/vueuse/vueuse/issues/2049) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.3.0...v9.3.1) ### [`v9.3.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.3.0) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.2.0...v9.3.0) ##### 🚀 Features - Optional callback for useInterval, useTimeout & useTimestamp - by [@Waleed-KH](https://togithub.com/Waleed-KH) in [https://github.com/vueuse/vueuse/issues/2240](https://togithub.com/vueuse/vueuse/issues/2240) - **onClickOutside**: Add `bubble` modifier to directive - by [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/2183](https://togithub.com/vueuse/vueuse/issues/2183) - **onKeyStroke**: Support capture all handler - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2197](https://togithub.com/vueuse/vueuse/issues/2197) - **useAxios**: Improve type - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2208](https://togithub.com/vueuse/vueuse/issues/2208) - **useAxios**: Add second generic type to error - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2248](https://togithub.com/vueuse/vueuse/issues/2248) - **useAxios**: Add option for choosing shallowRef or ref - by [@jahnli](https://togithub.com/jahnli) in [https://github.com/vueuse/vueuse/issues/2251](https://togithub.com/vueuse/vueuse/issues/2251) - **useDateFormat**: Support MMM and MMMM formatter - by [@777Vasya77](https://togithub.com/777Vasya77) in [https://github.com/vueuse/vueuse/issues/2234](https://togithub.com/vueuse/vueuse/issues/2234) - **useDateFormat**: Support meridiem format - by [@huynl-96](https://togithub.com/huynl-96) in [https://github.com/vueuse/vueuse/issues/2011](https://togithub.com/vueuse/vueuse/issues/2011) - **useFirestore**: Support dependent queries - by [@kiyopikko](https://togithub.com/kiyopikko) in [https://github.com/vueuse/vueuse/issues/2103](https://togithub.com/vueuse/vueuse/issues/2103) - **useMediaQuery**: Allow query to be a `ref` - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2178](https://togithub.com/vueuse/vueuse/issues/2178) - **useScroll**: Support setting scroll position and toggling smooth scrolling - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/1996](https://togithub.com/vueuse/vueuse/issues/1996) - **useTimeAgo**: New `showSecond` option - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2209](https://togithub.com/vueuse/vueuse/issues/2209) ##### 🐞 Bug Fixes - **onClickOutside**: Put ignore logic on `pointerdown` event - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2198](https://togithub.com/vueuse/vueuse/issues/2198) - **templateRef**: Add Component type - by [@Holi0317](https://togithub.com/Holi0317) in [https://github.com/vueuse/vueuse/issues/2203](https://togithub.com/vueuse/vueuse/issues/2203) - **until**: `.not` returns new instance - by [@lsdsjy](https://togithub.com/lsdsjy) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2224](https://togithub.com/vueuse/vueuse/issues/2224) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.2.0...v9.3.0) ### [`v9.2.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.2.0) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.1.1...v9.2.0) ##### 🚨 Breaking Changes - Bump Nuxt support to RC.9, update `autoImports:sources` hook - by [@DamianGlowala](https://togithub.com/DamianGlowala) in [https://github.com/vueuse/vueuse/issues/2166](https://togithub.com/vueuse/vueuse/issues/2166) ##### 🚀 Features - **useAxios**: Support RequestConfig for `execute` - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2152](https://togithub.com/vueuse/vueuse/issues/2152) - **useBreakpoints**: Support `greaterOrEqual` etc. - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2148](https://togithub.com/vueuse/vueuse/issues/2148) - **useCloned**: New function - by [@chaii3](https://togithub.com/chaii3) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2045](https://togithub.com/vueuse/vueuse/issues/2045) - **useDraggable**: Support customizing `trigger` element - by [@imguolao](https://togithub.com/imguolao) in [https://github.com/vueuse/vueuse/issues/2133](https://togithub.com/vueuse/vueuse/issues/2133) - **useElementSize**: Support `box` sizing - by [@vaakian](https://togithub.com/vaakian) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2143](https://togithub.com/vueuse/vueuse/issues/2143) - **useElementVisibility**: Support watch the real element - by [@sxzz](https://togithub.com/sxzz) in [https://github.com/vueuse/vueuse/issues/2169](https://togithub.com/vueuse/vueuse/issues/2169) - **useUrlSearchParams**: Add `write` option - by [@waldonUB](https://togithub.com/waldonUB) in [https://github.com/vueuse/vueuse/issues/2165](https://togithub.com/vueuse/vueuse/issues/2165) - **useVModel**: Support `clone` option - by [@edumudu](https://togithub.com/edumudu) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2022](https://togithub.com/vueuse/vueuse/issues/2022) - **useWebSocket**: Enhence heartbeat - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2170](https://togithub.com/vueuse/vueuse/issues/2170) - **useWindowSize**: Support `includeScrollbar` - by [@vaakian](https://togithub.com/vaakian) in [https://github.com/vueuse/vueuse/issues/2161](https://togithub.com/vueuse/vueuse/issues/2161) ##### 🐞 Bug Fixes - **useArrayMap**: Allow return type matches the mapper function - by [@GODLiangCY](https://togithub.com/GODLiangCY) in [https://github.com/vueuse/vueuse/issues/2172](https://togithub.com/vueuse/vueuse/issues/2172) - **useAxios**: Reset error on `execute` - by [@flyingTodream](https://togithub.com/flyingTodream) in [https://github.com/vueuse/vueuse/issues/2095](https://togithub.com/vueuse/vueuse/issues/2095) - **useDevicePixelRatio**: More efficient mechanism - by [@Waleed-KH](https://togithub.com/Waleed-KH) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2044](https://togithub.com/vueuse/vueuse/issues/2044) - **useFavicon**: Improve type overload - by [@azaleta](https://togithub.com/azaleta) in [https://github.com/vueuse/vueuse/issues/2123](https://togithub.com/vueuse/vueuse/issues/2123) - **useFileDialog**: Choose file not work on mobile - by [@1SZX1](https://togithub.com/1SZX1) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2080](https://togithub.com/vueuse/vueuse/issues/2080) - **useFocusWithin**: Change focused typing to ComputedRef - by [@chaii3](https://togithub.com/chaii3) in [https://github.com/vueuse/vueuse/issues/2073](https://togithub.com/vueuse/vueuse/issues/2073) - **useMemoize**: Allow number in `getKey` - by [@chaii3](https://togithub.com/chaii3) in [https://github.com/vueuse/vueuse/issues/2074](https://togithub.com/vueuse/vueuse/issues/2074) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.1.1...v9.2.0) ### [`v9.1.1`](https://togithub.com/vueuse/vueuse/releases/tag/v9.1.1) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.1.0...v9.1.1) ##### 🚀 Features - **usePreferredContrast**: New function - by [@Zhaocl1997](https://togithub.com/Zhaocl1997) in [https://github.com/vueuse/vueuse/issues/2040](https://togithub.com/vueuse/vueuse/issues/2040) ##### 🐞 Bug Fixes - **firebase**: Improve externalization - by [@antfu](https://togithub.com/antfu) [(e2a78)](https://togithub.com/vueuse/vueuse/commit/e2a78284) - **shared**: Resolve internal circular reference - by [@antfu](https://togithub.com/antfu) [(0fdbb)](https://togithub.com/vueuse/vueuse/commit/0fdbbf4f) - **useActiveElement**: Use `computedWithControl` instead of `counter` ref - by [@vaakian](https://togithub.com/vaakian) in [https://github.com/vueuse/vueuse/issues/2093](https://togithub.com/vueuse/vueuse/issues/2093) - **useElementHover**: Support set el ref type - by [@JiatLn](https://togithub.com/JiatLn) in [https://github.com/vueuse/vueuse/issues/2079](https://togithub.com/vueuse/vueuse/issues/2079) - **useScroll**: Account for rounding errors when calculating arrivedState - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/2051](https://togithub.com/vueuse/vueuse/issues/2051) - **useURLSearchParams**: Avoid referencing to global `location` - by [@mskr](https://togithub.com/mskr) in [https://github.com/vueuse/vueuse/issues/2066](https://togithub.com/vueuse/vueuse/issues/2066) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.1.0...v9.1.1) ### [`v9.1.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.1.0) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.0.2...v9.1.0) ##### 🚀 Features - **useCycleList**: Support MaybeRef for initialValue - by [@Waleed-KH](https://togithub.com/Waleed-KH) in [https://github.com/vueuse/vueuse/issues/2025](https://togithub.com/vueuse/vueuse/issues/2025) - **usePrecision**: New function - by [@antfu](https://togithub.com/antfu) [(49c8a)](https://togithub.com/vueuse/vueuse/commit/49c8ac4f) - **usePreferredReducedMotion**: New function - by [@Zhaocl1997](https://togithub.com/Zhaocl1997) in [https://github.com/vueuse/vueuse/issues/2039](https://togithub.com/vueuse/vueuse/issues/2039) - **useToNumber**: New function - by [@antfu](https://togithub.com/antfu) [(f69a3)](https://togithub.com/vueuse/vueuse/commit/f69a36df) - **useToString**: New function - by [@antfu](https://togithub.com/antfu) [(2b869)](https://togithub.com/vueuse/vueuse/commit/2b869adb) ##### 🐞 Bug Fixes - Improve `MaybeComputedRef` - by [@antfu](https://togithub.com/antfu) [(28c5a)](https://togithub.com/vueuse/vueuse/commit/28c5a95f) - **useFavicon**: Writable return type - by [@chaii3](https://togithub.com/chaii3) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2036](https://togithub.com/vueuse/vueuse/issues/2036) - **useOffsetPagination**: Min value for pageCount should be 1 - by [@jd-solanki](https://togithub.com/jd-solanki) and [@antfu](https://togithub.com/antfu) in [https://github.com/vueuse/vueuse/issues/2001](https://togithub.com/vueuse/vueuse/issues/2001) - **useScriptTag**: Normalize `src` arg - by [@huynl-96](https://togithub.com/huynl-96) in [https://github.com/vueuse/vueuse/issues/2030](https://togithub.com/vueuse/vueuse/issues/2030) - **useToFixed**: Deprecated in favor of `usePrecision` - by [@antfu](https://togithub.com/antfu) [(790ef)](https://togithub.com/vueuse/vueuse/commit/790ef402) - **useTransition**: Improve type of `TransitionPresets` - by [@antfu](https://togithub.com/antfu) [(cc865)](https://togithub.com/vueuse/vueuse/commit/cc8658aa) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.0.2...v9.1.0) ### [`v9.0.2`](https://togithub.com/vueuse/vueuse/releases/tag/v9.0.2) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.0.1...v9.0.2) ##### 🐞 Bug Fixes - **nuxt**: Disable auto import for `integrations` - by [@antfu](https://togithub.com/antfu) [(0a43b)](https://togithub.com/vueuse/vueuse/commit/0a43b8e9) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.0.1...v9.0.2) ### [`v9.0.1`](https://togithub.com/vueuse/vueuse/releases/tag/v9.0.1) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v9.0.0...v9.0.1) ##### 🚀 Features - **useDateFormat**: Support dd, ddd and dddd formatter - by [@aki77](https://togithub.com/aki77) in [https://github.com/vueuse/vueuse/issues/1986](https://togithub.com/vueuse/vueuse/issues/1986) - **useFirestore**: Support reactive query - by [@kiyopikko](https://togithub.com/kiyopikko) in [https://github.com/vueuse/vueuse/issues/2008](https://togithub.com/vueuse/vueuse/issues/2008) - **useToFixed**: New function - by [@FliPPeDround](https://togithub.com/FliPPeDround) in [https://github.com/vueuse/vueuse/issues/2003](https://togithub.com/vueuse/vueuse/issues/2003) ##### 🐞 Bug Fixes - **useColorMode**: When emitAuto is true, onChanged does not trigger when preferredMode changed - by [@Waleed-KH](https://togithub.com/Waleed-KH) in [https://github.com/vueuse/vueuse/issues/2004](https://togithub.com/vueuse/vueuse/issues/2004) - **useFetch**: Broken callbacks when RequestInit and UseFetchOptions are both passed in - by [@curtgrimes](https://togithub.com/curtgrimes) in [https://github.com/vueuse/vueuse/issues/2013](https://togithub.com/vueuse/vueuse/issues/2013) ##### [View changes on GitHub](https://togithub.com/vueuse/vueuse/compare/v9.0.0...v9.0.1) ### [`v9.0.0`](https://togithub.com/vueuse/vueuse/releases/tag/v9.0.0) [Compare Source](https://togithub.com/vueuse/vueuse/compare/v8.9.4...v9.0.0) ##### 🚨 Breaking Changes - **all**: `isSupported` becomes `RefAll Changes
- **useSpeechSynthesis**: Rename type `Status` to `UseSpeechSynthesisStatus` - by [@antfu](https://togithub.com/antfu) [(db61f)](https://togithub.com/vueuse/vueuse/commit/db61fce9) - **onKeyStroke**: Rename type `KeyStrokeOptions` to `OnKeyStrokeOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1807](https://togithub.com/vueuse/vueuse/issues/1807) - **useAsyncState**: Rename type `AsyncStateOptions` to `UseAsyncStateOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1809](https://togithub.com/vueuse/vueuse/issues/1809) - **useClipboard**: Rename type `ClipboardOptions` to `UseClipboardOptions` and `ClipboardReturn` to `UseClipboardReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1861](https://togithub.com/vueuse/vueuse/issues/1861) - **useElementVisibility**: Rename type `VisibilityScrollTargetOptions` to `UseElementVisibilityOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1863](https://togithub.com/vueuse/vueuse/issues/1863) - **useEventSource**: Return type should be `UseEventSourceReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1864](https://togithub.com/vueuse/vueuse/issues/1864) - **useFavicon**: Rename type `FaviconOptions` to `UseFaviconOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1865](https://togithub.com/vueuse/vueuse/issues/1865) - **useFocusWithin**: Rename type `FocusWithinReturn` to `UseFocusWithinReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1866](https://togithub.com/vueuse/vueuse/issues/1866) - **useGeolocation**: Rename type `GeolocationOptions` to `UseGeolocationOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1868](https://togithub.com/vueuse/vueuse/issues/1868) - **useIdle**: Rename type `IdleOptions` to `UseIdleOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1869](https://togithub.com/vueuse/vueuse/issues/1869) - **useIntersectionObserver**: Rename type `IntersectionObserverOptions` to `UseIntersectionObserverOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1870](https://togithub.com/vueuse/vueuse/issues/1870) - **useJwt**: Rename type `JwtOptions` to `UseJwtOptions` and `JwtResult` to `UseJwtReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1899](https://togithub.com/vueuse/vueuse/issues/1899) - **useKeyModifier**: Rename type `ModifierOptions` to `UseModifierOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1871](https://togithub.com/vueuse/vueuse/issues/1871) - **useMagicKeys**: Rename type `MagicKeys` to `UseMagicKeysReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1873](https://togithub.com/vueuse/vueuse/issues/1873) - **useMemoize**: Rename type `UseMemoizedFn` to `UseMemoizeReturn` and new type `UseMemoizeOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1872](https://togithub.com/vueuse/vueuse/issues/1872) - **useMemory**: Rename type `MemoryOptions` to `UseMemoryOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1605](https://togithub.com/vueuse/vueuse/issues/1605) - **useMouse**: Rename type `MouseOptions` to `UseMouseOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1877](https://togithub.com/vueuse/vueuse/issues/1877) - **useMutationObserver**: Rename type `MutationObserverOptions` to `UseMutationObserverOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1884](https://togithub.com/vueuse/vueuse/issues/1884) - **useParallax**: Rename type `ParallaxOptions` to `UseParallaxOptions` and `ParallaxReturn` to `UseParallaxReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1885](https://togithub.com/vueuse/vueuse/issues/1885) - **usePointerSwipe**: Rename type `PointerSwipeOptions` to `UsePointerSwipeOptions` and `PointerSwipeReturn` to `UsePointerSwipeReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1886](https://togithub.com/vueuse/vueuse/issues/1886) - **useRTDB**: Rename type `RTDBOptions` to `UseRTDBOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1901](https://togithub.com/vueuse/vueuse/issues/1901) - **useRafFn**: Rename type `RafFnOptions` to `UseRafFnOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1887](https://togithub.com/vueuse/vueuse/issues/1887) - **useResizeObserver**: Rename type `ResizeObserverOptions` to `UseResizeObserverOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1862](https://togithub.com/vueuse/vueuse/issues/1862) - **useShare**: Rename type `ShareOptions` to `UseShareOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1888](https://togithub.com/vueuse/vueuse/issues/1888) - **useSpeechRecognition**: Rename type `SpeechRecognitionOptions` to `UseSpeechRecognitionOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1889](https://togithub.com/vueuse/vueuse/issues/1889) - **useSpeechSynthesis**: Rename type `SpeechSynthesisOptions` to `UseSpeechSynthesisOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1890](https://togithub.com/vueuse/vueuse/issues/1890) - **useSpeechSynthesis**: Remove `voiceInfo`, allow `voice` as ref - by [@sibbng](https://togithub.com/sibbng) in [https://github.com/vueuse/vueuse/issues/1882](https://togithub.com/vueuse/vueuse/issues/1882) - **useStorage**: Rename type `StorageOptions` to `UseStorageOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1867](https://togithub.com/vueuse/vueuse/issues/1867) - **useStorageAsync**: Rename type `StorageAsyncOptions` to `UseStorageAsyncOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1883](https://togithub.com/vueuse/vueuse/issues/1883) - **useSwipe**: Rename type `SwipeOptions` to `UseSwipeOptions` and `SwipeReturn` to `UseSwipeReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1891](https://togithub.com/vueuse/vueuse/issues/1891) - **useTimestamp**: Rename type `TimestampOptions` to `UseTimestampOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1892](https://togithub.com/vueuse/vueuse/issues/1892) - **useTransition**: Rename type `TransitionOptions` to `UseTransitionOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1893](https://togithub.com/vueuse/vueuse/issues/1893) - **useVModel**: Rename type `VModelOptions` to `UseVModelOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1894](https://togithub.com/vueuse/vueuse/issues/1894) - **useWebSocket**: Rename type `WebSocketOptions` to `UseWebSocketOptions` and `WebSocketResult` to `UseWebSocketReturn` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1895](https://togithub.com/vueuse/vueuse/issues/1895) - **useWebWorkerFn**: Rename type `WebWorkerOptions` to `UseWebWorkerOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1896](https://togithub.com/vueuse/vueuse/issues/1896) - **useWindowSize**: Rename type `WindowSizeOptions` to `UseWindowSizeOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1897](https://togithub.com/vueuse/vueuse/issues/1897) - **useInterval**: Rename type `IntervalOptions` to `UseIntervalOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1945](https://togithub.com/vueuse/vueuse/issues/1945) - **useIntervalFn**: Rename type `IntervalFnOptions` to `UseIntervalFnOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1943](https://togithub.com/vueuse/vueuse/issues/1943) - **useTimeoutFn,useTimeout**: Rename type `TimeoutOptions` to `UseTimeoutOptions` and `TimeoutFnOptions` to `UseTimeoutFnOptions` - by [@okxiaoliang4](https://togithub.com/okxiaoliang4) in [https://github.com/vueuse/vueuse/issues/1944](https://togithub.com/vueuse/vueuse/issues/1944)logicAnd
,logicOr
,logicNot
,useClamp
to@vueuse/math
- by @antfu in https://github.com/vueuse/vueuse/issues/1794, https://github.com/vueuse/vueuse/issues/1810trailing
option should befalse
by default - by @webfansplz and @antfu in https://github.com/vueuse/vueuse/issues/1687key
instead ofkeyCode
incurrent
- by @wvffle in https://github.com/vueuse/vueuse/issues/1506🚀 Features
all: Support reactive getter as argument - in https://github.com/vueuse/vueuse/issues/1768
This introduces a new convention of passing reactive getters as arguments. Previously, many of VueUse functions supported a convention to accept optional Ref as arguments (
MaybeRef<T>
) to make the reactivity connections. For example:Since v9.0, most of the VueUse function also accepts a getter function similar to
computed
or the watch source ofwatch
to provide better flexibility.It also works great with Reactivity Transform.
math: New
@vueuse/math
packageNew Array-related utilities
syncRef: Support custom transforms - by @chaii3 and @antfu in https://github.com/vueuse/vueuse/issues/1968
useAsyncState: Add
throwError
option - by @TuiMao233 and @antfu in https://github.com/vueuse/vueuse/issues/1975useColorMode: New
initialValue
option - by @antfu (fcaf9)useStorage:
mergeDefaults
option - by @webfansplz and @antfu in https://github.com/vueuse/vueuse/issues/1957useTextDirection: New function - by @iChengbo and @antfu in https://github.com/vueuse/vueuse/issues/1678
🐞 Bug Fixes
@vueuse/integrations
- by @antfu (18ba0)currentPageSize
value - by @webfansplz in https://github.com/vueuse/vueuse/issues/1949onend
, fix demo - by @sibbng in https://github.com/vueuse/vueuse/issues/1941CLOSED
- by @chaii3 in https://github.com/vueuse/vueuse/issues/1960View changes on GitHub
v8.9.4
Compare Source
🐞 Bug Fixes
UseFileDialogReturn
type - by @xiaoxiangmoe in https://github.com/vueuse/vueuse/issues/1927View changes on GitHub
v8.9.3
Compare Source
🐞 Bug Fixes
View changes on GitHub
v8.9.2
Compare Source
🚀 Features
detectIframe
option - by @sibbng in https://github.com/vueuse/vueuse/issues/1795🐞 Bug Fixes
View changes on GitHub
v8.9.1
Compare Source
🐞 Bug Fixes
View changes on GitHub
v8.9.0
Compare Source
🚀 Features
🐞 Bug Fixes
View changes on GitHub
v8.8.1
Compare Source
🚀 Features
🐞 Bug Fixes
trigger
only work in Vue 3 - by @antfu (a1077)View changes on GitHub
v8.8.0
Compare Source
🚀 Features
auto
mode - by @dfreier and @antfu in https://github.com/vueuse/vueuse/issues/1627orientationchange
event - by @okxiaoliang4 and @antfu in https://github.com/vueuse/vueuse/issues/1609watch
with a manual trigger - by @LittleSound in https://github.com/vueuse/vueuse/issues/1736🐞 Bug Fixes
reactiveOmit
andreactivePick
support array as second arg - by @Brain777777 in https://github.com/vueuse/vueuse/issues/1742isSupported
check - by @antfu (5a64c)View changes on GitHub
v8.7.5
Compare Source
🐞 Bug Fixes
@types/web-bluetooth
as dep, close#1704
by @antfuView changes on GitHub
v8.7.4
Compare Source
🚀 Features
#1695
#1694
🐞 Bug Fixes
#1657
❤️ Contributors
Thanks to @antfu | @carlosgamezdev | @michealroberts | @okxiaoliang4
View changes on GitHub
v8.7.3
Compare Source
🐞 Bug Fixes
0d3c1f7a
❤️ Contributors
Thanks to @antfu
View changes on GitHub
v8.7.2
Compare Source
No significant changes
❤️ Contributors
Thanks to @antfu
View changes on GitHub
v8.7.1
Compare Source
No significant changes
❤️ Contributors
Thanks to @antfu
View changes on GitHub
v8.7.0
Compare Source
🚀 Features
#1493
#1460
🐞 Bug Fixes
#1673
$el
isnull
/undefined
#1657
headersToObject
8f541b0a
#1676
getModifierState
is not function error in Chrome#1654
#1663
#1661
T
type forWatchCallback
#1692
❤️ Contributors
Thanks to @antfu | @arcs- | @DrJume | @HannesOberreiter | @HassanZahirnia | @hsyq | @LeSuisse | @luciorubeens | @lvjiaxuan | @meteorlxy | @nhedger | @sibbng | @YunYouJun | @zojize
View changes on GitHub
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.