2.3.4

Latest release in branch 2.3
Released 8 years ago (June 08, 2017)

Software Vue.js
Branch 2.3
Status
End of life
End of support (OSS) July 13, 2017
First official release version 2.3.0
First official release date 8 years ago (April 27, 2017)
Release notes https://github.com/vuejs/core/releases/tag/v2.3.4
Source code https://github.com/vuejs/core/tree/v2.3.4
Documentation https://v2.vuejs.org
Vue.js 2.3 Releases View full list

What Is New in Vue.js 2.3

Category Key Changes
New Features Re-render on Style Binding, Functional Component Improvements, Async Component Improvements
Improvements Server-Side Rendering, v-model, Performance Optimizations
Bug Fixes v-model with components, v-on, transition-group

What are the new functional component capabilities?

Functional components got a major upgrade. You can now use context as a second argument, giving you access to props, children, slots, data, parent, listeners, and injections.

This makes functional components much more powerful. In practice, you can now write more complex logic in functional components without needing to convert them to stateful components.

Example

Vue.component('my-component', {
  functional: true,
  render: function (createElement, context) {
    // Access to context.props, context.children, etc.
  }
})

How did async components improve?

Async component factories now receive a resolve and reject callback as arguments. This allows for more flexible asynchronous component loading logic.

You can now handle loading failures gracefully by calling reject(reason). This is crucial for building robust applications that need to handle poor network conditions.

Example

Vue.component('async-component', (resolve, reject) => {
  setTimeout(() => {
    // Resolve the component definition
    resolve(MyComponent);
    // Or reject if something goes wrong
    // reject('Failed to load');
  }, 1000)
})

What changed with server-side rendering?

Server-side rendering (SSR) received significant optimizations. The renderer now avoids unnecessary re-renders caused by style bindings, which improves performance.

This matters because it reduces the workload on your Node.js server. Your SSR responses will be generated faster and with less CPU overhead.

What v-model improvements were introduced?

The v-model directive got smarter with components. It now handles the input event more intelligently, especially when dealing with IME composition.

This fixes a common pain point for international users. Input in languages like Chinese or Japanese (which require composition) now works seamlessly with v-model.

FAQ

Do I need to change my existing functional components?
No, the changes are additive. Your existing functional components will continue to work. The new context argument is optional.

Can I use the new async component pattern with Webpack's code splitting?
Absolutely. The new resolve/reject pattern integrates perfectly with import() for lazy loading.

What is the main benefit of the style binding re-render fix?
It prevents unnecessary component re-renders when only style objects change, which is a nice performance boost for complex UIs.

Are there any breaking changes in 2.3 I should worry about?
This is a minor release focused on additions and fixes. The changelog does not list any breaking changes, so upgrading should be safe.

How does the improved v-model help with IME input?
It ensures the input event isn't fired until composition is complete, preventing intermediate characters from being processed by your model.

Releases In Branch 2.3

Version Release date
2.3.4 8 years ago
(June 08, 2017)
2.3.3 8 years ago
(May 09, 2017)
2.3.1 8 years ago
(May 02, 2017)
2.3.2 8 years ago
(May 02, 2017)
2.3.0 8 years ago
(April 27, 2017)
2.3.0-beta.1 8 years ago
(April 26, 2017)