Metadata for VueUse functions
Last release 29 days ago
29 Jul 2026
Release timing varies
gaps range from 9 days to 3 months
Nearly every release is documented
notes for 108 of 109 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
133 releases · first in 2022
Release timeline
133 releases since 202220222023202420252026
Releases
- 14.4.029 Jul 2026
Release notes
Open source →🚀 Features
- Update skills - by @OrbisK in https://github.com/vueuse/vueuse/issues/5491 <samp>(f4758)</samp>
- nuxt: Disable
useColorModeauto import if@nuxtjs/color-modeis detected - by @OrbisK in https://github.com/vueuse/vueuse/issues/5476 <samp>(60687)</samp> - nuxt: Generate nuxt module builder output layout - by @userquin and @43081j in https://github.com/vueuse/vueuse/issues/5503 <samp>(40a1f)</samp>
- onStartTyping: Add more configurable options for
onStartTyping- by @LightQuanta and @9romise in https://github.com/vueuse/vueuse/issues/5395 <samp>(1f2b7)</samp> - useDebounceFn: Add flush and isPending to filter system - by @pcoterecollective, @OrbisK and @antfu in https://github.com/vueuse/vueuse/issues/5259 <samp>(4aa18)</samp>
- useElementOverflow: New function - by @inside5545, 苏俊言, @antfu, @ilyaliao, @OrbisK, @43081j and @9romise in https://github.com/vueuse/vueuse/issues/4094 <samp>(d49f5)</samp>
- useSpeechRecognition: Expose confidence of latest result - by @SAY-5 in https://github.com/vueuse/vueuse/issues/5398 <samp>(17dc9)</samp>
- useVirtualList: Add options
behavior,blockandinlineto exposed scrollTo method - by @laurens94, @OrbisK, @43081j and @ilyaliao in https://github.com/vueuse/vueuse/issues/4905 <samp>(01875)</samp>
🐞 Bug Fixes
- Drop unnecessary
PUREannotation to avoid Rollup warning - by @serkodev and @9romise in https://github.com/vueuse/vueuse/issues/5388 <samp>(16933)</samp> - Accept array template ref bound to v-for as observer target - by @eldardada in https://github.com/vueuse/vueuse/issues/5514 <samp>(bccb1)</samp>
- Reintroduce package normalisation to nuxt package - by @43081j in https://github.com/vueuse/vueuse/issues/5551 <samp>(c04c4)</samp>
- docs: Fix typo 'feedbacks' to 'feedback' in work-with-ai.md - by @firstquarterlee in https://github.com/vueuse/vueuse/issues/5447 <samp>(a4253)</samp>
- nuxt: Register formatTimeAgo variants for auto-import - by @ilyaliao, @cursoragent and Claude Opus 5 in https://github.com/vueuse/vueuse/issues/5492 <samp>(8a908)</samp>
- skills: Correct broken relative links in generated function references - by @lazerg and @OrbisK in https://github.com/vueuse/vueuse/issues/5549 <samp>(910db)</samp>
- tests: Deduplicate ci test runs - by @Tofandel in https://github.com/vueuse/vueuse/issues/5509 <samp>(5b272)</samp>
- useBrowserLocation: Skip write-back watching on 'load' state - by @Tobias-Braun and @9romise in https://github.com/vueuse/vueuse/issues/5485 <samp>(fbdd2)</samp>
- useDraggable: End drag on pointercancel - by @ShreeBohara and Claude Opus 5 in https://github.com/vueuse/vueuse/issues/5550 <samp>(6aa9d)</samp>
- useElementSize: Prefill size based on box option - by @meta-syntax in https://github.com/vueuse/vueuse/issues/5524 <samp>(5fe49)</samp>
- useEventBus: Use
tryOnScopeDisposeto avoid operating Vue internal API - by @liangmiQwQ in https://github.com/vueuse/vueuse/issues/5548 <samp>(2cad7)</samp> - useFetch: Ignore stale abort error after refetch succeeds - by @lazerg in https://github.com/vueuse/vueuse/issues/5525 <samp>(84426)</samp>
- useFuse: Trigger fuse ref after setCollection - by @ilyaliao, Claude Opus 5 and @cursoragent in https://github.com/vueuse/vueuse/issues/5479 <samp>(3e10c)</samp>
- useGamepad: Keep updating remaining gamepads after one disconnects - by @lazerg in https://github.com/vueuse/vueuse/issues/5523 <samp>(65328)</samp>
- usePointerSwipe: Handle pointercancel event to reset state and trigger onSwipeEnd - by @DORI2001, Dor Alagem and @43081j in https://github.com/vueuse/vueuse/issues/5379 <samp>(4c08a)</samp>
- useStyleTag: Avoid error when multiple components share the same id - by @ben-lau in https://github.com/vueuse/vueuse/issues/5473 <samp>(6d913)</samp>
- useVibrate: Make interval option optional - by @Aluomolo in https://github.com/vueuse/vueuse/issues/5490 <samp>(305ee)</samp>
- useVirtualList: Recompute range when item size changes - by @Antreesy in https://github.com/vueuse/vueuse/issues/5533 <samp>(0f6d5)</samp>
- useWebSocket: Sync status to 'CLOSED' after explicit close() - by @WuMingDao and @OrbisK in https://github.com/vueuse/vueuse/issues/5471 <samp>(351bf)</samp>
View changes on GitHub
- 14.3.01 May 2026
Release notes
Open source →🚀 Features
- Expose pointer event onLongPress - by @mrcwbr in https://github.com/vueuse/vueuse/issues/5295 <samp>(b1688)</samp>
- createInjectionState: Non-undefined return when default specified - by @Laupetin in https://github.com/vueuse/vueuse/issues/5306 <samp>(b0c51)</samp>
- createReusableTemplate: Add support for specifying component names - by @wbolster in https://github.com/vueuse/vueuse/issues/5300 <samp>(ea29d)</samp>
- nuxt: Add composable variants to auto imports - by @OrbisK in https://github.com/vueuse/vueuse/issues/5285 <samp>(ac2ef)</samp>
- useElementVisibility: Add
controlsoption - by @kricsleo in https://github.com/vueuse/vueuse/issues/5191 <samp>(0cb03)</samp> - useTextareaAutosize: Add optional
maxHeightto limit autosize growth - by @palamarchukser, @antfu and @9romise in https://github.com/vueuse/vueuse/issues/5324 <samp>(1a3e5)</samp>
🐞 Bug Fixes
- Add explicit
./package.jsonexport to all packages - by @babu-ch and @OrbisK in https://github.com/vueuse/vueuse/issues/5343 <samp>(0d989)</samp> - core: Always return ssrValue in useCssSupports before mounted - by @danielroe in https://github.com/vueuse/vueuse/issues/5290 <samp>(76b0b)</samp>
- directive: Create disposable directive func cleanup of side effects unmounted - by @kalu5, @43081j, Raman Paulau and @OrbisK in https://github.com/vueuse/vueuse/issues/5244 <samp>(52d68)</samp>
- docs: Typos in useManualRefHistory, useFocusWithin, useStorageAsync, useIntersectionObserver - by @blowsie, Sam Blowes and @OrbisK in https://github.com/vueuse/vueuse/issues/5329 <samp>(1d9c4)</samp>
- docs: Add
ignoreDeprecationsfor twoslash TS 6.0 compat - by @antfu and Claude Opus 4.6 (1M context) in https://github.com/vueuse/vueuse/issues/5367 <samp>(9d1eb)</samp> - metadata: Cleanup removed function
resolveRef- by @ntnyq in https://github.com/vueuse/vueuse/issues/5307 <samp>(49da8)</samp> - onClickOutside: Detect iframe inside shadow DOM with detectIframe option - by @babu-ch and @OrbisK in https://github.com/vueuse/vueuse/issues/5336 <samp>(1a77b)</samp>
- shared: Align overloads order of watch functions with original version - by @KazariEX in https://github.com/vueuse/vueuse/issues/5288 <samp>(f1d32)</samp>
- useAxios: Handle optional response data safely - by @jahnli in https://github.com/vueuse/vueuse/issues/5318 <samp>(51198)</samp>
- useCached: Update comparator type and improve documentation - by @IceMooncake in https://github.com/vueuse/vueuse/issues/5376 <samp>(d886c)</samp>
- useClipboard: Prevents fail in Safari for async operation - by @MatteoGabriele in https://github.com/vueuse/vueuse/issues/5369 <samp>(5ec56)</samp>
- useSortable: Re-query DOM on every
start()for string selectors - by @Mini-ghost in https://github.com/vueuse/vueuse/issues/5374 <samp>(3341f)</samp> - useVirtualList: React to changes made in mutable arrays properly - by @dcherman in https://github.com/vueuse/vueuse/issues/5267 <samp>(7069e)</samp>
- useWakeLock: Auto-release wake lock on component unmount - by @ProgrammingWithSid and @OrbisK in https://github.com/vueuse/vueuse/issues/5271 <samp>(43937)</samp>
- useWebSocket: Race condition caused by onopen/onclose events. - by @DanCardin, @antfu and @9romise in https://github.com/vueuse/vueuse/issues/5175 <samp>(6661c)</samp>
- whenever: Improve old value types - by @VChet in https://github.com/vueuse/vueuse/issues/5096 <samp>(979c6)</samp>
🏎 Performance
- Replace
deepRefwithshallowRefwhere appropriate - by @9romise in https://github.com/vueuse/vueuse/issues/5293 <samp>(80004)</samp>
View changes on GitHub
- 14.2.110 Feb 2026
Release notes
Open source →🚀 Features
- Add skills at the root directory for skills cli - by @antfu <samp>(c005d)</samp>
- skills: Transfer
@vueuse/skills- by @serkodev in https://github.com/vueuse/vueuse/issues/5286 <samp>(532ac)</samp>
🐞 Bug Fixes
- useRafFn: Resolve reactive null fpsLimit not being handled - by @nemanjamalesija in https://github.com/vueuse/vueuse/issues/5284 <samp>(8ce0d)</samp>
View changes on GitHub
- 14.2.031 Jan 2026
Release notes
Open source →🚀 Features
- Support configurable scheduler for timed composables - by @9romise in https://github.com/vueuse/vueuse/issues/5129 <samp>(66aad)</samp>
- Allow vue-router 5 as peer deps - by @Ericlm in https://github.com/vueuse/vueuse/issues/5269 <samp>(7c94a)</samp>
- useCssSupports: Add
useCssSupports- by @OrbisK in https://github.com/vueuse/vueuse/issues/5266 <samp>(c1282)</samp> - useDraggable: Auto-scroll with restricted dragging within the container - by @Gazoon007, Alfarish Fizikri, Robin and @OrbisK in https://github.com/vueuse/vueuse/issues/4472 <samp>(a8a85)</samp>
- useElementVisibility: Inherit
rootMarginfromuseIntersectionObserver- by @9romise in https://github.com/vueuse/vueuse/issues/5207 <samp>(46682)</samp> - useIntersectionObserver: Make
rootMarginreactive - by @doyuli, @ilyaliao and @9romise in https://github.com/vueuse/vueuse/issues/4934 <samp>(53abe)</samp> - useSortable: Add
watchElementoption for auto-reinitialize on element change - by @Mini-ghost and @ilyaliao in https://github.com/vueuse/vueuse/issues/5189 <samp>(17ea2)</samp>
🐞 Bug Fixes
- nuxt: Ensure excludes disabledFunctions' alias - by @jinyongp and @9romise in https://github.com/vueuse/vueuse/issues/5240 <samp>(76829)</samp>
- refManualReset: Add explicit return type annotation - by @batuhan-bas in https://github.com/vueuse/vueuse/issues/5246 <samp>(13bbb)</samp>
- useAsyncState: Ensure
executereturn the actual data - by @9romise in https://github.com/vueuse/vueuse/issues/5167 <samp>(0c346)</samp> - useDocumentVisibility: Fix type inference from string to Documen… - by @webfanzc and cowhorse in https://github.com/vueuse/vueuse/issues/5248 <samp>(e8be8)</samp>
- useFocusTrap: Update
focus-traprange to^7 - by ** ^8(#5270)** <samp>()</samp> - useInfiniteScroll: Improve promise handling and add flush post to watch - by @nhquyss and @9romise in https://github.com/vueuse/vueuse/issues/5122 <samp>(abcea)</samp>
- useMagicKeys: Handle undefined key in keyboard events - by @LouisLau-art, LouisLau-art and @OrbisK in https://github.com/vueuse/vueuse/issues/5225 <samp>(65e25)</samp>
View changes on GitHub
- 14.1.027 Nov 2025
Release notes
Open source →🚀 Features
- useDropZone: Add checkValidity function - by @kolaente in https://github.com/vueuse/vueuse/issues/5169 <samp>(aee84)</samp>
- useElementVisibility: Add
initialValueoption - by @kricsleo and @9romise in https://github.com/vueuse/vueuse/issues/5159 <samp>(13f36)</samp> - useMouseInElement: Add support for tracking inline-level elements - by @siavava and @9romise in https://github.com/vueuse/vueuse/issues/5049 <samp>(62dfb)</samp>
- useTimeAgoIntl: Custom units - by @Menci in https://github.com/vueuse/vueuse/issues/5188 <samp>(c7d09)</samp>
- useWebSocket:
autoConnect.delaysupport function - by @YuchenWell, Anthony Fu and @9romise in https://github.com/vueuse/vueuse/issues/5089 <samp>(176f2)</samp>
🐞 Bug Fixes
- Typescript type of
isIOSconstant - by @toofishes in https://github.com/vueuse/vueuse/issues/5163 <samp>(60888)</samp> - computedWithControl: Allow different types in watch sources array - by @kricsleo in https://github.com/vueuse/vueuse/issues/5184 <samp>(bc4ac)</samp>
- types: Allow async functions in useDebounceFn and useThrottleFn - by @xiaoxiaohuayu in https://github.com/vueuse/vueuse/issues/5131 <samp>(7fb7a)</samp>
- types: Deprecate embeded
ResizeObserverSizetypes - by @9romise in https://github.com/vueuse/vueuse/issues/5127 <samp>(d7a07)</samp> - useArrayReduce: Export
UseArrayReduceReturntype - by @michaelcozzolino in https://github.com/vueuse/vueuse/issues/5177 <samp>(e1204)</samp> - useAsyncQueue: Trigger onFinished when the last task is rejected - by @keeplearning66 and @9romise in https://github.com/vueuse/vueuse/issues/5144 <samp>(c4a46)</samp>
- useClipboard: Add readonly attribute to textarea fallback to support Safari 15 - by @huajianjiu in https://github.com/vueuse/vueuse/issues/5179 <samp>(ef0c4)</samp>
- useInfiniteScroll: Make canLoadMore reactive - by @nhquyss in https://github.com/vueuse/vueuse/issues/5110 <samp>(3dc2d)</samp>
- useMagicKeys: Handle empty key events to prevent errors - by @babu-ch and @9romise in https://github.com/vueuse/vueuse/issues/5149 <samp>(f8aec)</samp>
- useScroll: Use configurable window's
getComputedStyle- by @9romise in https://github.com/vueuse/vueuse/issues/5150 <samp>(f74a6)</samp> - useSpeechRecognition: Catch the error while calling method start - by @ben-lau, liubaobin and @9romise in https://github.com/vueuse/vueuse/issues/5142 <samp>(94f1e)</samp>
- useTimeout: Fix type typo - by @keeplearning66, Robin and Anthony Fu in https://github.com/vueuse/vueuse/issues/5147 <samp>(31e5c)</samp>
View changes on GitHub
- 14.0.022 Oct 2025
Release notes
Open source →🚨 Breaking Changes
- Migrate to
tsdown, move dist files - by @9romise and Anthony Fu in https://github.com/vueuse/vueuse/issues/5004 <samp>(a2e2c)</samp> - Deprecate alias exports in favor of original function names - by @9romise in https://github.com/vueuse/vueuse/issues/5009 <samp>(e5f74)</samp>
- Requires Vue 3.5 - by @antfu <samp>(fe458)</samp>
- components: Refactor components and make them consistent - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4912 <samp>(8c521)</samp>
- computedAsync: Default to
flush: sync- by @ferferga in https://github.com/vueuse/vueuse/issues/4752 <samp>(573bf)</samp> - createSharedComposable: Return only the sharedComposable on client side - by @9romise in https://github.com/vueuse/vueuse/issues/4997 <samp>(73aad)</samp>
- firebase: Upgrade to firebase v12 - by @antfu <samp>(8cb0b)</samp>
- nuxt: Use Nuxt v4 kit - by @antfu <samp>(070fc)</samp>
- shared: Drop some deprecated apis - by @9romise in https://github.com/vueuse/vueuse/issues/5010 <samp>(971b2)</samp>
- useClipboard: Use
readonly()instead of type assertionComputed- by @9romise in https://github.com/vueuse/vueuse/issues/5081 <samp>(67812)</samp> - useSwipe: Remove isPassiveEventSupported - by @pkc918 in https://github.com/vueuse/vueuse/issues/4886 <samp>(620a9)</samp>
- useThrottleFn: Align with traditional throttle behavior - by @IceMooncake and @ilyaliao in https://github.com/vueuse/vueuse/issues/4923 <samp>(cefd2)</samp>
🚀 Features
- computedEager: Deprecate
computedEager- by @ilyaliao in https://github.com/vueuse/vueuse/issues/5034 <samp>(26a7d)</samp> - onClickOutside: Allow the value of target to be a getter - by @keeplearning66 in https://github.com/vueuse/vueuse/issues/5098 <samp>(7133c)</samp>
- onLongPress: Allow function as value in delay - by @keeplearning66 in https://github.com/vueuse/vueuse/issues/4979 <samp>(415f3)</samp>
- refManualReset: New function - by @phk422, @OrbisK, @ilyaliao and Anthony Fu in https://github.com/vueuse/vueuse/issues/4644 <samp>(81bb3)</samp>
- useAsyncState: Allow initial value to be a ref - by @43081j in https://github.com/vueuse/vueuse/issues/4992 <samp>(e38e8)</samp>
- useIdle: Implement
Stoppableinterface - by @dpbs-715 and Anthony Fu in https://github.com/vueuse/vueuse/issues/5068 <samp>(3f96a)</samp> - useTextSelection: Set initial value for use text selection - by @kevinluo201 in https://github.com/vueuse/vueuse/issues/5092 <samp>(dbb3e)</samp>
- useTransition: Add support for custom interpolator functions - by @scottbedard and Anthony Fu in https://github.com/vueuse/vueuse/issues/5011 <samp>(cf905)</samp>
- watch: Update watch return typo in watchExtractedObservable, watchDebounced, watchDeep, watchImmediate, watchOnce, watchThrottled and watchWithFilter - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4896 <samp>(b8102)</samp>
- watchAtMost: Add pause and resume to return value - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4897 <samp>(d3176)</samp>
- watchPausable: Deprecate
watchPausable- by @ilyaliao in https://github.com/vueuse/vueuse/issues/5040 <samp>(4a28b)</samp>
🐞 Bug Fixes
- Update return type of createReusableTemplate and createTemplateP… - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4962 <samp>(5fd3a)</samp>
- Update return types for createTemplatePromise, useMagicKeys, use… - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4963 <samp>(554b7)</samp>
- Update parameter types to use ComponentInternalInstance in lifec… - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/5060 <samp>(a49a3)</samp>
- integrations: Use relative import in
component.ts- by @9romise in https://github.com/vueuse/vueuse/issues/5025 <samp>(d5bcd)</samp> - shared: Support provideLocal/injectLocal in vapor mode - by @ZKunZhang and Zhaokun Zhang in https://github.com/vueuse/vueuse/issues/5050 <samp>(51872)</samp>
- tryOnScopeDispose: Add optional failSilently parameter and updat… - by @ArthurDarkstone and @ilyaliao in https://github.com/vueuse/vueuse/issues/5061 <samp>(a4862)</samp>
- types: Update type casting for watch functions to use WatchSource<T> - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4966 <samp>(00a72)</samp>
- useAsyncState: Track latest execution to avoid newer results being replaced by outdated ones - by @andreww2012 in https://github.com/vueuse/vueuse/issues/5047 <samp>(3e6cb)</samp>
- useFullscreen: Specify return types for request, exit, and enabl… - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4965 <samp>(8ac73)</samp>
- useMagicKeys: Clearing of other keys after releasing alt - by @NoiseFan in https://github.com/vueuse/vueuse/issues/5037 <samp>(3f113)</samp>
- useShare: Improve the accuracy of sharing logic - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/5048 <samp>(61e1b)</samp>
- useUrlSearchParams: Restore proper history and navigation behavior - by @yosong-github and @ilyaliao in https://github.com/vueuse/vueuse/issues/4969 <samp>(1cff4)</samp>
- useUserMedia: Add deep watch to constraints - by @babu-ch and @ilyaliao in https://github.com/vueuse/vueuse/issues/5046 <samp>(4b3e9)</samp>
View changes on GitHub
- Migrate to
- 14.0.0-beta.119 Sept 2025pre-release
Release notes
Open source →🚀 Features
- useTransition: Add support for custom interpolator functions - by @scottbedard and Anthony Fu in https://github.com/vueuse/vueuse/issues/5011 <samp>(cf905)</samp>
🐞 Bug Fixes
- useAsyncState: Track latest execution to avoid newer results being replaced by outdated ones - by @andreww2012 in https://github.com/vueuse/vueuse/issues/5047 <samp>(3e6cb)</samp>
- useShare: Improve the accuracy of sharing logic - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/5048 <samp>(61e1b)</samp>
- useUserMedia: Add deep watch to constraints - by @babu-ch and @ilyaliao in https://github.com/vueuse/vueuse/issues/5046 <samp>(4b3e9)</samp>
View changes on GitHub
- 14.0.0-alpha.316 Sept 2025pre-release
Release notes
Open source →🚨 Breaking Changes
- createSharedComposable: Return only the sharedComposable on client side - by @9romise in https://github.com/vueuse/vueuse/issues/4997 <samp>(73aad)</samp>
🚀 Features
- computedEager: Deprecate
computedEager- by @ilyaliao in https://github.com/vueuse/vueuse/issues/5034 <samp>(26a7d)</samp> - watch: Update watch return typo in watchExtractedObservable, watchDebounced, watchDeep, watchImmediate, watchOnce, watchThrottled and watchWithFilter - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4896 <samp>(b8102)</samp>
- watchAtMost: Add pause and resume to return value - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4897 <samp>(d3176)</samp>
- watchPausable: Deprecate
watchPausable- by @ilyaliao in https://github.com/vueuse/vueuse/issues/5040 <samp>(4a28b)</samp>
🐞 Bug Fixes
- Update return type of createReusableTemplate and createTemplateP… - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4962 <samp>(5fd3a)</samp>
- Update return types for createTemplatePromise, useMagicKeys, use… - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4963 <samp>(554b7)</samp>
- useFullscreen: Specify return types for request, exit, and enabl… - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4965 <samp>(8ac73)</samp>
- useMagicKeys: Clearing of other keys after releasing alt - by @NoiseFan in https://github.com/vueuse/vueuse/issues/5037 <samp>(3f113)</samp>
View changes on GitHub
- 14.0.0-alpha.212 Sept 2025pre-release
Release notes
Open source →🚨 Breaking Changes
- Deprecate alias exports in favor of original function names - by @9romise in https://github.com/vueuse/vueuse/issues/5009 <samp>(e5f74)</samp>
- Requires Vue 3.5 - by @antfu <samp>(fe458)</samp>
- firebase: Upgrade to firebase v12 - by @antfu <samp>(8cb0b)</samp>
- nuxt: Use Nuxt v4 kit - by @antfu <samp>(070fc)</samp>
- shared: Drop some deprecated apis - by @9romise in https://github.com/vueuse/vueuse/issues/5010 <samp>(971b2)</samp>
🚀 Features
- refManualReset: New function - by @phk422, Robin, @ilyaliao and Anthony Fu in https://github.com/vueuse/vueuse/issues/4644 <samp>(81bb3)</samp>
🐞 Bug Fixes
- integrations: Use relative import in
component.ts- by @9romise in https://github.com/vueuse/vueuse/issues/5025 <samp>(d5bcd)</samp>
View changes on GitHub
- 14.0.0-alpha.11 Sept 2025pre-release
Release notes
Open source →🚨 Breaking Changes
- Migrate to
tsdown, move dist files - by @9romise and Anthony Fu in https://github.com/vueuse/vueuse/issues/5004 <samp>(a2e2c)</samp> - computedAsync: Default to
flush: sync- by @ferferga in https://github.com/vueuse/vueuse/issues/4752 <samp>(573bf)</samp> - useSwipe: Remove isPassiveEventSupported - by @pkc918 in https://github.com/vueuse/vueuse/issues/4886 <samp>(620a9)</samp>
View changes on GitHub
- Migrate to
- 14.0.0-alpha.01 Sept 2025pre-release
Release notes
Open source →🚨 Breaking Changes
- components: Refactor components and make them consistent - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4912 <samp>(8c521)</samp>
- useThrottleFn: Align with traditional throttle behavior - by @IceMooncake and @ilyaliao in https://github.com/vueuse/vueuse/issues/4923 <samp>(cefd2)</samp>
🚀 Features
- onLongPress: Allow function as value in delay - by @keeplearning66 in https://github.com/vueuse/vueuse/issues/4979 <samp>(415f3)</samp>
- useAsyncState: Allow initial value to be a ref - by @43081j in https://github.com/vueuse/vueuse/issues/4992 <samp>(e38e8)</samp>
🐞 Bug Fixes
- types: Update type casting for watch functions to use WatchSource<T> - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4966 <samp>(00a72)</samp>
- useUrlSearchParams: Restore proper history and navigation behavior - by @yosong-github and @ilyaliao in https://github.com/vueuse/vueuse/issues/4969 <samp>(1cff4)</samp>
View changes on GitHub
- 13.9.01 Sept 2025
Release notes
Open source →🚀 Features
- onLongPress: Allow function as value in delay - by @keeplearning66 in https://github.com/vueuse/vueuse/issues/4979 <samp>(415f3)</samp>
- useAsyncState: Allow initial value to be a ref - by @43081j in https://github.com/vueuse/vueuse/issues/4992 <samp>(e38e8)</samp>
🐞 Bug Fixes
- types: Update type casting for watch functions to use WatchSource<T> - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4966 <samp>(00a72)</samp>
- useUrlSearchParams: Restore proper history and navigation behavior - by @yosong-github and @ilyaliao in https://github.com/vueuse/vueuse/issues/4969 <samp>(1cff4)</samp>
View changes on GitHub
- 13.8.027 Aug 2025
Release notes
Open source →🚀 Features
- useEventSource: Add
serializer- by @imddc and @ilyaliao in https://github.com/vueuse/vueuse/issues/4953 <samp>(64651)</samp>
🏎 Performance
- docs: Replace
twoslashwith own function for comparing js snippet - by @serkodev in https://github.com/vueuse/vueuse/issues/4977 <samp>(909fd)</samp> - usePointer: Use shallowRef for better performance - by @broBinChen and xiaobin in https://github.com/vueuse/vueuse/issues/4980 <samp>(ce09e)</samp>
- usePreferredLanguages: Use shallowRef for better performance - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4973 <samp>(361c8)</samp>
View changes on GitHub
- useEventSource: Add
- 13.7.018 Aug 2025
Release notes
Open source →🚨 Breaking Changes
- useAsyncState: Set globalThis.reportError as default onError - by @kalu5 in https://github.com/vueuse/vueuse/issues/4951 <samp>(f6e88)</samp>
🚀 Features
- computedAsync: Use globalThis.reportError as default onError - by @babu-ch in https://github.com/vueuse/vueuse/issues/4943 <samp>(226a2)</samp>
- useClipboardItems: Expose
read()- by @OrbisK in https://github.com/vueuse/vueuse/issues/4954 <samp>(d03b2)</samp> - useDevicePixelRatio: Improve types - by @doyuli in https://github.com/vueuse/vueuse/issues/4927 <samp>(1b3d4)</samp>
- useSpeechSynthesisOptions: Add option
onBoundary- by @pkc918 in https://github.com/vueuse/vueuse/issues/4960 <samp>(c0dca)</samp> - useTimeAgoIntl: Add
useTimaAgoIntl- by @northword and Anthony Fu in https://github.com/vueuse/vueuse/issues/4821 <samp>(81815)</samp>
🐞 Bug Fixes
- ci: Avoid duplicate
nr updateexecution indocs:build- by @serkodev in https://github.com/vueuse/vueuse/issues/4925 <samp>(a73ee)</samp> - useAnimate: Respect
immediate: falsewith conditionally rendered elements - by @curtgrimes in https://github.com/vueuse/vueuse/issues/4947 <samp>(90c7f)</samp> - useGamepad: Correct type assertion for vibrationActuator - by @ArthurDarkstone in https://github.com/vueuse/vueuse/issues/4964 <samp>(c5277)</samp>
- useStorage: Make sure to always read data if new value is
undefined- by @OrbisK in https://github.com/vueuse/vueuse/issues/4957 <samp>(22116)</samp>
🏎 Performance
- twoslash: Optimize twoslash cache - by @doyuli in https://github.com/vueuse/vueuse/issues/4939 <samp>(93064)</samp>
- useMutationObserver: Watch ref directly - by @VividLemon in https://github.com/vueuse/vueuse/issues/4940 <samp>(01cd9)</samp>
View changes on GitHub
- 13.6.028 Jul 2025
Release notes
Open source →🚀 Features
- Mark templateRef as deprecated - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4894 <samp>(0271e)</samp>
- useFileDialog: Add MaybRef to multiple, accept, capture, reset, and directory - by @hunterwilhelm, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/4813 <samp>(a44bd)</samp>
- useFocusTrap: Expose updateContainerElements for dynamic contai… - by @PeikyLiu and @ilyaliao in https://github.com/vueuse/vueuse/issues/4849 <samp>(3d5e5)</samp>
- useIDBKeyval: Add
options.serializer- by @matthewjumpsoffbuildings, @OrbisK and @43081j in https://github.com/vueuse/vueuse/issues/4781 <samp>(bb831)</samp> - useStorageAsync: Add
onReadyoption and Promise return - by @asika32764, Fernando Fernández, @OrbisK and Anthony Fu in https://github.com/vueuse/vueuse/issues/4158 <samp>(3a2df)</samp> - useTransition: Support custom window - by @byronogis and Anthony Fu in https://github.com/vueuse/vueuse/issues/4850 <samp>(a75f4)</samp>
🐞 Bug Fixes
- onClickOutside: The order of overload signatures - by @whiteyebrw, @ilyaliao and Anthony Fu in https://github.com/vueuse/vueuse/issues/4839 <samp>(d5812)</samp>
- types: Use Vue's native
MaybeRefandMaybeRefOrGetterinstead - by @RYGRIT in https://github.com/vueuse/vueuse/issues/4913 <samp>(2d179)</samp> - useDraggable: Add capture prop to component - by @wgh970312 in https://github.com/vueuse/vueuse/issues/4911 <samp>(547f8)</samp>
- useMagicKeys: Prevent incorrect clearing of other keys after releasing shift - by @keeplearning66 in https://github.com/vueuse/vueuse/issues/4916 <samp>(d7f28)</samp>
- useMouseInElement: Correctly update elementX and elementY - by @cszhjh and @ilyaliao in https://github.com/vueuse/vueuse/issues/4846 <samp>(cf02b)</samp>
- useVirtualList: Resolve invalid watch source - by @cszhjh and @OrbisK in https://github.com/vueuse/vueuse/issues/4857 <samp>(d2381)</samp>
View changes on GitHub
- 13.5.02 Jul 2025
Release notes
Open source →🚀 Features
- useSpeechSynthesis: Add reactivity for volume - by @whiteyebrw in https://github.com/vueuse/vueuse/issues/4837 <samp>(4d125)</samp>
🐞 Bug Fixes
- useCookie: Update
universal-cookierange to^7 || ^8#4834
View changes on GitHub
- 13.4.019 Jun 2025
Release notes
Open source →🚀 Features
- shared: Introduce
TimerHandlefor setTimeout type - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4801 <samp>(319d8)</samp> - useAsyncState: Add executeImmediate with the same type as the promise fn - by @davidglezz in https://github.com/vueuse/vueuse/issues/4716 <samp>(82740)</samp>
- useEventSource: Added lastEventId for named events - by @whiteyebrw in https://github.com/vueuse/vueuse/issues/4791 <samp>(f6f0b)</samp>
- useFetch: Support for custom abort reason - by @doyuli in https://github.com/vueuse/vueuse/issues/4820 <samp>(44c0b)</samp>
- useRefHistory: Add
shouldCommit- by @JonathanSchndr, Anthony Fu and Robin in https://github.com/vueuse/vueuse/issues/4471 <samp>(18acf)</samp> - useUrlSearchParams: Add a stringify option for users to provide stringify logic - by @mingXta, Robin and Anthony Fu in https://github.com/vueuse/vueuse/issues/4773 <samp>(6a523)</samp>
🐞 Bug Fixes
- computedWithControl: Allow deeply watching source - by @MetRonnie and Anthony Fu in https://github.com/vueuse/vueuse/issues/4786 <samp>(ffc1a)</samp>
- useDevicesList: Check for device availability before requesting permissions - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4818 <samp>(c424f)</samp>
- useEventListener: Improve types - by @ArthurDarkstone, liliang18 and @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/4787 <samp>(6f565)</samp>
- useIdle: Changed the
resetcall when the initial value is true - by @whiteyebrw in https://github.com/vueuse/vueuse/issues/4800 <samp>(c6469)</samp> - useMouseInElement: Fixing the issue where target element updates were not considered. - by @Codfisher and bgm.cod in https://github.com/vueuse/vueuse/issues/4782 <samp>(04af9)</samp>
- useScreenSafeArea: Сhanged initial value update - by @whiteyebrw in https://github.com/vueuse/vueuse/issues/4789 <samp>(ae573)</samp>
- useScriptTag: Support passing nonce - by @1-dilikelei and 董梁玮 in https://github.com/vueuse/vueuse/issues/4753 <samp>(57370)</samp>
- useScroll: Use mutationObserver to update arrivedState when the DOM is changed - by @andylou0102, AndyLuo, Robin and Anthony Fu in https://github.com/vueuse/vueuse/issues/4433 <samp>(135d5)</samp>
- watchIgnorable: Add and export types - by @ArthurDarkstone, liliang18 and Robin in https://github.com/vueuse/vueuse/issues/4809 <samp>(0e10e)</samp>
🏎 Performance
- computedWithControl: Optimize with shallowRef - by @broBinChen and binge_c-admin in https://github.com/vueuse/vueuse/issues/4826 <samp>(2c91a)</samp>
View changes on GitHub
- shared: Introduce
- 13.3.027 May 2025
Release notes
Open source →🚀 Features
- useNow: Expose immediate option - by @scottbedard in https://github.com/vueuse/vueuse/issues/4768 <samp>(44660)</samp>
🐞 Bug Fixes
- asyncComputed: Fix types for
AsyncComputedOptions- by @antfu <samp>(217cc)</samp> - useFetch: Use
globalThis.fetchwhendefaultWindow.fetchnot exist - by @Groupguanfang, Naily and @OrbisK in https://github.com/vueuse/vueuse/issues/4765 <samp>(bf354)</samp> - useSortable: Fix type misalignment - by @michaelcozzolino in https://github.com/vueuse/vueuse/issues/4760 <samp>(16692)</samp>
View changes on GitHub
- 13.2.014 May 2025
Release notes
Open source →🚀 Features
- computedAsync: Add option to control watcher's flush timing - by @ferferga in https://github.com/vueuse/vueuse/issues/4746 <samp>(b1bc8)</samp>
- useFileDialog: Allow custom input element for file dialog - by @ishakhorski in https://github.com/vueuse/vueuse/issues/4679 <samp>(0ea16)</samp>
- useScroll: Add missing measure documentation - by @Matkolit and Mateusz Kołodziej in https://github.com/vueuse/vueuse/issues/4727 <samp>(dd98a)</samp>
- useStyleTag: Support passing
nonce- by @1-dilikelei and 董梁玮 in https://github.com/vueuse/vueuse/issues/4749 <samp>(fa2c0)</samp> - watchOnce: Use vue's native once behaviour - by @ferferga in https://github.com/vueuse/vueuse/issues/4750 <samp>(08f7d)</samp>
🐞 Bug Fixes
- Allow vertical scroll in usePointerSwipe - by @2nofa11 in https://github.com/vueuse/vueuse/issues/4637 and https://github.com/vueuse/vueuse/issues/4720 <samp>(d3ed6)</samp>
- Always mount listeners in useStorage - by @43081j in https://github.com/vueuse/vueuse/issues/4730 <samp>(65a99)</samp>
- UseArrayFindReturn: Missing template type - by @michaelcozzolino in https://github.com/vueuse/vueuse/issues/4715 <samp>(43903)</samp>
- computedAsync: Return
ComputedRef<T>type whenlazy: true- by @ferferga in https://github.com/vueuse/vueuse/issues/4751 <samp>(b1718)</samp> - docs: Grammar in /packages/nuxt/README.md - by @neeko-cat in https://github.com/vueuse/vueuse/issues/4701 <samp>(44b40)</samp>
- fromEvent: Fix type error of element reference - by @ywenhao and @antfu in https://github.com/vueuse/vueuse/issues/4728 <samp>(94fea)</samp>
- onClickOutside: Workaround for iOS - by @ferferga in https://github.com/vueuse/vueuse/issues/4735 <samp>(1c60c)</samp>
- useElementSize: Component type warning - by @menghany in https://github.com/vueuse/vueuse/issues/4722 <samp>(9889f)</samp>
- useEventSource: Add missing data generic - by @OrbisK in https://github.com/vueuse/vueuse/issues/4726 <samp>(a969e)</samp>
- useFullscreen: Get the correct initial state while mounted - by @ben-lau and liubaobin in https://github.com/vueuse/vueuse/issues/4745 <samp>(09cbd)</samp>
- useMagicKeys: Correctly clear current pressed keys when releasing Shift - by @Kedlingar and Skstud5 in https://github.com/vueuse/vueuse/issues/4731 <samp>(ab7ac)</samp>
View changes on GitHub
- 13.1.08 Apr 2025
Release notes
Open source →🚀 Features
- shared: Ensure return types exists - by @OrbisK in https://github.com/vueuse/vueuse/issues/4659 <samp>(c1d6e)</samp>
- useSortable: Add possibility to use it with Component ref - by @michaelcozzolino in https://github.com/vueuse/vueuse/issues/4684 <samp>(15917)</samp>
🐞 Bug Fixes
- docs: Blog moved to different domain - by @th1m0 in https://github.com/vueuse/vueuse/issues/4663 <samp>(72c9a)</samp>
- nuxt: Don't require
@vueuse/coreinstalled at root - by @danielroe in https://github.com/vueuse/vueuse/issues/4698 <samp>(17a46)</samp> - tryOnMounted: Pass target to getLifeCycleTarget - by @Eazash in https://github.com/vueuse/vueuse/issues/4685 <samp>(16551)</samp>
- useDropZone: Allow passing
documentas target - by @osbre in https://github.com/vueuse/vueuse/issues/4681 <samp>(21fa6)</samp>
View changes on GitHub
- 13.0.010 Mar 2025
Release notes
Open source →🚨 Breaking Changes
- Drop CJS build, now it's ESM-only - by @antfu in https://github.com/vueuse/vueuse/issues/4581 <samp>(5e046)</samp>
View changes on GitHub
- 13.0.0-beta.25 Mar 2025pre-release
Release notes
Open source →🚨 Breaking Changes
- Drop CJS build, now it's ESM-only - by @antfu <samp>(f0973)</samp>
View changes on GitHub
- 13.0.0-beta.15 Mar 2025pre-release
Release notes
Open source →🚨 Breaking Changes
- Drop CJS build, now it's ESM-only - by @antfu <samp>(f0973)</samp>
View changes on GitHub
- 12.8.25 Mar 2025
Release notes
Open source → - 12.8.15 Mar 2025
Release notes
Open source →🐞 Bug Fixes
- useEventSource: Remove readonly to not be breaking - by @OrbisK in https://github.com/vueuse/vueuse/issues/4645 <samp>(79fcb)</samp>
View changes on GitHub
- 12.8.05 Mar 2025
Release notes
Open source →🚀 Features
- nuxt: Support wider Nuxt range - by @antfu <samp>(c478e)</samp>
- types: Deprecate
MaybeRefandMaybeRefOrGetterin favor of Vue's native - by @ilyaliao and @antfu in https://github.com/vueuse/vueuse/issues/4636 <samp>(7432f)</samp> - useCached: Add
options.deepRefs- by @OrbisK and @antfu in https://github.com/vueuse/vueuse/issues/4591 <samp>(9afee)</samp> - useWebSocket: Pass the
retriedto theautoReconnect.retries- by @9romise and @OrbisK in https://github.com/vueuse/vueuse/issues/4604 <samp>(73e6d)</samp>
🐞 Bug Fixes
- onStartTyping: Incorrect accepted valid characters - by @Bernard-Borg in https://github.com/vueuse/vueuse/issues/4616 <samp>(58a3b)</samp>
- useAnimate: Correct condition for updating keyframes - by @Mrlilili and liyan1 in https://github.com/vueuse/vueuse/issues/4619 <samp>(e8665)</samp>
- useClipboard: Unhandled rejection on read permission prompt - by @Vitalis11 in https://github.com/vueuse/vueuse/issues/4615 <samp>(a54c4)</samp>
- useCssVar: Update
variablewhen initial - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4641 <samp>(d680f)</samp> - useDeviceList: AudioInputs doesn't update if camera permission is
granted- by @Nikitatopodin and Никита Быковский in https://github.com/vueuse/vueuse/issues/4559 <samp>(f9685)</samp> - useScroll: Handle negative scroll values - by @ilyaliao and eavlee in https://github.com/vueuse/vueuse/issues/4613 <samp>(4b7ab)</samp>
- useWebSocket: Don't call close() on pongTimeout if connection al… - by @Azurency in https://github.com/vueuse/vueuse/issues/4608 <samp>(9ba07)</samp>
View changes on GitHub
- 12.7.015 Feb 2025
Release notes
Open source →🚀 Features
- useRafFn: Add
onceoption - by @btea in https://github.com/vueuse/vueuse/issues/4583 <samp>(3041e)</samp>
🐞 Bug Fixes
- useFetch: Partial overwrite when
{combination: 'overwrite'}- by @pkc918 and @antfu in https://github.com/vueuse/vueuse/issues/4430 <samp>(3ca0d)</samp> - useTextareaAutosize: Improve resize handling with requestAnimationFrame - by @ilyaliao, Robin and @antfu in https://github.com/vueuse/vueuse/issues/4557 <samp>(e1a7e)</samp>
View changes on GitHub
- useRafFn: Add
- 12.6.114 Feb 2025
- 12.6.014 Feb 2025
Release notes
Open source →🚀 Features
- createReusableTemplate: Explicit props - by @antfu in https://github.com/vueuse/vueuse/issues/4535 <samp>(18031)</samp>
- onClickOutside: Add
controls- by @sibbng and @antfu in https://github.com/vueuse/vueuse/issues/4537 <samp>(ab116)</samp> - useDateFormat: Add
z...zzzzfor timezone information - by @OrbisK in https://github.com/vueuse/vueuse/issues/4553 <samp>(cd6d7)</samp> - useElementVisibility: Add
onceoptions - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4577 <samp>(f2f94)</samp> - useTimtoutFn,useTimeoutPoll: Align behavior - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4543 <samp>(64c53)</samp>
- watchPausable: Add
options.initialStateto control the initial active value - by @OrbisK in https://github.com/vueuse/vueuse/issues/4533 <samp>(ceb56)</samp>
🐞 Bug Fixes
- createEventHook: Type check for multiple arguments - by @isimehmeti and @ilyaliao in https://github.com/vueuse/vueuse/issues/4555 <samp>(636b8)</samp>
- nuxt: Check if packages exist in any layer - by @dgrayvold in https://github.com/vueuse/vueuse/issues/4571 <samp>(45e5c)</samp>
- reactiveComputed: Computed fn should be
ComputedGetter- by @OrbisK in https://github.com/vueuse/vueuse/issues/4528 <samp>(bea31)</samp> - useAnimate: Clear animate when element is gone - by @babu-ch in https://github.com/vueuse/vueuse/issues/4579 <samp>(1a934)</samp>
- useCountdown:
start()should accept a custom initial value - by @ralacerda in https://github.com/vueuse/vueuse/issues/4554 <samp>(93591)</samp> - useCssVar: New Behavior - by @ilyaliao and OrbisK in https://github.com/vueuse/vueuse/issues/4500 <samp>(d5dd8)</samp>
- useMouse: Check for
MouseEventinstead ofTouchto work with FF - by @OrbisK and @antfu in https://github.com/vueuse/vueuse/issues/4457 <samp>(ce9e5)</samp> - useSpeechRecognition: Improve start and stop method behavior - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4565 <samp>(4f104)</samp>
View changes on GitHub
- 12.5.022 Jan 2025
Release notes
Open source →🚀 Features
- More passive event handlers - by @ferferga in https://github.com/vueuse/vueuse/issues/4484 <samp>(eddbf)</samp>
- Use
useEventListenerwhere it was not being used - by @ferferga in https://github.com/vueuse/vueuse/issues/4479 <samp>(c6c6e)</samp> - useClipboard: Should fall back to legacy clipboard when read/write fails - by @OrbisK in https://github.com/vueuse/vueuse/issues/4512 <samp>(01acd)</samp>
- useCountdown: New function - by @rtugeek, @huang-julien, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/4125 <samp>(69ced)</samp>
- useEventListener: Make all parameters arrayable and reactive - by @ferferga in https://github.com/vueuse/vueuse/issues/4486 <samp>(caf08)</samp>
- useFetch: Add parameters to the
afterFetchandonFetchError- by @tolking and Anthony Fu in https://github.com/vueuse/vueuse/issues/4499 <samp>(98a83)</samp> - useFileDialog: Add initialFiles option - by @EvgenyWas in https://github.com/vueuse/vueuse/issues/4509 <samp>(8a8d6)</samp>
🐞 Bug Fixes
- debounceFilter: Invoke on maxWait with the latest invoker - by @43081j and @OrbisK in https://github.com/vueuse/vueuse/issues/4497 <samp>(48e0a)</samp>
- useMagicKeys: Fix key order issue on first use - by @babu-ch in https://github.com/vueuse/vueuse/issues/4505 <samp>(b6947)</samp>
- useVirtualList: Allow readonly arrays as input - by @RebeccaStevens in https://github.com/vueuse/vueuse/issues/4504 <samp>(f3cc7)</samp>
View changes on GitHub
- 12.4.010 Jan 2025
Release notes
Open source →🚀 Features
- Use passive event handlers everywhere is possible - by @ferferga and @antfu in https://github.com/vueuse/vueuse/issues/4477 <samp>(dd316)</samp>
- useCloned: Return
isModified- by @pkc918 and @antfu in https://github.com/vueuse/vueuse/issues/4470 <samp>(6018c)</samp> - useStorage: Make storage key reactive - by @EvgenyWas and @antfu in https://github.com/vueuse/vueuse/issues/4464 <samp>(eb679)</samp>
🐞 Bug Fixes
- useBluetooth: IsConnected state not changed when disconnected - by @ilyaliao, @antfu and @ferferga in https://github.com/vueuse/vueuse/issues/4460 <samp>(fcc6e)</samp>
View changes on GitHub
- 12.3.02 Jan 2025
Release notes
Open source →🚀 Features
- onElementRemoval: New function, refactor
useActiveElementuseElementHover- by @ben-lau and @antfu in https://github.com/vueuse/vueuse/issues/4410 <samp>(08cf5)</samp> - router: Support partial transform - by @alexchexes and @antfu in https://github.com/vueuse/vueuse/issues/4426 <samp>(bba3f)</samp>
- toArray: New utility function - by @coderwhytop and @antfu in https://github.com/vueuse/vueuse/issues/4432 <samp>(021d0)</samp>
- toValue: Deprecate
toValuefrom@vueuse/sharedin favor of Vue's native - by @antfu <samp>(59f75)</samp> - useElementBounding: Added directive for
vElementBounding- by @pkc918 in https://github.com/vueuse/vueuse/issues/4436 <samp>(67a9c)</samp> - useMouseInElement: Added directive for
vMouseInElement- by @pkc918 in https://github.com/vueuse/vueuse/issues/4438 <samp>(34be5)</samp> - useMousePressed: Add
onPressedandonReleasedas options - by @OrbisK in https://github.com/vueuse/vueuse/issues/4425 <samp>(a123a)</samp> - useToNumber:
methodsupport custom function - by @btea and @antfu in https://github.com/vueuse/vueuse/issues/4441 <samp>(635bb)</samp> - useWindowScroll: Use
useScrollunder the hood - by @OrbisK and @antfu in https://github.com/vueuse/vueuse/issues/4424 <samp>(a033e)</samp>
🐞 Bug Fixes
- useAxios: Narrow type of data when initialValue is provided - by @huang-julien and @antfu in https://github.com/vueuse/vueuse/issues/4419 <samp>(8502f)</samp>
- useClipboard,useClipboardItems: Avoid running "copied" timeout during initialization - by @Ingramz in https://github.com/vueuse/vueuse/issues/4299 <samp>(6860f)</samp>
- useDropZone: Validate all file types individually when dropping multiple files - by @LouisMazel in https://github.com/vueuse/vueuse/issues/4325 <samp>(b01cf)</samp>
- useFocusWithin: Correctly track the state when switching the focus of elements in the same container - by @ben-lau in https://github.com/vueuse/vueuse/issues/4394 <samp>(3ca0d)</samp>
- useRouteQuery: Differentiate
undefinedandnullwhen writing value - by @aa-ndrej and @antfu in https://github.com/vueuse/vueuse/issues/4382 <samp>(0cc45)</samp> - useSpeechRecognition: Execute 'start' when not ended - by @byronogis and @antfu in https://github.com/vueuse/vueuse/issues/4119 <samp>(890ab)</samp>
- useStorageAsync: Correct initialization when
initialValueis getter - by @Mini-ghost and @antfu in https://github.com/vueuse/vueuse/issues/4452 <samp>(e6a17)</samp> - useTimeoutPoll:
immediatedefault value should betrue- by @phk422 and @antfu in https://github.com/vueuse/vueuse/issues/4232 <samp>(0450d)</samp> - useTimeoutPoll: Only start by default at client - by @antfu <samp>(a5fb0)</samp>
View changes on GitHub
- onElementRemoval: New function, refactor
- 12.2.023 Dec 2024
Release notes
Open source →🚀 Features
- useArrayDifference: New
symmetricoption - by @wangliangxin, wangliangxin3 and @antfu in https://github.com/vueuse/vueuse/issues/4146 <samp>(46fdc)</samp> - useEventSource: New
autoConnectoption to align withuseWebSocket- by @ferferga and @antfu in https://github.com/vueuse/vueuse/issues/4204 <samp>(230f8)</samp> - useImage: Support more native option - by @btea and @antfu in https://github.com/vueuse/vueuse/issues/4173 <samp>(4ca72)</samp>
- usePreferredReducedTransparency: Add new function - by @huiliangShen and @antfu in https://github.com/vueuse/vueuse/issues/4201 <samp>(34cd7)</samp>
🐞 Bug Fixes
- useWebSocket: Clear retryTimer when connected - by @ilyaliao and @antfu in https://github.com/vueuse/vueuse/issues/4383 <samp>(ffa00)</samp>
View changes on GitHub
- useArrayDifference: New
- 12.2.0-beta.423 Dec 2024pre-release
- 12.2.0-beta.323 Dec 2024pre-release
- 12.1.022 Dec 2024
Release notes
Open source →🚀 Features
- createEventHook: Add
clearfunction - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4378 <samp>(40265)</samp> - useBase64: Add options for Data URL output control - by @ilyaliao and Jelf in https://github.com/vueuse/vueuse/issues/4316 <samp>(4b4bd)</samp>
- useDeviceMotion: Add permission controls, improve destructure - by @thefeymesaleng and @antfu in https://github.com/vueuse/vueuse/issues/4127 <samp>(cf729)</samp>
- useElementVisibility: Add
rootMarginoption - by @dritter and @antfu in https://github.com/vueuse/vueuse/issues/4100 <samp>(3a928)</samp> - useMediaControls: Add 'media' option to define media query for resources - by @aaronLejeune in https://github.com/vueuse/vueuse/issues/4344 <samp>(209de)</samp>
- useRafFn: Allow framerate to be a reactive value - by @OrbisK and Anthony Fu in https://github.com/vueuse/vueuse/issues/4409 <samp>(4759f)</samp>
- useSSRWidth: Add optional support for SSR in useMediaQuery and useBreakpoints - by @Tofandel, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/4317 <samp>(55965)</samp>
- useUrlSearchParams: Add
writeModeoptions - by @ishakhorski, Ivan Shakhorski and @antfu in https://github.com/vueuse/vueuse/issues/4392 <samp>(2c972)</samp> - useWebSocket: Introduce
autoConnectoptions to control auto connections on url changes - by @ilyaliao and @antfu in https://github.com/vueuse/vueuse/issues/4417 <samp>(05e75)</samp> - useWebsocket: Support ref or getter as message - by @SnowGuest, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/4116 <samp>(a72c0)</samp>
- useWindowSize: Add
type: visualoption that leveragevisualViewport- by @huiliangShen and @antfu in https://github.com/vueuse/vueuse/issues/4395 <samp>(e78ef)</samp>
🐞 Bug Fixes
- injectLocal: Allow inject to app context - by @antfu <samp>(b08a9)</samp>
- useAsyncState: Use ShallowRef instead of Ref type - by @joris-gallot and Anthony Fu in https://github.com/vueuse/vueuse/issues/4294 <samp>(4d0a7)</samp>
- useDropZone: Update type to allow readonly array param - by @briankchan in https://github.com/vueuse/vueuse/issues/4319 <samp>(df363)</samp>
- useFetch: Handle empty payload - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4366 <samp>(8a89d)</samp>
- useMediaQuery: The return value should be computed - by @alexzhang1030 and @antfu in https://github.com/vueuse/vueuse/issues/4403 <samp>(3af75)</samp>
- useRouteParams,useRouteQuery: Set route param/query to undefined when defaultValue is ref or getter - by @vojvodics and Anthony Fu in https://github.com/vueuse/vueuse/issues/3977 <samp>(23fdb)</samp>
- useScroll: To properly report arriveState for elastic scroll - by @719media and Anthony Fu in https://github.com/vueuse/vueuse/issues/4133 <samp>(90ff4)</samp>
- useTextareaAutosize: Make input required - by @axuj, @antfu and Anthony Fu in https://github.com/vueuse/vueuse/issues/4129 <samp>(25ed2)</samp>
- useWebNotification: Prevent notifications when checking for support - by @9romise in https://github.com/vueuse/vueuse/issues/4019 <samp>(01f92)</samp>
- useWebSocket: Close socket connection inside WebWorker fix - by @catz in https://github.com/vueuse/vueuse/issues/4229 <samp>(ece6a)</samp>
View changes on GitHub
- createEventHook: Add
- 12.0.027 Nov 2024
Release notes
Open source →🚨 Breaking Changes
- Drop Vue 2 support, optimize bundles and clean up - by @antfu in https://github.com/vueuse/vueuse/issues/4349 <samp>(0a9ed)</samp>
[!NOTE] To Vue 3 users, v12.0.0 is equivalent to v11.3.0 on behaviors, only to remove some Vue 2 specific handling and will be slightly lighter. We expect future development to contain on v12.x and forward, and only backport if there are security issues. This means that VueUse would no longer be active on Vue 2 support.
View changes on GitHub
- 12.0.0-beta.121 Nov 2024pre-release
Release notes
Open source →🚨 Breaking Changes
- Drop Vue 2 support, optimize bundles and clean up - by @antfu in https://github.com/vueuse/vueuse/issues/4349 <samp>(0a9ed)</samp>
View changes on GitHub
- 11.3.021 Nov 2024
Release notes
Open source →🚀 Features
- OnClickOutside: Support component with fragments - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4313 <samp>(fe322)</samp>
- router: Transform get / set - by @Akryum, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/4326 <samp>(65aa0)</samp>
- useFetch: Infer 'json' type for array payloads - by @WingSMC, Gergely Dremak and @antfu in https://github.com/vueuse/vueuse/issues/4329 <samp>(3d29c)</samp>
🐞 Bug Fixes
- useFetch: Ensure single slash - by @mrchar and @antfu in https://github.com/vueuse/vueuse/issues/4296 <samp>(3de68)</samp>
- useMouse: Record the previous scroll value - by @pkc918 and Anthony Fu in https://github.com/vueuse/vueuse/issues/4244 <samp>(e8d11)</samp>
- useMouse: Correct spelling error - by @pkc918 in https://github.com/vueuse/vueuse/issues/4348 <samp>(cceeb)</samp>
- useRouteParams, useRouteQuery: Effect triggers twice with object getter as watch source - by @jack-allocate and Anthony Fu in https://github.com/vueuse/vueuse/issues/4283 <samp>(44772)</samp>
- useSortable: Wrong order of elements - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4332 <samp>(9e78e)</samp>
- useSwipe: Allow vertical scrolling during swipe - by @ilyaliao in https://github.com/vueuse/vueuse/issues/4323 <samp>(1bb54)</samp>
- useUrlSearchParams:
hashmode missinglocation.search- by @Huodoo, 霍冬冬 and @antfu in https://github.com/vueuse/vueuse/issues/4340 <samp>(e77ca)</samp>
View changes on GitHub
- 11.2.030 Oct 2024
Release notes
Open source →🚀 Features
- useBreakpoints: Add breakpoints for ElementUI/ElementPlus - by @AAABingBing and Anthony Fu in https://github.com/vueuse/vueuse/issues/4238 <samp>(f71e5)</samp>
- useMediaControls: Add playback error event - by @DarrenSG and Anthony Fu in https://github.com/vueuse/vueuse/issues/4253 <samp>(e1169)</samp>
🐞 Bug Fixes
- useArrayReduce: InitialValue can be a function - by @Mutter45 and Anthony Fu in https://github.com/vueuse/vueuse/issues/4243 <samp>(ae542)</samp>
- useDevicesList: Handle NotAllowedError on reject/close - by @espensgr and Anthony Fu in https://github.com/vueuse/vueuse/issues/4246 <samp>(bf0f2)</samp>
- useDropZone: Remove file kind restriction - by @jackcodetw in https://github.com/vueuse/vueuse/issues/4305 <samp>(1d661)</samp>
- useIntervalFn: Prevent timer being set after pause is called in cb - by @laporchen and Anthony Fu in https://github.com/vueuse/vueuse/issues/4258 <samp>(59f8c)</samp>
- useManualRefHistory:
canUndoandcanRedotyping to be computed ref - by @roydukkey and Anthony Fu in https://github.com/vueuse/vueuse/issues/4261 <samp>(b46d2)</samp> - useWebSocket: Autoreconnect when ws close - by @jackcodetw in https://github.com/vueuse/vueuse/issues/4314 <samp>(08412)</samp>
View changes on GitHub
- 11.1.016 Sept 2024
Release notes
Open source →🚀 Features
- useCurrentElement: Try to infer type from
$el- by @KazariEX in https://github.com/vueuse/vueuse/issues/4202 <samp>(8e141)</samp> - useDropZone: Add multiple prop to control multi-file drop - by @danngossinga and Dan T. Ngossinga in https://github.com/vueuse/vueuse/issues/4227 <samp>(3b94d)</samp>
- useFileDialog: Return
onCancelhandler - by @AndreyYolkin in https://github.com/vueuse/vueuse/issues/4184 <samp>(30452)</samp>
🐞 Bug Fixes
- computedAsync: Type signature - by @ferferga in https://github.com/vueuse/vueuse/issues/4207 <samp>(45b18)</samp>
- onClickOutside: Make
ignoreaccept reactive values - by @CernyMatej in https://github.com/vueuse/vueuse/issues/4211 <samp>(aa5e3)</samp> - onClickOutside: Improve cross-browser compatibility - by @Onion-L and @antfu in https://github.com/vueuse/vueuse/issues/4185 <samp>(9e598)</samp>
- useArrayFilter: Match type to Array.prototype.filter - by @Jesse205 in https://github.com/vueuse/vueuse/issues/4175 <samp>(71fd1)</samp>
- useDraggable: Draggable component not work with container - by @huiliangShen in https://github.com/vueuse/vueuse/issues/4192 <samp>(7f25b)</samp>
- useFocusWithin: Make useFocusWhithin match the behavior of the :focus-within - by @ben-lau in https://github.com/vueuse/vueuse/issues/4134 <samp>(c5407)</samp>
- useInfiniteScroll: Stop watch when unmounted - by @zyyv in https://github.com/vueuse/vueuse/issues/4110 <samp>(f30cc)</samp>
- useIntersectionObserver: Add
Documenttype for root - by @phk422 in https://github.com/vueuse/vueuse/issues/4210 <samp>(6b584)</samp> - useMouseInElement: Allow
elto be instanceof Element - by @FRSgit in https://github.com/vueuse/vueuse/issues/4189 <samp>(4dcc2)</samp> - useNetwork: Return immutable values - by @rudnovd in https://github.com/vueuse/vueuse/issues/4187 <samp>(99179)</samp>
- useResizeObserver: Update type - by @phk422 in https://github.com/vueuse/vueuse/issues/4218 <samp>(044dd)</samp>
View changes on GitHub
- useCurrentElement: Try to infer type from
- 11.0.324 Aug 2024
Release notes
Open source →🚀 Features
- templateRef: Support specifying allowed keys via generic argument - by @zhiyuanzmj in https://github.com/vueuse/vueuse/issues/4162 <samp>(acce3)</samp>
🐞 Bug Fixes
- createSharedComposable: Handle the case where the return value of composable function is empty - by @XinXiaoIsMe in https://github.com/vueuse/vueuse/issues/4151 <samp>(a2441)</samp>
- useCssVar: Replace getComputedStyle with direct style property access - by @babu-ch in https://github.com/vueuse/vueuse/issues/4166 <samp>(d0523)</samp>
- useDropZone: Ensure files ref is updated even without onDrop callback - by @babu-ch in https://github.com/vueuse/vueuse/issues/4168 <samp>(1c849)</samp>
- usePermission: State setting - by @ferferga in https://github.com/vueuse/vueuse/issues/4167 <samp>(2aaa1)</samp>
- useWebSocket: Only reconnect if is the current ws socket - by @freakbite in https://github.com/vueuse/vueuse/issues/4161 <samp>(e0e99)</samp>
- useWebSocket: Should reset retry count when connection is established - by @freakbite in https://github.com/vueuse/vueuse/issues/4164 <samp>(3c2fc)</samp>
View changes on GitHub
- 11.0.119 Aug 2024
Release notes
Open source →🐞 Bug Fixes
- usePermission: Fix memory leak - by @ferferga in https://github.com/vueuse/vueuse/issues/4157 <samp>(63a22)</samp>
- useStorage: Sync within the same document - by @ferferga in https://github.com/vueuse/vueuse/issues/4152 <samp>(a9b49)</samp>
View changes on GitHub
- 11.0.015 Aug 2024
Release notes
Open source →🚨 Breaking Changes
- useChangeCase: Migrate to
change-case@v5, closes #3457 - by @wheatjs and @antfu in https://github.com/vueuse/vueuse/issues/3460 and https://github.com/vueuse/vueuse/issues/3457 <samp>(df343)</samp> - useFuse: Upgrade
fuse.jsto v7 - by @antfu in https://github.com/vueuse/vueuse/issues/4036 <samp>(cb44c)</samp> - useIntersectionObserver: Update the
thresholddefault to 0 - by @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/4069 <samp>(13e36)</samp> - useJwt: Upgrade
jwt-decodeto v4 - by @root5427 and @antfu in https://github.com/vueuse/vueuse/issues/3510 <samp>(9037d)</samp>
🚀 Features
- integrations: Bump
drauuanduniversal-cookiemajor version - by @antfu <samp>(1c9ec)</samp> - useCssVars: Remove property on null/undefined - by @ferferga in https://github.com/vueuse/vueuse/issues/3821 <samp>(fe19c)</samp>
- useDateFormat: Locales is now reactive - by @OrbisK and @antfu in https://github.com/vueuse/vueuse/issues/3907 <samp>(4a7a8)</samp>
- useDraggable: Add
buttonsoption - by @DrJonki and @antfu in https://github.com/vueuse/vueuse/issues/4084 <samp>(e9938)</samp> - useElementBounding: Add
updateTimingoption - by @DerZade and @antfu in https://github.com/vueuse/vueuse/issues/3869 <samp>(0fa17)</samp> - useElementHover: Add options to the directive - by @userquin and @antfu in https://github.com/vueuse/vueuse/issues/3897 <samp>(cf439)</samp>
- useFocusTrap: Support multiple refs - by @Sma11X in https://github.com/vueuse/vueuse/issues/4022 <samp>(83c41)</samp>
- useInfiniteScroll: Add a reset method - by @schelmo in https://github.com/vueuse/vueuse/issues/3892 <samp>(aefb6)</samp>
- usePermission: Add local-fonts permission - by @seanmcbroom, @antfu and autofix-ci[bot] in https://github.com/vueuse/vueuse/issues/4098 <samp>(5f584)</samp>
- useResizeObserver: Added
vResizeObserverdirective - by @pkc918 in https://github.com/vueuse/vueuse/issues/4008 <samp>(d4310)</samp> - useSpeechRecognition: Support
maxAlternativesoption - by @pkc918 in https://github.com/vueuse/vueuse/issues/4067 <samp>(9eda8)</samp> - useStorage: Conditionally use event based on the used storage backend - by @ferferga in https://github.com/vueuse/vueuse/issues/3822 <samp>(5a302)</samp>
- useWebSocket: Allow different heartbeat response message - by @lavolpecheprogramma and @antfu in https://github.com/vueuse/vueuse/issues/3950 <samp>(adbe0)</samp>
- useWindowSize: Add ability to get outer sizes of the window - by @khawarizmus and @antfu in https://github.com/vueuse/vueuse/issues/3999 <samp>(bfba3)</samp>
🐞 Bug Fixes
- computedWithControl: Allow optional oldValue parameter in computedWithControl getter - by @haoyun in https://github.com/vueuse/vueuse/issues/4132 <samp>(5725a)</samp>
- isDefined: Moves most specific overload to the top - by @bjacobgordon-cy in https://github.com/vueuse/vueuse/issues/4141 <samp>(fd884)</samp>
- until: Cleanup at next tick to avoid memory leak - by @Gianthard-cyh, @antfu and delaneyb in https://github.com/vueuse/vueuse/issues/4039 <samp>(8a023)</samp>
- useChangeCase: Use the exported key for filter - by @thyngster, autofix-ci[bot] and @antfu in https://github.com/vueuse/vueuse/issues/4130 <samp>(5c598)</samp>
- useColorMode, useDark: Fix full page reflows when calling useColorMode and useDark - by @jpleclerc, Jean-Philippe Leclerc and @antfu in https://github.com/vueuse/vueuse/issues/4001 <samp>(905b9)</samp>
- useEventListener: Event target can be an empty ref/getter - by @floryst in https://github.com/vueuse/vueuse/issues/4014 <samp>(edab6)</samp>
- useGamepad: Handle case where hapticActuators is not present - by @Aaron-zon in https://github.com/vueuse/vueuse/issues/4068 <samp>(0ca13)</samp>
- useMouseInElement:
el.getBoundingClientRectis not a function - by @loongzhu in https://github.com/vueuse/vueuse/issues/4056 <samp>(efe4d)</samp> - useMutationObserver: Stop watching before cleaning up - by @pimlie in https://github.com/vueuse/vueuse/issues/4037 <samp>(489a9)</samp>
- useResizeObserver: Fix
targetis Ref Array - by @Alfred-Skyblue and @antfu in https://github.com/vueuse/vueuse/issues/4005 <samp>(1c124)</samp> - useRouteHash, useRouteParams, useRouteQuery: Fix effect triggering multiple times - by @aethr in https://github.com/vueuse/vueuse/issues/4113 <samp>(965bf)</samp>
- useTextareaAutosize: Improve
triggerResizetriggering - by @Mutter45 and @antfu in https://github.com/vueuse/vueuse/issues/4074 <samp>(06c6f)</samp> - useWakeLock: Should delay wake lock request if document is hidden - by @KermanX in https://github.com/vueuse/vueuse/issues/4055 <samp>(5ca57)</samp>
- watchDeep: Unify overload declaration for watch functions - by @KazariEX and @antfu in https://github.com/vueuse/vueuse/issues/4043 <samp>(0716d)</samp>
🏎 Performance
- useAnimate: Set
syncfalse - by @JianJroh, @antfu and autofix-ci[bot] in https://github.com/vueuse/vueuse/issues/3916 <samp>(7b108)</samp>
View changes on GitHub
- useChangeCase: Migrate to
- 11.0.0-beta.314 Aug 2024pre-release
Release notes
Open source →🚨 Breaking Changes
- useChangeCase: Migrate to
change-case@v5, closes #3457 - by @wheatjs and @antfu in https://github.com/vueuse/vueuse/issues/3460 and https://github.com/vueuse/vueuse/issues/3457 <samp>(df343)</samp> - useFuse: Upgrade
fuse.jsto v7 - by @antfu in https://github.com/vueuse/vueuse/issues/4036 <samp>(cb44c)</samp> - useIntersectionObserver: Update the
thresholddefault to 0 - by @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/4069 <samp>(13e36)</samp> - useJwt: Upgrade
jwt-decodeto v4 - by @root5427 and @antfu in https://github.com/vueuse/vueuse/issues/3510 <samp>(9037d)</samp>
🚀 Features
- integrations: Bump
drauuanduniversal-cookiemajor version - by @antfu <samp>(1c9ec)</samp> - useCssVars: Remove property on null/undefined - by @ferferga in https://github.com/vueuse/vueuse/issues/3821 <samp>(fe19c)</samp>
- useDateFormat: Locales is now reactive - by @OrbisK and @antfu in https://github.com/vueuse/vueuse/issues/3907 <samp>(4a7a8)</samp>
- useDraggable: Add
buttonsoption - by @DrJonki and @antfu in https://github.com/vueuse/vueuse/issues/4084 <samp>(e9938)</samp> - useElementBounding: Add
updateTimingoption - by @DerZade and @antfu in https://github.com/vueuse/vueuse/issues/3869 <samp>(0fa17)</samp> - useElementHover: Add options to the directive - by @userquin and @antfu in https://github.com/vueuse/vueuse/issues/3897 <samp>(cf439)</samp>
- useFocusTrap: Support multiple refs - by @Sma11X in https://github.com/vueuse/vueuse/issues/4022 <samp>(83c41)</samp>
- useInfiniteScroll: Add a reset method - by @schelmo in https://github.com/vueuse/vueuse/issues/3892 <samp>(aefb6)</samp>
- usePermission: Add local-fonts permission - by @seanmcbroom, @antfu and autofix-ci[bot] in https://github.com/vueuse/vueuse/issues/4098 <samp>(5f584)</samp>
- useResizeObserver: Added
vResizeObserverdirective - by @pkc918 in https://github.com/vueuse/vueuse/issues/4008 <samp>(d4310)</samp> - useSpeechRecognition: Support
maxAlternativesoption - by @pkc918 in https://github.com/vueuse/vueuse/issues/4067 <samp>(9eda8)</samp> - useStorage: Conditionally use event based on the used storage backend - by @ferferga in https://github.com/vueuse/vueuse/issues/3822 <samp>(5a302)</samp>
- useWebSocket: Allow different heartbeat response message - by @lavolpecheprogramma and @antfu in https://github.com/vueuse/vueuse/issues/3950 <samp>(adbe0)</samp>
- useWindowSize: Add ability to get outer sizes of the window - by @khawarizmus and @antfu in https://github.com/vueuse/vueuse/issues/3999 <samp>(bfba3)</samp>
🐞 Bug Fixes
- computedWithControl: Allow optional oldValue parameter in computedWithControl getter - by @haoyun in https://github.com/vueuse/vueuse/issues/4132 <samp>(5725a)</samp>
- isDefined: Moves most specific overload to the top - by @bjacobgordon-cy in https://github.com/vueuse/vueuse/issues/4141 <samp>(fd884)</samp>
- until: Cleanup at next tick to avoid memory leak - by @Gianthard-cyh, @antfu and delaneyb in https://github.com/vueuse/vueuse/issues/4039 <samp>(8a023)</samp>
- useChangeCase: Use the exported key for filter - by @thyngster, autofix-ci[bot] and @antfu in https://github.com/vueuse/vueuse/issues/4130 <samp>(5c598)</samp>
- useColorMode, useDark: Fix full page reflows when calling useColorMode and useDark - by @jpleclerc, Jean-Philippe Leclerc and @antfu in https://github.com/vueuse/vueuse/issues/4001 <samp>(905b9)</samp>
- useEventListener: Event target can be an empty ref/getter - by @floryst in https://github.com/vueuse/vueuse/issues/4014 <samp>(edab6)</samp>
- useGamepad: Handle case where hapticActuators is not present - by @Aaron-zon in https://github.com/vueuse/vueuse/issues/4068 <samp>(0ca13)</samp>
- useMouseInElement:
el.getBoundingClientRectis not a function - by @loongzhu in https://github.com/vueuse/vueuse/issues/4056 <samp>(efe4d)</samp> - useMutationObserver: Stop watching before cleaning up - by @pimlie in https://github.com/vueuse/vueuse/issues/4037 <samp>(489a9)</samp>
- useResizeObserver: Fix
targetis Ref Array - by @Alfred-Skyblue and @antfu in https://github.com/vueuse/vueuse/issues/4005 <samp>(1c124)</samp> - useRouteHash, useRouteParams, useRouteQuery: Fix effect triggering multiple times - by @aethr in https://github.com/vueuse/vueuse/issues/4113 <samp>(965bf)</samp>
- useTextareaAutosize: Improve
triggerResizetriggering - by @Mutter45 and @antfu in https://github.com/vueuse/vueuse/issues/4074 <samp>(06c6f)</samp> - useWakeLock: Should delay wake lock request if document is hidden - by @KermanX in https://github.com/vueuse/vueuse/issues/4055 <samp>(5ca57)</samp>
- watchDeep: Unify overload declaration for watch functions - by @KazariEX and @antfu in https://github.com/vueuse/vueuse/issues/4043 <samp>(0716d)</samp>
🏎 Performance
- useAnimate: Set
syncfalse - by @JianJroh, @antfu and autofix-ci[bot] in https://github.com/vueuse/vueuse/issues/3916 <samp>(7b108)</samp>
View changes on GitHub
- useChangeCase: Migrate to
- 11.0.0-beta.217 Jul 2024pre-release
Release notes
Open source →🚨 Breaking Changes
- useIntersectionObserver: Update the
thresholddefault to 0 - by @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/4069 <samp>(13e36)</samp>
🚀 Features
- useCssVars: Remove property on null/undefined - by @ferferga in https://github.com/vueuse/vueuse/issues/3821 <samp>(fe19c)</samp>
- useDateFormat: Locales is now reactive - by @OrbisK and Anthony Fu in https://github.com/vueuse/vueuse/issues/3907 <samp>(4a7a8)</samp>
- useDraggable: Add
buttonsoption - by @DrJonki and @antfu in https://github.com/vueuse/vueuse/issues/4084 <samp>(e9938)</samp> - useElementBounding: Add
updateTimingoption - by @DerZade and @antfu in https://github.com/vueuse/vueuse/issues/3869 <samp>(0fa17)</samp> - useElementHover: Add options to the directive - by @userquin and Anthony Fu in https://github.com/vueuse/vueuse/issues/3897 <samp>(cf439)</samp>
- useFocusTrap: Support multiple refs - by @Sma11X in https://github.com/vueuse/vueuse/issues/4022 <samp>(83c41)</samp>
- useInfiniteScroll: Add a reset method - by @schelmo in https://github.com/vueuse/vueuse/issues/3892 <samp>(aefb6)</samp>
- usePermission: Add local-fonts permission - by @seanmcbroom, Anthony Fu and autofix-ci[bot] in https://github.com/vueuse/vueuse/issues/4098 <samp>(5f584)</samp>
- useResizeObserver: Added
vResizeObserverdirective - by @pkc918 in https://github.com/vueuse/vueuse/issues/4008 <samp>(d4310)</samp> - useSpeechRecognition: Support
maxAlternativesoption - by @pkc918 in https://github.com/vueuse/vueuse/issues/4067 <samp>(9eda8)</samp> - useStorage: Conditionally use event based on the used storage backend - by @ferferga in https://github.com/vueuse/vueuse/issues/3822 <samp>(5a302)</samp>
- useWebSocket: Allow different heartbeat response message - by @lavolpecheprogramma, @antfu and Anthony Fu in https://github.com/vueuse/vueuse/issues/3950 <samp>(adbe0)</samp>
- useWindowSize: Add ability to get outer sizes of the window - by @khawarizmus and @antfu in https://github.com/vueuse/vueuse/issues/3999 <samp>(bfba3)</samp>
🐞 Bug Fixes
- until: Cleanup at next tick to avoid memory leak - by @Gianthard-cyh, @antfu and delaneyb in https://github.com/vueuse/vueuse/issues/4039 <samp>(8a023)</samp>
- useColorMode, useDark: Fix full page reflows when calling useColorMode and useDark - by @jpleclerc, Jean-Philippe Leclerc, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/4001 <samp>(905b9)</samp>
- useEventListener: Event target can be an empty ref/getter - by @floryst in https://github.com/vueuse/vueuse/issues/4014 <samp>(edab6)</samp>
- useGamepad: Handle case where hapticActuators is not present - by @Aaron-zon in https://github.com/vueuse/vueuse/issues/4068 <samp>(0ca13)</samp>
- useMouseInElement:
el.getBoundingClientRectis not a function - by @loongzhu in https://github.com/vueuse/vueuse/issues/4056 <samp>(efe4d)</samp> - useResizeObserver: Fix
targetis Ref Array - by @Alfred-Skyblue and Anthony Fu in https://github.com/vueuse/vueuse/issues/4005 <samp>(1c124)</samp> - useTextareaAutosize: Improve
triggerResizetriggering - by @Mutter45 and Anthony Fu in https://github.com/vueuse/vueuse/issues/4074 <samp>(06c6f)</samp> - useWakeLock: Should delay wake lock request if document is hidden - by @KermanX in https://github.com/vueuse/vueuse/issues/4055 <samp>(5ca57)</samp>
- watchDeep: Unify overload declaration for watch functions - by @KazariEX and Anthony Fu in https://github.com/vueuse/vueuse/issues/4043 <samp>(0716d)</samp>
🏎 Performance
- useAnimate: Set
syncfalse - by @JianJroh, Anthony Fu and autofix-ci[bot] in https://github.com/vueuse/vueuse/issues/3916 <samp>(7b108)</samp>
View changes on GitHub
- useIntersectionObserver: Update the
- 11.0.0-beta.112 Jun 2024pre-release
Release notes
Open source →🚨 Breaking Changes
- useChangeCase: Migrate to
change-case@v5, closes #3457 - by @wheatjs and @antfu in https://github.com/vueuse/vueuse/issues/3460 and https://github.com/vueuse/vueuse/issues/3457 <samp>(df343)</samp> - useFuse: Upgrade
fuse.jsto v7 - by @antfu in https://github.com/vueuse/vueuse/issues/4036 <samp>(cb44c)</samp> - useJwt: Upgrade
jwt-decodeto v4 - by @root5427 and @antfu in https://github.com/vueuse/vueuse/issues/3510 <samp>(9037d)</samp>
🚀 Features
- integrations: Bump
drauuanduniversal-cookiemajor version - by @antfu <samp>(1c9ec)</samp>
🐞 Bug Fixes
- useMutationObserver: Stop watching before cleaning up - by @pimlie in https://github.com/vueuse/vueuse/issues/4037 <samp>(489a9)</samp>
View changes on GitHub
- useChangeCase: Migrate to
- 10.11.18 Aug 2024
- 10.11.012 Jun 2024
Release notes
Open source →🐞 Bug Fixes
- integrations: Specify major version of peerDeps - by @antfu <samp>(2f67a)</samp>
View changes on GitHub
- 10.10.111 Jun 2024
Release notes
Open source →🚀 Features
- useFocus: Support
preventScrolloption - by @pkc918 in https://github.com/vueuse/vueuse/issues/3994 <samp>(4d868)</samp>
🐞 Bug Fixes
- makeDestructurable: Fix Typescript < 5.0.0 support - by @brenoepics in https://github.com/vueuse/vueuse/issues/4028 <samp>(842d7)</samp>
- useSpeechRecognition: Send correct transcript result - by @noook in https://github.com/vueuse/vueuse/issues/3891 <samp>(7c36f)</samp>
View changes on GitHub
- useFocus: Support
- 10.10.027 May 2024
Release notes
Open source →🚀 Features
- createInjectionState: Add defaultValue option - by @melishev in https://github.com/vueuse/vueuse/issues/3902 <samp>(fb468)</samp>
- makeDestructurable: Support parameters without
as const- by @enpitsuLin in https://github.com/vueuse/vueuse/issues/3971 <samp>(4ea13)</samp> - nuxt: Add router addon to nuxt module - by @Coiggahou2002 and rorycai in https://github.com/vueuse/vueuse/issues/3975 <samp>(2a77f)</samp>
- onLongPress:
options.onMouseUpcallback - by @noook and Anthony Fu in https://github.com/vueuse/vueuse/issues/3791 <samp>(7346a)</samp> - useActiveElement: Add
triggerOnRemovaloption - by @alexzhang1030 and @antfu in https://github.com/vueuse/vueuse/issues/3958 <samp>(f3515)</samp> - useEventSource: Return
lastEventId- by @pkc918 in https://github.com/vueuse/vueuse/issues/3984 <samp>(29bc6)</samp> - useTimeout: Target support reactivity - by @huiliangShen and banruo in https://github.com/vueuse/vueuse/issues/3923 <samp>(4eede)</samp>
- useWebWorkerFn: Support local function dependencies - by @thefeymesaleng in https://github.com/vueuse/vueuse/issues/3899 <samp>(f4028)</samp>
🐞 Bug Fixes
- nuxt: Opt in to
import.meta.*properties - by @danielroe in https://github.com/vueuse/vueuse/issues/3888 <samp>(1558c)</samp> - useAnimate:
commitStyleswhen finish - by @a1mersnow in https://github.com/vueuse/vueuse/issues/3990 <samp>(fba4e)</samp> - useDisplayMedia: Stop stream when screen is not shared anymore - by @robertrosman in https://github.com/vueuse/vueuse/issues/3976 <samp>(a3c6f)</samp>
- useDraggable: Should ignore right clicks - by @Justineo in https://github.com/vueuse/vueuse/issues/3850 <samp>(9f10a)</samp>
- useElementSize: Use getBoundingClientRect get element size on SVG - by @siaikin in https://github.com/vueuse/vueuse/issues/3940 <samp>(d8015)</samp>
- useFileDialog: Check if input value exists before trigger onChange - by @jinkaiqin in https://github.com/vueuse/vueuse/issues/3972 <samp>(424a2)</samp>
- useGamepad: Avoid spread to fix gamepad state - by @yue4u in https://github.com/vueuse/vueuse/issues/3913 <samp>(2ccbd)</samp>
- useMediaControls: Target params may not be ref - by @huiliangShen in https://github.com/vueuse/vueuse/issues/3921 <samp>(1fe2f)</samp>
- useMounted: The second argument in vue2.7 should be
undefined- by @yanbowe, @antfu and Glandos in https://github.com/vueuse/vueuse/issues/3830 <samp>(7966b)</samp> - useRouteParams: Support optional params - by @huiliangShen in https://github.com/vueuse/vueuse/issues/3934 <samp>(4a882)</samp>
- useScroll: Sync scroll val to internal state, fix #3809 - by @kongmoumou in https://github.com/vueuse/vueuse/issues/3817 and https://github.com/vueuse/vueuse/issues/3809 <samp>(317ca)</samp>
- useScrollLock: Function unlock does not work - by @loongzhu in https://github.com/vueuse/vueuse/issues/3847 <samp>(d9ee4)</samp>
- useTextareaAutosize: OnResize callback fires not only on resize - by @huiliangShen and banruo in https://github.com/vueuse/vueuse/issues/3887 <samp>(a6ede)</samp>
- useVirtualList: Add containerRef to watch list - by @eliamartani in https://github.com/vueuse/vueuse/issues/3855 <samp>(4636f)</samp>
- useWebNotification: Detect
isSupportedwith try-catch - by @9romise in https://github.com/vueuse/vueuse/issues/3980 <samp>(b291c)</samp> - useWebSocket: UrlRef changes were not being tracked - by @ferferga in https://github.com/vueuse/vueuse/issues/3870 <samp>(c2f92)</samp>
View changes on GitHub
- 10.9.027 Feb 2024
Release notes
Open source →🚀 Features
- whenever: Override once option - by @chizukicn in https://github.com/vueuse/vueuse/issues/3800 <samp>(bd946)</samp>
🐞 Bug Fixes
- useActiveElement/useFocusWithin: Replace computedWithControl with locally tracked ref - by @jaketig in https://github.com/vueuse/vueuse/issues/3815 <samp>(b1426)</samp>
- useClipboard: Fix issue when permission is not defined - by @Mister-Hope in https://github.com/vueuse/vueuse/issues/3812 <samp>(a9f02)</samp>
- useIDBKeyval: Use toRaw instead of overriding the original object - by @ferferga in https://github.com/vueuse/vueuse/issues/3805 <samp>(1b67d)</samp>
- useMounted: Compatible with vue2.7 - by @yanbowe in https://github.com/vueuse/vueuse/issues/3802 <samp>(ee297)</samp>
- useScrollLock: InitialOverflow is not working - by @BJ0815 in https://github.com/vueuse/vueuse/issues/3798 <samp>(74e86)</samp>
View changes on GitHub
- 10.8.020 Feb 2024
Release notes
Open source →🚀 Features
- createInjectionState: InjectionKey use composable name - by @zhangxuyang950313 in https://github.com/vueuse/vueuse/issues/3788 <samp>(c2cfd)</samp>
- nuxt: Move to ESM-first and fix types - by @userquin in https://github.com/vueuse/vueuse/issues/3606 <samp>(b3d74)</samp>
- throttleFilter: Support object as argument - by @17359898647 and Anthony Fu in https://github.com/vueuse/vueuse/issues/3722 <samp>(66d09)</samp>
- useAxios: Support
abortPreviousoption - by @jahnli and @antfu in https://github.com/vueuse/vueuse/issues/3735 <samp>(b94de)</samp> - useBreakpoints: Enable passing ref or getter to get breakpoints - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3621 <samp>(d3317)</samp>
- useBreakpoints: Add
strategyoption to allow desktop-first convention - by @jack-allocate and @antfu in https://github.com/vueuse/vueuse/issues/3783 <samp>(15fc0)</samp> - useBreakpoints: Add
activegetter, add breakpoints for Vuetify v3 - by @altrusl, @Doctor-wu and @antfu in https://github.com/vueuse/vueuse/issues/3687 <samp>(3ae45)</samp> - useCurrentElement: Allow get current element from a specific component - by @linspw and @antfu in https://github.com/vueuse/vueuse/issues/3750 <samp>(0a9aa)</samp>
- useCycleList: Add
gofunction - by @Jokerzhzh and @antfu in https://github.com/vueuse/vueuse/issues/3615 <samp>(2ae36)</samp> - useDraggable: Add disabled parameter - by @huiliangShen and banruo in https://github.com/vueuse/vueuse/issues/3613 <samp>(dee9a)</samp>
- useEventSource: Add
autoReconnectandimmediateto options, update typings - by @schelmo in https://github.com/vueuse/vueuse/issues/3793 <samp>(b33ab)</samp> - useMutationObserver: Allow multiple targets - by @chirokas in https://github.com/vueuse/vueuse/issues/3741 <samp>(98fac)</samp>
- useParallax: Can work with different screen orientation - by @huiliangShen and banruo in https://github.com/vueuse/vueuse/issues/3675 <samp>(3fd94)</samp>
- useTextareaAutosize: Allow configuring
stylePropto support nativerowsattribute - by @yakudik, alexander.kudinov, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/3552 <samp>(5025e)</samp>
🐞 Bug Fixes
- Stricter types - by @antfu <samp>(a086e)</samp>
- createReusableTemplate: Improve types - by @louiss0, louiss0, Anthony Fu and @antfu in https://github.com/vueuse/vueuse/issues/3641 <samp>(75168)</samp>
- useAnimate: Immediate option set false not working - by @huiliangShen, banruo and Anthony Fu in https://github.com/vueuse/vueuse/issues/3763 <samp>(12c09)</samp>
- useCloned: Correct return type - by @17359898647 in https://github.com/vueuse/vueuse/issues/3711 <samp>(e262f)</samp>
- useCounter: Allow
deltato be negative - by @leewakin, @Doctor-wu and @antfu in https://github.com/vueuse/vueuse/issues/3650 <samp>(cf29c)</samp> - useDraggable: Avoid moving out of container - by @wangliangxin and wangliangxin3 in https://github.com/vueuse/vueuse/issues/3768 <samp>(55b94)</samp>
- useElementVisiblity: Can configurable threshold - by @huiliangShen and @Doctor-wu in https://github.com/vueuse/vueuse/issues/3715 <samp>(ce9bb)</samp>
- useFetch: Mark
isFinished,isFetchingreadonly - by @baboon-king and @antfu in https://github.com/vueuse/vueuse/issues/3616 <samp>(31d4a)</samp> - useFetch: Remove unnecessary spread operator in iterable conversion - by @BlackCrowxyz in https://github.com/vueuse/vueuse/issues/3660 <samp>(f5587)</samp>
- useFileSystemAccess: UpdateData on modified file - by @PhE in https://github.com/vueuse/vueuse/issues/3780 <samp>(668ca)</samp>
- useGamepad: Explicitly ensure gamepad index is available - by @AntoninRousset and AntoninRousset in https://github.com/vueuse/vueuse/issues/3653 <samp>(8c735)</samp>
- useGamepad: Improve data updating logic - by @okydk in https://github.com/vueuse/vueuse/issues/3775 <samp>(9b8ed)</samp>
- useMounted: Hold the instance, close #3785, close #3795 - by @antfu in https://github.com/vueuse/vueuse/issues/3785 and https://github.com/vueuse/vueuse/issues/3795 <samp>(2f66e)</samp>
- useRafFn: Fix
fpsLimitoption, fix #3481, close #3482 - by @antfu in https://github.com/vueuse/vueuse/issues/3481 and https://github.com/vueuse/vueuse/issues/3482 <samp>(69990)</samp> - useResizeObserver: Do not watch deep to avoid cicular calls - by @birdxiao, birdxiao and @antfu in https://github.com/vueuse/vueuse/issues/3753 <samp>(48421)</samp>
- useRouteParams,useRouteQuery: Set route param/query to undefined when null or defaultValue - by @mtdvlpr and @antfu in https://github.com/vueuse/vueuse/issues/3583 <samp>(c44fe)</samp>
- useScroll: Add
onErrorhook and avoid throws by default, fix #3580 - by @steklopod, @antfu and Brendo Maciel in https://github.com/vueuse/vueuse/issues/3605 and https://github.com/vueuse/vueuse/issues/3580 <samp>(fab86)</samp> - useStorage: Ensure setting value to null syncs to other instances - by @callumacrae and @antfu in https://github.com/vueuse/vueuse/issues/3737 <samp>(f7ea1)</samp>
- useUserMedia: Stop stream on scope dispose - by @Waleed-KH in https://github.com/vueuse/vueuse/issues/3757 <samp>(6d44d)</samp>
- useWebSocket: Reset
wsRefon close, fix #3706 - by @a982246809 and @Doctor-wu in https://github.com/vueuse/vueuse/issues/3707 and https://github.com/vueuse/vueuse/issues/3706 <samp>(9a47a)</samp> - useWebSocket:
immediateshould only be applied once, close #3676 - by @antfu in https://github.com/vueuse/vueuse/issues/3676 <samp>(93b96)</samp>
View changes on GitHub
- 10.7.214 Jan 2024
Release notes
Open source →🐞 Bug Fixes
- computedEager: Adapt to changes in vue3.4+ - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3689 <samp>(b6d8f)</samp>
- nuxt: Move
nuxtout of dependencies - by @antfu <samp>(866a1)</samp> - useAxios: Ignore undefined options - by @geektheripper, @Doctor-wu, @antfu and Doctorwu in https://github.com/vueuse/vueuse/issues/3662 <samp>(37eae)</samp>
- useBattery: Fake signal API support in some utilities - by @tachibana-shin and @Doctor-wu in https://github.com/vueuse/vueuse/issues/3634 <samp>(30245)</samp>
- useDraggable: Can not work well when parent element is scrollable - by @huiliangShen and banruo in https://github.com/vueuse/vueuse/issues/3692 <samp>(bdd79)</samp>
- useStorageAsync: Correct ssr handler - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3703 <samp>(c197e)</samp>
- useTimeAgo: Support custom UnitNames type for units field - by @nickmessing and @Doctor-wu in https://github.com/vueuse/vueuse/issues/3684 <samp>(1d6be)</samp>
View changes on GitHub
- 10.7.127 Dec 2023
Release notes
Open source →🚀 Features
- syncRef: Enhance type - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3678 <samp>(dad66)</samp>
🐞 Bug Fixes
- Fix
tryOnMountedin vue2 - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3658 <samp>(ce420)</samp> - nuxt: Stable optimizeDeps augmenting - by @antfu <samp>(98985)</samp>
- useDropzone: Avoid circular reference - by @diegopf in https://github.com/vueuse/vueuse/issues/3683 <samp>(15a38)</samp>
- useElementBounding: Trigger by css or style - by @huiliangShen in https://github.com/vueuse/vueuse/issues/3664 <samp>(70dbd)</samp>
- useIpcRenderer: Set explicit return type - by @antfu <samp>(dd820)</samp>
- useMouse: Handle Touch class compatibility for Firefox - by @elschilling in https://github.com/vueuse/vueuse/issues/3679 <samp>(5719b)</samp>
- useVirtualList: Ensure component applies overflow style - by @reubns in https://github.com/vueuse/vueuse/issues/3626 <samp>(286c3)</samp>
View changes on GitHub
- 10.7.05 Dec 2023
Release notes
Open source →🚀 Features
- Upgrade deps - by @antfu in https://github.com/vueuse/vueuse/issues/3614 <samp>(fccf2)</samp>
- isIOS: Detect new iPad - by @Doctor-wu and @antfu in https://github.com/vueuse/vueuse/issues/3582 <samp>(47d2d)</samp>
- onLongPress: Add
distanceThresholdoption - by @donaldxdonald and @antfu in https://github.com/vueuse/vueuse/issues/3578 <samp>(0e04a)</samp> - tryOnMounted: Support target arguement - by @tolking and @antfu in https://github.com/vueuse/vueuse/issues/3185 <samp>(f2aeb)</samp>
- useBreakpoints: Make parameters reactivity - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3592 <samp>(dc624)</samp>
- useFileDialog: Trigger onChange when reset - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3548 <samp>(7e2da)</samp>
- useInfiniteScroll: Add the
canLoadMoreoption - by @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/3558 <samp>(e780f)</samp> - usePointerSwipe: Add
disableTextSelectoption - by @aminmokhtari94 in https://github.com/vueuse/vueuse/issues/3604 <samp>(fd67b)</samp> - useTitle: Restore title on unmounted - by @Doctor-wu and @antfu in https://github.com/vueuse/vueuse/issues/3570 <samp>(0ab76)</samp>
🐞 Bug Fixes
- createEventHook: Make createEventHook union type can be inferred correctly - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3569 <samp>(e48ca)</samp>
- createEventHook:
triggershould not ignore falsy values - by @romansp and @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/3561 <samp>(3733b)</samp> - syncRef: SyncRef typing issue for boolean - by @s-montigny-desautels in https://github.com/vueuse/vueuse/issues/3553 <samp>(acb2f)</samp>
- useAxios: Reset
isAbortedvalue on success - by @17359898647 and @antfu in https://github.com/vueuse/vueuse/issues/3547 <samp>(4b159)</samp> - useDark: In Vue 2.6 mode.system is undefined - by @Teaghy, hguan and @antfu in https://github.com/vueuse/vueuse/issues/3562 <samp>(68688)</samp>
- useDropZone: Fix file types filter - by @getname1997 and @antfu in https://github.com/vueuse/vueuse/issues/3540 <samp>(8f42a)</samp>
- useElementVisibility: Use last intersection entry - by @ziolko-appfire, Mateusz Zieliński and @antfu in https://github.com/vueuse/vueuse/issues/3365 <samp>(07d39)</samp>
- useFetch: Immediately modify the status after the request is completed - by @tolking and @antfu in https://github.com/vueuse/vueuse/issues/3603 <samp>(3456d)</samp>
- useFetch: Clone 'Response' on reading - by @mymx2 and @antfu in https://github.com/vueuse/vueuse/issues/3607 and https://github.com/vueuse/vueuse/issues/3608 <samp>(8cbfd)</samp>
- useMemoize: Use shallowReactive to wrap Map - by @antfu <samp>(fecbe)</samp>
- useMousePressed: Change type of element parameter to MaybeComputedElementRef - by @4350pChris in https://github.com/vueuse/vueuse/issues/3566 <samp>(17f97)</samp>
- useOffsetPagination: Don't mutate props when it's readonly - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3581 <samp>(4dace)</samp>
- useScreenOrientation: Add fault tolerance to lock and unlock - by @satrong in https://github.com/vueuse/vueuse/issues/3575 <samp>(be3cc)</samp>
- useStorage: Fix undefined defaults - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3597 <samp>(04220)</samp>
View changes on GitHub
- 10.6.113 Nov 2023
Release notes
Open source →🐞 Bug Fixes
- useScroll: Can not read properties of null (reading document) - by @Jokerzhzh and @joaopslins in https://github.com/vueuse/vueuse/issues/3544 <samp>(e9742)</samp>
- useVirtualList:
.stylecan be undefined - by @antfu <samp>(3d6b9)</samp>
View changes on GitHub
- 10.6.09 Nov 2023
Release notes
Open source →🚀 Features
- createEventHook: Allow trigger to optionally have no parameters - by @curtgrimes in https://github.com/vueuse/vueuse/issues/3507 <samp>(6040e)</samp>
- onLongClick: Return stop function - by @its-lee and lee in https://github.com/vueuse/vueuse/issues/3506 <samp>(8eb0b)</samp>
- syncRef: Enhance syncRef type restrict - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3515 <samp>(89266)</samp>
- useClipboard: UseClipboard component - by @alexzvn, Alexzvn and @antfu in https://github.com/vueuse/vueuse/issues/3359 <samp>(71b46)</samp>
- useClipboardItems: New function - by @Doctor-wu and @antfu in https://github.com/vueuse/vueuse/issues/3477 <samp>(1aa50)</samp>
- useDateFormat: Add date ordinal formatting - by @Jokerzhzh and @antfu in https://github.com/vueuse/vueuse/issues/3474 <samp>(61ceb)</samp>
- useDropZone: Add
dataTypesoption - by @rtugeek and @antfu in https://github.com/vueuse/vueuse/issues/3471 <samp>(3f3f1)</samp> - useElementSize: Stop function - by @chaii3 and @antfu in https://github.com/vueuse/vueuse/issues/3367 <samp>(5f545)</samp>
- useFileDialog: Add directory parameters - by @huiliangShen and banruo in https://github.com/vueuse/vueuse/issues/3513 <samp>(cefca)</samp>
- useMutationObserver: Add
takeRecordsfunction - by @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/3480 <samp>(f9136)</samp> - useStorage: Add
waitOnMountedoption for SSR - by @posva and @antfu in https://github.com/vueuse/vueuse/issues/3504 <samp>(dc6f2)</samp> - useWindowScroll: Allow rewriting back to scroll - by @nothing-sy, chensiyuan and @antfu in https://github.com/vueuse/vueuse/issues/3500 <samp>(931b2)</samp>
- watchOnce: Return function for manual watcher stopping - by @valerypatorius in https://github.com/vueuse/vueuse/issues/3475 <samp>(bb0a7)</samp>
🐞 Bug Fixes
- onClickOutside: Adjust shouldListen handling timing - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3503 <samp>(69851)</samp>
- onScrollLock: Cache the el initial overflow value - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3527 <samp>(03866)</samp>
- useAxios: Bail out on request abort - by @jahnli in https://github.com/vueuse/vueuse/issues/3394 <samp>(151f9)</samp>
- useClipboard: Use legacy way when without permission - by @Cat1007, catye, @posva and @antfu in https://github.com/vueuse/vueuse/issues/3379 <samp>(37e86)</samp>
- useDraggable: Element can't relative parent element move - by @huiliangShen and banruo in https://github.com/vueuse/vueuse/issues/3531 <samp>(08246)</samp>
- useElementSize: Get value in onMounted hook - by @chaii3 and @antfu in https://github.com/vueuse/vueuse/issues/3366 <samp>(165c8)</samp>
- useFetch: Don't set isFetching to false when a request is aborted because of a refetch - by @mweghorst and @antfu in https://github.com/vueuse/vueuse/issues/3479 <samp>(75ca2)</samp>
- useMouseInElement: Optimize outside computation - by @qiYuei, fengmingjian and @antfu in https://github.com/vueuse/vueuse/issues/3380 <samp>(7c88d)</samp>
- useRouteQuery,useRouteParams: Prevent reset on other scope dispose - by @s-montigny-desautels and @antfu in https://github.com/vueuse/vueuse/issues/3418 <samp>(771e7)</samp>
- useScroll: Trigger once
onMountedto get correct inital arrivedStates values - by @nicooprat and @antfu in https://github.com/vueuse/vueuse/issues/3384 <samp>(86bd8)</samp> - useSortable: Prevent from creating multi instances - by @Doctor-wu in https://github.com/vueuse/vueuse/issues/3501 <samp>(d9846)</samp>
- useStorage: Fix defaults not unwrapped - by @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/3534 <samp>(b6d2b)</samp>
- useWebSocket: Webworker support - by @binary-signal and @antfu in https://github.com/vueuse/vueuse/issues/3469 <samp>(9b014)</samp>
View changes on GitHub
- 10.5.07 Oct 2023
Release notes
Open source →🚀 Features
- Add
Promisifytype definition - by @Alfred-Skyblue in https://github.com/vueuse/vueuse/issues/3420 <samp>(b067b)</samp> - createInjectionState: Allow provide and inject in same component - by @xiaoxiangmoe and @antfu in https://github.com/vueuse/vueuse/issues/3387 <samp>(5d948)</samp>
- createInjectionState: Add injectionKey option - by @PPetau and @antfu in https://github.com/vueuse/vueuse/issues/3404 <samp>(90d34)</samp>
- rxjs: Add useExtractedObservable and watchExtractedObservable - by @Voltra in https://github.com/vueuse/vueuse/issues/3453 <samp>(23b8c)</samp>
- useFavicon: Add link tag if it doesn't exist - by @babu-ch in https://github.com/vueuse/vueuse/issues/3444 <samp>(d1fcc)</samp>
- useMousePressed: Add capture option - by @DerZade and @antfu in https://github.com/vueuse/vueuse/issues/3392 <samp>(d5c81)</samp>
- useMutationObserver: Use MaybeComputedElementRef - by @huodoushigemi in https://github.com/vueuse/vueuse/issues/3430 <samp>(8167b)</samp>
- useRafFn: Option fpsLimit - by @f820602h and @antfu in https://github.com/vueuse/vueuse/issues/3459 <samp>(8e4c0)</samp>
🐞 Bug Fixes
- Vue 2 support for provideLocal and injectLocal - by @xiaoxiangmoe in https://github.com/vueuse/vueuse/issues/3464 <samp>(cf757)</samp>
- useBreakpoints: Add missing breakpoint for the bootstrap - by @edtorba in https://github.com/vueuse/vueuse/issues/3413 <samp>(ec9a4)</samp>
- useDrauu: Spread options for
brush- by @17359898647 in https://github.com/vueuse/vueuse/issues/3463 <samp>(87ea3)</samp> - useVModels: Type error with passive: true - by @chaii3 in https://github.com/vueuse/vueuse/issues/3362 <samp>(51f01)</samp>
- useWebNotification: Condition check on permission - by @SampsonCrowley in https://github.com/vueuse/vueuse/issues/3422 <samp>(2f2b4)</samp>
- useWebSocket: Ssr support - by @huangyan321 in https://github.com/vueuse/vueuse/issues/3370 <samp>(c3a69)</samp>
View changes on GitHub
- Add
- 10.4.128 Aug 2023
Release notes
Open source →🐞 Bug Fixes
- Transpile target to
es2018, close #3349 - by @antfu in https://github.com/vueuse/vueuse/issues/3349 <samp>(0e4a5)</samp> - useEventListener: Immutable options on removal, close #2825 - by @antfu in https://github.com/vueuse/vueuse/issues/3346 and https://github.com/vueuse/vueuse/issues/2825 <samp>(3ef59)</samp>
View changes on GitHub
- Transpile target to