3.2.47 (2023-02-02)
- build: enforce __esModule interop for cjs builds (4b70366)
3.2.46 (2023-02-02)
- 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 supportedHTML_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 withtoRef
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 tofeDistantLight
(#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)
- 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 onthis
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)
- 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)
3.2.42 (2022-11-09)
- 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 returningfalse
for built-in instance properties inexposeProxy
(#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)
- 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)
- 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)
- 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)
- 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
- custom-elements: automatically respect custom elements when compiling in browser (9f8f07e)
3.2.37 (2022-06-06)
- 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)
- 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
3.2.35 (2022-05-20)
- 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)
- 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 toComponent
(#5949) (7c8f457)
3.2.34-beta.1 (2022-05-17)
- 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
3.2.33 (2022-04-14)
- 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)
- 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)
- 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)
- reactivity: optimize effect/effectScope active state tracking (2993a24)
3.2.29 (2022-01-23)
- 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
- 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)
- 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)
- improve memory usage for static vnodes (ed9eb62)
3.2.26 (2021-12-12)
3.2.25 (2021-12-12)
- 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)
- 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)
- 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
3.2.23 (2021-11-26)
- 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
- 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)
- 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)
- 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)
- 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)
3.2.19 (2021-09-25)
- 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)
3.2.16 (2021-09-23)
- ssr: fix ssr runtime helper import in module mode (8e05b7f)
3.2.15 (2021-09-23)
- compiler-ssr: import ssr helpers from updated path (d74f21a)
3.2.14 (2021-09-22)
- 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)
- 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)
- compiler-sfc: allow disabling sourcemap when not needed (585615b)
3.2.12 (2021-09-17)
- 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)
- hmr: handle possible duplicate component definitions with same id (aa8908a)
3.2.10 (2021-09-07)
- 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)
- 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)
- 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)
- 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)
- build: avoid imports to @babel/types in client build of compiler-core (4c468eb)
3.2.5 (2021-08-24)
- 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
- 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)
- 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
3.2.3 (2021-08-16)
- 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)
- runtime-dom: patch
textContent
on svg properly (#4301) (e7b0a9d), closes #4296 - server-renderer: pipeToWebWritable CF worker compat (2224610), closes #4287
- types: allow symbol in JSX ReservedProps.key (#4306) (6e5801f)
- types: fix forceUpdate type (#4302) (380608b)
- types: fix tsx emit-mapped handler return type (#4290) (1ce34e2), closes #4288
- sfc: support $shallowRef ref sugar (00b76d3)
3.2.1 (2021-08-09)
- compiler-sfc: fix import usage check for last expression (1e1682f)
3.2.0 (2021-08-09)
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.
- 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)
- new
effectScope
API (#2195) (f5617fc) (RFC) - support
onTrack/onTrigger
debug options forcomputed
(5cea9a1)
- server-renderer: decouple esm build from Node + improve stream API (0867222), closes #3467 #3111 #3460 (Docs)
- New
v-memo
directive (3b64508) (Docs) - support
v-bind
.prop & .attr modifiers (1c7d737) (Docs) - add
watchPostEffect
API (42ace95) (Docs) - add
watchSyncEffect
API (d87d059) (Docs) - unwrap refs in toDisplayString (f994b97)
- allow
compilerOptions.comments
to affect comment inclusion in dev (#4115) (dd0f9d1), closes #3392 #3395
- 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)
Please refer to changelogs of previous beta releases for bug fixes included in this release.
3.2.0-beta.8 (2021-08-07)
- 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
3.2.0-beta.7 (2021-07-29)
- 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
- 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)
- 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
- unwrap refs in toDisplayString (f994b97)
3.2.0-beta.5 (2021-07-23)
- 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
- 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)
- runtime-core: ensure setupContext.attrs reactivity when used in child slots (8560005), closes #4161
- runtime-dom: defer setting value (ff0c810), closes #2325 #4024
- skip patch on same vnode (d13774b)
3.2.0-beta.3 (2021-07-20)
- 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
3.2.0-beta.2 (2021-07-19)
- 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
- 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)
3.2.0-beta.1 (2021-07-16)
- 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)
- remove deprecated scopeId codegen (f596e00)
- 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)
- 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)
- Output of SFC using
<style scoped>
generated by 3.2+ will be incompatible w/ runtime <3.2.