Vue.js: 1.0.0-alpha.4 Release

Release date:
September 11, 2015
Previous version:
1.0.0-alpha.3 (released September 7, 2015)
Magnitude:
1,707 Diff Delta
Contributors:
4 total committers
Data confidence:
Commits:

Top Contributors in 1.0.0-alpha.4

yyx990803
evantre
zOxta
humanismusic

Directory Browser for 1.0.0-alpha.4

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Alpha versions are pre-releases and the API may change at any time. By using the alpha releases you are responsible for any risk involved. If you have an in-production 0.12 app, it's recommended to wait until the stable 1.0 migration release before upgrading.

Changes from 1.0.0-alpha.3

Breaking

For latest binding syntax, see #1173 - Literal directives now use the #= syntax instead of .=:

  <a v-link#="/a/b/c"></a>
  • Prop binding type indicators are now placed in the attribute name instead of the value:
  <comp
    bind-two-way@="something"
    bind-one-time*="something">
  </comp>
  • v-el and v-ref are deprecated and now use dedicate syntax:
  <!-- registers vm.$.child -->
  <comp $.child></comp>

  <!-- registers vm.$$.node -->
  <div $$.node></div>

  <!-- caveat: must use dash-case instead of camelCase, similar to props -->
  <!-- registers vm.$.someComp -->
  <comp $.some-comp></comp>
  • v-component has been deprecated in favor of the is attribute, which is now usable on any element.
  • The prefix global config has been deprecated.

New

  • v-else: must be used following an element with v-if.
  <div v-if="ok">OK</div>
  <div v-else>NOT OK</div>
  • Unsafe delimiters for HTML interpolation can now be configured separately:
  Vue.config.unsafeDelimiters = ['{!!', '!!}']

Note in 1.0.0-alpha when you set Vue.config.delimiters, it will still implicitly update the unsafe delimiters following the current rules, but in 1.0.0-beta and above setting delimiters will have no effect on unsafeDelimiters.

Non-breaking Changes

  • Removed overly aggressive "unobservable object" warnings.
  • slot attributes on transcluded content are now preserved.

Fixed

  • Fixed issue where minified build calling non-existent deprecation warning when using legacy syntax
  • #1249 v-for error when used with 3rd party sortable plugins (@weislanes)
  • #1268 component <slot> not compiled in correct scope when inside v-for
  • #1282 <slot> fallback content not compiled in correct scope when inside v-for
  • #1295 error when triggering transitions on fragments

Internals, for Advanced Users

  • FragmentFactory is now exposed as Vue.FragmentFactory.
  • User can now extend Vue's option merging strategies by adding functions to Vue.config.optionMergeStrategies:
  Vue.config.optionMergeStrategies.myOption = function (parentValue, childValue) {
    // return merged value
  }

The above function will be called when calling Vue.extend({ myOptions: { ... }}), or when applying a mixin that includes myOption.