chore(deps): update dependency vue to v3 #43

Closed
renovate-bot wants to merge 1 commits from renovate/vue-3.x into master
Collaborator

This PR contains the following updates:

Package Type Update Change
vue dependencies major ^2.6.11 -> ^3.0.0

Release Notes

vuejs/core

v3.2.30

Compare Source

Features
  • ssr: support custom directive getSSRProps in optimized compilation (60cf175), closes #​5304
Performance Improvements
  • reactivity: optimize effect/effectScope active state tracking (2993a24)

v3.2.29

Compare Source

Bug Fixes

v3.2.28

Compare Source

v3.2.27

Compare Source

Bug Fixes
  • KeepAlive: remove cached VNode properly (#​5260) (2e3e183), closes #​5258
  • reactivity-transform: should not rewrite for...in / for...of scope variables (7007ffb)
  • sfc-playground: hide title to avoid overlap (#​5099) (44b9527)
  • ssr: make computed inactive during ssr, fix memory leak (f4f0966), closes #​5208
  • ssr: remove missing ssr directive transform error (55cc4af)
  • types/tsx: allow ref_for type on tsx elements (78df8c7)
  • types: fix shallowReadonly type (92f11d6)
  • types: handle ToRef (5ac7030), closes #​5188
  • types: KeepAlive match pattern should allow mixed array (3007d5b)
Features
  • types: simplify ExtractPropTypes to avoid props JSDocs being removed (#​5166) (a570b38)
Performance Improvements
  • improve memory usage for static vnodes (ed9eb62)

v3.2.26

Compare Source

v3.2.25

Compare Source

Bug Fixes
  • compiler-sfc: generate valid TS in script and script setup co-usage with TS (7e4f0a8), closes #​5094
  • compiler: force block for custom dirs and inline beforeUpdate hooks (1c9a481)
  • runtime-core: disallow recurse in vnode/directive beforeUpdate hooks (a1167c5)
Features
  • compiler-core: support aliasing vue: prefixed events to inline vnode hooks (4b0ca87)
  • experimental: allow const for ref sugar declarations (9823bd9)
  • reactivity-transform/types: restructure macro types + export types for all shorthand methods (db729ce)
  • reactivity-transform: $$() escape for destructured prop bindings (198ca14)
  • reactivity-transform: rename @​vue/ref-transform to @​vue/reactivity-transform (d70fd8d)
  • reactivity-transform: support $-shorthands for all ref-creating APIs (179fc05)
  • reactivity-transform: support optionally importing macros (fbd0fe9)
  • reactivity-transform: use toRef() for $() destructure codegen (93ba6b9)
  • reactivity: support default value in toRef() (2db9c90)
  • sfc-playground: add github link (#​5067) (9ac0dde)
  • sfc-playground: prevent ctrl+s default behavior (#​5066) (b027507)
  • support ref in v-for, remove compat deprecation warnings (41c18ef)

v3.2.24

Compare Source

Bug Fixes
  • compat: maintain compatConfig option in legacy functional comp (#​4974) (ee97cf5)
  • compiler-dom: avoid bailing stringification on setup const bindings (29beda7)
  • compiler-sfc: make asset url imports stringifiable (87c73e9)
  • package: ensure ref-macros export is recognized by vue-tsc (#​5003) (f855269)
  • runtime-core: handle initial undefined attrs (#​5017) (6d887aa), closes #​5016
  • types/reactivity: export ShallowRef type (#​5026) (523b4b7), closes #​5205
Features
  • types/script-setup: add generic type to defineExpose (#​5035) (34985fe)

v3.2.23

Compare Source

Bug Fixes
  • reactivity: retain readonly proxies when setting as reactive property (d145128), closes #​4986
  • runtime-core: fix component public instance has check for accessed non-existent properties (aac0466), closes #​4962
  • runtime-core: handle error in async KeepAlive hooks (#​4978) (820a143)
  • runtime-dom: fix option element value patching edge case (#​4959) (89b2f92), closes #​4956
  • runtime-dom: patchDOMProps should not set _value if element is custom element (#​4839) (1701bf3)
  • types: export ref-macros.d.ts (1245709)
  • types: fix propType type inference (#​4985) (3c449cd), closes #​4983
  • types: scrip-setup+ts: ensure proper handling of null as default prop value. (#​4979) (f2d2d7b), closes #​4868
Features

v3.2.22

Compare Source

Bug Fixes

v3.2.21

Compare Source

Bug Fixes
  • custom-element: fix custom element props access on initial render (4b7f76e), closes #​4792
  • custom-element: fix initial attr type casting for programmtically created elements (3ca8317), closes #​4772
  • devtools: avoid open handle in non-browser env (6916d72), closes #​4815
  • devtools: fix memory leak when devtools is not installed (#​4833) (6b32f0d), closes #​4829
  • runtime-core: add v-memo to built-in directives check (#​4787) (5eb7263)
  • runtime-dom: fix behavior regression for v-show + style display binding (3f38d59), closes #​4768
  • types: fix ref unwrapping type inference for nested shallowReactive & shallowRef (20a3615), closes #​4771

v3.2.20

Compare Source

Bug Fixes
Features
  • compiler-sfc: <script setup> defineProps destructure transform (#​4690) (467e113)

v3.2.19

Compare Source

Bug Fixes
  • compiler-core: should treat attribute key as expression (#​4658) (7aa0ea0)
  • server-renderer: respect compilerOptions during runtime template compilation (#​4631) (50d9d34)

v3.2.18

Compare Source

v3.2.17

Compare Source

Bug Fixes

v3.2.16

Compare Source

Bug Fixes
  • ssr: fix ssr runtime helper import in module mode (8e05b7f)

v3.2.15

Compare Source

Bug Fixes
  • compiler-ssr: import ssr helpers from updated path (d74f21a)

v3.2.14

Compare Source

Bug Fixes
  • compiler-core: generate TS-cast safe assignment code for v-model (686d014), closes #​4655
  • compiler-core: more robust member expression check in Node (6257ade)
  • compiler-sfc: fix local var access check for bindings in normal script (6d6cc90), closes #​4644
  • devtools: fix prod devtools detection + handle late devtools hook injection (#​4653) (2476eaa)

v3.2.13

Compare Source

Bug Fixes
  • compiler-core: add check when v-else-if is behind v-else (#​4603) (5addef8)
  • compiler-core: dedupe renderSlot's default props (#​4557) (0448125)
  • compiler-core: ensure hoisted scopeId code can be treeshaken (cb2d7c0)
  • compiler-core: more robust member expression check when running in node (d23fde3), closes #​4640
  • compiler-core: only merge true handlers (#​4577) (d8a36d0)
  • compiler-core: support ts syntax in expressions when isTS is true (0dc521b)
  • compiler-dom: fix transition children check for whitespace nodes (ed6470c), closes #​4637
  • hydration: ensure hydrated event listeners have bound instance (#​4529) (58b1fa5), closes #​4479
  • runtime-core: return the exposeProxy from mount (#​4606) (5aa4255)
  • types: incorrect type inference of array (#​4578) (140f089)
  • watch: remove redundant parameter default value (#​4565) (11a2098)
Features
  • compiler-sfc: allow disabling sourcemap when not needed (585615b)

v3.2.12

Compare Source

Bug Fixes

v3.2.11

Compare Source

Bug Fixes
  • hmr: handle possible duplicate component definitions with same id (aa8908a)

v3.2.10

Compare Source

Bug Fixes

v3.2.9

Compare Source

Bug Fixes

v3.2.8

Compare Source

Bug Fixes

v3.2.7

Compare Source

Bug Fixes
  • compiler-core: remove no longer necessary withScopeId import in generated code (935b4e2)
  • compiler-sfc: ensure script setup lang=ts output is tree-shakable (b89ff92)
  • compiler: only generate non-static ref for script setup if the binding exists (3628991), closes #​4431
  • ref-transform: should transform $ref when used with generic arguments (#​4446) (33cf6c8), closes #​4442
  • runtime-core: properly merge unmounted and beforeUnmount options (#​4447) (741d3b3)
  • suspense: misusing DOM Comment element constructor as a vnode type (#​4451) (ef5b731)

v3.2.6

Compare Source

Bug Fixes

v3.2.5

Compare Source

Bug Fixes
Features
  • experimental: expose ref macro types using separate d.ts file (b408451)
  • experimental: shouldTransform for ref-transform (e565831)
  • experimental: standalone ref transform (db8dc75)
  • experimental: support ref transform for sfc normal <script> (06051c4)
  • ref-transform: auto infer parser plugins (6453359)

v3.2.4

Compare Source

Bug Fixes
  • compiler-sfc: fix import usage check for lowercase imported components (57f1081), closes #​4358
  • runtime-core: ensure consistent arguments for tempalte and render funtion slot usage (644971e), closes #​4367
  • runtime-core: fix child component double update on props change (c1f564e), closes #​4365
Reverts

v3.2.3

Compare Source

Features
  • ssr: support custom directive getSSRProps in optimized compilation (60cf175), closes #​5304
Performance Improvements
  • reactivity: optimize effect/effectScope active state tracking (2993a24)

v3.2.2

Compare Source

Bug Fixes

v3.2.1

Compare Source

Bug Fixes
  • compiler-core: should treat attribute key as expression (#​4658) (7aa0ea0)
  • server-renderer: respect compilerOptions during runtime template compilation (#​4631) (50d9d34)

v3.2.0

Compare Source

Compatibility Notes

This release contains no public API breakage. However, there are a few compatibility related notes:

  • Due to usage of new runtime helpers, code generated by the template compiler in >= 3.2 will not be compatible with runtime < 3.2.

    This only affects cases where there is a version mismatch between the compiler and the runtime. The most common case is libraries that ship pre-compiled Vue components. If you are a library author and ship code pre-compiled by Vue >= 3.2, your library will be only compatible Vue >= 3.2.

  • This release ships TypeScript typings that rely on Template Literal Types and requires TS >= 4.1.

Features
SFC
  • remove experimental status of <script setup> (27104ea) (Docs) (RFC)
  • remove experimental status for sfc <style> v-bind (3b38c9a) (Docs) (RFC)
  • support non-explicit type imports in <script setup> by avoiding exposing unused imports to template during dev (5a3ccfd), closes #​3183
  • support namespaced component tags when using <script setup> (e5a4412)
  • (experimental) new ref sugar (562bddb) (RFC)
Custom Elements
Reactivity
SSR
Generic
Types
  • map declared emits to onXXX props in inferred prop types (#​3926) (69344ff)
Performance Improvements
  • reactivity: improve reactive effect memory usage (#​4001) (87f69fd), closes #​2345
  • reactivity: ref-specific track/trigger and miscellaneous optimizations (#​3995) (6431040)
  • reactivity: use bitwise dep markers to optimize re-tracking (#​4017) (6cf2377)
  • compiler-core/runtime-core: improve VNode creation performance with compiler hints (#​3334) (ceff899)
  • compiler-core: also hoist all-static children array (b7ea7c1)
  • compiler-core: hoist dynamic props lists (02339b6)
  • compiler-sfc: ignore empty blocks (#​3520) (b771fdb)
Bug Fixes

Please refer to changelogs of previous beta releases for bug fixes included in this release.

v3.1.5

Compare Source

Bug Fixes

v3.1.4

Compare Source

Bug Fixes
  • build: avoid using async/await syntax (438754a)
  • build: fix generated code containing unprocessed class field syntax (2788154), closes #​4052 vuejs/vue-cli#​6562
  • codegen: ensure valid types in genreated code when using global directives (a44d528), closes #​4054
  • compiler-sfc: fix parse-only mode when there is no script setup block (253ca27)
  • runtime-core: add useAttrs and useSlots export (#​4053) (735ada1)
  • runtime-core: fix instance accessed via $parent chain when using expose() (#​4048) (12cf9f4)

v3.1.3

Compare Source

Bug Fixes
  • compiler-core: properly exit self-closing pre tag (d2df28d), closes #​4030
  • compiler-sfc: avoid script setup marker showing up in devtools (211793d)
  • compiler-sfc: fix defineProps() call on imported identifier (691d354)
  • compiler-sfc: fix defineProps/defineEmits usage in multi-variable declarations (62c1b2f), closes #​3739
  • compiler-sfc: fix script setup hidden flag codegen (a5a66c5)
  • compiler-sfc: support method signature in defineProps (afdd2f2), closes #​2983
  • compiler-sfc: support TS runtime enum in <script setup> (1ffd48a)
  • runtime-core: add missing serverPrefetch hook error string (#​4014) (d069796)
  • runtime-core: fix mouting of detached static vnode (fded1e8), closes #​4023
  • runtime-dom: fix static node content caching edge cases (ba89ca9), closes #​4023 #​4031 #​4037
  • sfc: allow variables that start with _ or $ in <script setup> (0b8b576)
  • ssr: ensure behavior consistency between prod/dev when mounting SSR app to empty containers (33708e8), closes #​4034
  • ssr: properly hydrate non-string value bindings (34d4991), closes #​4006
  • types: improve type of unref() (127ed1b), closes #​3954
  • defineExpose type definition and runtime warning (1675b6d)
  • prevent withAsyncContext currentInstance leak in edge cases (9ee41e1)
Features
  • compiler-sfc: compileScript parseOnly mode (601a290)
  • expose: always expose $ instance properties on child refs (b0203a3)
  • sfc: add defineEmits and deprecate defineEmit (#​3725) (a137da8)
  • sfc: auto restore current instance after await statements in async setup() (0240e82)
  • sfc: change <script setup> directive resolution to require v prefix (d35e0b1), closes #​3543
  • sfc: defineExpose (be2b1d3)
  • sfc: make ref sugar disabled by default (96cc335)
  • sfc: remove <template inherit-attrs> support (6f6f0cf)
  • sfc: support referenced types for defineEmits (2973b6c)
  • sfc: support using declared interface or type alias with defineProps() (2f91db3)
  • sfc: useAttrs + useSlots (63e9e2e)
  • sfc: withDefaults helper (4c5844a)
  • sfc-playground: support lang=ts (be0f614)
  • sfc/types: make <script setup> helper types available globally (004bd18)
  • types: support IDE renaming for props (#​3656) (81e69b2)
  • types/ide: support find definition for jsx tags, events (#​3570) (8ed3ed6)

v3.1.2

Compare Source

Bug Fixes
Performance Improvements

v3.1.1

Compare Source

Bug Fixes

v3.1.0

Compare Source

Features
  • Migration Build
  • compiler-core: whitespace handling strategy (dee3d6a)
  • support component-level compilerOptions when using runtime compiler (ce0bbe0)
  • config: support configuring runtime compiler via app.config.compilerOptions (091e6d6)
  • support casting plain element to component via is="vue:xxx" (af9e699)
  • devtools: improved KeepAlive support (03ae300)
  • devtools: performance events (f7c54ca)
  • onServerPrefetch (#​3070) (349eb0f)
Performance Improvements
  • only trigger $attrs update when it has actually changed (5566d39)
  • compiler: skip unncessary checks when parsing end tag (048ac29)
  • avoid deopt for props/emits normalization when global mixins are used (51d2be2)
Deprecations
  • app.config.isCustomElement has been deprecated and should be now nested under app.config.compilerOptions. [Docs]
  • delimiters component option has been deprecated and should now be nested under the compilerOptions component option. [Docs]
  • v-is has been deprecated in favor of is="vue:xxx" [Docs]
Minor Breaking Changes
  • this.$props and the props object passed to setup() now always contain all the keys for declared props, even for props that are absent (4fe4de0). This has always been the behavior in Vue 2 and is therefore considered a fix (see reasoning in #​3288). However, this could break Vue 3 code that relied on the keys for prop absence checks. The workaround is to use a Symbol default value for props that need absence checks:

    const isAbsent = Symbol()
    
    export default {
      props: {
        foo: { default: isAbsent }
      },
      setup(props) {
        if (props.foo === isAbsent) {
          // foo is absent
        }
      }
    }
    
  • optionMergeStrategies functions no longer receive
    the component instance as the 3rd argument. The argument was technically
    internal in Vue 2 and only used for generating warnings, and should not
    be needed in userland code. This removal enables much more efficient
    caching of option merging.

Bug Fixes
  • compat: revert private properties on $options in comapt mode (ad844cf), closes #​3883
  • runtime-core: fix fragment update inside de-opt slots (5bce2ae), closes #​3881
  • compat: fix deep data merge with extended constructor (c7efb96), closes #​3852
  • compiler-sfc: fix style injection when using normal script + setup (8b94464), closes #​3688
  • compiler-sfc: fix template expression assignment codegen for script setup let refs (#​3626) (2c7bd42), closes #​3625
  • runtime-core: align option merge behavior with Vue 2 (e2ca67b), closes #​3566 #​2791
  • runtime-dom/v-model: only set selectedIndex when the value changes (#​3845) (ecd97ee)
  • suspense: fix suspense regression for errored template component (44996d1), closes #​3857
  • watch: avoid traversing objects that are marked non-reactive (9acc9a1)
  • compiler-core: improve the isMemberExpression function (#​3675) (9b2e894)
  • compiler-dom: fix in-browser attribute value decoding w/ html tags (6690372), closes #​3001
  • compiler-sfc: correctly remove parens used for wrapping (#​3582) (6bfb50a), closes #​3581
  • reactivity: ensure computed always expose value (03a7a73), closes #​3099 #​910
  • runtime-core: fix cases of reused children arrays in render functions (#​3670) (a641eb2), closes #​3666
  • runtime-core: fix resolving inheritAttrs from mixins (#​3742) (d6607c9), closes #​3741
  • runtime-core: should disable tracking inside directive lifecycle hooks (#​3699) (ff50e8d)
  • runtime-core: stricter compat root mount check (32e2133)
  • runtime-dom: should remove attribute when binding null to value (#​3564) (e3f5dcb)
  • suspense: fix suspense patching in optimized mode (9f24195), closes #​3828
  • transition: fix higher order transition components with merged listeners (071986a), closes #​3227
  • keep-alive: include/exclude should work with async component (#​3531) (9e3708c), closes #​3529
  • runtime-core: properly check forwarded slots type (#​3781) (e8ddf86), closes #​3779
  • runtime-core: should not track dynamic children when the user calls a compiled slot inside template expression (#​3554) (2010607), closes #​3548 #​3569
  • runtime-core/teleport: ensure the nested teleport can be unmounted correctly (#​3629) (4e3f82f), closes #​3623
  • scheduler: handle preFlush cb queued inside postFlush cb (b57e995), closes #​3806
  • ssr: handle hydrated async component unmounted before resolve (b46a4dc), closes #​3787
  • watch: should not leak this context to setup watch getters (1526f94), closes #​3603
  • compat: avoid accidentally delete the modelValue prop (#​3772) (4f17be7)
  • compat: enum coercion warning (#​3755) (f01aadf)
  • compiler-core: fix whitespace management for slots with whitespace: 'preserve' (#​3767) (47da921), closes #​3766
  • compiler-dom: comments in the v-if branchs should be ignored when used in Transition (#​3622) (7c74feb), closes #​3619
  • compiler-sfc: support tsx in setup script (#​3825) (01e8ba8), closes #​3808
  • compiler-ssr: disable hoisting in compiler-ssr (3ef1fcc), closes #​3536
  • devtools: send update to component owning the slot (1355ee2)
  • runtime-core: avoid double-setting props when casting (0255be2), closes #​3371 #​3384
  • runtime-core: avoid the proxy object polluting the slots of the internal instance (#​3698) (4ce0df6), closes #​3695
  • types: declared prop keys should always exist in props argument (#​3726) (9b160b9)
  • types/reactivity: error TS4058 caused by RefSymbol (#​2548) (90aa835)
  • compat: correctly merge lifecycle hooks when using Vue.extend (#​3762) (2bfb8b5), closes #​3761
  • compiler-core: bail out to array children when the element has custom directives + only one text child node (#​3757) (a56ab14)
  • compat: handle and warn config.optionMergeStrategies (94e69fd)
  • compiler-core: preserve comment content in production when comments option is enabled (e486254)
  • hmr: don't remove __file key from component type (9db3cbb)
  • hydration: fix update before async component is hydrated (#​3563) (c8d9683), closes #​3560
  • reactivity: fix tracking for readonly + reactive Map (#​3604) (5036c51), closes #​3602
  • runtime-core: ensure declare prop keys are always present (4fe4de0), closes #​3288
  • runtime-core: watching multiple sources: computed (#​3066) (e7300eb), closes #​3068
  • Teleport: avoid changing the reference of vnode.dynamicChildren (#​3642) (43f7815), closes #​3641
  • watch: avoid traversing non-plain objects (62b8f4a)
  • watch: this.$watch should support watching keypath (870f2a7)

v3.0.11

Compare Source

Bug Fixes
  • compiler-sfc: fix wrong scopeId for nested <script setup> components (7f7dcc9)
  • runtime-core: fix render function + optimized slot edge case (#​3523) (995d76b), closes #​2893
  • runtime-core: fix v-on object kebab-case event emit matching (c1cd42e), closes #​3527

v3.0.10

Compare Source

Bug Fixes
Performance Improvements
  • compiler-sfc: skip srcset transform if all candidates are external (b39208c)
  • runtime-core: optimize the performance of getTypeIndex (#​3206) (2e50acf)

v3.0.9

Compare Source

Bug Fixes

v3.0.8

Compare Source

Bug Fixes
Performance Improvements
  • support only attaching slot scope ids when necessary (02cbbb7)

v3.0.7

Compare Source

Bug Fixes
Performance Improvements
  • reactivity: only call Set.add if doesn't already have value (#​3307) (9cd9883)

v3.0.6

Compare Source

Bug Fixes
  • compiler-core: do not mark v-for as stable on const bindings (734c65b), closes vitejs/vite#​1956
  • compiler-dom: ensure global build filename matches the one defined in package.json (close #​3181) (#​3185) (96b6433)
  • compiler-dom: fix cdn entries (fcb6c89), closes #​3181 #​3185
  • compiler-sfc: compiler blank srcset (#​3005) (9dc816d)
  • compiler-sfc: removeSpecifier issue when removing initial imports (script-setup) (#​2729) (6d762a8)
  • compiler-sfc: the empty lang attribute should be treated as no lang specified (#​3051) (6d5b623)
  • compiler-sfc: transformAssetUrls.base should not affect known module requests (2ea9867)
  • compiler-sfc: treat const reactive() bindings as mutable (03360ce)
  • compiler-ssr: avoid duplicated asset imports merged from component slot client branch (c69f4ea), closes vitejs/vite#​2034
  • devtools: init devtools in production (#​2906) (4d9bcb7)
  • devtools: send instance to devtools when it's mounted instead of created (4fecb27)
  • docs: change reference to passed deadline (#​2930) (de7f9d1)
  • hmr: deep clone reused hoisted trees during dev (5a7a1b8), closes vitejs/vite#​2022
  • runtime-core: align $parent/$root with the template ref when using expose (#​3158) (f43a3b0)
  • runtime-core: allow overriding properties other than props (#​3105) (73117f6)
  • runtime-core: check the DEV_ROOT_FRAGMENT flag correctly in the dev environment (#​2750) (347a879)
  • runtime-core: component methods should override global properties in DEV (#​3074) (2587f36)
  • runtime-core: ensure app instance can be garbage collected after unmount (close #​2907) (#​2909) (60e05ef)
  • runtime-core: instanceWatch should pass this.proxy to source as the first argument (#​2753) (ec8fd10)
  • runtime-dom: ensure readonly type prop on textarea is handled patched as attribute (#​2888) (c5d147c), closes #​2766
  • kebab-case events are attached correctly on web components, see #​2841 (#​2847) (b302cbb)
  • types: extract the correct props type for the DateConstructor (#​2676) (48f0d29)
  • ensure all published packages contan a LICENCE file (close #​2650) (#​2857) (6a48d23)
  • remove superfluous spaces when normalizing class (#​3083) (4b55142)
  • runtime-dom: enable set form attr to null on form-elements (#​2840) (#​2849) (f262438)
  • toRef: ref created from union typed prop can't be used in watch (#​3048) (4ca4666)
  • should prefix ShadowRoot with window. (#​2943) (97d6f1a)
Features
Performance Improvements

v3.0.5

Compare Source

Note: this release contains a type-only change that requires TypeScript 4.0+, which
may cause build issues in projects still using TS 3.x.

Bug Fixes
Features
  • devtools: send instance (3626ff0)

v3.0.4

Compare Source

Bug Fixes
  • async-component: forward refs on async component wrapper (64d4681), closes #​2671
  • attr-fallthrough: ensure consistent attr fallthrough for root fragments with comments (3bc2914), closes #​2549
  • build: enable safari10 option for terser (#​2472) (20a704f), closes #​2470
  • compiler-core: fix scope var reference check for v-on expressions (9db7095), closes #​2564
  • compiler-core: fix unintended imports in esm-bundler builds (55d99d7), closes #​2258 #​2515
  • compiler-core: transform kebab case props to camelcase on slots (#​2490) (ef59a30), closes #​2488
  • compiler-core/v-on: handle falsy values when caching v-on handlers (e4f09c1), closes #​2605
  • compiler-sfc: fix parsing error when lang="" is used on plain element (#​2569) (5f2a853), closes #​2566
  • compiler-sfc: named imports from .vue file should not be treated as constant (085bbd5), closes #​2699
  • compiler-sfc: should not remove import statements with no specifier when compiling script setup (43eab92)
  • compiler-ssr: generate correct children for transition-group (a5d6f80), closes #​2510
  • compiler-ssr: handle v-model checkbox with true-value binding (fe5428d)
  • compiler-ssr: should not render key/ref bindings in ssr (5b62662)
  • provide: support symbols in applyOptions (#​2616) (7a1a782), closes #​2615
  • reactivity: ensure readonly on plain arrays doesn't track array methods. (#​2506) (3470308), closes #​2493
  • reactivity: ensure add/set on reactive collections return the proxy (#​2534) (6e46a57), closes #​2530
  • runtime-core: ensure keep-alive deep-watches include/explude props (#​2551) (421205d), closes #​2550
  • runtime-core: ensure watchers are always registered to correct instance owner (#​2495) (735af1c), closes #​2381
  • runtime-core: fix emit listener check on kebab-case events (#​2542) (3532b2b), closes #​2540
  • runtime-core: handle static node move in production (bf16a57)
  • runtime-core: remove static node in production mode (#​2556) (2a9ba0c), closes #​2553
  • runtime-core: should pause tracking when initializing legacy options (#​2524) (0ff2a4f), closes #​2521
  • runtime-core: skip functional components in public $parent chain traversal (53f4885), closes #​2437
  • runtime-dom: attribute should be removed with nullish values (#​2679) (fb6b9f8), closes #​2677
  • script-setup: ensure useContext() return valid context (73cdb9d)
  • slots: dynamically named slots should be keyed by name (2ab8c41), closes #​2535
  • slots: should render fallback content when slot content contains no valid nodes (#​2485) (ce4915d), closes #​2347 #​2461
  • suspense: fix nested async child toggle inside already resovled suspense (cf7f1db), closes #​2215
  • teleport: Teleport into SVG elements (#​2648) (cd92836), closes #​2652
  • transition: avoid invoking stale transition end callbacks (eaf8a67), closes #​2482
  • transition: respect rules in *-leave-from transition class (#​2597) (e2618a6), closes #​2593
  • types: fix ToRefs type on union value types (e315d84), closes #​2687
  • v-model: avoid mutation when using Set models + fix multi select Set model update (f2b0a8e)
  • v-model: respect checkbox true-value/false-value on initial render (48f00c0), closes #​2694
  • v-show: ensure v-show conflict with inline string style binding (3cd30c5), closes #​2583
  • allow hmr in all builds (46d80f4), closes #​2571
Features
  • sfc: allow sfcs to recursively self-reference in template via name inferred from filename (67d1aac)

v3.0.3

Compare Source

Bug Fixes
  • compiler-core/compiler-sfc: handle destructure assignment expressions (4c6078c)
  • compiler-sfc: fix script setup ts helpers (6e3abc8)
  • hmr: fix updates for imported but not yet rendered components (9c23ddf)
  • runtime-core: components with static props and slots should not be force updated (51e43e0)
  • runtime-core: ensure scheduler queue is always non-null (#​2567) (af95604)
  • runtime-dom: use correct import source (f28ca55)
  • style-vars: apply css vars in post flush effect (3a6b120)
  • handle case of ref declaration without initial value (8485cd4)
  • types: ensure correct type for toRef and toRefs on existing refs (8e20375)
Experimental Features

Note: support for experimental features in SFCs have been updated according to changes in ongoing RFCs. This release may break existing usage of such experimental features.

  • compiler-sfc: compileScript inline render function mode (886ed76)
  • compiler-sfc: new script setup implementation (556560f)
  • compiler-sfc: new SFC css varaible injection implementation (41bb7fa)
  • compiler-sfc: support kebab-case components in <script setup> sfc template (3f99e23)
  • runtime-core: explicit expose API (0e59770)
Reverts
  • Revert "wip: allow scriptCompiled to be cached on sfc descriptor" (9db4288)

v3.0.2

Compare Source

Bug Fixes
Features

v3.0.1

Compare Source

Bug Fixes
  • compiler-sfc: fix wrong scopeId for nested <script setup> components (7f7dcc9)
  • runtime-core: fix render function + optimized slot edge case (#​3523) (995d76b), closes #​2893
  • runtime-core: fix v-on object kebab-case event emit matching (c1cd42e), closes #​3527

v3.0.0

Compare Source

v2.6.14

Compare Source

v2.6.13

Compare Source


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [vue](https://github.com/vuejs/core) | dependencies | major | [`^2.6.11` -> `^3.0.0`](https://renovatebot.com/diffs/npm/vue/2.6.12/3.2.30) | --- ### Release Notes <details> <summary>vuejs/core</summary> ### [`v3.2.30`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3230-httpsgithubcomvuejscorecomparev3229v3230-2022-02-07) [Compare Source](https://github.com/vuejs/core/compare/v3.2.29...v3.2.30) ##### Features - **ssr:** support custom directive getSSRProps in optimized compilation ([60cf175](https://github.com/vuejs/core/commit/60cf175d88236db2c2a4a02900c92e26ceea0073)), closes [#&#8203;5304](https://github.com/vuejs/core/issues/5304) ##### Performance Improvements - **reactivity:** optimize effect/effectScope active state tracking ([2993a24](https://github.com/vuejs/core/commit/2993a246181df12e367b7abdfce0954244e8f7ec)) ### [`v3.2.29`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3229-httpsgithubcomvuejsvue-nextcomparev3228v3229-2022-01-23) [Compare Source](https://github.com/vuejs/core/compare/v3.2.28...v3.2.29) ##### Bug Fixes - **compiler-sfc:** fix css v-bind inside other css functions ([16fa18d](https://github.com/vuejs/vue-next/commit/16fa18da6dbbc52c89f9ea729816e1e70ab0d388)), closes [#&#8203;5302](https://github.com/vuejs/vue-next/issues/5302) [#&#8203;5306](https://github.com/vuejs/vue-next/issues/5306) - **reactivity:** ensure readonly refs can be replaced with new refs in reactive objects ([#&#8203;5310](https://github.com/vuejs/vue-next/issues/5310)) ([4be1037](https://github.com/vuejs/vue-next/commit/4be1037f31e169d667059c44364fc3e43803accb)), closes [#&#8203;5307](https://github.com/vuejs/vue-next/issues/5307) - **runtime-dom:** fix static content re-insertion ([9aa5dfd](https://github.com/vuejs/vue-next/commit/9aa5dfd4bb8efac0041e33ef5fdbebab59cc6516)), closes [#&#8203;5308](https://github.com/vuejs/vue-next/issues/5308) ### [`v3.2.28`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#small3228-2022-01-21-small) [Compare Source](https://github.com/vuejs/core/compare/v3.2.27...v3.2.28) - build: fix build script ([3d80b15](https://github.com/vuejs/vue-next/commit/3d80b15)) - fix(compat): convertLegacyVModelProps should merge model option in mixins ([#&#8203;5251](https://github.com/vuejs/core/issues/5251)) ([72130ac](https://github.com/vuejs/vue-next/commit/72130ac)), closes [#&#8203;5251](https://github.com/vuejs/vue-next/issues/5251) - fix(compat): ensure fallthrough \*Native events are not dropped during props update ([#&#8203;5228](https://github.com/vuejs/core/issues/5228)) ([97f6bd9](https://github.com/vuejs/vue-next/commit/97f6bd9)), closes [#&#8203;5228](https://github.com/vuejs/vue-next/issues/5228) - fix(compat): simulate Vue 2.6.14 version in compat build ([#&#8203;5293](https://github.com/vuejs/core/issues/5293)) ([d0b9708](https://github.com/vuejs/vue-next/commit/d0b9708)), closes [#&#8203;5293](https://github.com/vuejs/vue-next/issues/5293) - fix(compiler-core): handle v-memo in template v-for ([#&#8203;5291](https://github.com/vuejs/core/issues/5291)) ([9f55e6f](https://github.com/vuejs/vue-next/commit/9f55e6f)), closes [#&#8203;5291](https://github.com/vuejs/vue-next/issues/5291) [#&#8203;5288](https://github.com/vuejs/vue-next/issues/5288) - fix(compiler-sfc): support complex expression in CSS v-bind() ([#&#8203;5114](https://github.com/vuejs/core/issues/5114)) ([95d49bf](https://github.com/vuejs/vue-next/commit/95d49bf)), closes [#&#8203;5114](https://github.com/vuejs/vue-next/issues/5114) [#&#8203;5109](https://github.com/vuejs/vue-next/issues/5109) - fix(compiler-sfc/reactivity-transform): fix edge case where normal script has ref macros but script ([4768f26](https://github.com/vuejs/vue-next/commit/4768f26)) - fix(reactivity-transform): apply transform for labelled variable declarations ([a05b000](https://github.com/vuejs/vue-next/commit/a05b000)), closes [/github.com/vuejs/core/issues/5298#issuecomment-1017970061](https://github.com//github.com/vuejs/core/issues/5298/issues/issuecomment-1017970061) - fix(reactivity-transform): apply transform on exported variable declarations ([a81a992](https://github.com/vuejs/vue-next/commit/a81a992)), closes [#&#8203;5298](https://github.com/vuejs/vue-next/issues/5298) - fix(reactivity): differentiate shallow/deep proxies of same target when nested in reactive ([9c304bf](https://github.com/vuejs/vue-next/commit/9c304bf)), closes [#&#8203;5271](https://github.com/vuejs/vue-next/issues/5271) - fix(reactivity): mutating a readonly ref nested in a reactive object should fail. ([#&#8203;5048](https://github.com/vuejs/core/issues/5048)) ([171f5e9](https://github.com/vuejs/vue-next/commit/171f5e9)), closes [#&#8203;5048](https://github.com/vuejs/vue-next/issues/5048) [#&#8203;5042](https://github.com/vuejs/vue-next/issues/5042) - fix(runtime-core): ensure mergeProps skips undefined event handlers ([#&#8203;5299](https://github.com/vuejs/core/issues/5299)) ([c35ec47](https://github.com/vuejs/vue-next/commit/c35ec47)), closes [#&#8203;5299](https://github.com/vuejs/vue-next/issues/5299) [#&#8203;5296](https://github.com/vuejs/vue-next/issues/5296) - fix(ssr): only cache computed getters during render phase ([2f91872](https://github.com/vuejs/vue-next/commit/2f91872)), closes [#&#8203;5300](https://github.com/vuejs/vue-next/issues/5300) - fix(types): calling readonly() with ref() should return Readonly\<Ref<T>> ([#&#8203;5212](https://github.com/vuejs/core/issues/5212)) ([c64907d](https://github.com/vuejs/vue-next/commit/c64907d)), closes [#&#8203;5212](https://github.com/vuejs/vue-next/issues/5212) - refactor: includes instead of indexOf ([#&#8203;5117](https://github.com/vuejs/core/issues/5117)) ([63210fe](https://github.com/vuejs/vue-next/commit/63210fe)), closes [#&#8203;5117](https://github.com/vuejs/vue-next/issues/5117) - chore: bump marked ([0c06c74](https://github.com/vuejs/vue-next/commit/0c06c74)) - chore: comment dom tag config usage \[ci skip] ([b2bac9f](https://github.com/vuejs/vue-next/commit/b2bac9f)) - chore: fix typo ([#&#8203;5261](https://github.com/vuejs/core/issues/5261)) \[ci skip] ([e603fd2](https://github.com/vuejs/vue-next/commit/e603fd2)), closes [#&#8203;5261](https://github.com/vuejs/vue-next/issues/5261) - chore: fix typo ([#&#8203;5282](https://github.com/vuejs/core/issues/5282)) \[ci skip] ([e802275](https://github.com/vuejs/vue-next/commit/e802275)), closes [#&#8203;5282](https://github.com/vuejs/vue-next/issues/5282) - chore: type improvements ([#&#8203;5264](https://github.com/vuejs/core/issues/5264)) ([92e04a6](https://github.com/vuejs/vue-next/commit/92e04a6)), closes [#&#8203;5264](https://github.com/vuejs/vue-next/issues/5264) - chore: update repo references ([ae4b078](https://github.com/vuejs/vue-next/commit/ae4b078)) - perf(reactivity): optimize effect run condition ([25bc654](https://github.com/vuejs/vue-next/commit/25bc654)) - feat(reactivity): add isShallow api ([9fda941](https://github.com/vuejs/vue-next/commit/9fda941)) - docs(contributing): missing structure info for compiler-sfc ([#&#8203;3559](https://github.com/vuejs/core/issues/3559)) \[ci skip] ([8cbfe09](https://github.com/vuejs/vue-next/commit/8cbfe09)), closes [#&#8203;3559](https://github.com/vuejs/vue-next/issues/3559) ### [`v3.2.27`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3227-httpsgithubcomvuejscorecomparev3226v3227-2022-01-16) [Compare Source](https://github.com/vuejs/core/compare/v3.2.26...v3.2.27) ##### Bug Fixes - **KeepAlive:** remove cached VNode properly ([#&#8203;5260](https://github.com/vuejs/core/issues/5260)) ([2e3e183](https://github.com/vuejs/core/commit/2e3e183b4f19c9e25865e35438653cbc9bf01afc)), closes [#&#8203;5258](https://github.com/vuejs/core/issues/5258) - **reactivity-transform:** should not rewrite for...in / for...of scope variables ([7007ffb](https://github.com/vuejs/core/commit/7007ffb2c796d6d56b9c8e278c54dc1cefd7b58f)) - **sfc-playground:** hide title to avoid overlap ([#&#8203;5099](https://github.com/vuejs/core/issues/5099)) ([44b9527](https://github.com/vuejs/core/commit/44b95276f5c086e1d88fa3c686a5f39eb5bb7821)) - **ssr:** make computed inactive during ssr, fix memory leak ([f4f0966](https://github.com/vuejs/core/commit/f4f0966b33863ac0fca6a20cf9e8ddfbb311ae87)), closes [#&#8203;5208](https://github.com/vuejs/core/issues/5208) - **ssr:** remove missing ssr directive transform error ([55cc4af](https://github.com/vuejs/core/commit/55cc4af25e6f4924b267620bd965e496f260d41a)) - **types/tsx:** allow ref_for type on tsx elements ([78df8c7](https://github.com/vuejs/core/commit/78df8c78c4539d2408278d1a11612b6bbc47d22f)) - **types:** fix shallowReadonly type ([92f11d6](https://github.com/vuejs/core/commit/92f11d6740929f5b591740e30ae5fba50940ec82)) - **types:** handle ToRef<any> ([5ac7030](https://github.com/vuejs/core/commit/5ac703055fa83cb1e8a173bbd6a4d6c33707a3c3)), closes [#&#8203;5188](https://github.com/vuejs/core/issues/5188) - **types:** KeepAlive match pattern should allow mixed array ([3007d5b](https://github.com/vuejs/core/commit/3007d5b4cafed1da445bc498f771bd2c79eda6fc)) ##### Features - **types:** simplify `ExtractPropTypes` to avoid props JSDocs being removed ([#&#8203;5166](https://github.com/vuejs/core/issues/5166)) ([a570b38](https://github.com/vuejs/core/commit/a570b38741a7dc259772c5ccce7ea8a1638eb0bd)) ##### Performance Improvements - improve memory usage for static vnodes ([ed9eb62](https://github.com/vuejs/core/commit/ed9eb62e5992bd575d999c4197330d8bad622cfb)) ### [`v3.2.26`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3226-httpsgithubcomvuejscorecomparev3225v3226-2021-12-12) [Compare Source](https://github.com/vuejs/core/compare/v3.2.25...v3.2.26) ### [`v3.2.25`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3225-httpsgithubcomvuejscorecomparev3224v3225-2021-12-12) [Compare Source](https://github.com/vuejs/core/compare/v3.2.24...v3.2.25) ##### Bug Fixes - **compiler-sfc:** generate valid TS in script and script setup co-usage with TS ([7e4f0a8](https://github.com/vuejs/core/commit/7e4f0a869498e7dce601e7c150f402045ea2e79b)), closes [#&#8203;5094](https://github.com/vuejs/core/issues/5094) - **compiler:** force block for custom dirs and inline beforeUpdate hooks ([1c9a481](https://github.com/vuejs/core/commit/1c9a4810fcdd2b6c1c6c3be077aebbecbfcbcf1e)) - **runtime-core:** disallow recurse in vnode/directive beforeUpdate hooks ([a1167c5](https://github.com/vuejs/core/commit/a1167c57e5514be57505f4bce8d163aa1f92cf14)) ##### Features - **compiler-core:** support aliasing vue: prefixed events to inline vnode hooks ([4b0ca87](https://github.com/vuejs/core/commit/4b0ca8709a7e2652f4b02665f378d47ba4dbe969)) - **experimental:** allow const for ref sugar declarations ([9823bd9](https://github.com/vuejs/core/commit/9823bd95d11f22f0ae53f5e0b705a21b6e6e8859)) - **reactivity-transform/types:** restructure macro types + export types for all shorthand methods ([db729ce](https://github.com/vuejs/core/commit/db729ce99eb13cd18dad600055239c63edd9cfb8)) - **reactivity-transform:** $$() escape for destructured prop bindings ([198ca14](https://github.com/vuejs/core/commit/198ca14f192f9eb80028153f3d36600e636de3f0)) - **reactivity-transform:** rename [@&#8203;vue/ref-transform](https://github.com/vue/ref-transform) to [@&#8203;vue/reactivity-transform](https://github.com/vue/reactivity-transform) ([d70fd8d](https://github.com/vuejs/core/commit/d70fd8d36b23c987f2ebe3280da785f4d2e7d2ef)) - **reactivity-transform:** support $-shorthands for all ref-creating APIs ([179fc05](https://github.com/vuejs/core/commit/179fc05a8406eac525c8450153b42fcb5af7d6bb)) - **reactivity-transform:** support optionally importing macros ([fbd0fe9](https://github.com/vuejs/core/commit/fbd0fe97595f759e12e445c713b732775589fabf)) - **reactivity-transform:** use toRef() for $() destructure codegen ([93ba6b9](https://github.com/vuejs/core/commit/93ba6b974e4a2ff4ba004fef47ef69cfe980c654)) - **reactivity:** support default value in toRef() ([2db9c90](https://github.com/vuejs/core/commit/2db9c909c2cf3845f57b2c930c05cd6c17abe3b0)) - **sfc-playground:** add github link ([#&#8203;5067](https://github.com/vuejs/core/issues/5067)) ([9ac0dde](https://github.com/vuejs/core/commit/9ac0ddea4beec1a1c4471463d3476ccd019bd84e)) - **sfc-playground:** prevent ctrl+s default behavior ([#&#8203;5066](https://github.com/vuejs/core/issues/5066)) ([b027507](https://github.com/vuejs/core/commit/b0275070e4824c5efa868528f610eaced83d8fbc)) - support ref in v-for, remove compat deprecation warnings ([41c18ef](https://github.com/vuejs/core/commit/41c18effea9dd32ab899b5de3bb0513abdb52ee4)) ### [`v3.2.24`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3224-httpsgithubcomvuejscorecomparev3223v3224-2021-12-06) [Compare Source](https://github.com/vuejs/core/compare/v3.2.23...v3.2.24) ##### Bug Fixes - **compat:** maintain compatConfig option in legacy functional comp ([#&#8203;4974](https://github.com/vuejs/core/issues/4974)) ([ee97cf5](https://github.com/vuejs/core/commit/ee97cf5a4db9e4f135d8eb25aff725eb37363675)) - **compiler-dom:** avoid bailing stringification on setup const bindings ([29beda7](https://github.com/vuejs/core/commit/29beda7c6f69f79e65f0111cb2d2b8d57d8257bb)) - **compiler-sfc:** make asset url imports stringifiable ([87c73e9](https://github.com/vuejs/core/commit/87c73e99d6aed0771f8c955ca9d5188ec22c90e7)) - **package:** ensure ref-macros export is recognized by vue-tsc ([#&#8203;5003](https://github.com/vuejs/core/issues/5003)) ([f855269](https://github.com/vuejs/core/commit/f8552697fbbdbd444d8322c6b6adeb48cc0b5617)) - **runtime-core:** handle initial undefined attrs ([#&#8203;5017](https://github.com/vuejs/core/issues/5017)) ([6d887aa](https://github.com/vuejs/core/commit/6d887aaf591cfa05d5fea978bbd87e3e502bfa86)), closes [#&#8203;5016](https://github.com/vuejs/core/issues/5016) - **types/reactivity:** export ShallowRef type ([#&#8203;5026](https://github.com/vuejs/core/issues/5026)) ([523b4b7](https://github.com/vuejs/core/commit/523b4b78f5d2e11f1822e09c324a854c790a7863)), closes [#&#8203;5205](https://github.com/vuejs/core/issues/5205) ##### Features - **types/script-setup:** add generic type to defineExpose ([#&#8203;5035](https://github.com/vuejs/core/issues/5035)) ([34985fe](https://github.com/vuejs/core/commit/34985fee6b23018b6eb6322239db6165c1b0e273)) ### [`v3.2.23`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3223-httpsgithubcomvuejscorecomparev3222v3223-2021-11-26) [Compare Source](https://github.com/vuejs/core/compare/v3.2.22...v3.2.23) ##### Bug Fixes - **reactivity:** retain readonly proxies when setting as reactive property ([d145128](https://github.com/vuejs/core/commit/d145128ab400f4563eb3727626d0942ea5f4980a)), closes [#&#8203;4986](https://github.com/vuejs/core/issues/4986) - **runtime-core:** fix component public instance has check for accessed non-existent properties ([aac0466](https://github.com/vuejs/core/commit/aac0466cb8819fd132fbcc9c4d3e1014c14e2ad8)), closes [#&#8203;4962](https://github.com/vuejs/core/issues/4962) - **runtime-core:** handle error in async KeepAlive hooks ([#&#8203;4978](https://github.com/vuejs/core/issues/4978)) ([820a143](https://github.com/vuejs/core/commit/820a14345798edc0ab673bae8ce3181e479d9cca)) - **runtime-dom:** fix option element value patching edge case ([#&#8203;4959](https://github.com/vuejs/core/issues/4959)) ([89b2f92](https://github.com/vuejs/core/commit/89b2f924fc82d7f71dcb8ffbacb386fd5cf9ade2)), closes [#&#8203;4956](https://github.com/vuejs/core/issues/4956) - **runtime-dom:** patchDOMProps should not set \_value if element is custom element ([#&#8203;4839](https://github.com/vuejs/core/issues/4839)) ([1701bf3](https://github.com/vuejs/core/commit/1701bf3968f001dd3a2bc9f41e3e7e0f1b13e922)) - **types:** export ref-macros.d.ts ([1245709](https://github.com/vuejs/core/commit/124570973df4ddfdd38e43bf1e92b9710321e5d9)) - **types:** fix propType<any> type inference ([#&#8203;4985](https://github.com/vuejs/core/issues/4985)) ([3c449cd](https://github.com/vuejs/core/commit/3c449cd408840d35987fb32b39737fbf093809d6)), closes [#&#8203;4983](https://github.com/vuejs/core/issues/4983) - **types:** scrip-setup+ts: ensure proper handling of `null` as default prop value. ([#&#8203;4979](https://github.com/vuejs/core/issues/4979)) ([f2d2d7b](https://github.com/vuejs/core/commit/f2d2d7b2d236f256531ae9ad2048bd939c92d834)), closes [#&#8203;4868](https://github.com/vuejs/core/issues/4868) ##### Features - **compiler-sfc:** export resolveTemplateUsageCheckString for HMR plugin use ([#&#8203;4908](https://github.com/vuejs/core/issues/4908)) ([c61baac](https://github.com/vuejs/core/commit/c61baac75a03b938bc728a8de961ba93736a0ff6)) - **compiler-sfc:** expose properties for more accurate HMR ([68c45e7](https://github.com/vuejs/core/commit/68c45e73da902e715df9614800a7ab43d6579198)), closes [#&#8203;4358](https://github.com/vuejs/core/issues/4358) [#&#8203;4908](https://github.com/vuejs/core/issues/4908) ### [`v3.2.22`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3222-httpsgithubcomvuejscorecomparev3221v3222-2021-11-15) [Compare Source](https://github.com/vuejs/core/compare/v3.2.21...v3.2.22) ##### Bug Fixes - **compiler-sfc:** add type for props include Function in prod mode ([#&#8203;4938](https://github.com/vuejs/core/issues/4938)) ([9c42a1e](https://github.com/vuejs/core/commit/9c42a1e2a3385f3b33faed5cdcc430bf8c1fc4b2)) - **compiler-sfc:** add type for props's properties in prod mode ([#&#8203;4790](https://github.com/vuejs/core/issues/4790)) ([090df08](https://github.com/vuejs/core/commit/090df0837eb0aedd8a02fd0107b7668ca5c136a1)), closes [#&#8203;4783](https://github.com/vuejs/core/issues/4783) - **compiler-sfc:** externalRE support automatic http/https prefix url pattern ([#&#8203;4922](https://github.com/vuejs/core/issues/4922)) ([574070f](https://github.com/vuejs/core/commit/574070f43f804fd855f4ee319936ec770a56cef0)), closes [#&#8203;4920](https://github.com/vuejs/core/issues/4920) - **compiler-sfc:** fix expose codegen edge case ([#&#8203;4919](https://github.com/vuejs/core/issues/4919)) ([31fd590](https://github.com/vuejs/core/commit/31fd590fd47e2dc89b84687ffe26a5c6f05fea34)), closes [#&#8203;4917](https://github.com/vuejs/core/issues/4917) - **devtool:** improve devtools late injection browser env detection ([#&#8203;4890](https://github.com/vuejs/core/issues/4890)) ([fa2237f](https://github.com/vuejs/core/commit/fa2237f1d824eac511c4246135318594c48dc121)) - **runtime-core:** improve dedupe listeners when attr fallthrough ([#&#8203;4912](https://github.com/vuejs/core/issues/4912)) ([b4eb7e3](https://github.com/vuejs/core/commit/b4eb7e3866d7dc722d93a48f4faae1696d4e7023)), closes [#&#8203;4859](https://github.com/vuejs/core/issues/4859) - **types/sfc:** fix withDefaults type inference when using union types ([#&#8203;4925](https://github.com/vuejs/core/issues/4925)) ([04e5835](https://github.com/vuejs/core/commit/04e58351965caf489ac68e4961ef70448d954912)) ### [`v3.2.21`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3221-httpsgithubcomvuejscorecomparev3220v3221-2021-11-02) [Compare Source](https://github.com/vuejs/core/compare/v3.2.20...v3.2.21) ##### Bug Fixes - **custom-element:** fix custom element props access on initial render ([4b7f76e](https://github.com/vuejs/core/commit/4b7f76e36a7fc650986a20eca258f7a5d912424f)), closes [#&#8203;4792](https://github.com/vuejs/core/issues/4792) - **custom-element:** fix initial attr type casting for programmtically created elements ([3ca8317](https://github.com/vuejs/core/commit/3ca83179d1a798f65e4e70215c511e2f1b64adb6)), closes [#&#8203;4772](https://github.com/vuejs/core/issues/4772) - **devtools:** avoid open handle in non-browser env ([6916d72](https://github.com/vuejs/core/commit/6916d725a06a57e92ff9d046ccf132c305cd0a51)), closes [#&#8203;4815](https://github.com/vuejs/core/issues/4815) - **devtools:** fix memory leak when devtools is not installed ([#&#8203;4833](https://github.com/vuejs/core/issues/4833)) ([6b32f0d](https://github.com/vuejs/core/commit/6b32f0d976c0aac8bb2c1b78fedd03e76fb391eb)), closes [#&#8203;4829](https://github.com/vuejs/core/issues/4829) - **runtime-core:** add `v-memo` to built-in directives check ([#&#8203;4787](https://github.com/vuejs/core/issues/4787)) ([5eb7263](https://github.com/vuejs/core/commit/5eb72630a53a8dd82c2b8a9705c21a8075161a3d)) - **runtime-dom:** fix behavior regression for v-show + style display binding ([3f38d59](https://github.com/vuejs/core/commit/3f38d599f5aacdd3eeaa9475251a24f74e7ae3b4)), closes [#&#8203;4768](https://github.com/vuejs/core/issues/4768) - **types:** fix ref unwrapping type inference for nested shallowReactive & shallowRef ([20a3615](https://github.com/vuejs/core/commit/20a361541cc5faffa82cbf3f2d49639a97b3b678)), closes [#&#8203;4771](https://github.com/vuejs/core/issues/4771) ### [`v3.2.20`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3220-httpsgithubcomvuejscorecomparev3219v3220-2021-10-08) [Compare Source](https://github.com/vuejs/core/compare/v3.2.19...v3.2.20) ##### Bug Fixes - **compiler-sfc:** fix props codegen w/ leading import ([d4c04e9](https://github.com/vuejs/core/commit/d4c04e979934b81a30467aa4b1e717175b9b2d80)), closes [#&#8203;4764](https://github.com/vuejs/core/issues/4764) - **compiler-sfc:** support runtime Enum in normal script ([#&#8203;4698](https://github.com/vuejs/core/issues/4698)) ([f66d456](https://github.com/vuejs/core/commit/f66d456b7a39db9dae7e70c28bb431ff293d8fef)) - **devtools:** clear devtools buffer after timeout ([f4639e0](https://github.com/vuejs/core/commit/f4639e0a36abe16828b202d7297e1486653b1217)), closes [#&#8203;4738](https://github.com/vuejs/core/issues/4738) - **hmr:** fix hmr for components with no active instance yet ([9e3d773](https://github.com/vuejs/core/commit/9e3d7731c7839638f49157123c6b372fec9e4d46)), closes [#&#8203;4757](https://github.com/vuejs/core/issues/4757) - **types:** ensure that DeepReadonly handles Ref type properly ([#&#8203;4714](https://github.com/vuejs/core/issues/4714)) ([ed0071a](https://github.com/vuejs/core/commit/ed0071ac1a6d18439f3212711c6901fbb7193288)) - **types:** make `toRef` return correct type(fix [#&#8203;4732](https://github.com/vuejs/core/issues/4732)) ([#&#8203;4734](https://github.com/vuejs/core/issues/4734)) ([925bc34](https://github.com/vuejs/core/commit/925bc346fe85091467fcd2e40d6c1ff07f3b51c4)) ##### Features - **compiler-sfc:** `<script setup>` defineProps destructure transform ([#&#8203;4690](https://github.com/vuejs/core/issues/4690)) ([467e113](https://github.com/vuejs/core/commit/467e113b95a3c9c97f8dc309b61c0b2e3caba66f)) ### [`v3.2.19`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3219-httpsgithubcomvuejscorecomparev3218v3219-2021-09-25) [Compare Source](https://github.com/vuejs/core/compare/v3.2.18...v3.2.19) ##### Bug Fixes - **compiler-core:** should treat attribute key as expression ([#&#8203;4658](https://github.com/vuejs/core/issues/4658)) ([7aa0ea0](https://github.com/vuejs/core/commit/7aa0ea06c822d84a1d43b40cf5643b983aae6d36)) - **server-renderer:** respect compilerOptions during runtime template compilation ([#&#8203;4631](https://github.com/vuejs/core/issues/4631)) ([50d9d34](https://github.com/vuejs/core/commit/50d9d3436079419f91231351f20f69062a01505c)) ### [`v3.2.18`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3218-httpsgithubcomvuejscorecomparev3217v3218-2021-09-24) [Compare Source](https://github.com/vuejs/core/compare/v3.2.17...v3.2.18) ### [`v3.2.17`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3217-httpsgithubcomvuejscorecomparev3216v3217-2021-09-24) [Compare Source](https://github.com/vuejs/core/compare/v3.2.16...v3.2.17) ##### Bug Fixes - **build:** avoid importing [@&#8203;babel/parser](https://github.com/babel/parser) in esm-bundler build ([fc85ad2](https://github.com/vuejs/core/commit/fc85ad28ae55ea9483c923f7d40373cbe27080fe)), closes [#&#8203;4665](https://github.com/vuejs/core/issues/4665) ### [`v3.2.16`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3216-httpsgithubcomvuejscorecomparev3215v3216-2021-09-23) [Compare Source](https://github.com/vuejs/core/compare/v3.2.15...v3.2.16) ##### Bug Fixes - **ssr:** fix ssr runtime helper import in module mode ([8e05b7f](https://github.com/vuejs/core/commit/8e05b7f9fcb0e4c4ece2afe9fb2efbd29a6d1482)) ### [`v3.2.15`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3215-httpsgithubcomvuejscorecomparev3214v3215-2021-09-23) [Compare Source](https://github.com/vuejs/core/compare/v3.2.14...v3.2.15) ##### Bug Fixes - **compiler-ssr:** import ssr helpers from updated path ([d74f21a](https://github.com/vuejs/core/commit/d74f21a42cf067abebb4b170d0818cc5d1c06f8d)) ### [`v3.2.14`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3214-httpsgithubcomvuejscorecomparev3213v3214-2021-09-22) [Compare Source](https://github.com/vuejs/core/compare/v3.2.13...v3.2.14) ##### Bug Fixes - **compiler-core:** generate TS-cast safe assignment code for v-model ([686d014](https://github.com/vuejs/core/commit/686d0149b6a4215603fce00b8a54bc310fd5a781)), closes [#&#8203;4655](https://github.com/vuejs/core/issues/4655) - **compiler-core:** more robust member expression check in Node ([6257ade](https://github.com/vuejs/core/commit/6257adeaac03d1401a67714953909e2e31febed6)) - **compiler-sfc:** fix local var access check for bindings in normal script ([6d6cc90](https://github.com/vuejs/core/commit/6d6cc9091280ba132d92850f30db31c9152af599)), closes [#&#8203;4644](https://github.com/vuejs/core/issues/4644) - **devtools:** fix prod devtools detection + handle late devtools hook injection ([#&#8203;4653](https://github.com/vuejs/core/issues/4653)) ([2476eaa](https://github.com/vuejs/core/commit/2476eaad6e9d68f0b75772456775a0a8165631c0)) ### [`v3.2.13`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3213-httpsgithubcomvuejscorecomparev3212v3213-2021-09-21) [Compare Source](https://github.com/vuejs/core/compare/v3.2.12...v3.2.13) ##### Bug Fixes - **compiler-core:** add check when v-else-if is behind v-else ([#&#8203;4603](https://github.com/vuejs/core/issues/4603)) ([5addef8](https://github.com/vuejs/core/commit/5addef8ecdee58e630e4e80befc28bfef43b6b2d)) - **compiler-core:** dedupe renderSlot's default props ([#&#8203;4557](https://github.com/vuejs/core/issues/4557)) ([0448125](https://github.com/vuejs/core/commit/044812525feef125c3a1a8de57bd7d67fb8f3cab)) - **compiler-core:** ensure hoisted scopeId code can be treeshaken ([cb2d7c0](https://github.com/vuejs/core/commit/cb2d7c0e3c2ccbfd92eb7d19e2cfddad30bcaf62)) - **compiler-core:** more robust member expression check when running in node ([d23fde3](https://github.com/vuejs/core/commit/d23fde3d3b17b2a8c058749cb28d5b1dd08c8963)), closes [#&#8203;4640](https://github.com/vuejs/core/issues/4640) - **compiler-core:** only merge true handlers ([#&#8203;4577](https://github.com/vuejs/core/issues/4577)) ([d8a36d0](https://github.com/vuejs/core/commit/d8a36d0198a427d3b6447128a3882287c0003413)) - **compiler-core:** support ts syntax in expressions when isTS is true ([0dc521b](https://github.com/vuejs/core/commit/0dc521b9e15ce4aa3d5229e90d2173644529e92b)) - **compiler-dom:** fix transition children check for whitespace nodes ([ed6470c](https://github.com/vuejs/core/commit/ed6470c845efa57d902c50a7b97e4a40331e9621)), closes [#&#8203;4637](https://github.com/vuejs/core/issues/4637) - **hydration:** ensure hydrated event listeners have bound instance ([#&#8203;4529](https://github.com/vuejs/core/issues/4529)) ([58b1fa5](https://github.com/vuejs/core/commit/58b1fa5ed15edc7264785cd722282a011ea3042c)), closes [#&#8203;4479](https://github.com/vuejs/core/issues/4479) - **runtime-core:** return the exposeProxy from mount ([#&#8203;4606](https://github.com/vuejs/core/issues/4606)) ([5aa4255](https://github.com/vuejs/core/commit/5aa425580808d0588aef12ead81c91f7147e1042)) - **types:** incorrect type inference of array ([#&#8203;4578](https://github.com/vuejs/core/issues/4578)) ([140f089](https://github.com/vuejs/core/commit/140f08991727d7c15db907eea5a101979fe390b2)) - **watch:** remove redundant parameter default value ([#&#8203;4565](https://github.com/vuejs/core/issues/4565)) ([11a2098](https://github.com/vuejs/core/commit/11a2098a69f47e0919647de0deabd14022febda1)) ##### Features - **compiler-sfc:** allow disabling sourcemap when not needed ([585615b](https://github.com/vuejs/core/commit/585615beb1727e6eb32c41f1e0bba6975ff40b28)) ### [`v3.2.12`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3212-httpsgithubcomvuejscorecomparev3211v3212-2021-09-17) [Compare Source](https://github.com/vuejs/core/compare/v3.2.11...v3.2.12) ##### Bug Fixes - **compile-sfc:** add symbol judge in prop type checks. ([#&#8203;4594](https://github.com/vuejs/core/issues/4594)) ([fcd5422](https://github.com/vuejs/core/commit/fcd5422b4adaf99627ea0d675d98b2d9530c05ab)), closes [#&#8203;4592](https://github.com/vuejs/core/issues/4592) - **compiler-core:** v-on inline async function expression handler ([#&#8203;4569](https://github.com/vuejs/core/issues/4569)) ([fc968d6](https://github.com/vuejs/core/commit/fc968d607b181db9d50cd4b30a8d7e4cc5fe9d2b)), closes [#&#8203;4568](https://github.com/vuejs/core/issues/4568) - **compiler-sfc:** fix TLA codegen semicolon insertion ([39cebf5](https://github.com/vuejs/core/commit/39cebf5f7a8f72338030844fca4a75ffc913c518)), closes [#&#8203;4596](https://github.com/vuejs/core/issues/4596) - **compiler-sfc:** handle empty strings during template usage analysis of setup bindings ([#&#8203;4608](https://github.com/vuejs/core/issues/4608)) ([bdb1a79](https://github.com/vuejs/core/commit/bdb1a7958ba091bb3166f0938e91ebd52facbf03)), closes [#&#8203;4599](https://github.com/vuejs/core/issues/4599) - **compiler-sfc:** properly analyze destructured bindings with dynamic keys ([a6e5f82](https://github.com/vuejs/core/commit/a6e5f82d8ea5fe55432d0277e88300045eca4237)), closes [#&#8203;4540](https://github.com/vuejs/core/issues/4540) - **compiler-sfc:** properly reuse hoisted asset imports ([06c5bf5](https://github.com/vuejs/core/commit/06c5bf53abc8143acb92e25b21394a79e11170d8)), closes [#&#8203;4581](https://github.com/vuejs/core/issues/4581) - **compiler-sfc:** register exported bindings in normal script when using script setup ([#&#8203;4601](https://github.com/vuejs/core/issues/4601)) ([8055445](https://github.com/vuejs/core/commit/8055445b68b18a73670a9f3e7534af5d31f65c38)), closes [#&#8203;4600](https://github.com/vuejs/core/issues/4600) - **compiler-sfc:** support nested await statements ([#&#8203;4458](https://github.com/vuejs/core/issues/4458)) ([ae942cd](https://github.com/vuejs/core/commit/ae942cdcd9bd686e7b0394c8e91e63a31ff8fb5d)), closes [#&#8203;4448](https://github.com/vuejs/core/issues/4448) - **compiler-ssr:** handle v-memo in ssr compilation ([dd9a276](https://github.com/vuejs/core/commit/dd9a2760a8f8da94ba634ac984f9f14ac053fe31)) - **compiler:** fix template ref codegen for setup-maybe-ref binding types ([#&#8203;4549](https://github.com/vuejs/core/issues/4549)) ([f29d061](https://github.com/vuejs/core/commit/f29d0611246bb619df2e46b30dfd5e43ad4ee6b1)), closes [#&#8203;4546](https://github.com/vuejs/core/issues/4546) - **custom-elements:** fix number prop casting ([0cfa211](https://github.com/vuejs/core/commit/0cfa2112ce2210300cf2edf272c8c8d11b9355e4)), closes [#&#8203;4370](https://github.com/vuejs/core/issues/4370) [#&#8203;4393](https://github.com/vuejs/core/issues/4393) - **runtime-core:** avoid script setup bindings overwriting reserved ctx properties ([#&#8203;4570](https://github.com/vuejs/core/issues/4570)) ([14fcced](https://github.com/vuejs/core/commit/14fcced281c5de2f07629a8028653cab1e787b89)) - **suspense:** fix suspense slot inside deoptimized slot call ([141a5e1](https://github.com/vuejs/core/commit/141a5e188cbf6fbc433173aab922940c7d2471be)), closes [#&#8203;4556](https://github.com/vuejs/core/issues/4556) ### [`v3.2.11`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3211-httpsgithubcomvuejscorecomparev3210v3211-2021-09-08) [Compare Source](https://github.com/vuejs/core/compare/v3.2.10...v3.2.11) ##### Bug Fixes - **hmr:** handle possible duplicate component definitions with same id ([aa8908a](https://github.com/vuejs/core/commit/aa8908a8543c5151a2cc06ed4d8fab3a1461692a)) ### [`v3.2.10`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3210-httpsgithubcomvuejscorecomparev329v3210-2021-09-07) [Compare Source](https://github.com/vuejs/core/compare/v3.2.9...v3.2.10) ##### Bug Fixes - **build:** build vue-compat in default exports mode ([#&#8203;4460](https://github.com/vuejs/core/issues/4460)) ([7575733](https://github.com/vuejs/core/commit/7575733b8c1345ebdfb010bd4c4e8cf4ed49f5cf)) - **compiler-core:** avoid runtime dependency on [@&#8203;babel/types](https://github.com/babel/types) ([1045590](https://github.com/vuejs/core/commit/1045590d4bbaf4a2b05311f11b22a0b3d22cf609)), closes [#&#8203;4531](https://github.com/vuejs/core/issues/4531) - **compiler-core:** pick last char when dynamic directive doesn't close ([#&#8203;4507](https://github.com/vuejs/core/issues/4507)) ([5d262e0](https://github.com/vuejs/core/commit/5d262e08d5d5fb29f48ba5fa5b97a9a3e34b9d4b)) - **compiler:** condense whitespaces in static class attributes ([#&#8203;4432](https://github.com/vuejs/core/issues/4432)) ([b8653d3](https://github.com/vuejs/core/commit/b8653d390a555e1ee3f92a1c49cfd8800c67e46a)), closes [#&#8203;4251](https://github.com/vuejs/core/issues/4251) - **runtime-dom:** style patching shoud always preserve v-show display property ([d534515](https://github.com/vuejs/core/commit/d53451583684c37bda7d30bff912216e1a58126f)), closes [#&#8203;4424](https://github.com/vuejs/core/issues/4424) - **type:** fix prop type infer ([#&#8203;4530](https://github.com/vuejs/core/issues/4530)) ([4178d5d](https://github.com/vuejs/core/commit/4178d5d7d9549a0a1d19663bc2f92c8ac6a731b2)), closes [#&#8203;4525](https://github.com/vuejs/core/issues/4525) ### [`v3.2.9`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;329-httpsgithubcomvuejscorecomparev328v329-2021-09-05) [Compare Source](https://github.com/vuejs/core/compare/v3.2.8...v3.2.9) ##### Bug Fixes - **compile-sfc:** generate setup prop type format error ([#&#8203;4506](https://github.com/vuejs/core/issues/4506)) ([e6fe751](https://github.com/vuejs/core/commit/e6fe751b20dd9c34068b27545cb7459de2d538e6)), closes [#&#8203;4505](https://github.com/vuejs/core/issues/4505) - **compile-sfc:** support `Date` prop type with defineProps ([#&#8203;4519](https://github.com/vuejs/core/issues/4519)) ([fac9a29](https://github.com/vuejs/core/commit/fac9a2926d5b825b7daacb7914fd3b34abc02cb7)) - **compiler-sfc:** fix script setup ref assignment codegen edge case ([#&#8203;4520](https://github.com/vuejs/core/issues/4520)) ([5594643](https://github.com/vuejs/core/commit/5594643d7b49b77e60f6d4682a3a71db0b1c6552)), closes [#&#8203;4514](https://github.com/vuejs/core/issues/4514) - **compiler-sfc:** support using declared interface in normal script with defineProps() ([#&#8203;4522](https://github.com/vuejs/core/issues/4522)) ([14d6518](https://github.com/vuejs/core/commit/14d65181f1610079f0d9969c214720624056106b)), closes [#&#8203;4423](https://github.com/vuejs/core/issues/4423) - **ref-transform:** not transform the prototype attributes. ([#&#8203;4503](https://github.com/vuejs/core/issues/4503)) ([0178f4e](https://github.com/vuejs/core/commit/0178f4ed3187dff439ed3097c8c89555b2a6749f)), closes [#&#8203;4502](https://github.com/vuejs/core/issues/4502) - **types/ref-transform:** fix $$() type ([5852cc8](https://github.com/vuejs/core/commit/5852cc8d825b0746bbf5e4c324afa02280046005)) - **types:** fix ref macro types ([815bfcf](https://github.com/vuejs/core/commit/815bfcffae7a9f04ee996367a731e6e072af6bd2)), closes [#&#8203;4499](https://github.com/vuejs/core/issues/4499) ### [`v3.2.8`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;328-httpsgithubcomvuejscorecomparev327v328-2021-09-02) [Compare Source](https://github.com/vuejs/core/compare/v3.2.7...v3.2.8) ##### Bug Fixes - **compiler-sfc:** ensure script setup generates type-valid ts output ([bacb201](https://github.com/vuejs/core/commit/bacb2012acb4045a2db6988ba4545a7655d6ca14)), closes [#&#8203;4455](https://github.com/vuejs/core/issues/4455) - **compiler-sfc:** generate matching prop types when withDefaults is used ([#&#8203;4466](https://github.com/vuejs/core/issues/4466)) ([8580796](https://github.com/vuejs/core/commit/85807967dc874e6ea6b20f341875beda938e3058)), closes [#&#8203;4455](https://github.com/vuejs/core/issues/4455) - **compiler:** generate function ref for script setup if inline is ture. ([#&#8203;4492](https://github.com/vuejs/core/issues/4492)) ([4cd282b](https://github.com/vuejs/core/commit/4cd282b0a17589ef9ca2649e7beb0bdee4a73c57)) - **compiler:** report invalid directive name error ([#&#8203;4494](https://github.com/vuejs/core/issues/4494)) ([#&#8203;4495](https://github.com/vuejs/core/issues/4495)) ([c00925e](https://github.com/vuejs/core/commit/c00925ed5c409b57a1540b79c595b7f8117e2d4c)) - **types:** include ref-macros.d.ts in npm dist files ([d7f1b77](https://github.com/vuejs/core/commit/d7f1b771f80ab9014a4701913b50458fd251a117)), closes [#&#8203;4433](https://github.com/vuejs/core/issues/4433) ### [`v3.2.7`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;327-httpsgithubcomvuejscorecomparev326v327-2021-09-01) [Compare Source](https://github.com/vuejs/core/compare/v3.2.6...v3.2.7) ##### Bug Fixes - **compiler-core:** remove no longer necessary withScopeId import in generated code ([935b4e2](https://github.com/vuejs/core/commit/935b4e221041c8ae34c5821d90db90f07e622a9f)) - **compiler-sfc:** ensure script setup lang=ts output is tree-shakable ([b89ff92](https://github.com/vuejs/core/commit/b89ff9291e70c64f7098cc110161a75eb7c465a4)) - **compiler:** only generate non-static ref for script setup if the binding exists ([3628991](https://github.com/vuejs/core/commit/362899190666a2d1f9fe23c92e9b6007721ad69f)), closes [#&#8203;4431](https://github.com/vuejs/core/issues/4431) - **ref-transform:** should transform $ref when used with generic arguments ([#&#8203;4446](https://github.com/vuejs/core/issues/4446)) ([33cf6c8](https://github.com/vuejs/core/commit/33cf6c88664137e8c9d6e75a3b4c5f5cce763c12)), closes [#&#8203;4442](https://github.com/vuejs/core/issues/4442) - **runtime-core:** properly merge unmounted and beforeUnmount options ([#&#8203;4447](https://github.com/vuejs/core/issues/4447)) ([741d3b3](https://github.com/vuejs/core/commit/741d3b36f21582e682009114961b5cd3146e8dad)) - **suspense:** misusing DOM Comment element constructor as a vnode type ([#&#8203;4451](https://github.com/vuejs/core/issues/4451)) ([ef5b731](https://github.com/vuejs/core/commit/ef5b73159d7221c36c25e32f643669d789a33c2c)) ### [`v3.2.6`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;326-httpsgithubcomvuejscorecomparev325v326-2021-08-24) [Compare Source](https://github.com/vuejs/core/compare/v3.2.5...v3.2.6) ##### Bug Fixes - **build:** avoid imports to [@&#8203;babel/types](https://github.com/babel/types) in client build of compiler-core ([4c468eb](https://github.com/vuejs/core/commit/4c468eb30a87f726d43c94476b75063640c3ff1c)) ### [`v3.2.5`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;325-httpsgithubcomvuejscorecomparev324v325-2021-08-24) [Compare Source](https://github.com/vuejs/core/compare/v3.2.4...v3.2.5) ##### Bug Fixes - **compiler-core:** fix duplicated component identifier for names with non-ascii chars ([#&#8203;4429](https://github.com/vuejs/core/issues/4429)) ([3282750](https://github.com/vuejs/core/commit/32827506ff2b6174d63525e7713830838840c671)), closes [#&#8203;4422](https://github.com/vuejs/core/issues/4422) - **compiler-sfc:** fix 'export default' rewrite with extra whitespaces ([#&#8203;4375](https://github.com/vuejs/core/issues/4375)) ([4792ebd](https://github.com/vuejs/core/commit/4792ebd6879115f887e393c7ed0a8475a705b6b0)) - **compiler-sfc:** fix `<script>` and `<script setup>` co-usage ordering edge case ([#&#8203;4419](https://github.com/vuejs/core/issues/4419)) ([9826382](https://github.com/vuejs/core/commit/98263821f8c42abcff46fae2b0375219c84fb6a4)), closes [#&#8203;4395](https://github.com/vuejs/core/issues/4395) [#&#8203;4376](https://github.com/vuejs/core/issues/4376) - **compiler-sfc:** should also expose regular script block bindings when `<script setup>` is used ([872b3f7](https://github.com/vuejs/core/commit/872b3f7ec5e1a41c60018bb1f64d841c309b8939)), closes [#&#8203;4369](https://github.com/vuejs/core/issues/4369) - **types:** improve the type of createElementBlock ([#&#8203;4406](https://github.com/vuejs/core/issues/4406)) ([ebd0bac](https://github.com/vuejs/core/commit/ebd0baca98b618945fba223b94833c2b34cdf6a2)), closes [#&#8203;4391](https://github.com/vuejs/core/issues/4391) ##### Features - **experimental:** expose ref macro types using separate d.ts file ([b408451](https://github.com/vuejs/core/commit/b40845153cd4dbdd76bfb74816f4e6b109c9f049)) - **experimental:** shouldTransform for ref-transform ([e565831](https://github.com/vuejs/core/commit/e565831c98ac5110bf3550f15575ee6d01961992)) - **experimental:** standalone ref transform ([db8dc75](https://github.com/vuejs/core/commit/db8dc753c0647edfb878d3b0f7b5b16bcfd2c23c)) - **experimental:** support ref transform for sfc normal `<script>` ([06051c4](https://github.com/vuejs/core/commit/06051c4bf207ff9ac09292b8a5a73b254608cf0e)) - **ref-transform:** auto infer parser plugins ([6453359](https://github.com/vuejs/core/commit/6453359852d4c93fe436bb94d73181eaa218b527)) ### [`v3.2.4`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;324-httpsgithubcomvuejscorecomparev323v324-2021-08-17) [Compare Source](https://github.com/vuejs/core/compare/v3.2.3...v3.2.4) ##### Bug Fixes - **compiler-sfc:** fix import usage check for lowercase imported components ([57f1081](https://github.com/vuejs/core/commit/57f10812cc7f1e9f6c92736c36aba577943996fd)), closes [#&#8203;4358](https://github.com/vuejs/core/issues/4358) - **runtime-core:** ensure consistent arguments for tempalte and render funtion slot usage ([644971e](https://github.com/vuejs/core/commit/644971ec06642817cf7e720ad4980182d2140f53)), closes [#&#8203;4367](https://github.com/vuejs/core/issues/4367) - **runtime-core:** fix child component double update on props change ([c1f564e](https://github.com/vuejs/core/commit/c1f564e1dc40eda9af657c30cd787a8d770dde0f)), closes [#&#8203;4365](https://github.com/vuejs/core/issues/4365) ##### Reverts - Revert "chore: add missing space in warning message ([#&#8203;4359](https://github.com/vuejs/core/issues/4359)) \[ci skip]" ([951fbb1](https://github.com/vuejs/core/commit/951fbb197b63c2bd1528e78601c28424211ba6b8)), closes [#&#8203;4359](https://github.com/vuejs/core/issues/4359) ### [`v3.2.3`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3230-httpsgithubcomvuejscorecomparev3229v3230-2022-02-07) [Compare Source](https://github.com/vuejs/core/compare/v3.2.2...v3.2.3) ##### Features - **ssr:** support custom directive getSSRProps in optimized compilation ([60cf175](https://github.com/vuejs/core/commit/60cf175d88236db2c2a4a02900c92e26ceea0073)), closes [#&#8203;5304](https://github.com/vuejs/core/issues/5304) ##### Performance Improvements - **reactivity:** optimize effect/effectScope active state tracking ([2993a24](https://github.com/vuejs/core/commit/2993a246181df12e367b7abdfce0954244e8f7ec)) ### [`v3.2.2`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3229-httpsgithubcomvuejsvue-nextcomparev3228v3229-2022-01-23) [Compare Source](https://github.com/vuejs/core/compare/v3.2.1...v3.2.2) ##### Bug Fixes - **compiler-sfc:** fix css v-bind inside other css functions ([16fa18d](https://github.com/vuejs/vue-next/commit/16fa18da6dbbc52c89f9ea729816e1e70ab0d388)), closes [#&#8203;5302](https://github.com/vuejs/vue-next/issues/5302) [#&#8203;5306](https://github.com/vuejs/vue-next/issues/5306) - **reactivity:** ensure readonly refs can be replaced with new refs in reactive objects ([#&#8203;5310](https://github.com/vuejs/vue-next/issues/5310)) ([4be1037](https://github.com/vuejs/vue-next/commit/4be1037f31e169d667059c44364fc3e43803accb)), closes [#&#8203;5307](https://github.com/vuejs/vue-next/issues/5307) - **runtime-dom:** fix static content re-insertion ([9aa5dfd](https://github.com/vuejs/vue-next/commit/9aa5dfd4bb8efac0041e33ef5fdbebab59cc6516)), closes [#&#8203;5308](https://github.com/vuejs/vue-next/issues/5308) ### [`v3.2.1`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3219-httpsgithubcomvuejscorecomparev3218v3219-2021-09-25) [Compare Source](https://github.com/vuejs/core/compare/v3.2.0...v3.2.1) ##### Bug Fixes - **compiler-core:** should treat attribute key as expression ([#&#8203;4658](https://github.com/vuejs/core/issues/4658)) ([7aa0ea0](https://github.com/vuejs/core/commit/7aa0ea06c822d84a1d43b40cf5643b983aae6d36)) - **server-renderer:** respect compilerOptions during runtime template compilation ([#&#8203;4631](https://github.com/vuejs/core/issues/4631)) ([50d9d34](https://github.com/vuejs/core/commit/50d9d3436079419f91231351f20f69062a01505c)) ### [`v3.2.0`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;320-httpsgithubcomvuejscorecomparev320-beta8v320-2021-08-09) [Compare Source](https://github.com/vuejs/core/compare/v3.1.5...v3.2.0) ##### Compatibility Notes This release contains no public API breakage. However, there are a few compatibility related notes: - Due to usage of new runtime helpers, code generated by the template compiler in >= 3.2 will not be compatible with runtime < 3.2. This only affects cases where there is a version mismatch between the compiler and the runtime. The most common case is libraries that ship pre-compiled Vue components. If you are a library author and ship code pre-compiled by Vue >= 3.2, your library will be only compatible Vue >= 3.2. - This release ships TypeScript typings that rely on [Template Literal Types](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-1.html#template-literal-types) and requires TS >= 4.1. ##### Features ##### SFC - remove experimental status of `<script setup>` ([27104ea](https://github.com/vuejs/core/commit/27104eaaf0f929a4c08b53877b495c5813157232)) ([Docs](https://v3.vuejs.org/api/sfc-script-setup.html)) ([RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0040-script-setup.md)) - remove experimental status for sfc `<style>` v-bind ([3b38c9a](https://github.com/vuejs/core/commit/3b38c9ae9b08c41ee3a70c8ef94fd078f05a8925)) ([Docs](https://v3.vuejs.org/api/sfc-style.html#state-driven-dynamic-css)) ([RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0043-sfc-style-variables.md)) - support non-explicit type imports in `<script setup>` by avoiding exposing unused imports to template during dev ([5a3ccfd](https://github.com/vuejs/core/commit/5a3ccfd9143700c7ca82d2911fe592d0658c5393)), closes [#&#8203;3183](https://github.com/vuejs/core/issues/3183) - support namespaced component tags when using `<script setup>` ([e5a4412](https://github.com/vuejs/core/commit/e5a4412764f6db255afe01b8a7e6e40ebf707412)) - **(experimental)** new ref sugar ([562bddb](https://github.com/vuejs/core/commit/562bddb3ce76a0e98e499e199e96fa4271e5d1b4)) ([RFC](https://github.com/vuejs/rfcs/discussions/369)) ##### Custom Elements - `defineCustomElement` ([8610e1c](https://github.com/vuejs/core/commit/8610e1c9e23a4316f76fb35eebbab4ad48566fbf)) ([Docs](https://v3.vuejs.org/guide/web-components.html)) ##### Reactivity - new `effectScope` API ([#&#8203;2195](https://github.com/vuejs/core/issues/2195)) ([f5617fc](https://github.com/vuejs/core/commit/f5617fc3bb8fd33927b2567622ac4f8b43f9b5d5)) ([RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0041-reactivity-effect-scope.md)) - support `onTrack/onTrigger` debug options for `computed` ([5cea9a1](https://github.com/vuejs/core/commit/5cea9a1d4e846f60515ef76ebab4800228645601)) ##### SSR - **server-renderer:** decouple esm build from Node + improve stream API ([0867222](https://github.com/vuejs/core/commit/08672222c611a61f6359543aa202f0841d199bcb)), closes [#&#8203;3467](https://github.com/vuejs/core/issues/3467) [#&#8203;3111](https://github.com/vuejs/core/issues/3111) [#&#8203;3460](https://github.com/vuejs/core/issues/3460) ([Docs](https://github.com/vuejs/core/tree/main/packages/server-renderer#readme)) ##### Generic - New `v-memo` directive ([3b64508](https://github.com/vuejs/core/commit/3b64508e3b2d648e346cbf34e1641f4022be61b6)) ([Docs](https://v3.vuejs.org/api/directives.html#v-memo)) - support `v-bind` .prop & .attr modifiers ([1c7d737](https://github.com/vuejs/core/commit/1c7d737cc8ed0384b334d0b3e2dc8ede44906dc4)) ([Docs](https://v3.vuejs.org/api/directives.html#v-bind)) - add `watchPostEffect` API ([42ace95](https://github.com/vuejs/core/commit/42ace9577da49477ff189950a83d6eead73d0efe)) ([Docs](https://v3.vuejs.org/api/computed-watch-api.html#watchposteffect)) - add `watchSyncEffect` API ([d87d059](https://github.com/vuejs/core/commit/d87d059ac120ed0496f85474344ef76e40fa9bc7)) ([Docs](https://v3.vuejs.org/api/computed-watch-api.html#watchsynceffect)) - unwrap refs in toDisplayString ([f994b97](https://github.com/vuejs/core/commit/f994b974c0a1ac95d313c8ccfc258c6ba3910b6e)) - allow `compilerOptions.comments` to affect comment inclusion in dev ([#&#8203;4115](https://github.com/vuejs/core/issues/4115)) ([dd0f9d1](https://github.com/vuejs/core/commit/dd0f9d1ce6b0de59c84d334c7190fa9d2cc17a04)), closes [#&#8203;3392](https://github.com/vuejs/core/issues/3392) [#&#8203;3395](https://github.com/vuejs/core/issues/3395) ##### Types - map declared emits to onXXX props in inferred prop types ([#&#8203;3926](https://github.com/vuejs/core/issues/3926)) ([69344ff](https://github.com/vuejs/core/commit/69344ff1ae724beb648c34ede8050b3b70ddf4b7)) ##### Performance Improvements - **reactivity:** improve reactive effect memory usage ([#&#8203;4001](https://github.com/vuejs/core/issues/4001)) ([87f69fd](https://github.com/vuejs/core/commit/87f69fd0bb67508337fb95cb98135fd5d6ebca7d)), closes [#&#8203;2345](https://github.com/vuejs/core/issues/2345) - **reactivity:** ref-specific track/trigger and miscellaneous optimizations ([#&#8203;3995](https://github.com/vuejs/core/issues/3995)) ([6431040](https://github.com/vuejs/core/commit/64310405acaccabc24985ade95fb1b5c9c06ef76)) - **reactivity:** use bitwise dep markers to optimize re-tracking ([#&#8203;4017](https://github.com/vuejs/core/issues/4017)) ([6cf2377](https://github.com/vuejs/core/commit/6cf2377cd49d24814bdff136bf78c77d50d5b41a)) - **compiler-core/runtime-core:** improve VNode creation performance with compiler hints ([#&#8203;3334](https://github.com/vuejs/core/issues/3334)) ([ceff899](https://github.com/vuejs/core/commit/ceff89905b05381d3d73c480e08c7aff9271b074)) - **compiler-core:** also hoist all-static children array ([b7ea7c1](https://github.com/vuejs/core/commit/b7ea7c148552874e8bce399eec9fbe565efa2f4d)) - **compiler-core:** hoist dynamic props lists ([02339b6](https://github.com/vuejs/core/commit/02339b67d8c6fab6ee701a7c4f2773139ed007f5)) - **compiler-sfc:** ignore empty blocks ([#&#8203;3520](https://github.com/vuejs/core/issues/3520)) ([b771fdb](https://github.com/vuejs/core/commit/b771fdbef9a8dadd4c9cc939cc104f7764e40373)) ##### Bug Fixes Please refer to changelogs of previous beta releases for bug fixes included in this release. ### [`v3.1.5`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;315-httpsgithubcomvuejscorecomparev314v315-2021-07-16) [Compare Source](https://github.com/vuejs/core/compare/v3.1.4...v3.1.5) ##### Bug Fixes - **compat:** fix props check for v-model compat warning ([#&#8203;4056](https://github.com/vuejs/core/issues/4056)) ([f3e15f6](https://github.com/vuejs/core/commit/f3e15f633edfa2d4f116bf52fd5dee02655567e3)) - **compat:** fix v3 compiled fn detection in production ([8dbad83](https://github.com/vuejs/core/commit/8dbad83e7fa39be3e61ca694a6090c1646117953)) - **compiler:** Addressed infinite loop in compiler ([#&#8203;3992](https://github.com/vuejs/core/issues/3992)) ([e00aa56](https://github.com/vuejs/core/commit/e00aa56658ec207d45aae6eb23f0267b9e1c55e2)), closes [#&#8203;3987](https://github.com/vuejs/core/issues/3987) - **compiler-core:** fix forwarded slots detection on template slots ([#&#8203;4124](https://github.com/vuejs/core/issues/4124)) ([c23153d](https://github.com/vuejs/core/commit/c23153d82eb2aa57d254dd362a78383defec3968)), closes [#&#8203;4123](https://github.com/vuejs/core/issues/4123) - **compiler-sfc:** duplicated injected css var with repeated vars in style ([#&#8203;2802](https://github.com/vuejs/core/issues/2802)) ([2901050](https://github.com/vuejs/core/commit/29010501cc9611eb9cacb99a24827053ced3e018)) - **compiler-sfc:** should not rewrite ref sugar identifiers in types ([6fad209](https://github.com/vuejs/core/commit/6fad2093a46898636af34ddc148616473a234617)), closes [#&#8203;4062](https://github.com/vuejs/core/issues/4062) - **reactivity:** call array subclass methods ([#&#8203;3624](https://github.com/vuejs/core/issues/3624)) ([1cfe290](https://github.com/vuejs/core/commit/1cfe290352456f0faf8319d7e193a4b3a31ef352)), closes [#&#8203;2314](https://github.com/vuejs/core/issues/2314) [#&#8203;2315](https://github.com/vuejs/core/issues/2315) - **ref:** should not trigger when setting value to same proxy ([#&#8203;3658](https://github.com/vuejs/core/issues/3658)) ([08f504c](https://github.com/vuejs/core/commit/08f504c1b7798d95c1c0a9d0894b846ff955ce3c)) - **runtime-core:** enter optimized mode for component as root ([68365b9](https://github.com/vuejs/core/commit/68365b9b2bc2ccef93e88475c4f15e7cfb4f2497)), closes [#&#8203;3943](https://github.com/vuejs/core/issues/3943) - **runtime-dom:** capture errors when setting value for IDL ([#&#8203;3578](https://github.com/vuejs/core/issues/3578)) ([3756270](https://github.com/vuejs/core/commit/37562702725fc328286b63499422856ac47890d7)), closes [#&#8203;3576](https://github.com/vuejs/core/issues/3576) - **runtime-dom:** remove class attribute on nullish values ([7013e8f](https://github.com/vuejs/core/commit/7013e8f5781e838256bf07e7d5de58a974e761a8)), closes [#&#8203;3173](https://github.com/vuejs/core/issues/3173) - **sfc:** fix `<script setup>` async context preservation logic ([03e2684](https://github.com/vuejs/core/commit/03e26845e2c220b1350a35179acf3435e2711282)), closes [#&#8203;4050](https://github.com/vuejs/core/issues/4050) - **sfc:** fix style variables injection on static vnode ([#&#8203;3847](https://github.com/vuejs/core/issues/3847)) ([6a0c7cd](https://github.com/vuejs/core/commit/6a0c7cd9051e1b3eb1a3ce1eaadfd9c828b53daa)), closes [#&#8203;3841](https://github.com/vuejs/core/issues/3841) - **sfc:** only enable jsx parser plugin when explicitly using tsx ([5df7dfc](https://github.com/vuejs/core/commit/5df7dfcd71172f97a045297cdeea226e0b354a93)), closes [#&#8203;4106](https://github.com/vuejs/core/issues/4106) - **type:** infer parent as `this` on `nextTick` function ([#&#8203;3608](https://github.com/vuejs/core/issues/3608)) ([18911ab](https://github.com/vuejs/core/commit/18911abb917788106221027032bc771f0e37886d)), closes [#&#8203;3599](https://github.com/vuejs/core/issues/3599) - **v-model:** handle mutations of v-model bound array/sets ([2937530](https://github.com/vuejs/core/commit/2937530beff5c6bb57286c2556307859e37aa809)), closes [#&#8203;4096](https://github.com/vuejs/core/issues/4096) - **v-model:** support calling methods in v-model expression ([5af718b](https://github.com/vuejs/core/commit/5af718ba41f53d032fd33861494f96b70c107acd)), closes [#&#8203;3993](https://github.com/vuejs/core/issues/3993) - **v-on:** proper member exp detection for bracket assignment ([395572b](https://github.com/vuejs/core/commit/395572b593c300be4db698777503bebe2bba2950)), closes [#&#8203;4097](https://github.com/vuejs/core/issues/4097) - **v-on:** properly detect member expressions with optional chaining ([963085d](https://github.com/vuejs/core/commit/963085d18c472b13c2d3894d5bd4aac1420767f8)), closes [#&#8203;4107](https://github.com/vuejs/core/issues/4107) ### [`v3.1.4`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;314-httpsgithubcomvuejscorecomparev313v314-2021-07-02) [Compare Source](https://github.com/vuejs/core/compare/v3.1.3...v3.1.4) ##### Bug Fixes - **build:** avoid using async/await syntax ([438754a](https://github.com/vuejs/core/commit/438754a0d1428d10e27d1a290beb4b81da5fdaeb)) - **build:** fix generated code containing unprocessed class field syntax ([2788154](https://github.com/vuejs/core/commit/2788154f7707928f1dd3e4d9bd144f758a8c0478)), closes [#&#8203;4052](https://github.com/vuejs/core/issues/4052) [vuejs/vue-cli#&#8203;6562](https://github.com/vuejs/vue-cli/issues/6562) - **codegen:** ensure valid types in genreated code when using global directives ([a44d528](https://github.com/vuejs/core/commit/a44d528af1227c05dedf610b6ec45504d8e58276)), closes [#&#8203;4054](https://github.com/vuejs/core/issues/4054) - **compiler-sfc:** fix parse-only mode when there is no script setup block ([253ca27](https://github.com/vuejs/core/commit/253ca2729d808fc051215876aa4af986e4caa43c)) - **runtime-core:** add useAttrs and useSlots export ([#&#8203;4053](https://github.com/vuejs/core/issues/4053)) ([735ada1](https://github.com/vuejs/core/commit/735ada1507623b8d36e80b30a4f67a8af4a45c99)) - **runtime-core:** fix instance accessed via $parent chain when using expose() ([#&#8203;4048](https://github.com/vuejs/core/issues/4048)) ([12cf9f4](https://github.com/vuejs/core/commit/12cf9f4ea148a59fd9002ecf9ea9d365829ce37c)) ### [`v3.1.3`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;313-httpsgithubcomvuejscorecomparev312v313-2021-07-01) [Compare Source](https://github.com/vuejs/core/compare/v3.1.2...v3.1.3) ##### Bug Fixes - **compiler-core:** properly exit self-closing pre tag ([d2df28d](https://github.com/vuejs/core/commit/d2df28dca42f6679766033f8986b5637dfe64e1e)), closes [#&#8203;4030](https://github.com/vuejs/core/issues/4030) - **compiler-sfc:** avoid script setup marker showing up in devtools ([211793d](https://github.com/vuejs/core/commit/211793d3767b12dd457de62160b672af24b921e7)) - **compiler-sfc:** fix defineProps() call on imported identifier ([691d354](https://github.com/vuejs/core/commit/691d354af9e3a66c781494656b367950fcd8faec)) - **compiler-sfc:** fix defineProps/defineEmits usage in multi-variable declarations ([62c1b2f](https://github.com/vuejs/core/commit/62c1b2f7dc4d2dd22a1b1ab1897f0ce765008d59)), closes [#&#8203;3739](https://github.com/vuejs/core/issues/3739) - **compiler-sfc:** fix script setup hidden flag codegen ([a5a66c5](https://github.com/vuejs/core/commit/a5a66c5196f5e00e8cbf7f6008d350d6eabcee71)) - **compiler-sfc:** support method signature in defineProps ([afdd2f2](https://github.com/vuejs/core/commit/afdd2f28354ce8cea647279ed25d61e7b9946cf5)), closes [#&#8203;2983](https://github.com/vuejs/core/issues/2983) - **compiler-sfc:** support TS runtime enum in `<script setup>` ([1ffd48a](https://github.com/vuejs/core/commit/1ffd48a2f5fd3eead3ea29dae668b7ed1c6f6130)) - **runtime-core:** add missing serverPrefetch hook error string ([#&#8203;4014](https://github.com/vuejs/core/issues/4014)) ([d069796](https://github.com/vuejs/core/commit/d069796b8f0cf8df9aa77d781c4b5429b9411204)) - **runtime-core:** fix mouting of detached static vnode ([fded1e8](https://github.com/vuejs/core/commit/fded1e8dfa22ca7fecd300c4cbffd6a37b887be8)), closes [#&#8203;4023](https://github.com/vuejs/core/issues/4023) - **runtime-dom:** fix static node content caching edge cases ([ba89ca9](https://github.com/vuejs/core/commit/ba89ca9ecafe86292e3adf751671ed5e9ca6e928)), closes [#&#8203;4023](https://github.com/vuejs/core/issues/4023) [#&#8203;4031](https://github.com/vuejs/core/issues/4031) [#&#8203;4037](https://github.com/vuejs/core/issues/4037) - **sfc:** allow variables that start with \_ or $ in `<script setup>` ([0b8b576](https://github.com/vuejs/core/commit/0b8b5764287b4814a37034ad4bc6f2b8ac8f8700)) - **ssr:** ensure behavior consistency between prod/dev when mounting SSR app to empty containers ([33708e8](https://github.com/vuejs/core/commit/33708e8bf44a037070af5c8eabdfe1ccad22bbc2)), closes [#&#8203;4034](https://github.com/vuejs/core/issues/4034) - **ssr:** properly hydrate non-string value bindings ([34d4991](https://github.com/vuejs/core/commit/34d4991dd5876325eb8747afa9a835929bde3974)), closes [#&#8203;4006](https://github.com/vuejs/core/issues/4006) - **types:** improve type of unref() ([127ed1b](https://github.com/vuejs/core/commit/127ed1b969cb2d237d0f588aab726e04f4732641)), closes [#&#8203;3954](https://github.com/vuejs/core/issues/3954) - defineExpose type definition and runtime warning ([1675b6d](https://github.com/vuejs/core/commit/1675b6d723829d1f61e697735e3da7b16aa1362d)) - prevent withAsyncContext currentInstance leak in edge cases ([9ee41e1](https://github.com/vuejs/core/commit/9ee41e14d2d173866300e75758468c6788180277)) ##### Features - **compiler-sfc:** compileScript parseOnly mode ([601a290](https://github.com/vuejs/core/commit/601a290caaf7fa29c58c88ac79fc2f1d2c57e337)) - **expose:** always expose $ instance properties on child refs ([b0203a3](https://github.com/vuejs/core/commit/b0203a30929e4e7f59e035574e43d72ed3b9d7fd)) - **sfc:** add `defineEmits` and deprecate `defineEmit` ([#&#8203;3725](https://github.com/vuejs/core/issues/3725)) ([a137da8](https://github.com/vuejs/core/commit/a137da8a9f728edacd50d288bce281e32597197b)) - **sfc:** auto restore current instance after await statements in async setup() ([0240e82](https://github.com/vuejs/core/commit/0240e82a38e2e0c5f0b63c228fd02b059a19073d)) - **sfc:** change `<script setup>` directive resolution to require v prefix ([d35e0b1](https://github.com/vuejs/core/commit/d35e0b1468ce3c22b713020ed29f81aba40dd039)), closes [#&#8203;3543](https://github.com/vuejs/core/issues/3543) - **sfc:** defineExpose ([be2b1d3](https://github.com/vuejs/core/commit/be2b1d3c2f16de8dc6e2a22f65fefaa2d25ec3ee)) - **sfc:** make ref sugar disabled by default ([96cc335](https://github.com/vuejs/core/commit/96cc335aa7050b6bf2ae53cc209d0032a8d59d0e)) - **sfc:** remove `<template inherit-attrs>` support ([6f6f0cf](https://github.com/vuejs/core/commit/6f6f0cf5dcc02f4a648fab86439eb29a4b5596d2)) - **sfc:** support referenced types for defineEmits ([2973b6c](https://github.com/vuejs/core/commit/2973b6c30ae5b3ff65aeb71a26a6de1c7789537d)) - **sfc:** support using declared interface or type alias with defineProps() ([2f91db3](https://github.com/vuejs/core/commit/2f91db30cda5c315ed3e4d20800b55721b0cb17c)) - **sfc:** useAttrs + useSlots ([63e9e2e](https://github.com/vuejs/core/commit/63e9e2e9aae07c701548f3350ea83535bea22066)) - **sfc:** withDefaults helper ([4c5844a](https://github.com/vuejs/core/commit/4c5844a9ca0acc4ea45565a0dc9a21c2502d64a4)) - **sfc-playground:** support lang=ts ([be0f614](https://github.com/vuejs/core/commit/be0f614ac096bdfe44cfddb04c859c9747dcd6dd)) - **sfc/types:** make `<script setup>` helper types available globally ([004bd18](https://github.com/vuejs/core/commit/004bd18cf75526bd79f68ccea8102aa94a8a28e2)) - **types:** support IDE renaming for props ([#&#8203;3656](https://github.com/vuejs/core/issues/3656)) ([81e69b2](https://github.com/vuejs/core/commit/81e69b29ecf992d215d8ddc56bf7e40661144595)) - **types/ide:** support find definition for jsx tags, events ([#&#8203;3570](https://github.com/vuejs/core/issues/3570)) ([8ed3ed6](https://github.com/vuejs/core/commit/8ed3ed6c27b0fb9a1b6994eddc967e42d4b3d4e1)) ### [`v3.1.2`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;312-httpsgithubcomvuejscorecomparev311v312-2021-06-22) [Compare Source](https://github.com/vuejs/core/compare/v3.1.1...v3.1.2) ##### Bug Fixes - **compiler-core:** improve member expression check ([bc100c5](https://github.com/vuejs/core/commit/bc100c5c48b98b6e2eabfa1d50e0d3099ea2a90d)), closes [#&#8203;3910](https://github.com/vuejs/core/issues/3910) - **compiler-core/compat:** fix is prop usage on components ([08e9322](https://github.com/vuejs/core/commit/08e93220f146118aad8ab07e18066bbb2d4b0040)), closes [#&#8203;3934](https://github.com/vuejs/core/issues/3934) - **compiler-sfc:** rewriteDefault support multiline ([#&#8203;3917](https://github.com/vuejs/core/issues/3917)) ([b228abb](https://github.com/vuejs/core/commit/b228abb72fcdb4fc9dced907f3614abcaaacdce5)) - **compiler-ssr:** fix attr fallthrough for transition/keep-alive as template root ([9f6f8b3](https://github.com/vuejs/core/commit/9f6f8b35c1fdfa5b76b834673e2f991c5fa7c9c5)), closes [#&#8203;3981](https://github.com/vuejs/core/issues/3981) - **devtools:** expose root instance ([2b52d5d](https://github.com/vuejs/core/commit/2b52d5d7c53f7843f4a1e85fd7f1720dc2847ebc)) - **runtime-core:** bind default function of inject to instance ([#&#8203;3925](https://github.com/vuejs/core/issues/3925)) ([db1dc1c](https://github.com/vuejs/core/commit/db1dc1c63097ed62a3f683a7a11c7e819d90bb73)), closes [#&#8203;3923](https://github.com/vuejs/core/issues/3923) - **runtime-core:** fix multiple .once event handlers on same component ([#&#8203;3904](https://github.com/vuejs/core/issues/3904)) ([011dee8](https://github.com/vuejs/core/commit/011dee8644bb52f5bdc6365c6e8404936d57e2cd)), closes [#&#8203;3902](https://github.com/vuejs/core/issues/3902) - **Suspense:** emit initial fallback and pending events ([#&#8203;3965](https://github.com/vuejs/core/issues/3965)) ([ab6e927](https://github.com/vuejs/core/commit/ab6e927041e4082acac9a5effe332557e70e4f2a)), closes [#&#8203;3964](https://github.com/vuejs/core/issues/3964) - **Suspense:** fallback should work with transition ([#&#8203;3968](https://github.com/vuejs/core/issues/3968)) ([43e2a72](https://github.com/vuejs/core/commit/43e2a72900b96870fe6f16248ecec50ff58278df)), closes [#&#8203;3963](https://github.com/vuejs/core/issues/3963) - **watch:** fix watch option merging from mixins ([9b607fe](https://github.com/vuejs/core/commit/9b607fe409d70e991ba458e7c994e008a4b621e8)), closes [#&#8203;3966](https://github.com/vuejs/core/issues/3966) ##### Performance Improvements - improve static content insertion perf ([4de5d24](https://github.com/vuejs/core/commit/4de5d24aa72f6bc68da967ead330147032983e30)), closes [#&#8203;3090](https://github.com/vuejs/core/issues/3090) ### [`v3.1.1`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;311-httpsgithubcomvuejscorecomparev310v311-2021-06-07) [Compare Source](https://github.com/vuejs/core/compare/v3.1.0...v3.1.1) ##### Bug Fixes - **compat:** update cjs dist file names ([#&#8203;3893](https://github.com/vuejs/core/issues/3893)) ([434ea30](https://github.com/vuejs/core/commit/434ea30505466bceb433f113d84f4b4ef8866047)) ### [`v3.1.0`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;310-httpsgithubcomvuejscorecomparev310-beta7v310-2021-06-07) [Compare Source](https://github.com/vuejs/core/compare/v3.0.11...v3.1.0) ##### Features - [Migration Build](https://v3.vuejs.org/guide/migration/migration-build.html) - **compiler-core:** whitespace handling strategy ([dee3d6a](https://github.com/vuejs/core/commit/dee3d6ab8b4da6653d15eb148c51d9878007f6b6)) - support component-level `compilerOptions` when using runtime compiler ([ce0bbe0](https://github.com/vuejs/core/commit/ce0bbe053abaf8ba18de8baf535e175048596ee5)) - **config:** support configuring runtime compiler via `app.config.compilerOptions` ([091e6d6](https://github.com/vuejs/core/commit/091e6d67bfcc215227d78be578c68ead542481ad)) - support casting plain element to component via is="vue:xxx" ([af9e699](https://github.com/vuejs/core/commit/af9e6999e1779f56b5cf827b97310d8e4e1fe5ec)) - **devtools:** improved KeepAlive support ([03ae300](https://github.com/vuejs/core/commit/03ae3006e1e678ade4377cd10d206e8f7b4ad0cb)) - **devtools:** performance events ([f7c54ca](https://github.com/vuejs/core/commit/f7c54caeb1dac69a26b79c98409e9633a7fe4bd3)) - onServerPrefetch ([#&#8203;3070](https://github.com/vuejs/core/issues/3070)) ([349eb0f](https://github.com/vuejs/core/commit/349eb0f0ad78f9cb491278eb4c7f9fe0c2e78b79)) ##### Performance Improvements - only trigger `$attrs` update when it has actually changed ([5566d39](https://github.com/vuejs/core/commit/5566d39d467ebdd4e4234bc97d62600ff01ea28e)) - **compiler:** skip unncessary checks when parsing end tag ([048ac29](https://github.com/vuejs/core/commit/048ac299f35709b25ae1bc1efa67d2abc53dbc3b)) - avoid deopt for props/emits normalization when global mixins are used ([51d2be2](https://github.com/vuejs/core/commit/51d2be20386d4dc59006d31a1cc96676871027ce)) ##### Deprecations - `app.config.isCustomElement` has been deprecated and should be now nested under `app.config.compilerOptions`. \[[Docs](https://v3.vuejs.org/api/application-config.html#compileroptions)] - `delimiters` component option has been deprecated and should now be nested under the `compilerOptions` component option. \[[Docs](https://v3.vuejs.org/api/options-misc.html#compileroptions)] - `v-is` has been deprecated in favor of `is="vue:xxx"` \[[Docs](https://v3.vuejs.org/api/special-attributes.html#is)] ##### Minor Breaking Changes - `this.$props` and the `props` object passed to `setup()` now always contain all the keys for declared props, even for props that are absent ([4fe4de0](https://github.com/vuejs/core/commit/4fe4de0a49ffc2461b0394e74674af38ff5e2a20)). This has always been the behavior in Vue 2 and is therefore considered a fix (see reasoning in [#&#8203;3288](https://github.com/vuejs/core/issues/3288)). However, this could break Vue 3 code that relied on the keys for prop absence checks. The workaround is to use a Symbol default value for props that need absence checks: ```js const isAbsent = Symbol() export default { props: { foo: { default: isAbsent } }, setup(props) { if (props.foo === isAbsent) { // foo is absent } } } ``` - `optionMergeStrategies` functions no longer receive the component instance as the 3rd argument. The argument was technically internal in Vue 2 and only used for generating warnings, and should not be needed in userland code. This removal enables much more efficient caching of option merging. ##### Bug Fixes - **compat:** revert private properties on $options in comapt mode ([ad844cf](https://github.com/vuejs/core/commit/ad844cf1e767137a713f715779969ffb94207c7a)), closes [#&#8203;3883](https://github.com/vuejs/core/issues/3883) - **runtime-core:** fix fragment update inside de-opt slots ([5bce2ae](https://github.com/vuejs/core/commit/5bce2ae723d43f23ccfac961f29b80fc870fba1f)), closes [#&#8203;3881](https://github.com/vuejs/core/issues/3881) <!----> - **compat:** fix deep data merge with extended constructor ([c7efb96](https://github.com/vuejs/core/commit/c7efb967ca5ab42ea2713331b8e53ae5c2746a78)), closes [#&#8203;3852](https://github.com/vuejs/core/issues/3852) - **compiler-sfc:** fix style injection when using normal script + setup ([8b94464](https://github.com/vuejs/core/commit/8b94464a3b9759a7a98c23efeafc7a9359c9807d)), closes [#&#8203;3688](https://github.com/vuejs/core/issues/3688) - **compiler-sfc:** fix template expression assignment codegen for script setup let refs ([#&#8203;3626](https://github.com/vuejs/core/issues/3626)) ([2c7bd42](https://github.com/vuejs/core/commit/2c7bd428011e027efa8f66487d2269c8dd79a2b0)), closes [#&#8203;3625](https://github.com/vuejs/core/issues/3625) - **runtime-core:** align option merge behavior with Vue 2 ([e2ca67b](https://github.com/vuejs/core/commit/e2ca67b59a4de57a9bce8d3394263ba493a35a39)), closes [#&#8203;3566](https://github.com/vuejs/core/issues/3566) [#&#8203;2791](https://github.com/vuejs/core/issues/2791) - **runtime-dom/v-model:** only set selectedIndex when the value changes ([#&#8203;3845](https://github.com/vuejs/core/issues/3845)) ([ecd97ee](https://github.com/vuejs/core/commit/ecd97ee6e465ec5c841d58d96833fece4e899785)) - **suspense:** fix suspense regression for errored template component ([44996d1](https://github.com/vuejs/core/commit/44996d1a0a2de1bc6b3abfac6b2b8b3c969d4e01)), closes [#&#8203;3857](https://github.com/vuejs/core/issues/3857) - **watch:** avoid traversing objects that are marked non-reactive ([9acc9a1](https://github.com/vuejs/core/commit/9acc9a1fa838bdcdf673d2f7cc3f996b2b69ffbc)) - **compiler-core:** improve the isMemberExpression function ([#&#8203;3675](https://github.com/vuejs/core/issues/3675)) ([9b2e894](https://github.com/vuejs/core/commit/9b2e8940176b3b75fa052b3c3e9eeaabc46a95e6)) - **compiler-dom:** fix in-browser attribute value decoding w/ html tags ([6690372](https://github.com/vuejs/core/commit/669037277b03bb8e67f517faf2811a8668ea86d6)), closes [#&#8203;3001](https://github.com/vuejs/core/issues/3001) - **compiler-sfc:** correctly remove parens used for wrapping ([#&#8203;3582](https://github.com/vuejs/core/issues/3582)) ([6bfb50a](https://github.com/vuejs/core/commit/6bfb50aff98038a1f854ce24733f545eec2ee796)), closes [#&#8203;3581](https://github.com/vuejs/core/issues/3581) - **reactivity:** ensure computed always expose value ([03a7a73](https://github.com/vuejs/core/commit/03a7a73148a9e210a7889c7a2ecf925338735c70)), closes [#&#8203;3099](https://github.com/vuejs/core/issues/3099) [#&#8203;910](https://github.com/vuejs/core/issues/910) - **runtime-core:** fix cases of reused children arrays in render functions ([#&#8203;3670](https://github.com/vuejs/core/issues/3670)) ([a641eb2](https://github.com/vuejs/core/commit/a641eb201fe51620d50884b988f6fefc3e21a20b)), closes [#&#8203;3666](https://github.com/vuejs/core/issues/3666) - **runtime-core:** fix resolving inheritAttrs from mixins ([#&#8203;3742](https://github.com/vuejs/core/issues/3742)) ([d6607c9](https://github.com/vuejs/core/commit/d6607c9864376fbe17899f3d35fc7b097670a1b1)), closes [#&#8203;3741](https://github.com/vuejs/core/issues/3741) - **runtime-core:** should disable tracking inside directive lifecycle hooks ([#&#8203;3699](https://github.com/vuejs/core/issues/3699)) ([ff50e8d](https://github.com/vuejs/core/commit/ff50e8d78c033252c4ce7ffddb8069b3ddae5936)) - **runtime-core:** stricter compat root mount check ([32e2133](https://github.com/vuejs/core/commit/32e21333dd1197a978cf42802729b2133bda5a0b)) - **runtime-dom:** should remove attribute when binding `null` to `value` ([#&#8203;3564](https://github.com/vuejs/core/issues/3564)) ([e3f5dcb](https://github.com/vuejs/core/commit/e3f5dcb99bf42fed48d995438e459203dc3f6ed0)) - **suspense:** fix suspense patching in optimized mode ([9f24195](https://github.com/vuejs/core/commit/9f24195d2ce24184ccdc5020793dd9423f0d3148)), closes [#&#8203;3828](https://github.com/vuejs/core/issues/3828) - **transition:** fix higher order transition components with merged listeners ([071986a](https://github.com/vuejs/core/commit/071986a2c6459fd99b91a48793a9ab6d6618b52d)), closes [#&#8203;3227](https://github.com/vuejs/core/issues/3227) - **keep-alive:** include/exclude should work with async component ([#&#8203;3531](https://github.com/vuejs/core/issues/3531)) ([9e3708c](https://github.com/vuejs/core/commit/9e3708ca754c0ecd66dbb45984f8d103772bd55c)), closes [#&#8203;3529](https://github.com/vuejs/core/issues/3529) - **runtime-core:** properly check forwarded slots type ([#&#8203;3781](https://github.com/vuejs/core/issues/3781)) ([e8ddf86](https://github.com/vuejs/core/commit/e8ddf8608021785c7b1b6f4211c633b40f26ddfc)), closes [#&#8203;3779](https://github.com/vuejs/core/issues/3779) - **runtime-core:** should not track dynamic children when the user calls a compiled slot inside template expression ([#&#8203;3554](https://github.com/vuejs/core/issues/3554)) ([2010607](https://github.com/vuejs/core/commit/201060717d4498b4b7933bf8a8513866ab9347e4)), closes [#&#8203;3548](https://github.com/vuejs/core/issues/3548) [#&#8203;3569](https://github.com/vuejs/core/issues/3569) - **runtime-core/teleport:** ensure the nested teleport can be unmounted correctly ([#&#8203;3629](https://github.com/vuejs/core/issues/3629)) ([4e3f82f](https://github.com/vuejs/core/commit/4e3f82f6835472650741896e19fbdc116d86d1eb)), closes [#&#8203;3623](https://github.com/vuejs/core/issues/3623) - **scheduler:** handle preFlush cb queued inside postFlush cb ([b57e995](https://github.com/vuejs/core/commit/b57e995edd29eff685aeaf40712e0e029073d1cb)), closes [#&#8203;3806](https://github.com/vuejs/core/issues/3806) - **ssr:** handle hydrated async component unmounted before resolve ([b46a4dc](https://github.com/vuejs/core/commit/b46a4dccf656280f9905e1bdc47022cb01c062c3)), closes [#&#8203;3787](https://github.com/vuejs/core/issues/3787) - **watch:** should not leak this context to setup watch getters ([1526f94](https://github.com/vuejs/core/commit/1526f94edf023899490d7c58afcf36b051e25b6c)), closes [#&#8203;3603](https://github.com/vuejs/core/issues/3603) - **compat:** avoid accidentally delete the modelValue prop ([#&#8203;3772](https://github.com/vuejs/core/issues/3772)) ([4f17be7](https://github.com/vuejs/core/commit/4f17be7b1ce4872ded085a36b95c1897d8c1f299)) - **compat:** enum coercion warning ([#&#8203;3755](https://github.com/vuejs/core/issues/3755)) ([f01aadf](https://github.com/vuejs/core/commit/f01aadf2a16a7bef422eb039d7b157bef9ad32fc)) - **compiler-core:** fix whitespace management for slots with whitespace: 'preserve' ([#&#8203;3767](https://github.com/vuejs/core/issues/3767)) ([47da921](https://github.com/vuejs/core/commit/47da92146c9fb3fa6b1e250e064ca49b74d815e4)), closes [#&#8203;3766](https://github.com/vuejs/core/issues/3766) - **compiler-dom:** comments in the v-if branchs should be ignored when used in Transition ([#&#8203;3622](https://github.com/vuejs/core/issues/3622)) ([7c74feb](https://github.com/vuejs/core/commit/7c74feb3dc6beae7ff3ad22193be3b5a0f4d8aac)), closes [#&#8203;3619](https://github.com/vuejs/core/issues/3619) - **compiler-sfc:** support tsx in setup script ([#&#8203;3825](https://github.com/vuejs/core/issues/3825)) ([01e8ba8](https://github.com/vuejs/core/commit/01e8ba8f873afe3857a23fb68b44fdc057e31781)), closes [#&#8203;3808](https://github.com/vuejs/core/issues/3808) - **compiler-ssr:** disable hoisting in compiler-ssr ([3ef1fcc](https://github.com/vuejs/core/commit/3ef1fcc8590da186664197a0a82e7856011c1693)), closes [#&#8203;3536](https://github.com/vuejs/core/issues/3536) - **devtools:** send update to component owning the slot ([1355ee2](https://github.com/vuejs/core/commit/1355ee27a65d466bfe8f3a7ba99aa2213e25bc50)) - **runtime-core:** avoid double-setting props when casting ([0255be2](https://github.com/vuejs/core/commit/0255be2f4b3581bfdf4af9368dcd6c1a27a5ee03)), closes [#&#8203;3371](https://github.com/vuejs/core/issues/3371) [#&#8203;3384](https://github.com/vuejs/core/issues/3384) - **runtime-core:** avoid the proxy object polluting the slots of the internal instance ([#&#8203;3698](https://github.com/vuejs/core/issues/3698)) ([4ce0df6](https://github.com/vuejs/core/commit/4ce0df6ef1a31ee45402e61e01777e3836b2c223)), closes [#&#8203;3695](https://github.com/vuejs/core/issues/3695) - **types:** declared prop keys should always exist in `props` argument ([#&#8203;3726](https://github.com/vuejs/core/issues/3726)) ([9b160b9](https://github.com/vuejs/core/commit/9b160b940555abb6b6ce722fddbd9649ee196f7b)) - **types/reactivity:** error TS4058 caused by `RefSymbol` ([#&#8203;2548](https://github.com/vuejs/core/issues/2548)) ([90aa835](https://github.com/vuejs/core/commit/90aa8358129f25826bfc4c234325c1442aef8d55)) - **compat:** correctly merge lifecycle hooks when using Vue.extend ([#&#8203;3762](https://github.com/vuejs/core/issues/3762)) ([2bfb8b5](https://github.com/vuejs/core/commit/2bfb8b574d39a20a0e4da2ff4f2c007680ee2038)), closes [#&#8203;3761](https://github.com/vuejs/core/issues/3761) - **compiler-core:** bail out to array children when the element has custom directives + only one text child node ([#&#8203;3757](https://github.com/vuejs/core/issues/3757)) ([a56ab14](https://github.com/vuejs/core/commit/a56ab148fd1f2702e699d31cdc854800c8283fde)) - **compat:** handle and warn config.optionMergeStrategies ([94e69fd](https://github.com/vuejs/core/commit/94e69fd3896214da6ff8b9fb09ad942c598053c7)) - **compiler-core:** preserve comment content in production when comments option is enabled ([e486254](https://github.com/vuejs/core/commit/e4862544310a4187dfc8b3a49944700888bb60e3)) - **hmr:** don't remove \__file key from component type ([9db3cbb](https://github.com/vuejs/core/commit/9db3cbbfc1a072675a8d0e53edf3869af115dc60)) - **hydration:** fix update before async component is hydrated ([#&#8203;3563](https://github.com/vuejs/core/issues/3563)) ([c8d9683](https://github.com/vuejs/core/commit/c8d96837b871d7ad34cd73b4669338be5fdd59fd)), closes [#&#8203;3560](https://github.com/vuejs/core/issues/3560) - **reactivity:** fix tracking for readonly + reactive Map ([#&#8203;3604](https://github.com/vuejs/core/issues/3604)) ([5036c51](https://github.com/vuejs/core/commit/5036c51cb78435c145ffea5e82cd620d0d056ff7)), closes [#&#8203;3602](https://github.com/vuejs/core/issues/3602) - **runtime-core:** ensure declare prop keys are always present ([4fe4de0](https://github.com/vuejs/core/commit/4fe4de0a49ffc2461b0394e74674af38ff5e2a20)), closes [#&#8203;3288](https://github.com/vuejs/core/issues/3288) - **runtime-core:** watching multiple sources: computed ([#&#8203;3066](https://github.com/vuejs/core/issues/3066)) ([e7300eb](https://github.com/vuejs/core/commit/e7300eb47960a153311d568d7976ac5256eb6297)), closes [#&#8203;3068](https://github.com/vuejs/core/issues/3068) - **Teleport:** avoid changing the reference of vnode.dynamicChildren ([#&#8203;3642](https://github.com/vuejs/core/issues/3642)) ([43f7815](https://github.com/vuejs/core/commit/43f78151bfdff2103a9be25e66e3f3be68d03a08)), closes [#&#8203;3641](https://github.com/vuejs/core/issues/3641) - **watch:** avoid traversing non-plain objects ([62b8f4a](https://github.com/vuejs/core/commit/62b8f4a39ca56b48a8c8fdf7e200cb80735e16ae)) - **watch:** this.$watch should support watching keypath ([870f2a7](https://github.com/vuejs/core/commit/870f2a7ba35245fd8c008d2ff666ea130a7e4704)) ### [`v3.0.11`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3011-httpsgithubcomvuejscorecomparev3010v3011-2021-04-01) [Compare Source](https://github.com/vuejs/core/compare/v3.0.10...v3.0.11) ##### Bug Fixes - **compiler-sfc:** fix wrong scopeId for nested `<script setup>` components ([7f7dcc9](https://github.com/vuejs/core/commit/7f7dcc9f7d9a036df366453e2bf228f29c0bef82)) - **runtime-core:** fix render function + optimized slot edge case ([#&#8203;3523](https://github.com/vuejs/core/issues/3523)) ([995d76b](https://github.com/vuejs/core/commit/995d76bd128c3f4d264f10212f2a8e8946f58a62)), closes [#&#8203;2893](https://github.com/vuejs/core/issues/2893) - **runtime-core:** fix v-on object kebab-case event emit matching ([c1cd42e](https://github.com/vuejs/core/commit/c1cd42e627bdeb561d54e64ea5fea87ccbbae637)), closes [#&#8203;3527](https://github.com/vuejs/core/issues/3527) ### [`v3.0.10`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3010-httpsgithubcomvuejscorecomparev309v3010-2021-03-31) [Compare Source](https://github.com/vuejs/core/compare/v3.0.9...v3.0.10) ##### Bug Fixes - **compiler-core:** allow PascalCase dynamic component tag usage ([#&#8203;3508](https://github.com/vuejs/core/issues/3508)) ([555b016](https://github.com/vuejs/core/commit/555b016dcb3b347a1d8b3d14df74c175115adb0b)), closes [#&#8203;3507](https://github.com/vuejs/core/issues/3507) - **compiler-core:** properly transform replaced nodes ([#&#8203;2927](https://github.com/vuejs/core/issues/2927)) ([0fe567a](https://github.com/vuejs/core/commit/0fe567abfcb7c685954231995033d04c86b6ef8a)) - **compiler-sfc:** do not resolve assets from setup bindings ([f5827fd](https://github.com/vuejs/core/commit/f5827fdf781c97234e9f82095e5e0cdadd404338)), closes [#&#8203;3270](https://github.com/vuejs/core/issues/3270) [#&#8203;3275](https://github.com/vuejs/core/issues/3275) - **compiler-sfc:** fix function scope variable declaration marking ([69b4727](https://github.com/vuejs/core/commit/69b4727204256795d37a29930be33ab4f864af38)) - **compiler-sfc:** fix missing whitespace issue in srcsets ([#&#8203;3132](https://github.com/vuejs/core/issues/3132)) ([42b68c7](https://github.com/vuejs/core/commit/42b68c773d1e1a04af223eb241329df50bac1d15)), closes [#&#8203;3069](https://github.com/vuejs/core/issues/3069) - **compiler-sfc:** support proper type arguments for defineEmit helper ([bb8cdca](https://github.com/vuejs/core/commit/bb8cdcad9f91f099c12ad78afacfc909e6269a7c)), closes [#&#8203;2874](https://github.com/vuejs/core/issues/2874) - **reactivity:** should not trigger when setting value to same proxy ([#&#8203;2904](https://github.com/vuejs/core/issues/2904)) ([c61e767](https://github.com/vuejs/core/commit/c61e7674221cd51df87aafc92367273c8815af6c)) - **runtime-core:** avoid unmount teleport's children multiple times ([#&#8203;3499](https://github.com/vuejs/core/issues/3499)) ([3736496](https://github.com/vuejs/core/commit/3736496006485e61614bef285ea89ea2a33134c4)), closes [#&#8203;3497](https://github.com/vuejs/core/issues/3497) - **runtime-core:** fix dev fragment root flag check ([9cf7525](https://github.com/vuejs/core/commit/9cf75258c866bbdb2023c066cc3579fb86f15f40)) - **runtime-dom:** fix event listeners call in firefox <= 53 ([#&#8203;3501](https://github.com/vuejs/core/issues/3501)) ([33ba0e3](https://github.com/vuejs/core/commit/33ba0e3229de02b7f4dda9465e4df16e177ea8cc)), closes [#&#8203;3485](https://github.com/vuejs/core/issues/3485) - **ssr:** fix scopeId inheritance across mixed parent chain ([5e54081](https://github.com/vuejs/core/commit/5e54081d5bfd0412fe4946c80b5c538f2afd7fb8)), closes [#&#8203;3513](https://github.com/vuejs/core/issues/3513) - **types:** add a type-only differentiator to assist Mixin's type infer ([#&#8203;3481](https://github.com/vuejs/core/issues/3481)) ([5db2b14](https://github.com/vuejs/core/commit/5db2b141dcf20af5c762f7e40580904c43298764)), closes [#&#8203;3468](https://github.com/vuejs/core/issues/3468) - **types/tsx:** make JSX.Element extend VNode ([#&#8203;3171](https://github.com/vuejs/core/issues/3171)) ([4f26835](https://github.com/vuejs/core/commit/4f26835dac5c345e6ccb2e2c2844f3560daa1de3)) ##### Performance Improvements - **compiler-sfc:** skip srcset transform if all candidates are external ([b39208c](https://github.com/vuejs/core/commit/b39208cf06a56b115016be18d5ee368a8f9dff74)) - **runtime-core:** optimize the performance of getTypeIndex ([#&#8203;3206](https://github.com/vuejs/core/issues/3206)) ([2e50acf](https://github.com/vuejs/core/commit/2e50acfbb89c29a071765d7f3967d2ccaf14f375)) ### [`v3.0.9`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;309-httpsgithubcomvuejscorecomparev308v309-2021-03-27) [Compare Source](https://github.com/vuejs/core/compare/v3.0.8...v3.0.9) ##### Bug Fixes - **compiler-core:** fix slot source location ([#&#8203;3494](https://github.com/vuejs/core/issues/3494)) ([e752bdd](https://github.com/vuejs/core/commit/e752bddb33b8d150e9f071f15b91a39d326522a3)) - **runtime-core:** fix kebab-case prop required warning ([2121c32](https://github.com/vuejs/core/commit/2121c32e228376c01de4335e2fcc645b7581cd4b)), closes [#&#8203;3495](https://github.com/vuejs/core/issues/3495) [#&#8203;3363](https://github.com/vuejs/core/issues/3363) - **runtime-core:** remove dev-only props property from setup context for consistency ([#&#8203;3492](https://github.com/vuejs/core/issues/3492)) ([4549e65](https://github.com/vuejs/core/commit/4549e65baea54bfd10116241a6a5eba91ec3f632)) - ensure backwards compat for pre-compiled sfc components ([37c1709](https://github.com/vuejs/core/commit/37c17091fddb26d54e080d2867102d017f09171f)), closes [#&#8203;3493](https://github.com/vuejs/core/issues/3493) ### [`v3.0.8`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;308-httpsgithubcomvuejscorecomparev307v308-2021-03-26) [Compare Source](https://github.com/vuejs/core/compare/v3.0.7...v3.0.8) ##### Bug Fixes - **compiler:** properly bail stringfication for nested slot elements ([f74b16c](https://github.com/vuejs/core/commit/f74b16ccfe42abddf6abfa6105900ad9b8124a96)) - **compiler-core:** allow unicode to appear in identifiers ([#&#8203;3443](https://github.com/vuejs/core/issues/3443)) ([ebedccc](https://github.com/vuejs/core/commit/ebedcccdc04d8cda40f7a3b69354acfdda265c74)), closes [#&#8203;3440](https://github.com/vuejs/core/issues/3440) - **compiler-core:** avoid generating useless createVNode helper ([#&#8203;2938](https://github.com/vuejs/core/issues/2938)) ([7715c49](https://github.com/vuejs/core/commit/7715c49af92f5db0e4eef52d983850c08439d87c)), closes [#&#8203;2739](https://github.com/vuejs/core/issues/2739) - **compiler-core:** detect v-if branch root with comment as dev fragment ([#&#8203;2785](https://github.com/vuejs/core/issues/2785)) ([4bf7ba1](https://github.com/vuejs/core/commit/4bf7ba19bf6b1a6c242090d512c91e1bf8c7c8cc)), closes [#&#8203;2780](https://github.com/vuejs/core/issues/2780) - **compiler-core:** fix the detection of forwarded slots with v-if or v-for ([#&#8203;3353](https://github.com/vuejs/core/issues/3353)) ([602b58e](https://github.com/vuejs/core/commit/602b58ebd1923dd48669755d5f5b67c5478cc625)), closes [#&#8203;3347](https://github.com/vuejs/core/issues/3347) - **compiler-core:** should not condense whitespace in RCDATA text mode ([#&#8203;3482](https://github.com/vuejs/core/issues/3482)) ([b4b8215](https://github.com/vuejs/core/commit/b4b82159e2175d27f7d1f2641d262269f981fc86)), closes [#&#8203;3479](https://github.com/vuejs/core/issues/3479) - **compiler-dom:** stringifyStatic should remove attribute bindings with `null` value ([#&#8203;3477](https://github.com/vuejs/core/issues/3477)) ([ca6aa01](https://github.com/vuejs/core/commit/ca6aa01181dd15e2ab76d89538cf898221f927cd)), closes [#&#8203;3475](https://github.com/vuejs/core/issues/3475) - **compiler-sfc:** scope Id should not be attached to [@&#8203;keyframe](https://github.com/keyframe) breakpoint rules ([#&#8203;3308](https://github.com/vuejs/core/issues/3308)) ([6cb9475](https://github.com/vuejs/core/commit/6cb94752b0354117669de94f81c5195ec8c7f40c)), closes [#&#8203;3304](https://github.com/vuejs/core/issues/3304) - **compiler-sfc:** should not rewrite scope variable ([#&#8203;3449](https://github.com/vuejs/core/issues/3449)) ([bbc5fe6](https://github.com/vuejs/core/commit/bbc5fe6a9716efe87fdb4c4ac51fcdc3bd541904)), closes [#&#8203;3445](https://github.com/vuejs/core/issues/3445) - **compiler-ssr:** keep the order of imports expression for the fallback branch of SSR ([#&#8203;3448](https://github.com/vuejs/core/issues/3448)) ([49f4072](https://github.com/vuejs/core/commit/49f4072c83c06a66e2b7a334d8dedabd1b433ca9)), closes [#&#8203;3447](https://github.com/vuejs/core/issues/3447) - **component:** prioritize registered component over implicit self-reference via filename ([abd129d](https://github.com/vuejs/core/commit/abd129d845951737c335a80a8af6cf7b0df2f74d)), closes [#&#8203;2827](https://github.com/vuejs/core/issues/2827) - **hydration:** handle camel-case tag name when performing match assertion ([#&#8203;3247](https://github.com/vuejs/core/issues/3247)) ([9036f88](https://github.com/vuejs/core/commit/9036f88d8304a3455265f1ecd86ec8f4a5ea4715)), closes [#&#8203;3243](https://github.com/vuejs/core/issues/3243) - **KeepAlive:** adapt keepalive for ssr ([#&#8203;3259](https://github.com/vuejs/core/issues/3259)) ([e8e9b00](https://github.com/vuejs/core/commit/e8e9b00f81ed42434afd92f84101e7a14d70a23c)), closes [#&#8203;3255](https://github.com/vuejs/core/issues/3255) - **reactivity:** ensure computed can be wrapped by readonly ([41e02f0](https://github.com/vuejs/core/commit/41e02f0fac069c93c94438741517e713f3c94215)), closes [#&#8203;3376](https://github.com/vuejs/core/issues/3376) - **reactivity:** ensure that shallow and normal proxies are tracked seperately (close [#&#8203;2843](https://github.com/vuejs/core/issues/2843)) ([#&#8203;2851](https://github.com/vuejs/core/issues/2851)) ([22cc4a7](https://github.com/vuejs/core/commit/22cc4a76592cfe336e75e2fa0c05232ae1f0f149)) - **reactivity:** fix shallow readonly behavior for collections ([#&#8203;3003](https://github.com/vuejs/core/issues/3003)) ([68de9f4](https://github.com/vuejs/core/commit/68de9f408a2e61a5726a4a0d03b026cba451c5bd)), closes [#&#8203;3007](https://github.com/vuejs/core/issues/3007) - **rumtime-core:** custom dom props should be cloned when cloning a hoisted DOM ([#&#8203;3080](https://github.com/vuejs/core/issues/3080)) ([5dbe834](https://github.com/vuejs/core/commit/5dbe8348581dacd7a3594a9b0055ce350ce8e5bf)), closes [#&#8203;3072](https://github.com/vuejs/core/issues/3072) - **runtime-core:** cache props default values to avoid unnecessary watcher trigger ([#&#8203;3474](https://github.com/vuejs/core/issues/3474)) ([44166b4](https://github.com/vuejs/core/commit/44166b43d9be1062f79612880f71284049bcab0b)), closes [#&#8203;3471](https://github.com/vuejs/core/issues/3471) - **runtime-core:** ensure only skip unflushed job ([#&#8203;3406](https://github.com/vuejs/core/issues/3406)) ([bf34e33](https://github.com/vuejs/core/commit/bf34e33c909da89681b9c5004cdf04ab198ec5a7)) - **runtime-core:** fix async component ref handling ([#&#8203;3191](https://github.com/vuejs/core/issues/3191)) ([7562e72](https://github.com/vuejs/core/commit/7562e72c2b58a5646bd4fbd9adea11eb884fe140)), closes [#&#8203;3188](https://github.com/vuejs/core/issues/3188) - **runtime-core:** fix erraneous emits warnings w/ mixins ([60d777d](https://github.com/vuejs/core/commit/60d777d228414515cc32526ad72a53ef070501be)), closes [#&#8203;2651](https://github.com/vuejs/core/issues/2651) - **runtime-core:** fix warning for absent props ([#&#8203;3363](https://github.com/vuejs/core/issues/3363)) ([86ceef4](https://github.com/vuejs/core/commit/86ceef43523bfbbb0a24731d3802ca6849cbefd6)), closes [#&#8203;3362](https://github.com/vuejs/core/issues/3362) - **runtime-core:** handle error in async setup ([#&#8203;2881](https://github.com/vuejs/core/issues/2881)) ([d668d48](https://github.com/vuejs/core/commit/d668d48e9e5211a49ee53361ea5b4d67ba16e0a3)) - **runtime-core:** handle error in async watchEffect ([#&#8203;3129](https://github.com/vuejs/core/issues/3129)) ([eb1fae6](https://github.com/vuejs/core/commit/eb1fae63f926435fb0eef890663d24e09d4c79e1)) - **runtime-core:** should call chained mixins and extends ([#&#8203;3040](https://github.com/vuejs/core/issues/3040)) ([b58bb16](https://github.com/vuejs/core/commit/b58bb169590297daf9df0433b413fab118f18486)), closes [#&#8203;3038](https://github.com/vuejs/core/issues/3038) - **runtime-core:** should not cache property access during data() invocation ([#&#8203;3299](https://github.com/vuejs/core/issues/3299)) ([6e88156](https://github.com/vuejs/core/commit/6e88156934a88c891fa1014c46c04a3fa1a5eaeb)), closes [#&#8203;3297](https://github.com/vuejs/core/issues/3297) - **runtime-core:** should not track deps in pre flush watcher callbacks ([d5824b9](https://github.com/vuejs/core/commit/d5824b97c570eb9e3d689b840f098e401e458d05)), closes [#&#8203;2728](https://github.com/vuejs/core/issues/2728) - **runtime-core:** the select tag's multiple prop should be set before the children mounting ([#&#8203;3202](https://github.com/vuejs/core/issues/3202)) ([2451dd8](https://github.com/vuejs/core/commit/2451dd8ae63cc0667a234f9896b1a4f241d4cb44)), closes [#&#8203;3199](https://github.com/vuejs/core/issues/3199) - **runtime-dom:** support mounting app to svg container ([#&#8203;2929](https://github.com/vuejs/core/issues/2929)) ([8ffcde2](https://github.com/vuejs/core/commit/8ffcde2836baa41d279d9cc079f139a2e31cf6be)), closes [#&#8203;2926](https://github.com/vuejs/core/issues/2926) - **ssr:** ensure async setup error handling work with suspense during ssr ([2e71f07](https://github.com/vuejs/core/commit/2e71f07bc1bab09ca6970b8992d05aeea9b5e9e4)) - **ssr:** fix memory leak when vnode component render throws error ([da944cb](https://github.com/vuejs/core/commit/da944cb37987212d1b1a860b79f43a7c85814225)), closes [#&#8203;3100](https://github.com/vuejs/core/issues/3100) - **ssr:** properly update currentRenderingInstance state during ssr ([8c3c14a](https://github.com/vuejs/core/commit/8c3c14a0ff02bffbc37e1b069d4ff3c7e086a1d5)), closes [#&#8203;2863](https://github.com/vuejs/core/issues/2863) - **ssr:** respect render function from extends/mixins in ssr ([#&#8203;3006](https://github.com/vuejs/core/issues/3006)) ([0a583d5](https://github.com/vuejs/core/commit/0a583d5ca224d2cba878dc6b0fb8d468e658f1ef)), closes [#&#8203;3004](https://github.com/vuejs/core/issues/3004) - **ssr:** watchEffect onInvalidate runner initialization ([#&#8203;3323](https://github.com/vuejs/core/issues/3323)) ([e4b5fcc](https://github.com/vuejs/core/commit/e4b5fccd0c54a1109737ae75b3ca2bc603cb05b3)), closes [#&#8203;3322](https://github.com/vuejs/core/issues/3322) - **ssr/hydration:** handle ending empty text node ([#&#8203;3246](https://github.com/vuejs/core/issues/3246)) ([420c8f4](https://github.com/vuejs/core/commit/420c8f4580dddea9a724cfadc4cc2c272181c24d)), closes [#&#8203;3245](https://github.com/vuejs/core/issues/3245) - **teleport:** targetAnchor should also be removed when unmounted ([#&#8203;2870](https://github.com/vuejs/core/issues/2870)) ([21d1288](https://github.com/vuejs/core/commit/21d128813353fd5d5a5304f8fb885265f5163cd8)) - **Teleport:** component with multi roots should be removed when unmounted ([#&#8203;3157](https://github.com/vuejs/core/issues/3157)) ([7769513](https://github.com/vuejs/core/commit/776951315d38fb93b75892bd60a69177b4480f67)), closes [#&#8203;3156](https://github.com/vuejs/core/issues/3156) - **Teleport:** fallback to non-optimized mode when HRM performing updates ([#&#8203;3311](https://github.com/vuejs/core/issues/3311)) ([9cb21d0](https://github.com/vuejs/core/commit/9cb21d088edd097b75a038f2c11d1c921406686f)), closes [#&#8203;3302](https://github.com/vuejs/core/issues/3302) - **transition:** toggling branches with in-out mode should be transitioned correctly ([#&#8203;3109](https://github.com/vuejs/core/issues/3109)) ([67a0290](https://github.com/vuejs/core/commit/67a0290c0aa5626dbc71b66b00e7ca7755e339cb)), closes [#&#8203;3104](https://github.com/vuejs/core/issues/3104) - **types:** allow style to be an array in JSX ([#&#8203;2947](https://github.com/vuejs/core/issues/2947)) ([13c9d2c](https://github.com/vuejs/core/commit/13c9d2ca82d60652ef19fe055ecbe0d05134007b)) - **types:** union function prop ([#&#8203;3119](https://github.com/vuejs/core/issues/3119)) ([3755e60](https://github.com/vuejs/core/commit/3755e60c52adcd83e569f32c3d31d8854b4fdd8d)), closes [#&#8203;3357](https://github.com/vuejs/core/issues/3357) - **types:** unwrap refs on public instance data ([#&#8203;3319](https://github.com/vuejs/core/issues/3319)) ([2b588cf](https://github.com/vuejs/core/commit/2b588cf1bc03329576b8759c9072e3e551b739f1)), closes [#&#8203;3315](https://github.com/vuejs/core/issues/3315) - **types/jsx:** llow tabindex to be a string ([#&#8203;3476](https://github.com/vuejs/core/issues/3476)) ([e4a5712](https://github.com/vuejs/core/commit/e4a5712a33d10d3087f1c3cff0ecdf5569a84d94)) - add display name for suspense component ([#&#8203;3312](https://github.com/vuejs/core/issues/3312)) ([3b3a9a1](https://github.com/vuejs/core/commit/3b3a9a1f5225fb734d16ffe2d596f457e9c47cec)) ##### Performance Improvements - support only attaching slot scope ids when necessary ([02cbbb7](https://github.com/vuejs/core/commit/02cbbb718ca226b087c42e6f132120931307c2a6)) ### [`v3.0.7`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;307-httpsgithubcomvuejscorecomparev306v307-2021-03-01) [Compare Source](https://github.com/vuejs/core/compare/v3.0.6...v3.0.7) ##### Bug Fixes - **compiler-sfc:** handle more edge cases in default rewrite ([1dedc19](https://github.com/vuejs/core/commit/1dedc19e1f0a2039d2ab8f55af6e27034b8dcde5)) - **deps:** pin Rollup to 2.38 ([34f354b](https://github.com/vuejs/core/commit/34f354b2a0eeb6c148ca485ae3558842814ea4d2)), closes [#&#8203;3332](https://github.com/vuejs/core/issues/3332) - **runtime-core:** properties in methods should be writable and enumerable in DEV ([#&#8203;3301](https://github.com/vuejs/core/issues/3301)) ([e3568ba](https://github.com/vuejs/core/commit/e3568bae276889cee60f4e84321a287125014e86)), closes [#&#8203;3300](https://github.com/vuejs/core/issues/3300) - **scheduler:** ensure updates are always inserted in ascending id order ([#&#8203;3184](https://github.com/vuejs/core/issues/3184)) ([45fae9d](https://github.com/vuejs/core/commit/45fae9d308e8cb9fe3304d4ca03c373ce63b2e62)), closes [#&#8203;2768](https://github.com/vuejs/core/issues/2768) [#&#8203;2829](https://github.com/vuejs/core/issues/2829) - **v-show:** v-show takes higher priority than style attribute ([#&#8203;3230](https://github.com/vuejs/core/issues/3230)) ([5ad4036](https://github.com/vuejs/core/commit/5ad4036e29f75dc907e95b99a63325b855332566)), closes [#&#8203;2757](https://github.com/vuejs/core/issues/2757) - init devtools after feature flag checks ([d0ea745](https://github.com/vuejs/core/commit/d0ea74556f74d8c503ffb7b70f41cbe2ce14db98)) ##### Performance Improvements - **reactivity:** only call Set.add if doesn't already have value ([#&#8203;3307](https://github.com/vuejs/core/issues/3307)) ([9cd9883](https://github.com/vuejs/core/commit/9cd988342cfa32ddd9479585244eb317d74c9712)) ### [`v3.0.6`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;306-httpsgithubcomvuejscorecomparev305v306-2021-02-24) [Compare Source](https://github.com/vuejs/core/compare/v3.0.5...v3.0.6) ##### Bug Fixes - **compiler-core:** do not mark v-for as stable on const bindings ([734c65b](https://github.com/vuejs/core/commit/734c65badd8395a78d7beee1fc960aee418361a0)), closes [vitejs/vite#&#8203;1956](https://github.com/vitejs/vite/issues/1956) - **compiler-dom:** ensure global build filename matches the one defined in package.json (close [#&#8203;3181](https://github.com/vuejs/core/issues/3181)) ([#&#8203;3185](https://github.com/vuejs/core/issues/3185)) ([96b6433](https://github.com/vuejs/core/commit/96b64335242a99432080aeb879e5c0787207a0de)) - **compiler-dom:** fix cdn entries ([fcb6c89](https://github.com/vuejs/core/commit/fcb6c8920c6ee76f57325a178eb9280d7bae4d7c)), closes [#&#8203;3181](https://github.com/vuejs/core/issues/3181) [#&#8203;3185](https://github.com/vuejs/core/issues/3185) - **compiler-sfc:** compiler blank srcset ([#&#8203;3005](https://github.com/vuejs/core/issues/3005)) ([9dc816d](https://github.com/vuejs/core/commit/9dc816d63468b0a2fa2b6123959310014e121b58)) - **compiler-sfc:** removeSpecifier issue when removing initial imports (script-setup) ([#&#8203;2729](https://github.com/vuejs/core/issues/2729)) ([6d762a8](https://github.com/vuejs/core/commit/6d762a84ca0ac9a43eb3d0ab0c7b7b17c35c9836)) - **compiler-sfc:** the empty lang attribute should be treated as no lang specified ([#&#8203;3051](https://github.com/vuejs/core/issues/3051)) ([6d5b623](https://github.com/vuejs/core/commit/6d5b62351248780663d2612a1f483f7ea9f5e5a2)) - **compiler-sfc:** transformAssetUrls.base should not affect known module requests ([2ea9867](https://github.com/vuejs/core/commit/2ea9867398d19148b32643fa0e6523c95b9ca956)) - **compiler-sfc:** treat const reactive() bindings as mutable ([03360ce](https://github.com/vuejs/core/commit/03360cefa1b7038174fa3c1fc3a04400b4cdbbce)) - **compiler-ssr:** avoid duplicated asset imports merged from component slot client branch ([c69f4ea](https://github.com/vuejs/core/commit/c69f4ea857b7db8d26bbde2f80786c8212d16770)), closes [vitejs/vite#&#8203;2034](https://github.com/vitejs/vite/issues/2034) - **devtools:** init devtools in production ([#&#8203;2906](https://github.com/vuejs/core/issues/2906)) ([4d9bcb7](https://github.com/vuejs/core/commit/4d9bcb768ddc294430aedcf27155aaca292c47bd)) - **devtools:** send instance to devtools when it's mounted instead of created ([4fecb27](https://github.com/vuejs/core/commit/4fecb27f8696fdb8f681948543ea81ea62fe43bf)) - **docs:** change reference to passed deadline ([#&#8203;2930](https://github.com/vuejs/core/issues/2930)) ([de7f9d1](https://github.com/vuejs/core/commit/de7f9d1efd7fa19a908357d3f3a706c52694d8bd)) - **hmr:** deep clone reused hoisted trees during dev ([5a7a1b8](https://github.com/vuejs/core/commit/5a7a1b8293822219283d6e267496bec02234b0bc)), closes [vitejs/vite#&#8203;2022](https://github.com/vitejs/vite/issues/2022) - **runtime-core:** align $parent/$root with the template ref when using expose ([#&#8203;3158](https://github.com/vuejs/core/issues/3158)) ([f43a3b0](https://github.com/vuejs/core/commit/f43a3b0bebf0837223e7b8f046dad63e34cd323b)) - **runtime-core:** allow overriding properties other than props ([#&#8203;3105](https://github.com/vuejs/core/issues/3105)) ([73117f6](https://github.com/vuejs/core/commit/73117f6b5b1e36c9400248ed9e815839c49a12c8)) - **runtime-core:** check the DEV_ROOT_FRAGMENT flag correctly in the dev environment ([#&#8203;2750](https://github.com/vuejs/core/issues/2750)) ([347a879](https://github.com/vuejs/core/commit/347a8798a4c5f0b426f3ac84a01d752d823fb51b)) - **runtime-core:** component methods should override global properties in DEV ([#&#8203;3074](https://github.com/vuejs/core/issues/3074)) ([2587f36](https://github.com/vuejs/core/commit/2587f36fe311359e2e34f40e8e47d2eebfab7f42)) - **runtime-core:** ensure app instance can be garbage collected after unmount (close [#&#8203;2907](https://github.com/vuejs/core/issues/2907)) ([#&#8203;2909](https://github.com/vuejs/core/issues/2909)) ([60e05ef](https://github.com/vuejs/core/commit/60e05eff232c3ddfca1c20e52f72aa36165d8a22)) - **runtime-core:** instanceWatch should pass `this.proxy` to source as the first argument ([#&#8203;2753](https://github.com/vuejs/core/issues/2753)) ([ec8fd10](https://github.com/vuejs/core/commit/ec8fd10cec61c33c7c8056413a1c609ac90e1215)) - **runtime-dom:** ensure readonly type prop on textarea is handled patched as attribute ([#&#8203;2888](https://github.com/vuejs/core/issues/2888)) ([c5d147c](https://github.com/vuejs/core/commit/c5d147c57f75ca38cc334bb27b61a8bc153494bd)), closes [#&#8203;2766](https://github.com/vuejs/core/issues/2766) - kebab-case events are attached correctly on web components, see [#&#8203;2841](https://github.com/vuejs/core/issues/2841) ([#&#8203;2847](https://github.com/vuejs/core/issues/2847)) ([b302cbb](https://github.com/vuejs/core/commit/b302cbbbd3fd512f2b8afbd9c873060a40bf8e62)) - **types:** extract the correct props type for the DateConstructor ([#&#8203;2676](https://github.com/vuejs/core/issues/2676)) ([48f0d29](https://github.com/vuejs/core/commit/48f0d2944f0f9d2f556e62782fc61985897b2ed4)) - ensure all published packages contan a LICENCE file (close [#&#8203;2650](https://github.com/vuejs/core/issues/2650)) ([#&#8203;2857](https://github.com/vuejs/core/issues/2857)) ([6a48d23](https://github.com/vuejs/core/commit/6a48d23749e418b44ba17cd3e85f478484fd7ffe)) - remove superfluous spaces when normalizing class ([#&#8203;3083](https://github.com/vuejs/core/issues/3083)) ([4b55142](https://github.com/vuejs/core/commit/4b551420fc058c4683219db5d75893f9fc69aa04)) - **runtime-dom:** enable set form attr to null on form-elements ([#&#8203;2840](https://github.com/vuejs/core/issues/2840)) ([#&#8203;2849](https://github.com/vuejs/core/issues/2849)) ([f262438](https://github.com/vuejs/core/commit/f2624380731cc32e71523e8c2c98037e98e09319)) - **toRef:** ref created from union typed prop can't be used in watch ([#&#8203;3048](https://github.com/vuejs/core/issues/3048)) ([4ca4666](https://github.com/vuejs/core/commit/4ca4666d58ee8025570dc14f1c163bdeac9c6012)) - should prefix `ShadowRoot` with `window.` ([#&#8203;2943](https://github.com/vuejs/core/issues/2943)) ([97d6f1a](https://github.com/vuejs/core/commit/97d6f1a716045123d0e05600e64f11f92f504747)) ##### Features - remove useless option in KeepAlive ([#&#8203;3170](https://github.com/vuejs/core/issues/3170)) ([bd1240c](https://github.com/vuejs/core/commit/bd1240c1270b610c4ffcf6c32e2bbe2c9265020f)) - **compiler-core:** support `BigInt` in template ([#&#8203;2900](https://github.com/vuejs/core/issues/2900)) ([c9f94fa](https://github.com/vuejs/core/commit/c9f94fa3cfbe8fcd9ea3d49d523dfb282c468369)) - **compiler-sfc:** upgrade to postcss 8 ([#&#8203;2710](https://github.com/vuejs/core/issues/2710)) ([49bc2e4](https://github.com/vuejs/core/commit/49bc2e4db568d4f9fa2ccfe4e22c792cfc02651a)) - **runtime-core:** improve render context warning ([#&#8203;2496](https://github.com/vuejs/core/issues/2496)) ([288ae0a](https://github.com/vuejs/core/commit/288ae0a8d9444365ad7438462e072c425150cbf1)) - **runtime-core:** props type support `BigInt` ([#&#8203;2891](https://github.com/vuejs/core/issues/2891)) ([ffd5288](https://github.com/vuejs/core/commit/ffd52885453d1621e45dff645ff1101e74ea40b2)) ##### Performance Improvements - **reactivity:** should not track `__isVue` ([#&#8203;2940](https://github.com/vuejs/core/issues/2940)) ([dd02cf3](https://github.com/vuejs/core/commit/dd02cf37d5f5a6946bcae01ee70568e38a82c177)) ### [`v3.0.5`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;305-httpsgithubcomvuejscorecomparev304v305-2020-12-30) [Compare Source](https://github.com/vuejs/core/compare/v3.0.4...v3.0.5) **Note:** this release contains a type-only change that requires TypeScript 4.0+, which may cause build issues in projects still using TS 3.x. ##### Bug Fixes - **compiler-core:** fix missing createVNode import on nested v-for ([ad4d391](https://github.com/vuejs/core/commit/ad4d3915d39515a3e9ff2de691f82cb922a314b9)), closes [#&#8203;2718](https://github.com/vuejs/core/issues/2718) - **compiler-sfc:** should keep template nodes with no content ([#&#8203;2468](https://github.com/vuejs/core/issues/2468)) ([5b9b37f](https://github.com/vuejs/core/commit/5b9b37fc9b363be2989c1e9d76ab6e950cdfe2ad)), closes [#&#8203;2463](https://github.com/vuejs/core/issues/2463) - **compiler-sfc:** support transforming asset urls with full base url. ([#&#8203;2477](https://github.com/vuejs/core/issues/2477)) ([db786b1](https://github.com/vuejs/core/commit/db786b1afe41c26611a215e6d6599d50312b9c2f)) - **runtime-core:** component mount anchor memory leak ([#&#8203;2459](https://github.com/vuejs/core/issues/2459)) ([3867bb4](https://github.com/vuejs/core/commit/3867bb4c14131ef94098a62bffba97a5b7d1fe66)), closes [#&#8203;2458](https://github.com/vuejs/core/issues/2458) - **runtime-core:** skip patchBlockChildren if n1.dynamicChildren is null ([#&#8203;2717](https://github.com/vuejs/core/issues/2717)) ([c59897c](https://github.com/vuejs/core/commit/c59897c7b0dbd82b5bbf3fbca945c0639ac37fb8)), closes [#&#8203;2715](https://github.com/vuejs/core/issues/2715) [#&#8203;2485](https://github.com/vuejs/core/issues/2485) - **runtime-dom:** support mounting app on ShadowRoot ([#&#8203;2447](https://github.com/vuejs/core/issues/2447)) ([b2189ba](https://github.com/vuejs/core/commit/b2189ba2f3400ab6bf9ee75b56ac11e65f7bd061)), closes [#&#8203;2399](https://github.com/vuejs/core/issues/2399) - **ssr:** properly handle ssr empty slot and fallback ([88f6b33](https://github.com/vuejs/core/commit/88f6b33d054c18802375ec99c4a57e4acc649a02)) - **transition:** ensure manual style manipulation in transition leave hooks work ([cbaa380](https://github.com/vuejs/core/commit/cbaa3805064cb581fc2007cf63774c91d39844fe)), closes [#&#8203;2720](https://github.com/vuejs/core/issues/2720) - **transition:** ensure styles from \*-leave-active trigger transition ([#&#8203;2716](https://github.com/vuejs/core/issues/2716)) ([3f8f9b6](https://github.com/vuejs/core/commit/3f8f9b67b3b54a7ae8405baf6d28be7ec074509d)), closes [#&#8203;2712](https://github.com/vuejs/core/issues/2712) ##### Features - **devtools:** send instance ([3626ff0](https://github.com/vuejs/core/commit/3626ff07fe5107080c52e85018070562c84b796e)) ### [`v3.0.4`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;304-httpsgithubcomvuejscorecomparev303v304-2020-12-02) [Compare Source](https://github.com/vuejs/core/compare/v3.0.3...v3.0.4) ##### Bug Fixes - **async-component:** forward refs on async component wrapper ([64d4681](https://github.com/vuejs/core/commit/64d4681e4b9d88e17cd1515014866d43d0424d14)), closes [#&#8203;2671](https://github.com/vuejs/core/issues/2671) - **attr-fallthrough:** ensure consistent attr fallthrough for root fragments with comments ([3bc2914](https://github.com/vuejs/core/commit/3bc2914e32b030b1247659f871f6055827154087)), closes [#&#8203;2549](https://github.com/vuejs/core/issues/2549) - **build:** enable safari10 option for terser ([#&#8203;2472](https://github.com/vuejs/core/issues/2472)) ([20a704f](https://github.com/vuejs/core/commit/20a704fc043b29c3c9baac602211c595ede728cf)), closes [#&#8203;2470](https://github.com/vuejs/core/issues/2470) - **compiler-core:** fix scope var reference check for v-on expressions ([9db7095](https://github.com/vuejs/core/commit/9db70959621c7df44807324a3b1a41caa2b261eb)), closes [#&#8203;2564](https://github.com/vuejs/core/issues/2564) - **compiler-core:** fix unintended imports in esm-bundler builds ([55d99d7](https://github.com/vuejs/core/commit/55d99d729e147fae515c12148590f0100508c49d)), closes [#&#8203;2258](https://github.com/vuejs/core/issues/2258) [#&#8203;2515](https://github.com/vuejs/core/issues/2515) - **compiler-core:** transform kebab case props to camelcase on slots ([#&#8203;2490](https://github.com/vuejs/core/issues/2490)) ([ef59a30](https://github.com/vuejs/core/commit/ef59a30cabd12f6f14fee210a7fe49bccd3fd86c)), closes [#&#8203;2488](https://github.com/vuejs/core/issues/2488) - **compiler-core/v-on:** handle falsy values when caching v-on handlers ([e4f09c1](https://github.com/vuejs/core/commit/e4f09c1419352c18a60a5930d9526d916d1323d3)), closes [#&#8203;2605](https://github.com/vuejs/core/issues/2605) - **compiler-sfc:** fix parsing error when `lang=""` is used on plain element ([#&#8203;2569](https://github.com/vuejs/core/issues/2569)) ([5f2a853](https://github.com/vuejs/core/commit/5f2a8533acc332528faedb2d1b6ecdae104087a4)), closes [#&#8203;2566](https://github.com/vuejs/core/issues/2566) - **compiler-sfc:** named imports from .vue file should not be treated as constant ([085bbd5](https://github.com/vuejs/core/commit/085bbd5fe07c52056e9f7151fbaed8f6a2e442b3)), closes [#&#8203;2699](https://github.com/vuejs/core/issues/2699) - **compiler-sfc:** should not remove import statements with no specifier when compiling script setup ([43eab92](https://github.com/vuejs/core/commit/43eab923ea651079181490d191966ff28988e9c8)) - **compiler-ssr:** generate correct children for transition-group ([a5d6f80](https://github.com/vuejs/core/commit/a5d6f8091e3761447b7fec0e3d1346eb83402a0a)), closes [#&#8203;2510](https://github.com/vuejs/core/issues/2510) - **compiler-ssr:** handle v-model checkbox with true-value binding ([fe5428d](https://github.com/vuejs/core/commit/fe5428db1207747886957b831d46d71ecb6fadaa)) - **compiler-ssr:** should not render key/ref bindings in ssr ([5b62662](https://github.com/vuejs/core/commit/5b6266284da01008e2f68ed353a622adc5704261)) - **provide:** support symbols in applyOptions ([#&#8203;2616](https://github.com/vuejs/core/issues/2616)) ([7a1a782](https://github.com/vuejs/core/commit/7a1a782642a13d5fcc6b8c738a5ce8f8c657e1b5)), closes [#&#8203;2615](https://github.com/vuejs/core/issues/2615) - **reactivity:** ensure readonly on plain arrays doesn't track array methods. ([#&#8203;2506](https://github.com/vuejs/core/issues/2506)) ([3470308](https://github.com/vuejs/core/commit/34703082fd5afacee774ee92c11753119032ed1a)), closes [#&#8203;2493](https://github.com/vuejs/core/issues/2493) - **reactivity:** ensure add/set on reactive collections return the proxy ([#&#8203;2534](https://github.com/vuejs/core/issues/2534)) ([6e46a57](https://github.com/vuejs/core/commit/6e46a574eddb5fa43c8a4ce10c620ecdf1caf3b8)), closes [#&#8203;2530](https://github.com/vuejs/core/issues/2530) - **runtime-core:** ensure keep-alive deep-watches include/explude props ([#&#8203;2551](https://github.com/vuejs/core/issues/2551)) ([421205d](https://github.com/vuejs/core/commit/421205d0ad1ab187ff72be754e38c7228230eb60)), closes [#&#8203;2550](https://github.com/vuejs/core/issues/2550) - **runtime-core:** ensure watchers are always registered to correct instance owner ([#&#8203;2495](https://github.com/vuejs/core/issues/2495)) ([735af1c](https://github.com/vuejs/core/commit/735af1c7b7e764c410b8dd671eaaa9a72f09ea3f)), closes [#&#8203;2381](https://github.com/vuejs/core/issues/2381) - **runtime-core:** fix emit listener check on kebab-case events ([#&#8203;2542](https://github.com/vuejs/core/issues/2542)) ([3532b2b](https://github.com/vuejs/core/commit/3532b2b0213268a285cacce9b38f806e6af29a61)), closes [#&#8203;2540](https://github.com/vuejs/core/issues/2540) - **runtime-core:** handle static node move in production ([bf16a57](https://github.com/vuejs/core/commit/bf16a57fc3d23118c670918348f02457cfcc44d6)) - **runtime-core:** remove static node in production mode ([#&#8203;2556](https://github.com/vuejs/core/issues/2556)) ([2a9ba0c](https://github.com/vuejs/core/commit/2a9ba0c8e961ed6c68a8008ccbef85ff2cabeeb2)), closes [#&#8203;2553](https://github.com/vuejs/core/issues/2553) - **runtime-core:** should pause tracking when initializing legacy options ([#&#8203;2524](https://github.com/vuejs/core/issues/2524)) ([0ff2a4f](https://github.com/vuejs/core/commit/0ff2a4f1c1847a4e173dcab810e6438143a4272c)), closes [#&#8203;2521](https://github.com/vuejs/core/issues/2521) - **runtime-core:** skip functional components in public $parent chain traversal ([53f4885](https://github.com/vuejs/core/commit/53f4885d9e06f1b1b0b33abc8f1c20766cbb2d1a)), closes [#&#8203;2437](https://github.com/vuejs/core/issues/2437) - **runtime-dom:** attribute should be removed with nullish values ([#&#8203;2679](https://github.com/vuejs/core/issues/2679)) ([fb6b9f8](https://github.com/vuejs/core/commit/fb6b9f8e8ff35ca4d8723a9f96e36266de0dd947)), closes [#&#8203;2677](https://github.com/vuejs/core/issues/2677) - **script-setup:** ensure useContext() return valid context ([73cdb9d](https://github.com/vuejs/core/commit/73cdb9d4208f887fe08349657122e39175d7166c)) - **slots:** dynamically named slots should be keyed by name ([2ab8c41](https://github.com/vuejs/core/commit/2ab8c41a1a43952fb229587a9da48d9a1214ab9e)), closes [#&#8203;2535](https://github.com/vuejs/core/issues/2535) - **slots:** should render fallback content when slot content contains no valid nodes ([#&#8203;2485](https://github.com/vuejs/core/issues/2485)) ([ce4915d](https://github.com/vuejs/core/commit/ce4915d8bed12f4cdb5fa8ca39bda98d0d3aabb7)), closes [#&#8203;2347](https://github.com/vuejs/core/issues/2347) [#&#8203;2461](https://github.com/vuejs/core/issues/2461) - **suspense:** fix nested async child toggle inside already resovled suspense ([cf7f1db](https://github.com/vuejs/core/commit/cf7f1dbc9be8d50ad220e3630c38f5a9a217d693)), closes [#&#8203;2215](https://github.com/vuejs/core/issues/2215) - **teleport:** Teleport into SVG elements ([#&#8203;2648](https://github.com/vuejs/core/issues/2648)) ([cd92836](https://github.com/vuejs/core/commit/cd928362232747a51d1fd4790bb20adcdd59d187)), closes [#&#8203;2652](https://github.com/vuejs/core/issues/2652) - **transition:** avoid invoking stale transition end callbacks ([eaf8a67](https://github.com/vuejs/core/commit/eaf8a67c7219e1b79d6abca44a1d7f1b341b58b0)), closes [#&#8203;2482](https://github.com/vuejs/core/issues/2482) - **transition:** respect rules in \*-leave-from transition class ([#&#8203;2597](https://github.com/vuejs/core/issues/2597)) ([e2618a6](https://github.com/vuejs/core/commit/e2618a632d4add2819ffb8b575af0da189dc3204)), closes [#&#8203;2593](https://github.com/vuejs/core/issues/2593) - **types:** fix ToRefs type on union value types ([e315d84](https://github.com/vuejs/core/commit/e315d84936c82bee8f2cf2369c61b5aaec38f328)), closes [#&#8203;2687](https://github.com/vuejs/core/issues/2687) - **v-model:** avoid mutation when using Set models + fix multi select Set model update ([f2b0a8e](https://github.com/vuejs/core/commit/f2b0a8e81d15eb8017c7fca5c1dff0e5f6a5573e)) - **v-model:** respect checkbox true-value/false-value on initial render ([48f00c0](https://github.com/vuejs/core/commit/48f00c0f1b574a235be40c560d2cf373be97615e)), closes [#&#8203;2694](https://github.com/vuejs/core/issues/2694) - **v-show:** ensure v-show conflict with inline string style binding ([3cd30c5](https://github.com/vuejs/core/commit/3cd30c5245da0733f9eb6f29d220f39c46518162)), closes [#&#8203;2583](https://github.com/vuejs/core/issues/2583) - allow hmr in all builds ([46d80f4](https://github.com/vuejs/core/commit/46d80f4d585195446e7f8cf4ba42d00a98e9ee5d)), closes [#&#8203;2571](https://github.com/vuejs/core/issues/2571) ##### Features - **sfc:** allow sfcs to recursively self-reference in template via name inferred from filename ([67d1aac](https://github.com/vuejs/core/commit/67d1aac6ae683a3a7291dff15071d1eeacb7d22a)) ### [`v3.0.3`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;303-httpsgithubcomvuejscorecomparev302v303-2020-11-25) [Compare Source](https://github.com/vuejs/core/compare/v3.0.2...v3.0.3) ##### Bug Fixes - **compiler-core/compiler-sfc:** handle destructure assignment expressions ([4c6078c](https://github.com/vuejs/core/commit/4c6078ce25226ab9e10ec4eba5c745058f670b3d)) - **compiler-sfc:** fix script setup ts helpers ([6e3abc8](https://github.com/vuejs/core/commit/6e3abc86058f967bcf6fad94c62572989d4dbcbc)) - **hmr:** fix updates for imported but not yet rendered components ([9c23ddf](https://github.com/vuejs/core/commit/9c23ddf9c593dcf6d20bc911ec95d9b674f23dc8)) - **runtime-core:** components with static props and slots should not be force updated ([51e43e0](https://github.com/vuejs/core/commit/51e43e07998eeade153c42a9a9b3eda8fe885c88)) - **runtime-core:** ensure scheduler queue is always non-null ([#&#8203;2567](https://github.com/vuejs/core/issues/2567)) ([af95604](https://github.com/vuejs/core/commit/af9560455d9719a4c5f0d6588d04bfb4c06c8654)) - **runtime-dom:** use correct import source ([f28ca55](https://github.com/vuejs/core/commit/f28ca556925147bb109d5ba77c5dafaf17d57322)) - **style-vars:** apply css vars in post flush effect ([3a6b120](https://github.com/vuejs/core/commit/3a6b1207fa39cb35eed5bae0b5fdcdb465926bca)) - handle case of ref declaration without initial value ([8485cd4](https://github.com/vuejs/core/commit/8485cd48437bf47880a61b03c57090e8bfdf527b)) - **types:** ensure correct type for toRef and toRefs on existing refs ([8e20375](https://github.com/vuejs/core/commit/8e2037537219219d5ab6456e8a29bd0235eac311)) ##### Experimental Features > Note: support for experimental features in SFCs have been updated according to changes in ongoing RFCs. This release may break existing usage of such experimental features. - **compiler-sfc:** compileScript inline render function mode ([886ed76](https://github.com/vuejs/core/commit/886ed7681dd203c07ff3b504538328f43e14d9b0)) - **compiler-sfc:** new script setup implementation ([556560f](https://github.com/vuejs/core/commit/556560fae31d9e406cfae656089657b6332686c1)) - **compiler-sfc:** new SFC css varaible injection implementation ([41bb7fa](https://github.com/vuejs/core/commit/41bb7fa330e78c4a354a2e67742bd13bee2f4293)) - **compiler-sfc:** support kebab-case components in `<script setup>` sfc template ([3f99e23](https://github.com/vuejs/core/commit/3f99e239e03a8861c462d4ee91feb82066ab3e28)) - **runtime-core:** explicit expose API ([0e59770](https://github.com/vuejs/core/commit/0e59770b9282992f6a5af4d8fef33dafb948fc8b)) ##### Reverts - Revert "wip: allow scriptCompiled to be cached on sfc descriptor" ([9db4288](https://github.com/vuejs/core/commit/9db42889e65a0e80cdbae5c19d76dab4f9fadb6d)) ### [`v3.0.2`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;302-httpsgithubcomvuejscorecomparev301v302-2020-10-20) [Compare Source](https://github.com/vuejs/core/compare/v3.0.1...v3.0.2) ##### Bug Fixes - **compiler:** stringify values on v-text ([#&#8203;2432](https://github.com/vuejs/core/issues/2432)) ([314ab2c](https://github.com/vuejs/core/commit/314ab2c7c5dec56d9b117ac3bb988f19d92cf126)), closes [#&#8203;2430](https://github.com/vuejs/core/issues/2430) - **compiler-core:** fix multiline member expression check ([#&#8203;2436](https://github.com/vuejs/core/issues/2436)) ([6d2a1cb](https://github.com/vuejs/core/commit/6d2a1cb64d090c482ed2cde7311f81b33e0f8d90)), closes [#&#8203;2426](https://github.com/vuejs/core/issues/2426) - **reactivity:** track length on for in iteration on Array ([0e5a3c4](https://github.com/vuejs/core/commit/0e5a3c47a7398dfd0107fccf9b615772dd01aa74)), closes [#&#8203;2427](https://github.com/vuejs/core/issues/2427) - **runtime-core:** avoid mutating EMPTY_ARR when setting dev root ([#&#8203;2419](https://github.com/vuejs/core/issues/2419)) ([edd49dc](https://github.com/vuejs/core/commit/edd49dcab40eb3faa44248772b176d5eebfd30fe)), closes [#&#8203;2413](https://github.com/vuejs/core/issues/2413) - **runtime-core:** avoid object prototype keys in property access cache ([#&#8203;2416](https://github.com/vuejs/core/issues/2416)) ([ba881f9](https://github.com/vuejs/core/commit/ba881f9190510c613f04950b69d78f6af1a90e06)) - **runtime-core:** fix component .once listener logic ([4bbb2b2](https://github.com/vuejs/core/commit/4bbb2b2ee6866ed80cb542c2ff24207b4bd09bda)) - **runtime-core:** non-stable Fragment should always unmount its children ([#&#8203;2445](https://github.com/vuejs/core/issues/2445)) ([fff62e2](https://github.com/vuejs/core/commit/fff62e2ee8accf31bb5ac5abdb4c0636216cfd0e)), closes [#&#8203;2444](https://github.com/vuejs/core/issues/2444) - **runtime-core:** prevent self-injection ([#&#8203;2424](https://github.com/vuejs/core/issues/2424)) ([111d04f](https://github.com/vuejs/core/commit/111d04f119a2b2d0b1a1790a063b152c17787943)), closes [#&#8203;2400](https://github.com/vuejs/core/issues/2400) - **suspense:** fix suspense nested child updates in template mode ([0227b4a](https://github.com/vuejs/core/commit/0227b4a697afd598f6fa279a1a7ce84242e68f43)), closes [#&#8203;2214](https://github.com/vuejs/core/issues/2214) - **types:** h support for resolveComponent ([#&#8203;2402](https://github.com/vuejs/core/issues/2402)) ([1f2a652](https://github.com/vuejs/core/commit/1f2a652a9d2e3bec472fb1786a4c16d6ccfa1fb1)), closes [#&#8203;2357](https://github.com/vuejs/core/issues/2357) - **v-model:** built in modifiers support on component ([#&#8203;2348](https://github.com/vuejs/core/issues/2348)) ([128ec46](https://github.com/vuejs/core/commit/128ec460ec00ca8672352d019b264c80dfd0c3b0)), closes [#&#8203;2326](https://github.com/vuejs/core/issues/2326) ##### Features - **compile-core:** handle falsy dynamic args for v-on and v-bind ([#&#8203;2393](https://github.com/vuejs/core/issues/2393)) ([052a621](https://github.com/vuejs/core/commit/052a621762c5f7c420464747ebbbed27c7350593)), closes [#&#8203;2388](https://github.com/vuejs/core/issues/2388) ### [`v3.0.1`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;3011-httpsgithubcomvuejscorecomparev3010v3011-2021-04-01) [Compare Source](https://github.com/vuejs/core/compare/v3.0.0...v3.0.1) ##### Bug Fixes - **compiler-sfc:** fix wrong scopeId for nested `<script setup>` components ([7f7dcc9](https://github.com/vuejs/core/commit/7f7dcc9f7d9a036df366453e2bf228f29c0bef82)) - **runtime-core:** fix render function + optimized slot edge case ([#&#8203;3523](https://github.com/vuejs/core/issues/3523)) ([995d76b](https://github.com/vuejs/core/commit/995d76bd128c3f4d264f10212f2a8e8946f58a62)), closes [#&#8203;2893](https://github.com/vuejs/core/issues/2893) - **runtime-core:** fix v-on object kebab-case event emit matching ([c1cd42e](https://github.com/vuejs/core/commit/c1cd42e627bdeb561d54e64ea5fea87ccbbae637)), closes [#&#8203;3527](https://github.com/vuejs/core/issues/3527) ### [`v3.0.0`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#&#8203;300-httpsgithubcomvuejscorecomparev300-rc13v300-2020-09-18) [Compare Source](https://github.com/vuejs/core/compare/612fb89547711cacb030a3893a0065b785802860...v3.0.0) ### [`v2.6.14`](https://github.com/vuejs/core/compare/18660336a05f667927c5ed5117771d13984ff7b0...612fb89547711cacb030a3893a0065b785802860) [Compare Source](https://github.com/vuejs/core/compare/18660336a05f667927c5ed5117771d13984ff7b0...612fb89547711cacb030a3893a0065b785802860) ### [`v2.6.13`](https://github.com/vuejs/core/compare/bb253db0b3e17124b6d1fe93fbf2db35470a1347...18660336a05f667927c5ed5117771d13984ff7b0) [Compare Source](https://github.com/vuejs/core/compare/bb253db0b3e17124b6d1fe93fbf2db35470a1347...18660336a05f667927c5ed5117771d13984ff7b0) </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
renovate-bot added 1 commit 2022-02-07 05:08:48 +00:00
continuous-integration/drone/push Build is passing Details
0d3e9b7c67
chore(deps): update dependency vue to v3
nemunaire closed this pull request 2022-02-07 09:43:05 +00:00
Author
Collaborator

Renovate Ignore Notification

As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for any future 3.x releases. However, if you upgrade to 3.x manually then Renovate will reenable minor and patch updates automatically.

If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.

### Renovate Ignore Notification As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for *any* future 3.x releases. However, if you upgrade to 3.x manually then Renovate will reenable minor and patch updates automatically. If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.
All checks were successful
continuous-integration/drone/push Build is passing

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: happyDomain/happyDomain#43
No description provided.