Releases: vuejs/vue
Releases · vuejs/vue
v2.6.2
v2.6.1
Bug Fixes
- regression: avoid isPromise check when handler return value is Vue instance b6b42ca, closes #9418
- compiler: fix inline-template crashing (#9365) 55bfb94, closes #9365 #9361
- compiler: allow comments on the root node in templates (#9408) 1922e7d, closes #9408 #9407
- compiler: decode single quotes in html attributes (#9341) c27fe24, closes #9341
- v-model: add value to $attrs if not defined in props (#9331) 66fd3c8, closes #9331 #9330
- ie: avoid blocking first input event in IE when it shouldn't (#9297) 0fb03b7, closes #9297 #7138 #9042 #9383
v2.6.0 Macross
Announcement Blog Post
Contributors
@gzzhanghao, @mathieutu, @Justineo, @shortdiv, @imzyf, @youngrok, @enkot, @posva, @utatti, @Akryum, @ferdaber, @ktsn, @mymyoux, @sodatea, @hikerpig, @hirokiosame, @AlexMaguey
Features
- core/slots: implement new v-slot syntax 4fca045 [RFC-0001] [RFC-0002] [Updated documentation]
- core/slots: add scopedSlots to context in functional components (#7941) fb6aa06, closes #7941
- core/error-handling: sync/async error handling for lifecycle hooks and v-on handlers (#8395) 6e9fcfc, closes #8395 #6953 #7653
- core/template: support dynamic directive arguments for v-on, v-bind and custom directives (#9373) dbc0582 [RFC-0003]
- core/global-api: add Vue.observable() for explicitly creating observable objects c50bbde
- core/slots: expose all normal slots on $scopedSlots as functions 5d52262
- core/v-html: support v-html for SVG elements (#8652) a981c80, closes #8652
- core/v-bind: v-bind.sync also listens for kebab-case update event (#8297) 3fca527, closes #8297 #6428
- core/v-for: support iterables in v-for (#8179) d40eb9c, closes #8179
- core/template: support custom toString() in text interpolation and v-html (#8217) 0e4e45e, closes #8217 #8093
- core/misc: expose performance measures 9ae80ac, closes #7570
- compiler: output source range for compiler errors (#7127) b31a1aa, closes #7127 #6338
- compiler: add whitespace option, deprecate preserveWhitespace option e1abedb, closes #9208
- compiler: expose generateCodeFrame method a4ed58c
- compiler: output codeframe in browser compiler 325fc76
- compiler: support deindent: false in vue-template-compiler (#7215) bf0efb0, closes #7215 #7054
- compiler/watch: allow unicode characters in component names and watch paths (#8666) 9c71852, closes #8666 #8564
- ssr: add serverPrefetch component option + context.rendered hook (#9017) d7a533d, closes #9017
- ssr: allow template option to be function in renderToString (#9324) b65f6d7
- ssr: Add 'nonce' option to context for ssr outlet script (#8047) f036cce, closes #8047 #7479
- ssr: add custom state serializer option 4494012, closes #6614
- ssr: allow opting-out of caching by returning false in serverCacheKey ab24285, closes #8790
- build: add browser ESM build 861abf4
- types: add Prop to main type declaration file (#6856) 5791072, closes #6856 #6850
- types: add types for vue-template-compiler (#7918) ced774b, closes #7918
Performance Improvements
Important Internal Changes
These internal changes may cause unintended side effects on existing code that relies on non-publicly-documented behavior.
- next-tick: revert nextTick to alaways use microtask 60da366 080dd97, closes #8436 [Details]
- scoped-slots: ensure $scopedSlots calls always return Arrays c7c13c2, closes #8056 [Details]
Bug Fixes
- allow more enumerated values for contenteditable e632e9a, closes #9397
- fix v-bind:style for camelCase properties with !important (#9386) 539e481, closes #9386
- fix checkbox event edge case in Firefox 1868561
- always use microtasks for nextTick (#8450) 850555d, closes #8450 #7109 #7546 #7707 #7834 #8109 #6566
- core: dedupe lifecycle hooks during options merge edf7df0, closes #9199
- core: fix merged twice bug when passing extended constructor to mixins (#9199) 5371617, closes #9199 #9198
- provide/inject: Merges symbol provides (#7926) 1933ee8, closes #7926
- runtime: DevTools recommendation shows for all browsers (#8638) 22ad266, closes #8638 #8634
- make transition-group key warning a tip to avoid breaking compilation d08b49f
- ssr: properly handle invalid and numeric style properties 7d9cfeb, closes #9231
- cover more cases in v-on inline return value 9432737
- ssr: should not render invalid numeric style values 17d8bcb
- ssr: should render 0 as valid value for style property with unit aef5b4e
- ensure only nromalize a scoped slot when it is present 5fb23d4
- ensure proxied normal slot uses correct key b32c4b6
- return inline invocation return value in v-on handlers 0ebb0f3, closes #7628
v2.6.0-beta.3
v2.6.0-beta.2
Features
-
implement new v-slot syntax 4fca045 [RFC-0001] [RFC-0002]
- Note: if using bundlers, the new syntax is only enabled when
process.env.NEW_SLOT_SYNTAX
is set totrue
via bundler's config. In the case of webpack, it should be webpack'sDefinePlugin
.
- Note: if using bundlers, the new syntax is only enabled when
-
support dynamic directive arguments for v-on, v-bind and custom directives (#9373) dbc0582 [RFC-0003]
-
ssr: allow template option to be function in renderToString (#9324) b65f6d7
Performance Improvements
Bug Fixes
v2.6.0-beta.1
Features
- compiler: output source range for compiler errors (#7127) b31a1aa, closes #7127 #6338
- build: add browser ESM build 861abf4
- add Vue.observable() for explicitly creating observable objects c50bbde
- expose performance measures 9ae80ac, closes #7570
- support .property shorthand syntax for v-bind.prop modifier d2902ca, closes #7582
- support custom toString() in text interpolation and v-html (#8217) 0e4e45e, closes #8217 #8093
- support v-html for SVG elements (#8652) a981c80, closes #8652
- v-bind.sync also listens for kebab-case update event (#8297) 3fca527, closes #8297 #6428
- compiler: add whitespace option, deprecate preserveWhitespace option e1abedb, closes #9208
- compiler: expose generateCodeFrame method a4ed58c
- compiler: output codeframe in browser compiler 325fc76
- compiler: support deindent: false in vue-template-compiler (#7215) bf0efb0, closes #7215 #7054
- compiler/watch: allow unicode characters in component names and watch paths (#8666) 9c71852, closes #8666 #8564
- core: expose all slots on $scopedSlots as functions 5d52262
- errors: sync/async error handling for lifecycle hooks and v-on handlers (#8395) 6e9fcfc, closes #8395 #6953 #7653
- functional: add scopedSlots to context in functional components (#7941) fb6aa06, closes #7941
- ssr: Add 'nonce' option to context for ssr outlet script (#8047) f036cce, closes #8047 #7479
- ssr: add custom state serializer option 4494012, closes #6614
- ssr: allow opting-out of caching by returning false in serverCacheKey ab24285, closes #8790
- ssr: ssrPrefetch option + context.rendered hook (#9017) d7a533d, closes #9017
- types: add Prop to main type declaration file (#6856) 5791072, closes #6856 #6850
- types: add types for vue-template-compiler (#7918) ced774b, closes #7918
- v-for: support iterables in v-for (#8179) d40eb9c, closes #8179
Bug Fixes
- allow _ in watch paths (element compat) 8b382b3
- scoped-slots: ensure $scopedSlots calls always return Arrays c7c13c2, closes #8056
- always use microtasks for nextTick (#8450) 850555d, closes #8450 #7109 #7546 #7707 #7834 #8109 #6566
- core: dedupe lifecycle hooks during options merge edf7df0, closes #9199
- core: fix merged twice bug when passing extended constructor to mixins (#9199) 5371617, closes #9199 #9198
- next-tick: revert 60da366 080dd97, closes #8436
- provide/inject: Merges symbol provides (#7926) 1933ee8, closes #7926
- runtime: DevTools recommendation shows for all browsers (#8638) 22ad266, closes #8638 #8634
- make transition-group key warning a tip to avoid breaking compilation d08b49f
- ssr: properly handle invalid and numeric style properties 7d9cfeb, closes #9231
- cover more cases in v-on inline return value 9432737
- ssr: should not render invalid numeric style values 17d8bcb
- ssr: should render 0 as valid value for style property with unit aef5b4e
- ensure only nromalize a scoped slot when it is present 5fb23d4
- ensure proxied normal slot uses correct key b32c4b6
- return inline invocation return value in v-on handlers 0ebb0f3, closes #7628
v2.5.22
Bug Fixes
- async component: memory leak after synchronous async loading (#9275) d21e931, closes #9275 #9229
- core: dedupe lifecycle hooks during options merge 0d2e9c4, closes #9199
- core: fix merged twice bug when passing extended constructor to mixins (#9199) 743edac, closes #9199 #9198
- ssr: support rendering comment (#9128) b06c784, closes #9128
v2.5.21
Bug Fixes
- lifecycle: beforeUpdated should not be called if component is destroyed (#9171) 87bad80, closes #9171 #8076
- types: accept primatives and falsy values in createElement children (#9154) d780dd2, closes #9154 #8498
- v-model: properly handle multiline v-model expressions (#9184) 3d44937, closes #9184 #9183
- weex: support data class type that is string (#9139) d8285c5, closes #9139 #9124
- fix single v-for child optimization 847e493
- fix v-for component with undefined value 4748760, closes #9181
Performance Improvements
- skip normalization on single child element v-for 4074104