🚨 Breaking Changes
- Migrate to
tsdown
, move dist files - by @9romise and Anthony Fu in #5004 (a2e2c) - Deprecate alias exports in favor of original function names - by @9romise in #5009 (e5f74)
- Requires Vue 3.5 - by @antfu (fe458)
- components: Refactor components and make them consistent - by @ilyaliao in #4912 (8c521)
- computedAsync: Default to
flush: sync
- by @ferferga in #4752 (573bf) - createSharedComposable: Return only the sharedComposable on client side - by @9romise in #4997 (73aad)
- firebase: Upgrade to firebase v12 - by @antfu (8cb0b)
- nuxt: Use Nuxt v4 kit - by @antfu (070fc)
- shared: Drop some deprecated apis - by @9romise in #5010 (971b2)
- useClipboard: Use
readonly()
instead of type assertionComputed
- by @9romise in #5081 (67812) - useSwipe: Remove isPassiveEventSupported - by @pkc918 in #4886 (620a9)
- useThrottleFn: Align with traditional throttle behavior - by @IceMooncake and @ilyaliao in #4923 (cefd2)
🚀 Features
- computedEager: Deprecate
computedEager
- by @ilyaliao in #5034 (26a7d) - onClickOutside: Allow the value of target to be a getter - by @keeplearning66 in #5098 (7133c)
- onLongPress: Allow function as value in delay - by @keeplearning66 in #4979 (415f3)
- refManualReset: New function - by @phk422, @OrbisK, @ilyaliao and Anthony Fu in #4644 (81bb3)
- useAsyncState: Allow initial value to be a ref - by @43081j in #4992 (e38e8)
- useIdle: Implement
Stoppable
interface - by @dpbs-715 and Anthony Fu in #5068 (3f96a) - useTextSelection: Set initial value for use text selection - by @kevinluo201 in #5092 (dbb3e)
- useTransition: Add support for custom interpolator functions - by @scottbedard and Anthony Fu in #5011 (cf905)
- watch: Update watch return typo in watchExtractedObservable, watchDebounced, watchDeep, watchImmediate, watchOnce, watchThrottled and watchWithFilter - by @ArthurDarkstone in #4896 (b8102)
- watchAtMost: Add pause and resume to return value - by @ArthurDarkstone in #4897 (d3176)
- watchPausable: Deprecate
watchPausable
- by @ilyaliao in #5040 (4a28b)
🐞 Bug Fixes
- Update return type of createReusableTemplate and createTemplateP… - by @ArthurDarkstone in #4962 (5fd3a)
- Update return types for createTemplatePromise, useMagicKeys, use… - by @ArthurDarkstone in #4963 (554b7)
- Update parameter types to use ComponentInternalInstance in lifec… - by @ArthurDarkstone in #5060 (a49a3)
- integrations: Use relative import in
component.ts
- by @9romise in #5025 (d5bcd) - shared: Support provideLocal/injectLocal in vapor mode - by @ZKunZhang and Zhaokun Zhang in #5050 (51872)
- tryOnScopeDispose: Add optional failSilently parameter and updat… - by @ArthurDarkstone and @ilyaliao in #5061 (a4862)
- types: Update type casting for watch functions to use WatchSource - by @ArthurDarkstone in #4966 (00a72)
- useAsyncState: Track latest execution to avoid newer results being replaced by outdated ones - by @andreww2012 in #5047 (3e6cb)
- useFullscreen: Specify return types for request, exit, and enabl… - by @ArthurDarkstone in #4965 (8ac73)
- useMagicKeys: Clearing of other keys after releasing alt - by @NoiseFan in #5037 (3f113)
- useShare: Improve the accuracy of sharing logic - by @ArthurDarkstone in #5048 (61e1b)
- useUrlSearchParams: Restore proper history and navigation behavior - by @yosong-github and @ilyaliao in #4969 (1cff4)
- useUserMedia: Add deep watch to constraints - by @babu-ch and @ilyaliao in #5046 (4b3e9)