@yyx990803 yyx990803 released this Dec 24, 2016 · 79 commits to dev since this release

๐ŸŽ„ Happy Holidays! ๐ŸŽ„

Potential Required Actions

In order to fix certain bugs, we had to introduce a few minor behavior changes:

  • If you are the author of a plugin/component that ships a pre-compiled dist file:

    It is recommended to re-compile the dist file using the latest versions of vue-template-compiler and vue-template-es2015-compiler. The new generated code is backwards-compatible, but code generated by older versions of the compilers may not work properly with the latest runtime.

    Code generation changes that affect compatibility are very rare and we will avoid introducing similar changes in future patch releases.

  • If you use <transition-group>'s move animation feature:

    When fixing #4510 (ensure leave transitions and enter transitions triggered by the same state change are started in the same frame), we had to move the application of the v-enter-active and v-leave-active classes to one frame after the application of v-enter and v-leave. This should not affect existing usage of <transition>, however if you are using <transition-group> for moving animations, there is a minor adjustment required: you need to now add position: absolute to both v-leave and v-leave-active (previously only v-leave-active is sufficient). See updated moving animation example.


  • Improved stateful components instantiation performance by ~30%.
  • From version 2.1.7 and up, you can directly use the CDN link https://unpkg.com/vue for the standalone build.


  • #4472 fix functional component multiple root nodes regression
  • #4478 fix SVG foreignObject namespace regression
  • #4484 unbind v-show if no longer present during patch
  • #4494 ensure value for <option> is always updated (@defcc via #4505)
  • #4497 fix v-for behavior with string value (@posva via #4499)
  • #4510 ensure leave transitions and enter transitions triggered by the same state change are started in the same frame
  • #4514 fix v-model selected value update between 0 and "" (@defcc via #4528)
  • #4518 change Vue.config.ignoredElements default value to be consistent with docs (@semenyukdmitry via #4518)
  • #4521 avoid checked state being overwritten before change event trigger
  • #4529 support v-bind object syntax on scoped slots
  • #4530 fix special attributes (e.g. value) patching error when switching between dynamic and static bindings
  • #4533 fix hydration error caused by empty text nodes between v-if conditions
  • #4535 fix node removal error when patching elements with v-text (@defcc via #4548)
  • #4538 avoid casting empty string to Boolean when a prop expects both String and Boolean types (@fliptheweb via #4539)