Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
13 contributors

Users who have contributed to this file

@yyx990803 @ClaudioEyzaguirre @syuilo @scottbedard @reed-jones @ChangJoo-Park @Necmttn @jiangying000 @wwwenjie @davidbernegger @DKhalil @mathe42
3042 lines (2128 sloc) 341 KB

3.3.0-alpha.4 (2023-02-06)

Bug Fixes

  • build: fix const enum w/ number values (92bb189)

3.3.0-alpha.3 (2023-02-06)

Bug Fixes

  • build: avoid const enum conflicts (d1181ad)

3.3.0-alpha.2 (2023-02-05)

Bug Fixes

  • build: fix dev flag replacement in esm-bundler builds (5851eaa)

3.3.0-alpha.1 (2023-02-05)

Bug Fixes

  • build: ensure BaseTransition functions can be tree-shaken (3a6f5eb)

3.2.47 (2023-02-02)

Bug Fixes

  • build: enforce __esModule interop for cjs builds (4b70366)

3.2.46 (2023-02-02)

Bug Fixes

  • build: ensure cjs re-exports can be properly detected when imported from esm (fb6ff3e)
  • build: ensure type exports is first (957722c)
  • build: fix cjs re-exports check for compat build (ce064a1)
  • compat: fix custom transition classes in compat mode (#7435) (efe2efd), closes #6253
  • compiler-core: typeof should be allowed in browser expression validation (#7037) (3783866)
  • compiler-sfc: allow declaring variables after defineProps (#7461) (686c829)
  • compiler-sfc: always generate runtime prop type for Function (#7112) (584eae6), closes #7111
  • compiler-sfc: support resolving type declaration from normal script (#5831) (30399d4), closes #5830
  • compiler: add hgroup to supported HTML_TAGS (#6321) (7443174), closes #6313
  • custom-elements: use strict number casting (7d0c63f), closes #4946 #2598 #2604
  • customElement: customElement can emit event (#7296) (c6e5bda)
  • reactivity-transform: fix $$ escape edge cases (e06d3b6), closes #6312 #6944
  • reactivity-transform: prohibit const assignment at compile time (#6993) (3427052), closes #6992
  • reactivity: triggerRef working with toRef from reactive (#7507) (e64c9ae)
  • reactivity: ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope (fix #7319) (#7330) (cd7c887)
  • reactivity: track hasOwnProperty (588bd44), closes #2619 #2621
  • runtime-core: ensure prop type validation warning shows custom class names (#7198) (620327d)
  • runtime-core: fix keep-alive cache prune logic on vnodes with same type but different keys (#7510) (1fde49c), closes #7355
  • runtime-core: set scope id before props (#6948) (da2ced1), closes #6923
  • runtime-dom: style update error when component use shorthand properties (#7425) (b7cfa6f)
  • shared: feDistanceLight changed to feDistantLight (#7540) (bef85e7)
  • shared: toNumber should only coerce strings (b55846f)
  • types/effectScope: re-expose active as readonly property (#6187) (59ffe5e), closes #6186
  • types: accept sync serverPrefetch() (#7000) (5f1883e)
  • types: add or update referrerpolicy (#7199) (1fa3d95)
  • types: allow assigning wider SetupContext type (#2818) (eb2a832), closes #2362
  • types: optional boolean props should have boolean type in return type of defineProps (#7619) (a0a010d), closes #7116 #5847 #7487
  • v-model: ensure v-model listener casing is consistent with manual v-on listener (#7067) (87c72ae), closes #7066

3.2.45 (2022-11-11)

Bug Fixes

  • compiler/v-model: catch incorrect v-model usage on prop bindings (001184e), closes #5584
  • custom-elements: also dispatch hyphenated version of emitted events (#5378) (0b39e46), closes #5373
  • custom-elements: custom element should re-instantiate when inserted again (#6966) (67890da), closes #6934
  • custom-elements: define declared properties in constructor (#5328) (55382ae)
  • custom-elements: ensure custom elements can inherit provides from ancestors (#5098) (192dcb6), closes #5096
  • custom-elements: fix event emitting for async custom elements (#5601) (665f2ae), closes #5599
  • custom-elements: fix number type props casting check (89f37ce), closes #5793 #5794
  • custom-elements: properties set pre-upgrade should not show up in $attrs (afe8899)
  • custom-elements: respect slot props in custom element mode (ffef822)
  • custom-elements: should not reflect non-decalred properties set before upgrade (5e50909)
  • hmr/keep-alive: fix error in reload component (#7049) (a54bff2), closes #7042
  • runtime-core: fix move/removal of static fragments containing text nodes (#6858) (4049ffc), closes #6852
  • sfc: also generate getter for import bindings during dev (0594400)
  • sfc: ensure <script setup> binding behavior consistency on this between prod and dev (f73925d), closes #6248
  • sfc: ensure consistent dev/prod behavior for non-reactive variables declared in <script setup> (5a3d45a), closes #5655
  • teleport/css-v-bind: fix css v-bind for teleported content (42239cf), closes #4605 #4609
  • teleport/css-v-bind: fix css v-bind in teleport in child component slot (11214ee)
  • v-model: fix incorrect codegen for non-ref bindings (15e889a), closes #6241

3.2.44 (2022-11-09)

Bug Fixes

  • watch: for immediate watch with single source, ensure cb is called with undefined as oldValue (#7075) (5dc593b), closes #7074

3.2.43 (2022-11-09)

Bug Fixes

  • watch: ensure oldValue in multi-source watcher is always an array (23e85e2), closes #7070

3.2.42 (2022-11-09)

Bug Fixes

  • compiler-core/v-on: only apply case preservation on native elements (#6902) (5bfe438), closes #6900
  • compiler-core/v-on: support inline handler with return type annotation (#6769) (bcfe480), closes #6378
  • compiler-core: avoid duplicate keys in codegen with v-if (#6689) (640cfce), closes #6641
  • compiler-core: fix parsing error on comments between v-if in prod (dd3354c), closes #6843
  • compiler-core: keep whitespaces between interpolation and comment (#6828) (4887618), closes #6352
  • compiler-sfc: add semicolon after defineProps statement (#6461) (b72a4af), closes #6428
  • compiler-sfc: allow type annotation for defineEmits variable (#5394) (eab7604), closes #5393
  • compiler-sfc: check import source during binding analysation (#6826) (4a00fdd), closes #6825
  • compiler-sfc: fix binding analysis for aliased late import (8d1f526)
  • compiler-sfc: fix macro usage in multi-variable declaration (#6778) (99b6697), closes #6757
  • compiler-sfc: handle method shorthand syntax in withDefaults (#6972) (8a882ce), closes #6971
  • compiler-sfc: only escape parsing-breaking characters in v-bind css var names (#6816) (57c9013), closes #6803
  • compiler-sfc: require <template> or <script> in SFC (#6781) (a0c7f27), closes #6676
  • compiler-sfc: resolve computed object key (#6963) (910fa76)
  • compiler-sfc: support using extends interface with defineProps() (#4512) (83f7e6f), closes #4498
  • compiler-ssr: fix invalid codegen when v-slot name is explicit empty attr (#3326) (09bb3e9)
  • compiler/runtime-dom: ignore comments in inline styles (#6808) (50e2253), closes #6807
  • compiler: avoid namespace collisions when transforming template refs in inline mode (#6975) (2c27556), closes #6964
  • hmr: fix hmr for components managed by keep-alive (#6809) (bdaf83a), closes #6222
  • reactivity-transform: add semicolon after statements (#6303) (c4f213b)
  • reactivity-transform: respect user defined symbols that conflict with macros (#6840) (7663a79), closes #6838
  • reactivity: enable trigger when use str to set length of arr (#6810) (e6224f4)
  • runtime-core: in operator returning false for built-in instance properties in exposeProxy (#6138) (32b5124), closes #6137
  • runtime-core: custom-element: ensure number casting of camelCase props. (fix: #5374) (#5377) (b0b74a1)
  • runtime-core: do not throw on unknown directives (#6671) (0455378), closes #6340
  • runtime-core: ensure props definition objects are not mutated during props normalization (close: #6915) (#6916) (54b6ba3)
  • runtime-core: watching multiple values - handle undefined as initial values (fix: #5032) (#5033) (bc167b5)
  • runtime-dom: ensure customElement handles empty props correctly. (#6182) (f67bb50), closes #6163 #6895
  • sfc/types: improve the type inference using withDefaults (#6764) (168c857), closes #6552
  • shared: fix parsing of multi-line inline style (#6777) (9768949)
  • ssr: remove css number value check (#6636) (79e7c1e), closes #6625
  • transition/keep-alive: fix unmount bug for component with out-in transition (#6839) (64e6d92), closes #6835
  • types/reactivity-transform: fix type when initial value is not used (#6821) (fdc5902), closes #6820
  • types: $watch callback parameters type (#6136) (41d9c47), closes #6135
  • types: ensure createBlock() helper accepts Teleport and Supsense types (fix: #2855) (#5458) (e5fc7dc)
  • types: export Raw type (#6380) (e9172db), closes #7048
  • types: should unwrap tuple correctly (#3820) (e816812), closes #3819
  • types: stricter type condition for EventHandlers (#6855) (bad3f3c), closes #6899
  • types: support inferring injected properties in options api (#6804) (e4de623), closes #3031 #5931
  • v-model: fix trim modifier on events with non-string args ( (#5770) (018b850), closes #5765

3.2.41 (2022-10-14)

Bug Fixes

  • devtools: avoid memory leak caused by devtools event buffer (24f4c47), closes #6591
  • devtools: use cleanupBuffer instead of modifying _buffer (#6812) (35a113e)
  • effectScope: calling off() of a detached scope should not break currentScope (a71f9ac)
  • runtime-core: ensure that errors in slot function execution do not affect block tracking (#5670) (82a73da), closes #5657
  • runtime-core: fix v-for ref reactivity behavior difference between prod and dev (#6714) (9ae796d), closes #6697
  • runtime-dom: fix event timestamp check in iframes (5ee4053), closes #2513 #3933 #5474

3.2.40 (2022-09-28)

Bug Fixes

  • compat: list cjs dependencies for compat build (96cd924), closes #6602
  • compiler-dom: remove v-bind boolean attribute with literal false value when stringifying (#6635) (6c6fe2c), closes #6617
  • compiler-sfc: fix expression check for v-on with object literal value (#6652) (6958ec1), closes #6650 #6674
  • compilre-core: dynamic v-on and static v-on should be merged (#6747) (f9d43b9), closes #6742
  • runtime-core: avoid hoisted vnodes retaining detached DOM nodes (fc5bdb3), closes #6591
  • runtime-core: Lifecycle hooks should support callbacks shared by reference (#6687) (c71a08e), closes #6686
  • runtime-core: remove prod-only hoisted clone behavior for manual DOM manipulation compat (aa70188), closes #6727 #6739
  • runtime-core: unset removed props first in full diff mode (c0d8db8), closes #6571
  • runtime-dom: fix unnecessary warning when setting coerced dom property value (b1817fe), closes #6616
  • ssr: avoid ast.helpers duplication (#6664) (57ffc3e)
  • ssr: fix dynamic slot regression in ssr (8963c55), closes #6651
  • ssr: fix hydration mismatch when entire multi-root template is stringified (9698dd3), closes #6637
  • ssr: fix pre tag windows newline hydration mismatch (0382019), closes #6410
  • ssr: respect case when rendering dynamic attrs on svg (121eb32), closes #6755

3.2.39 (2022-09-08)

Bug Fixes

  • runtime-core: avoid double firing when mounting inside a watcher callback (6aaf8ef), closes #6614
  • runtime-core: support extends template for runtime compiler (#6250) (9875ecd), closes #6249
  • ssr: reset current instance (#6184) (6493da5), closes #6110
  • types: support TypeScript 4.8 (5381abc), closes #6554

3.2.38 (2022-08-30)

Bug Fixes

  • compiler-sfc: fix template usage check edge case for v-on statements (769e555)
  • compiler-sfc: only add decorators-legacy parser plugin when new decorators plugin is not used (3ff8369)
  • compiler-sfc: rewriteDefault for class with decorators (#6320) (81a7819), closes #6318
  • custom-element: fix event listeners with capital letter event names on custom elements (0739f89)
  • hmr: fix HMR for nested non-SFC components (#4077) (96eb745)
  • reactivity: fix shallow/readonly edge cases (a95554d)
  • runtime-core: only set cache for object keys (#6266) (c3465c1)
  • slots: ensure different branches of dynamic slots have different keys (00036bb), closes #6202
  • ssr: forward helpers provided by CSS v-bind (#6489) (2024d11), closes #6201
  • types: add types field for sub package exports (c1ee6ca)
  • types: fix on* props incorrect type for TS 4.7 (#6216) (8dcb6c7), closes #6052
  • watch: flush:pre watchers should not fire if state change causes (78c199d), closes #2291

Features

  • custom-elements: automatically respect custom elements when compiling in browser (9f8f07e)

Performance Improvements

3.2.37 (2022-06-06)

Bug Fixes

  • compiler-sfc: improve css v-bind parsing (e60244b), closes #6022
  • runtime-core: hydrate Static vnode (#6015) (11e17a1), closes #6008
  • sfc: avoid auto name inference leading to unwanted recursion (9734b31), closes #5965 #6027 #6029
  • ssr: ensure app can be unmounted when created with createSSRApp() (#5992) (d4d3319), closes #5990
  • ssr: hydration for transition wrapper components with empty slot content (#5995) (eb22a62), closes #5991

3.2.36 (2022-05-23)

Bug Fixes

  • compat: fix app-level asset registration affecting other local apps (#5979) (7fb5732)
  • compat: fix globalProperties pollution in v3 mode (2f07e34), closes #5699
  • compiler-core: fix svg with directives being incorrectly hoisted (#5919) (7fbc933), closes #5289
  • sfc/types: allow use default factory for primitive types in withDefaults (#5939) (b546282), closes #5938
  • transition: fix cancel leave regression (#5974) (dddbd96), closes #5973

Performance Improvements

3.2.35 (2022-05-20)

Bug Fixes

  • compiler-sfc: fix usage detection for types in v-for/v-slot expressions (583b625), closes #5959
  • types: fix typescript error when spreading $props(#5968) (0c7fd13)
  • types: restore DefineComponent argument order (8071ef4), closes #5416 #3796 #5967

3.2.34 (2022-05-19)

Bug Fixes

  • compiler-core: should generate HYDRATE_EVENTS flag on dynamic component that resolves to element (415091b), closes #5870
  • compiler-sfc: support export { default } from '...' (#5937) (73e6523), closes #5935
  • compiler-sfc: type-only defineProps does not recognize Promise (fix #5941) (#5943) (991d623)
  • compiler-ssr: fix component event handlers inheritance in ssr (f811dc2), closes #5664
  • compiler-ssr: fix wrong attrs fallthrough on non-single-root v-if branches (516bc54), closes #5140
  • compiler-ssr: only inject fallthrough attrs for root transition/keep-alive (c65b805)
  • keep-alive: fix keep-alive rendering when placed in vnode branch (0841b9b), closes #4817
  • runtime-core: adjust force diff of dev root fragments (cdda49b), closes #5946
  • ssr/teleport: support nested teleports in ssr (595263c), closes #5242
  • ssr: fix hydration error on falsy v-if inside transition/keep-alive (ee4186e), closes #5352
  • ssr: fix hydration error when teleport is used as component root (b60cff0), closes #4293
  • ssr: fix hydration error when transition contains comment children (3705b3b), closes #5351
  • ssr: fix hydration for slot with empty text node (939209c), closes #5728
  • ssr: fix hydration mismatch caused by multi-line comments inside slot (e1bc268), closes #5355
  • ssr: inherit scope id on functional component during ssr (847d7f7), closes #5817
  • ssr: render fallthrough attributes for transition-group with tag (aed10c5), closes #5141
  • ssr: support client-compiled v-model with dynamic type during ssr (#5787) (c03459b), closes #5786
  • types: export ComponentProvideOptions (#5947) (3e2850f)
  • types: fix defineComponent inference to Component (#5949) (7c8f457)

3.2.34-beta.1 (2022-05-17)

Bug Fixes

  • compiler-core: normalize v-bind:style with array literal value (0f00cf4), closes #5106
  • compiler-core: template v-if should never be treated as dev root fragment (51f3d38), closes #5189
  • compiler-dom: properly stringify v-html/v-text with constant value (6283b2e), closes #5439 #5445
  • compiler-sfc: <script> after <script setup> the script content not end with \\n (3b7b107)
  • compiler-sfc: add test for #5808 (a0290fe)
  • compiler-sfc: async transformer doesn't correctly detect need for semicolon in block #5808 (6c3b681)
  • compiler-sfc: automatically infer component name from filename when using script setup (#4997) (1693924), closes #4993
  • compiler-sfc: defineProps return binding or rest binding should be considered reactive (4101441)
  • compiler-sfc: ensure consistent behavior of export default render with script setup (b7025d2), closes #4980
  • compiler-sfc: fix defineEmits() scope reference check error message (#5404) (f2c48f5)
  • compiler-sfc: fix object default values for reactive props destructure (7dfe146)
  • compiler-sfc: fix skipped srcset transform when using base option (41d255b), closes #4835 #4819 #4834 #4835
  • compiler-sfc: fix template usage check false positives on types (ccf9256), closes #5414
  • compiler-sfc: fix treeshaking of namespace import when used in template (8a123ac), closes #5209
  • compiler-sfc: remove the jsx from the babelParserPlugins when not match the case of adding jsx (#5846) (7d7a241), closes #5845
  • keep-alive: fix unmounting late-included components (da49c86), closes #3648 #3650
  • keep-alive: invoke initial activated hook for async components (20ed16f), closes #5459 #5095 #5651
  • reactivity-transform: fix props access codegen for non-identifier prop names (#5436) (242914d), closes #5425
  • reactivity: ensure computed is invalidated before other effects (82bdf86), closes #5720
  • reactivity: ios10.x compatibility (#4900) (b87dc06)
  • runtime-core: clone root vnode before inheriting directives (d36ca4d)
  • runtime-core: ensure consistent behavior between dev/prod on invalid v-for range (67099fe), closes #5867
  • runtime-core: ensure consistent identity of $forceUpdate and $nextTick instance methods (d52907f), closes #5556
  • runtime-core: ensure raw slot function is only normalized once (#5358) (e4dffe9), closes #5343
  • runtime-core: fix activated hook when using async component with KeepAlive (#5459) (f1d1cdb), closes #5095 #5651
  • runtime-core: fix directive inheritance on dev root fragment (2bab639), closes #5523
  • runtime-core: fix missed updates when passing vnode to (ba17792), closes #4903
  • runtime-core: handle NaN identity check in v-memo (#5852) (a388129), closes #5853
  • runtime-core: transition hooks can be arrays of functions (#5177) (fec12d7)
  • runtime-dom: "el._assign is not a function" in compat mode (#4121) (e58277f)
  • sfc-playground: default selected app (#5370) (04fff05)
  • shared: improve isDate check (#5803) (eef1447)
  • shared: missed Symbol judge in looseEqual (#3553) (0aeb4bc)
  • ssr/sfc-css-vars: fix v-bind css vars codegen for SSR (efea4a8), closes #5443 #5444
  • ssr: don't warn for missing teleport target if disabled (#5135) (da10dd7)
  • ssr: fix hydration error for slot outlet inside transition (9309b04), closes #3989
  • ssr: fix ssr render output for fragment in slots (70c2d5b), closes #5859
  • ssr: implement empty read() on node stream (c355c4b), closes #3846 #3867
  • ssr: render teleport inside async component (#5187) (4d7803e)
  • ssr: resolve teleports for stream render APIs (77fef97)
  • ssr: should de-optimize on vnode with PatchFlags.BAIL (#4818) (cd659fc), closes #4679 #5771
  • ssr: should not hoist transformed asset urls in ssr compile (57bb37b), closes #3874
  • transition/v-show: ensure transition is in persisted mode when used with v-show (425310e), closes #4845 #4852
  • transition: handle edge case of cancel leave before next frame (59cf295), closes #4462
  • types: add Set<any> to checkbox binding type for v-model (#5713) (e5a9089)
  • types: allow css variables in style binding (#5542) (9def7aa)
  • types: allow indeterminate for checkbox (#3473) (d4fcfdd)
  • types: keep the original type when unwrapping markRaw (#3791) (32e53bf)
  • types: preserve and expose original options on defineComponent return type (#5416) (98b821d), closes #3796
  • v-model: exclude range from lazy guard logic (8c51c65), closes #5875
  • v-model: fix case where .trim and .number modifiers are used together (#5842) (71066b5), closes #5839
  • watch: fix flush: pre watchers triggered synchronously in setup (74d2a76), closes #5721
  • watch: fix watching multiple sources containing shallowRef (#5381) (220f255), closes #5371

Features

  • types: avoid props JSDocs loss by default option (#5871) (c901dca)

3.2.33 (2022-04-14)

Bug Fixes

  • compat: copy additional properties for functions bound via globalProperties (#4873) (1612971), closes #4403
  • compiler-sfc: handle type modifier in import specifiers (#5498) (8e29ef6)
  • custom-elements: work with async component + slots (#4657) (f4d2c9f), closes #4639
  • reactivity-transform: should not rewrite catch param (#5711) (1f14f19), closes #5709
  • reactivity: fix ref tracking of self-stopping effects (154233a), closes #5707
  • runtime-core: ensure custom events are not emitted anymore after unmount. (#5679) (71c9536), closes #5674
  • runtime-core: fix use of non-existent-in-prod internal property in defineProperty trap (f641c4b), closes #5710
  • runtime-dom: catch more cases of DOM property setting error (#5552) (fa1d14c), closes #5545
  • runtime-dom: patch translate as an attr (#5485) (2c09969), closes #5462
  • runtime-dom: properly handle style properties with undefined values (#5348) (85af139), closes #5322
  • ssr: avoid rendering reserved internal keys in output (#5564) (cc238cd), closes #5563
  • transition: fix broken leave transition on dev root fragment (#5268) (767d212)
  • transition: handle transition for v-if branches with comment (62eba63), closes #5675

3.2.32 (2022-04-12)

Bug Fixes

  • devtools: perf: use high-resolution time (1070f12)
  • reactivity: fix currentScope loss when running detached effect scope (#5575) (0a301d4)
  • runtime-core/template-ref: named ref in v-for regression fix (#5118) (cee1eaf), closes #5116 #5447 #5525
  • runtime-core: allow spying on proxy methods regression (#5417) (1574edd), closes #5415 #4216
  • runtime-core: Avoid mutating original options object in createApp (#4840) (d121a9b), closes #4398
  • runtime-core: ensure custom directive instance properly exposes properties on closed instances. (#5022) (f44087e), closes #5018
  • runtime-core: fix event listener as dynamicProp is added erroneously to props (#5517) (8eceabd), closes #5520
  • transition: ensure flattened transition group children inherit parent keys (4311ddd), closes #4718 #5360 #5392

3.2.31 (2022-02-12)

Bug Fixes

  • compiler-ssr: no need to inject resolveDirective calls for setup custom directives (436c500)
  • runtime-core: allow spying on proxy methods (#4216) (8457d8b)
  • ssr: always hydrate children for HMR (#5406) (0342fae), closes #5405

3.2.30 (2022-02-07)

Features

  • ssr: support custom directive getSSRProps in optimized compilation (60cf175), closes #5304

Performance Improvements

  • reactivity: optimize effect/effectScope active state tracking (2993a24)

3.2.29 (2022-01-23)

Bug Fixes

  • compiler-sfc: fix css v-bind inside other css functions (16fa18d), closes #5302 #5306
  • reactivity: ensure readonly refs can be replaced with new refs in reactive objects (#5310) (4be1037), closes #5307
  • runtime-dom: fix static content re-insertion (9aa5dfd), closes #5308

3.2.28 (2022-01-21)

  • build: fix build script (3d80b15)
  • fix(compat): convertLegacyVModelProps should merge model option in mixins (#5251) (72130ac), closes #5251
  • fix(compat): ensure fallthrough *Native events are not dropped during props update (#5228) (97f6bd9), closes #5228
  • fix(compat): simulate Vue 2.6.14 version in compat build (#5293) (d0b9708), closes #5293
  • fix(compiler-core): handle v-memo in template v-for (#5291) (9f55e6f), closes #5291 #5288
  • fix(compiler-sfc): support complex expression in CSS v-bind() (#5114) (95d49bf), closes #5114 #5109
  • fix(compiler-sfc/reactivity-transform): fix edge case where normal script has ref macros but script (4768f26)
  • fix(reactivity-transform): apply transform for labelled variable declarations (a05b000), closes /github.com/vuejs/core/issues/5298#issuecomment-1017970061
  • fix(reactivity-transform): apply transform on exported variable declarations (a81a992), closes #5298
  • fix(reactivity): differentiate shallow/deep proxies of same target when nested in reactive (9c304bf), closes #5271
  • fix(reactivity): mutating a readonly ref nested in a reactive object should fail. (#5048) (171f5e9), closes #5048 #5042
  • fix(runtime-core): ensure mergeProps skips undefined event handlers (#5299) (c35ec47), closes #5299 #5296
  • fix(ssr): only cache computed getters during render phase (2f91872), closes #5300
  • fix(types): calling readonly() with ref() should return Readonly<Ref> (#5212) (c64907d), closes #5212
  • refactor: includes instead of indexOf (#5117) (63210fe), closes #5117
  • chore: bump marked (0c06c74)
  • chore: comment dom tag config usage [ci skip] (b2bac9f)
  • chore: fix typo (#5261) [ci skip] (e603fd2), closes #5261
  • chore: fix typo (#5282) [ci skip] (e802275), closes #5282
  • chore: type improvements (#5264) (92e04a6), closes #5264
  • chore: update repo references (ae4b078)
  • perf(reactivity): optimize effect run condition (25bc654)
  • feat(reactivity): add isShallow api (9fda941)
  • docs(contributing): missing structure info for compiler-sfc (#3559) [ci skip] (8cbfe09), closes #3559

3.2.27 (2022-01-16)

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)

3.2.26 (2021-12-12)

3.2.25 (2021-12-12)

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)

3.2.24 (2021-12-06)

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)

3.2.23 (2021-11-26)

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

  • compiler-sfc: export resolveTemplateUsageCheckString for HMR plugin use (#4908) (c61baac)
  • compiler-sfc: expose properties for more accurate HMR (68c45e7), closes #4358 #4908

3.2.22 (2021-11-15)

Bug Fixes

  • compiler-sfc: add type for props include Function in prod mode (#4938) (9c42a1e)
  • compiler-sfc: add type for props's properties in prod mode (#4790) (090df08), closes #4783
  • compiler-sfc: externalRE support automatic http/https prefix url pattern (#4922) (574070f), closes #4920
  • compiler-sfc: fix expose codegen edge case (#4919) (31fd590), closes #4917
  • devtool: improve devtools late injection browser env detection (#4890) (fa2237f)
  • runtime-core: improve dedupe listeners when attr fallthrough (#4912) (b4eb7e3), closes #4859
  • types/sfc: fix withDefaults type inference when using union types (#4925) (04e5835)

3.2.21 (2021-11-02)

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

3.2.20 (2021-10-08)

Bug Fixes

  • compiler-sfc: fix props codegen w/ leading import (d4c04e9), closes #4764
  • compiler-sfc: support runtime Enum in normal script (#4698) (f66d456)
  • devtools: clear devtools buffer after timeout (f4639e0), closes #4738
  • hmr: fix hmr for components with no active instance yet (9e3d773), closes #4757
  • types: ensure that DeepReadonly handles Ref type properly (#4714) (ed0071a)
  • types: make toRef return correct type(fix #4732) (#4734) (925bc34)

Features

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

3.2.19 (2021-09-25)

Bug Fixes

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

3.2.18 (2021-09-24)

3.2.17 (2021-09-24)

Bug Fixes

  • build: avoid importing @babel/parser in esm-bundler build (fc85ad2), closes #4665

3.2.16 (2021-09-23)

Bug Fixes

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

3.2.15 (2021-09-23)

Bug Fixes

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

3.2.14 (2021-09-22)

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)

3.2.13 (2021-09-21)

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)

3.2.12 (2021-09-17)

Bug Fixes

  • compile-sfc: add symbol judge in prop type checks. (#4594) (fcd5422), closes #4592
  • compiler-core: v-on inline async function expression handler (#4569) (fc968d6), closes #4568
  • compiler-sfc: fix TLA codegen semicolon insertion (39cebf5), closes #4596
  • compiler-sfc: handle empty strings during template usage analysis of setup bindings (#4608) (bdb1a79), closes #4599
  • compiler-sfc: properly analyze destructured bindings with dynamic keys (a6e5f82), closes #4540
  • compiler-sfc: properly reuse hoisted asset imports (06c5bf5), closes #4581
  • compiler-sfc: register exported bindings in normal script when using script setup (#4601) (8055445), closes #4600
  • compiler-sfc: support nested await statements (#4458) (ae942cd), closes #4448
  • compiler-ssr: handle v-memo in ssr compilation (dd9a276)
  • compiler: fix template ref codegen for setup-maybe-ref binding types (#4549) (f29d061), closes #4546
  • custom-elements: fix number prop casting (0cfa211), closes #4370 #4393
  • runtime-core: avoid script setup bindings overwriting reserved ctx properties (#4570) (14fcced)
  • suspense: fix suspense slot inside deoptimized slot call (141a5e1), closes #4556

3.2.11 (2021-09-08)

Bug Fixes

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

3.2.10 (2021-09-07)

Bug Fixes

  • build: build vue-compat in default exports mode (#4460) (7575733)
  • compiler-core: avoid runtime dependency on @babel/types (1045590), closes #4531
  • compiler-core: pick last char when dynamic directive doesn't close (#4507) (5d262e0)
  • compiler: condense whitespaces in static class attributes (#4432) (b8653d3), closes #4251
  • runtime-dom: style patching shoud always preserve v-show display property (d534515), closes #4424
  • type: fix prop type infer (#4530) (4178d5d), closes #4525

3.2.9 (2021-09-05)

Bug Fixes

  • compile-sfc: generate setup prop type format error (#4506) (e6fe751), closes #4505
  • compile-sfc: support Date prop type with defineProps (#4519) (fac9a29)
  • compiler-sfc: fix script setup ref assignment codegen edge case (#4520) (5594643), closes #4514
  • compiler-sfc: support using declared interface in normal script with defineProps() (#4522) (14d6518), closes #4423
  • ref-transform: not transform the prototype attributes. (#4503) (0178f4e), closes #4502
  • types/ref-transform: fix $$() type (5852cc8)
  • types: fix ref macro types (815bfcf), closes #4499

3.2.8 (2021-09-02)

Bug Fixes

  • compiler-sfc: ensure script setup generates type-valid ts output (bacb201), closes #4455
  • compiler-sfc: generate matching prop types when withDefaults is used (#4466) (8580796), closes #4455
  • compiler: generate function ref for script setup if inline is ture. (#4492) (4cd282b)
  • compiler: report invalid directive name error (#4494) (#4495) (c00925e)
  • types: include ref-macros.d.ts in npm dist files (d7f1b77), closes #4433

3.2.7 (2021-09-01)

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)

3.2.6 (2021-08-24)

Bug Fixes

  • build: avoid imports to @babel/types in client build of compiler-core (4c468eb)

3.2.5 (2021-08-24)

Bug Fixes

  • compiler-core: fix duplicated component identifier for names with non-ascii chars (#4429) (3282750), closes #4422
  • compiler-sfc: fix 'export default' rewrite with extra whitespaces (#4375) (4792ebd)
  • compiler-sfc: fix <script> and <script setup> co-usage ordering edge case (#4419) (9826382), closes #4395 #4376
  • compiler-sfc: should also expose regular script block bindings when <script setup> is used (872b3f7), closes #4369
  • types: improve the type of createElementBlock (#4406) (ebd0bac), closes #4391

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)

3.2.4 (2021-08-17)

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

  • Revert "chore: add missing space in warning message (#4359) [ci skip]" (951fbb1), closes #4359

3.2.3 (2021-08-16)

Bug Fixes

  • compiler-core: fix hoisting logic for elements with cached handlers + other bindings (a6c1db2), closes #4327
  • compiler-core: fix style binding edge case (#4319) (092bdcd), closes #4317
  • compiler-sfc: bail on import usage check when template has custom lang (aae3725), closes #4312
  • compiler-sfc: fix import usage check in template strings in expressions (f855ccb), closes #4340
  • defineProps: defineProps generates unnecessary array of same types (#4353) (ad66295), closes #4352
  • runtime-core: patchChildren first in patchElement (#4313) (5b3f1e8)
  • runtime-core: vnode hooks should not be called on async wrapper (#4349) (cd2d984), closes #4346
  • runtime-dom: consistently remove boolean attributes for falsy values (#4348) (620a69b)
  • shared: fix toDisplayString on object with null prototype (#4335) (42a334e), closes #4334
  • types: fix tsx ref component instance type (#2486) (84d4357)

3.2.2 (2021-08-11)

Bug Fixes

Features

  • sfc: support $shallowRef ref sugar (00b76d3)

3.2.1 (2021-08-09)

Bug Fixes

  • compiler-sfc: fix import usage check for last expression (1e1682f)

3.2.0 (2021-08-09)

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.

3.2.0-beta.8 (2021-08-07)

Bug Fixes

  • compiler-core: detected forwarded slots in nested components (#4268) (abb3a81), closes #4244
  • compiler-sfc: fix ref sugar rewrite for identifiers in ts casting expressions (865b84b), closes #4254
  • core: typing of key in VNodeProps (#4242) (d045055), closes #4240
  • runtime-core: component effect scopes should be detached (6aa871e)
  • runtime-dom: fix shadowRoot instanceof check in unsupported browsers (#4238) (bc7dd93)
  • types: remove explicit return type annotation requirement for this inference in computed options (#4221) (d3d5ad2)
  • v-memo: ensure track block when returning cached vnode (#4270) (a211e27), closes #4253
  • v-memo: should work on v-for with constant expression (#4272) (3b60358), closes #4246

Features

  • runtime-dom: support async component in defineCustomElement (c421fb9), closes #4261

3.2.0-beta.7 (2021-07-29)

Bug Fixes

  • reactivity: dereference nested effect scopes on manual stop (1867591)
  • sfc/style-vars: improve ignore style variable bindings in comments (#4202) (771635b)
  • shared: support custom .toString() in text interpolation again (#4210) (9d5fd33), closes #3944
  • suspense: fix dynamicChildren tracking when suspense root is a block itself (51ee84f), closes #4183 #4198

Features

  • server-renderer: decouple esm build from Node + improve stream API (0867222), closes #3467 #3111 #3460
  • sfc: remove experimental status for sfc style v-bind (3b38c9a)

3.2.0-beta.6 (2021-07-27)

Bug Fixes

  • inject: should auto unwrap injected refs (561e210), closes #4196
  • runtime-core: expose ssrUtils in esm-bundler build (ee4cbae), closes #4199
  • sfc/style-vars: should ignore style variable bindings in comments (#4188) (3a75d5d), closes #4185

Features

  • unwrap refs in toDisplayString (f994b97)

3.2.0-beta.5 (2021-07-23)

Bug Fixes

  • hmr: fix custom elements hmr edge cases (bff4ea7)
  • hmr: fix hmr when global mixins are used (db3f57a), closes #4174
  • types: fix types for readonly ref (2581cfb), closes #4180
  • v-model: avoid resetting value of in-focus & lazy input (ac74e1d), closes #4182

Features

  • compiler-sfc: avoid exposing imports not used in template (5a3ccfd), closes #3183
  • runtime-dom: hmr for custom elements (7a7e1d8)
  • runtime-dom: support passing initial props to custom element constructor (5b76843)
  • runtime-dom: support specifying shadow dom styles in defineCustomElement (a7fa4ac)

3.2.0-beta.4 (2021-07-21)

Bug Fixes

  • runtime-core: ensure setupContext.attrs reactivity when used in child slots (8560005), closes #4161
  • runtime-dom: defer setting value (ff0c810), closes #2325 #4024

Performance Improvements

  • skip patch on same vnode (d13774b)

3.2.0-beta.3 (2021-07-20)

Bug Fixes

  • reactivity: revert computed scheduler change (33c2fbf), closes #4157
  • runtime-core: fix v-bind class/style merging regression (2bdee50), closes #4155
  • sfc-playground: Transform named default exports without altering scope (#4154) (acb2a4d)
  • watch: ensure watchers respect detached scope (bc7f976), closes #4158

Features

  • reactivity: deferredComputed (14ca881)
  • runtime-core: watchSyncEffect (d87d059)

3.2.0-beta.2 (2021-07-19)

Bug Fixes

  • compiler-core: fix self-closing tags with v-pre (a21ca3d)
  • compiler-sfc: defineProps infer TSParenthesizedType (#4147) (f7607d3)
  • compiler-sfc: expose correct range for empty blocks (b274b08)
  • compiler-sfc: fix whitespace preservation when block contains single self-closing tag (ec6abe8)
  • compiler-sfc: support const enum (93a950d)
  • reactivity: computed should not trigger scheduler if stopped (6eb47f0), closes #4149
  • runtime-core: fix null type in required + multi-type prop declarations (bbf6ca9), closes #4146 #4147
  • scheduler: fix insertion for id-less job (d810a1a), closes #4148
  • shared: normalizeStyle should handle strings (a8c3a8a), closes #4138
  • ssr: update initial old value to watch callback in ssr usage (#4103) (20b6619)
  • v-model: properly detect input type=number (3056e9b), closes #3813

Features

  • compiler: allow 'comments' option to affect comment inclusion in dev (#4115) (dd0f9d1), closes #3392 #3395
  • compiler-sfc: add ignoreEmpty option for sfc parse method (8dbecfc)
  • types: map declared emits to onXXX props in inferred prop types (#3926) (69344ff)

Performance Improvements

3.2.0-beta.1 (2021-07-16)

Bug Fixes

  • sfc/style-vars: properly re-apply style vars on component root elements change (49dc2dd), closes #3894
  • ensure customElements API ssr compatibility (de32cfa), closes #4129
  • runtime-core: fix default shapeFlag for fragments (2a310df)
  • ignore .prop/.attr modifiers in ssr (29732c2)

Code Refactoring

  • remove deprecated scopeId codegen (f596e00)

Features

  • sfc: (experimental) new ref sugar (562bddb)
  • sfc: support namespaced component tags when using <script setup> (e5a4412)
  • custom element reflection, casting and edge cases (00f0b3c)
  • remove experimental status of <script setup> (27104ea)
  • support v-bind .prop & .attr modifiers (1c7d737)
  • runtime-dom: defineCustomElement (8610e1c)
  • v-memo (3b64508)
  • watchPostEffect (42ace95)
  • reactivity: new effectScope API (#2195) (f5617fc)
  • reactivity: support onTrack/onTrigger debug options for computed (5cea9a1)

Performance Improvements

  • also hoist all-static children array (b7ea7c1)
  • hoist dynamic props lists (02339b6)
  • reactivity: avoid triggering re-render if computed value did not change (ebaac9a)
  • 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)
  • improve VNode creation performance with compiler hints (#3334) (ceff899)

BREAKING CHANGES

  • Output of SFC using <style scoped> generated by 3.2+ will be incompatible w/ runtime <3.2.

3.1.5 (2021-07-16)

Bug Fixes

  • compat: fix props check for v-model compat warning (#4056) (f3e15f6)
  • compat: fix v3 compiled fn detection in production (8dbad83)
  • compiler: Addressed infinite loop in compiler (#3992) (e00aa56), closes #3987
  • compiler-core: fix forwarded slots detection on template slots (#4124) (c23153d), closes #4123
  • compiler-sfc: duplicated injected css var with repeated vars in style (#2802) (2901050)
  • compiler-sfc: should not rewrite ref sugar identifiers in types (6fad209), closes #4062
  • reactivity: call array subclass methods (#3624) (1cfe290), closes #2314 #2315
  • ref: should not trigger when setting value to same proxy (#3658) (08f504c)
  • runtime-core: enter optimized mode for component as root (68365b9), closes #3943
  • runtime-dom: capture errors when setting value for IDL (#3578) (3756270), closes #3576
  • runtime-dom: remove class attribute on nullish values (7013e8f), closes #3173
  • sfc: fix <script setup> async context preservation logic (03e2684), closes #4050
  • sfc: fix style variables injection on static vnode (#3847) (6a0c7cd), closes #3841
  • sfc: only enable jsx parser plugin when explicitly using tsx (5df7dfc), closes #4106
  • type: infer parent as this on nextTick function (#3608) (18911ab), closes #3599
  • v-model: handle mutations of v-model bound array/sets (2937530), closes #4096
  • v-model: support calling methods in v-model expression (5af718b), closes #3993
  • v-on: proper member exp detection for bracket assignment (395572b), closes #4097
  • v-on: properly detect member expressions with optional chaining (963085d), closes #4107

3.1.4 (2021-07-02)

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)

3.1.3 (2021-07-01)

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)

3.1.2 (2021-06-22)

Bug Fixes

  • compiler-core: improve member expression check (bc100c5), closes #3910
  • compiler-core/compat: fix is prop usage on components (08e9322), closes #3934
  • compiler-sfc: rewriteDefault support multiline (#3917) (b228abb)
  • compiler-ssr: fix attr fallthrough for transition/keep-alive as template root (9f6f8b3), closes #3981
  • devtools: expose root instance (2b52d5d)
  • runtime-core: bind default function of inject to instance (#3925) (db1dc1c), closes #3923
  • runtime-core: fix multiple .once event handlers on same component (#3904) (011dee8), closes #3902
  • Suspense: emit initial fallback and pending events (#3965) (ab6e927), closes #3964
  • Suspense: fallback should work with transition (#3968) (43e2a72), closes #3963
  • watch: fix watch option merging from mixins (9b607fe), closes #3966

Performance Improvements

  • improve static content insertion perf (4de5d24), closes #3090

3.1.1 (2021-06-07)

Bug Fixes

3.1.0 (2021-06-07)

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)

3.1.0-beta.7 (2021-06-02)

Bug Fixes

  • 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)

Code Refactoring

  • adjust component options merge cache strategy (1e35a86)

Performance Improvements

  • avoid deopt for props/emits normalization when global mixins are used (51d2be2)

BREAKING CHANGES

  • 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.

3.1.0-beta.6 (2021-05-28)

Bug Fixes

  • 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

3.1.0-beta.5 (2021-05-26)

Bug Fixes

  • 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

3.1.0-beta.4 (2021-05-24)

Bug Fixes

  • 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)

Features

  • devtools: performance events (f7c54ca)

3.1.0-beta.3 (2021-05-12)

Bug Fixes

  • 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)

3.1.0-beta.2 (2021-05-08)

Bug Fixes

  • compat: handle and warn config.optionMergeStrategies (94e69fd)

3.1.0-beta.1 (2021-05-08)

Bug Fixes

  • 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)

Features

  • onServerPrefetch (#3070) (349eb0f)
  • support component-level compilerOptions when using runtime compiler (ce0bbe0)
  • compiler-core: whitespace handling strategy (dee3d6a)
  • config: support configuring runtime compiler via app.config.compilerOptions (091e6d6)
  • devtools: improved KeepAlive support (03ae300)
  • support casting plain element to component via is="vue:xxx" (af9e699)

Performance Improvements

  • only trigger $attrs update when it has actually changed (5566d39)
  • compiler: skip unncessary checks when parsing end tag (048ac29)

3.0.11 (2021-04-01)

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

3.0.10 (2021-03-31)

Bug Fixes

  • compiler-core: allow PascalCase dynamic component tag usage (#3508) (555b016), closes #3507
  • compiler-core: properly transform replaced nodes (#2927) (0fe567a)
  • compiler-sfc: do not resolve assets from setup bindings (f5827fd), closes #3270 #3275
  • compiler-sfc: fix function scope variable declaration marking (69b4727)
  • compiler-sfc: fix missing whitespace issue in srcsets (#3132) (42b68c7), closes #3069
  • compiler-sfc: support proper type arguments for defineEmit helper (bb8cdca), closes #2874
  • reactivity: should not trigger when setting value to same proxy (#2904) (c61e767)
  • runtime-core: avoid unmount teleport's children multiple times (#3499) (3736496), closes #3497
  • runtime-core: fix dev fragment root flag check (9cf7525)
  • runtime-dom: fix event listeners call in firefox <= 53 (#3501) (33ba0e3), closes #3485
  • ssr: fix scopeId inheritance across mixed parent chain (5e54081), closes #3513
  • types: add a type-only differentiator to assist Mixin's type infer (#3481) (5db2b14), closes #3468
  • types/tsx: make JSX.Element extend VNode (#3171) (4f26835)

Performance Improvements

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

3.0.9 (2021-03-27)

Bug Fixes

  • compiler-core: fix slot source location (#3494) (e752bdd)
  • runtime-core: fix kebab-case prop required warning (2121c32), closes #3495 #3363
  • runtime-core: remove dev-only props property from setup context for consistency (#3492) (4549e65)
  • ensure backwards compat for pre-compiled sfc components (37c1709), closes #3493

3.0.8 (2021-03-26)

Bug Fixes

  • compiler: properly bail stringfication for nested slot elements (f74b16c)
  • compiler-core: allow unicode to appear in identifiers (#3443) (ebedccc), closes #3440
  • compiler-core: avoid generating useless createVNode helper (#2938) (7715c49), closes #2739
  • compiler-core: detect v-if branch root with comment as dev fragment (#2785) (4bf7ba1), closes #2780
  • compiler-core: fix the detection of forwarded slots with v-if or v-for (#3353) (602b58e), closes #3347
  • compiler-core: should not condense whitespace in RCDATA text mode (#3482) (b4b8215), closes #3479
  • compiler-dom: stringifyStatic should remove attribute bindings with null value (#3477) (ca6aa01), closes #3475
  • compiler-sfc: scope Id should not be attached to @keyframe breakpoint rules (#3308) (6cb9475), closes #3304
  • compiler-sfc: should not rewrite scope variable (#3449) (bbc5fe6), closes #3445
  • compiler-ssr: keep the order of imports expression for the fallback branch of SSR (#3448) (49f4072), closes #3447
  • component: prioritize registered component over implicit self-reference via filename (abd129d), closes #2827
  • hydration: handle camel-case tag name when performing match assertion (#3247) (9036f88), closes #3243
  • KeepAlive: adapt keepalive for ssr (#3259) (e8e9b00), closes #3255
  • reactivity: ensure computed can be wrapped by readonly (41e02f0), closes #3376
  • reactivity: ensure that shallow and normal proxies are tracked seperately (close #2843) (#2851) (22cc4a7)
  • reactivity: fix shallow readonly behavior for collections (#3003) (68de9f4), closes #3007
  • rumtime-core: custom dom props should be cloned when cloning a hoisted DOM (#3080) (5dbe834), closes #3072
  • runtime-core: cache props default values to avoid unnecessary watcher trigger (#3474) (44166b4), closes #3471
  • runtime-core: ensure only skip unflushed job (#3406) (bf34e33)
  • runtime-core: fix async component ref handling (#3191) (7562e72), closes #3188
  • runtime-core: fix erraneous emits warnings w/ mixins (60d777d), closes #2651
  • runtime-core: fix warning for absent props (#3363) (86ceef4), closes #3362
  • runtime-core: handle error in async setup (#2881) (d668d48)
  • runtime-core: handle error in async watchEffect (#3129) (eb1fae6)
  • runtime-core: should call chained mixins and extends (#3040) (b58bb16), closes #3038
  • runtime-core: should not cache property access during data() invocation (#3299) (6e88156), closes #3297
  • runtime-core: should not track deps in pre flush watcher callbacks (d5824b9), closes #2728
  • runtime-core: the select tag's multiple prop should be set before the children mounting (#3202) (2451dd8), closes #3199
  • runtime-dom: support mounting app to svg container (#2929) (8ffcde2), closes #2926
  • ssr: ensure async setup error handling work with suspense during ssr (2e71f07)
  • ssr: fix memory leak when vnode component render throws error (da944cb), closes #3100
  • ssr: properly update currentRenderingInstance state during ssr (8c3c14a), closes #2863
  • ssr: respect render function from extends/mixins in ssr (#3006) (0a583d5), closes #3004
  • ssr: watchEffect onInvalidate runner initialization (#3323) (e4b5fcc), closes #3322
  • ssr/hydration: handle ending empty text node (#3246) (420c8f4), closes #3245
  • teleport: targetAnchor should also be removed when unmounted (#2870) (21d1288)
  • Teleport: component with multi roots should be removed when unmounted (#3157) (7769513), closes #3156
  • Teleport: fallback to non-optimized mode when HRM performing updates (#3311) (9cb21d0), closes #3302
  • transition: toggling branches with in-out mode should be transitioned correctly (#3109) (67a0290), closes #3104
  • types: allow style to be an array in JSX (#2947) (13c9d2c)
  • types: union function prop (#3119) (3755e60), closes #3357
  • types: unwrap refs on public instance data (#3319) (2b588cf), closes #3315
  • types/jsx: llow tabindex to be a string (#3476) (e4a5712)
  • add display name for suspense component (#3312) (3b3a9a1)

Performance Improvements

  • support only attaching slot scope ids when necessary (02cbbb7)

3.0.7 (2021-03-01)

Bug Fixes

  • compiler-sfc: handle more edge cases in default rewrite (1dedc19)
  • deps: pin Rollup to 2.38 (34f354b), closes #3332
  • runtime-core: properties in methods should be writable and enumerable in DEV (#3301) (e3568ba), closes #3300
  • scheduler: ensure updates are always inserted in ascending id order (#3184) (45fae9d), closes #2768 #2829
  • v-show: v-show takes higher priority than style attribute (#3230) (5ad4036), closes #2757
  • init devtools after feature flag checks (d0ea745)

Performance Improvements

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

3.0.6 (2021-02-24)

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

3.0.5 (2020-12-30)

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), closes #2718
  • compiler-sfc: should keep template nodes with no content (#2468) (5b9b37f), closes #2463
  • compiler-sfc: support transforming asset urls with full base url. (#2477) (db786b1)
  • runtime-core: component mount anchor memory leak (#2459) (3867bb4), closes #2458
  • runtime-core: skip patchBlockChildren if n1.dynamicChildren is null (#2717) (c59897c), closes #2715 #2485
  • runtime-dom: support mounting app on ShadowRoot (#2447) (b2189ba), closes #2399
  • ssr: properly handle ssr empty slot and fallback (88f6b33)
  • transition: ensure manual style manipulation in transition leave hooks work (cbaa380), closes #2720
  • transition: ensure styles from *-leave-active trigger transition (#2716) (3f8f9b6), closes #2712

Features

  • devtools: send instance (3626ff0)

3.0.4 (2020-12-02)

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)

3.0.3 (2020-11-25)

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)

3.0.2 (2020-10-20)

Bug Fixes

  • compiler: stringify values on v-text (#2432) (314ab2c), closes #2430
  • compiler-core: fix multiline member expression check (#2436) (6d2a1cb), closes #2426
  • reactivity: track length on for in iteration on Array (0e5a3c4), closes #2427
  • runtime-core: avoid mutating EMPTY_ARR when setting dev root (#2419) (edd49dc), closes #2413
  • runtime-core: avoid object prototype keys in property access cache (#2416) (ba881f9)
  • runtime-core: fix component .once listener logic (4bbb2b2)
  • runtime-core: non-stable Fragment should always unmount its children (#2445) (fff62e2), closes #2444
  • runtime-core: prevent self-injection (#2424) (111d04f), closes #2400
  • suspense: fix suspense nested child updates in template mode (0227b4a), closes #2214
  • types: h support for resolveComponent (#2402) (1f2a652), closes #2357
  • v-model: built in modifiers support on component (#2348) (128ec46), closes #2326

Features

  • compile-core: handle falsy dynamic args for v-on and v-bind (#2393) (052a621), closes #2388

3.0.1 (2020-10-15)

Bug Fixes

  • compiler-core: allow spaces between if-else branches (#2305) (89c5909), closes #2299
  • compiler-core: consistently remove comment nodes for pre tags in production (f411924), closes #2217
  • compiler-core: fix v-if key injection with v-on object syntax (#2368) (692197b), closes #2366
  • compiler-core: make v-once work with v-if/else-if/else (#2182) (9499871), closes #2035
  • compiler-ssr: fix SSR issue when dynamic and static class co-exist (#2354) (8539c0b)
  • hmr: full diff props for non-sfc component (#2359) (e78915a)
  • reactivity: should add allowRecurse to the effect (#2213) (ea1f87e), closes #2200
  • reactivity: should not trigger watch on computed ref when value is unchanged (390589e), closes #2231
  • reactivity: use resetTracking instead of enableTracking (#2174) (7cc09ca)
  • runtime-core: ensure this context for $nextTick callback (5c3e8e9), closes #2282
  • runtime-core: error handling for created/beforeCreate hooks (b392fe4), closes #2268
  • runtime-core: fix directive merging on component root (4d1ebb5), closes #2298
  • runtime-core: fix duplicated unmount traversal in optimized mode (376883d), closes #2169
  • runtime-core: fix provide function data access in extends/mixins (f06518a), closes #2300
  • runtime-core: fix SSR memoery leak due to props normalization cache (a66e53a), closes #2225
  • runtime-core: make errorCaptured return value handling consistent with Vue 2 (#2289) (4d20ac8), closes #2267
  • runtime-core: use consistent camelCase event casing for render functions (#2278) (62f2617), closes #2249
  • runtime-core: vnode.el is null in watcher after rerendering (#2295) (28d5fd7), closes #2170
  • runtime-core/template-refs: do not reset refs object before updates (25d53f0), closes #2283
  • runtime-dom: v-model should support number modifier with select tag (#2308) (d744b8a), closes #2252
  • sfc/style-vars: should attach css vars while subtree changed (#2178) (408a8ca), closes #2177
  • teleport: proper children traversal when teleport is block root (2ae3b26), closes #2324
  • teleport: should only force remove teleport when not disabled (b0931dc), closes #2323
  • types: avoid DefineComponent defaulting to any (6aa2256), closes #2192
  • types: fix using tuple type as EmitsOptions (#2160) (5dbd6b3), closes #2159
  • v-for: handle and warn when v-for receives non-integer range number (#2247) (02f355e), closes #2245
  • v-model: avoid clearing IME compose state on updates (#2304) (fbd198f), closes #2302
  • v-model: ensure initial value is set after other attributes (54ed759), closes #2325

Features

Performance Improvements

  • runtime-dom/vModel: remove looseHas if model is Set (#2236) (6a554fe)
  • do not enable hmr in non-browser envs (cf2c9f6)

3.0.0 (2020-09-18)

3.0.0-rc.13 (2020-09-18)

Bug Fixes

  • hmr: make hmr working with class components (#2144) (422f05e)
  • reactivity: avoid length mutating array methods causing infinite updates (#2138) (f316a33), closes #2137
  • suspense: should discard unmount effects of invalidated pending branch (5bfcad1)
  • types: component instance inference without props (#2145) (57bdaa2)

Code Refactoring

Features

  • runtime-core: support using inject() inside props default functions (58c31e3)
  • watch: support dot-delimited path in watch option (1c9a0b3)

BREAKING CHANGES

  • watch APIs now default to use flush: 'pre' instead of flush: 'post'. This change affects watch, watchEffect, the watch component option, and this.$watch. See (49bb447) for more details.

3.0.0-rc.12 (2020-09-16)

Bug Fixes

  • reactivity: effect should only recursively self trigger with explicit options (3810de7), closes #2125
  • runtime-core: ensure root stable fragments inherit elements for moving (bebd44f), closes #2134
  • runtime-core: should still do full traverse of stable fragment children in dev + hmr (dd40ad8)
  • runtime-core/async-component: fix error component when there are no error handlers (c7b4a37), closes #2129
  • types/tsx: optional props from Mixin/Extends are treated as required (#2048) (89e9ab8)

Features

  • compiler-sfc: additionalData support for css preprocessors (#2126) (066d514)

3.0.0-rc.11 (2020-09-15)

Bug Fixes

  • compiler-core: fix prefixing for <template v-for> key expressions (be946ea), closes #2085
  • compiler-core: fix v-if block handling for components that fail to resolve (a096a58), closes #2058
  • compiler-sfc: should extract comment for import or type declarations (#2107) (05df696), closes #2102
  • compiler-ssr: correct the variable name generated by the generator (#2065) (aa8dc9a)
  • compiler-ssr/teleport: correct the target prop of teleport (#2053) (7455dca)
  • inject: fix support for inject option default function (d472461), closes #2050
  • keep-alive: should use onMounted and onUpdated to invoke cacheSubtree (#1984) (890ca8a)
  • KeepAlive: when exclude prop change, it should prune cache that not matched (#2111) (98cc1f9)
  • reactivity: toRef should not wrap a ref (#2103) (d4bf9bc)
  • should be able to parse decorators in script lang="ts" & jsx (#2088) (273d19a)
  • reactivity: add NaN prop on Array should not trigger length dependency. (#1998) (0d4910a)
  • reactivity: revert ac81dcf (5f40539), closes #2043
  • reactivity: should trigger collection's write-function correctly on non-reactive keys (#1992) (fcf9b2c)
  • inherit el for static nodes inside keyed template fragment (#2089) (a32870a), closes #2080
  • runtime-core: fix priority of option merging (#2041) (95c07d8)
  • runtime-core: warn reserved prefix for setup return properties and ensure consistent dev/prod behavior (fa7ab0a), closes #2042
  • runtime-core/inject: handle optional from option in inject object config (#2073) (313dd06)
  • runtime-core/refs: handle multiple merged refs for dynamic component with vnode (612eb67), closes #2078
  • sfc: fix scoped style regression for child component with single root + comment (6dbc6c4), closes #2046
  • types: properly infer return type from async setup (#2051) (24fcf6a), closes #2049

Features

  • update Suspense usage (#2099) (5ae7380)
  • compiler-sfc: support additionalData option in compileStyle when processing sass (#1952) (9377352)
  • runtime-dom: allow native Set as v-model checkbox source (#1957) (cf1b6c6)

Performance Improvements

  • should not trigger child update if changed prop is declared emit listener (124c385), closes #2072

Reverts

  • Revert "refactor(runtime-core): add @internal for instance.proxy (#1849)" (#2024) (09a939d), closes #1849 #2024

3.0.0-rc.10 (2020-09-02)

Bug Fixes

  • devtools: make el extra properties non-enumerable (7fd3436)
  • runtime-core: enable block tracking when normalizing plain element with slot children (#1987) (5b82c48), closes #1980
  • runtime-core: ensure consistent $options merge behavior with 2.x (#1986) (706b52a), closes #1978 #1979
  • runtime-core: fix props/emits resolving with global mixins (8ed0b34), closes #1975
  • runtime-core: openBlock() should not be tracked when block tracking is disabled (ad93fa4)
  • runtime-core: v-model listeners that already exists on the component should not be merged (#2011) (63f1f18), closes #1989
  • sfc/scoped-style: inherit scopeId through nested HOCs with inheritAttrs: false (c0427b4), closes #1988
  • types: fix this type of this.$watch (#2022) (aa757e8)
  • v-once: fix v-once usage with v-if and v-for (52e45a9), closes #2035

Features

  • compiler-sfc: analyze script bindings (#1962) (4421c00)
  • devtools: expose vnode and component on elements (38ca7e8)
  • ssr: serverPrefetch (c73b4a0)

Performance Improvements

  • reactivity: no need to proxy has/ownKeys for readonly objects (691a4b9)

3.0.0-rc.9 (2020-08-26)

Bug Fixes

  • runtime-core: class and style should be properly normalized in cloneVNode (#1967) (9153fc2), closes #1964
  • runtime-core: fix resolving assets from mixins and extends (0cb7f7f), closes #1963
  • runtime-core: properly call lifecycle hooks in chained mixins & extends (#1974) (6df0e73), closes #1973

Performance Improvements

  • reactivity: add existing index or non-integer prop on Array should not trigger length dependency (#1969) (d5c4f6e)
  • reactivity: avoid triggering Map.has twice on non-reactive keys (#1972) (97bc30e)

3.0.0-rc.8 (2020-08-25)

Bug Fixes

  • devtools: unmountApp not behind compile flag (6eb7fd8)
  • hmr: properly force hmr full component props update (499bc0b), closes #1942
  • keep-alive: should remove wrapped version of injected keep alive hooks (#1959) (1ea2400)
  • reactivity: fix iOS 12 JSON.stringify error on reactive objects (016ba11), closes #1916
  • runtime-core: fix data merge order for mixins/extends (c15311c), closes #1953
  • runtime-core/scheduler: handle nested flushPostFlushCbs calls (36fa42a), closes #1947
  • runtime-dom: avoid setting unchanged input value (#1937) (1d55454), closes #1935
  • ssr: invoke directive created hook during hydration (57642fa)
  • types: relax ComponentPublicInstanceConstructor type for class components (#1943) (67b6e0f)
  • watch: traverse refs in deep watch (#1939) (10293c7), closes #1900

Features

  • devtools: catch events (23233dc)
  • devtools: expose setupState target object (31b99a9)
  • directives: introduce created custom directive hook and ensure (11804fe), closes #1931
  • runtime-core: support variadic children in h for simple JSX compat (54d06ec), closes #1917

3.0.0-rc.7 (2020-08-21)

Bug Fixes

  • compiler-core: should attach key to single element child of <template v-for> (#1910) (69cfed6)
  • reactivity: unwrap non-index accessed refs on reactive arrays (#1859) (3c05f8b), closes #1846
  • runtime-core: correctly track dynamic nodes in renderSlot (#1911) (7ffb79c)
  • runtime-core: disable block tracking when calling compiled slot function in tempalte expressions (f02e2f9), closes #1745 #1918
  • teleport: only inherit el for non-patched nodes (d4cc7b2), closes #1903

Performance Improvements

  • reactivity: improve ref performance by using class-based implementation (#1900) (07919e0)

3.0.0-rc.6 (2020-08-19)

Bug Fixes

  • codeframe: Added Math.max to prevent RangeError (#1807) (b14f4a5), closes #1806
  • compiler-core: generate NEED_PATCH flag for element with vnode hooks (24041b7)
  • compiler-core: v-if key error should only be checking same key on different branches (de0c8a7)
  • compiler-sfc: custom blocks sourcemap (#1812) (619efd9)
  • keep-alive: fix activated hook invocation on nested components (#1743) (233d191), closes #1742
  • reactivity: accept subtypes of collections (#1864) (d005b57)
  • reactivity: effect should still check sync self-trigger (ac81dcf)
  • reactivity: readonly+reactive collection should also expose readonly+reactive values (ed43810), closes #1772
  • reactivity: use isExtensible instead of isFrozen (#1753) (2787c34), closes #1784
  • runtime-core: avoid manual slot invocation in template expressions interfering with block tracking (791eff3), closes #1745
  • runtime-core: check if the key is string on undefined property warning (#1731) (ce78eac)
  • runtime-core: fix beforeUpdate call timing to allow state mutation (1eb6067), closes #1899
  • runtime-core: fix Object props validation for objects with custom toStringTag (6ccd9ac), closes #1872
  • runtime-core: separate null vs. non-null ref value updates (#1835) (3991ff0), closes #1789 #1834
  • runtime-core: should correctly call beforeEnter inside Suspense (#1805) (bc6f252), closes #1795
  • runtime-core/scheduler: allow component render functions to trigger itself (611437a), closes #1801
  • runtime-core/scheduler: only allow watch callbacks to be self-triggering (09702e9), closes #1740 #1727
  • runtime-core/scheduler: prevent duplicate queue (#1767) (b2a9142)
  • runtime-core/scheduler: sort postFlushCbs to ensure refs are set before lifecycle hooks (#1854) (caccec3), closes #1852
  • runtime-dom: fix v-on same computed handler on multiple elements (1c967fc), closes #1747
  • runtime-dom: patch form as an attribute (#1788) (00683fc), closes #1787
  • runtime-dom: style binding multi value support (0cd98c3), closes #1759
  • runtome-core: do not cache property access in beforeCreate hook (f6afe70), closes #1756
  • teleport: always inherit root DOM nodes on patch (#1836) (517c2b8), closes #1813
  • transition: transition should accept multiple handlers on same event (48576e5), closes #1746
  • types: handling PropType with default value (#1896) (c2913d5), closes #1891
  • types/jsx: update innerHTML property in jsx typing (#1814) (b984d47)
  • watch: allow handler to be a string (#1775) (b5f91ff), closes #1774
  • watch: exhaust pre-flush watchers + avoid duplicate render by pre-flush watchers (a0e34ce), closes #1777
  • watch: pre-flush watcher watching props should trigger before component update (d4c17fb), closes #1763
  • watch: should trigger watcher callback on triggerRef when watching ref source (fce2689), closes #1736

Features

  • compiler-core: add comments parser option (#1858) (62b9d02)
  • reactivity: return array when calling toRefs on array (#1768) (4172fdb), closes #1764
  • runtime-core: pass current props to prop default value functions (0d508e9), closes #1886

3.0.0-rc.5 (2020-07-28)

Bug Fixes

  • build: fix component resolution when disabling options API (a75b8a2), closes #1688
  • compiler-core: always compile Teleport and Suspense as blocks (fbf865d)
  • compiler-core: prevent generating invalid code for v-bind with empty expression (#1720) (d452723)
  • compiler-core/v-on: only cache empty handler when the option is used (5fbd1f4), closes #1716
  • compiler-sfc: less and stylus output deps path is absolute p… (#1685) (578f25c)
  • compiler-sfc: fix rewrite named export default (#1675) (452edb7)
  • hmr: should update el for HYDRATE_EVENTS patchFlags node (#1707) (de62cc0)
  • reactivity: avoid tracking internal symbols in has trap (7edfdf7), closes #1683
  • reactivity: fix ref mutation debugger event values (b7ef38b)
  • runtime-core: dev root resolution should differentiate user comments vs v-if comments (355c052), closes #1704
  • runtime-core: fix scheduler dedupe when not flushing (4ef5c8d)
  • runtime-core: respect render function from mixins (354d79c), closes #1630
  • runtime-core: scheduler should allow intentional self triggering effects (c27dfe1), closes #1727
  • runtime-core: use correct container for moving Teleport content (#1703) (04a4eba)
  • style-vars: fix css vars on component with suspense as root (#1718) (07ece2e)
  • v-model: enable v-model type detection on custom elements (0b3b1cf)
  • runtime compilation marker should be applied in exposed compile function (b3b65b4)
  • transition: should call transition hooks inside already resolved suspense (#1698) (2a633c8), closes #1689
  • v-model: allow v-model usage on declared custom elements (71c3c6e), closes #1699

Features

  • reactivity: proxyRefs method and ShallowUnwrapRefs type (#1682) (aa06b10)
  • sfc: support resolving template components from <script setup> exports (6f5d840)
  • support delimiters option for runtime compilation (ba17c87), closes #1679

BREAKING CHANGES

  • reactivity: template auto ref unwrapping are now applied shallowly, i.e. only at the root level. See #1682 for more details.

3.0.0-rc.4 (2020-07-21)

Bug Fixes

  • deps: move @babel/types back to dependencies (11c2ad4)

3.0.0-rc.3 (2020-07-21)

Bug Fixes

  • build: make transition tree-shakeable again (ad199e1)
  • compiler-sfc: <style vars scoped> prefixing should only apply to pre-transform source (4951d43), closes #1623
  • compiler-sfc: use correct importer with useCssVars (#1658) (6f148d0)
  • runtime-core: do not use bail patchFlag on cloned vnodes (6390ddf), closes #1665
  • runtime-core: fix attr fallthrough on compiled framgent w/ single static element + comments (1af3531)
  • v-model: v-model listeners should not fallthrough to plain element root (c852bf1), closes #1643
  • watch: fix watching reactive array (#1656) (288b4ea), closes #1655

Features

  • compiler-core/internal: add onContextCreated option to generate (#1672) (615dccd)
  • runtime-core: respect function name when using defineComponent function shorthand (#1661) (304830a)
  • provide ability to overwrite feature flags in esm-bundler builds (54727f9)
  • computed: add readonly flag if no setter is provided (#1654) (dabdc5e)

3.0.0-rc.2 (2020-07-19)

Bug Fixes

  • compiler-core: fix v-if + v-for on <template> (af7e100), closes #1637
  • compiler-core/v-on: fix codegen for event handler with newlines (#1640) (f9826fa)
  • compiler-sfc: use filename from options when compile styl preprocessor (#1635) (0526e5d)
  • keep-alive: handle "0" as cache key (#1622) (2deb0c7), closes #1621
  • runtime-core/hmr: only use cloneNode mount optimization in prod (4655d69), closes #1626
  • watch: callback not called when using flush:sync (#1633) (8facaef)

3.0.0-rc.1 (2020-07-17)

Bug Fixes

  • watch: post flush watchers should not fire when component is unmounted (341b30c), closes #1603

Features

3.0.0-beta.24 (2020-07-16)

Bug Fixes

  • compiler-sfc: fix preprocessor filename access (9cb29ee)

3.0.0-beta.23 (2020-07-16)

Bug Fixes

  • compiler-sfc: fix useCssVars codegen (9b5ff2b)
  • compiler-sfc: prohibit src usage for <script setup> + do not (af4b0c2)
  • runtime-dom: unref when setting useCssVars (44e6da1)
  • slots: properly force update on forwarded slots (aab99ab), closes #1594

Features

  • compiler-sfc: export dependencies for css and css preprocessors (#1278) (e41d831)

Performance Improvements

  • runtime-core: avoid duplicate postFlushCb invocation (165068d), closes #1595

3.0.0-beta.22 (2020-07-15)

Bug Fixes

  • compiler-core: generate incremental keys for v-if/else-if/else chains (#1589) (64c7b2f), closes #1587
  • compiler-sfc: <script setup> warning (9146cc4)
  • hmr: fix hmr updates for reused hoisted trees (5f61aa0)
  • runtime-core: do not call transition ent