+# [3.0.0-alpha.4](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.3...v3.0.0-alpha.4) (2020-01-27)
+
+
+### Bug Fixes
+
+* **reactivity:** Array methods relying on identity should work with raw values ([aefb7d2](https://github.com/vuejs/vue-next/commit/aefb7d282ed716923ca1a288a63a83a94af87ebc))
+* **runtime-core:** instance should not expose non-declared props ([2884831](https://github.com/vuejs/vue-next/commit/2884831065e16ccf5bd3ae1ee95116803ee3b18c))
+* **runtime-dom:** should not access document in non-browser env ([48152bc](https://github.com/vuejs/vue-next/commit/48152bc88ea817ae23e2987dce99d64b426366c1)), closes [#657](https://github.com/vuejs/vue-next/issues/657)
+* **v-model/emit:** update:camelCase events should trigger kebab case equivalent ([2837ce8](https://github.com/vuejs/vue-next/commit/2837ce842856d51dfbb55e3fa4a36a352446fb54)), closes [#656](https://github.com/vuejs/vue-next/issues/656)
+
+
+### Code Refactoring
+
+* adjust `createApp` related API signatures ([c07751f](https://github.com/vuejs/vue-next/commit/c07751fd3605f301dc0f02fd2a48acc7ba7a0397))
+* remove implicit reactive() call on renderContext ([6b10f0c](https://github.com/vuejs/vue-next/commit/6b10f0cd1da942c1d96746672b5f595df7d125b5))
+
+
+### Performance Improvements
+
+* **ssr:** avoid unnecessary async overhead ([297282a](https://github.com/vuejs/vue-next/commit/297282a81259289bfed207d0c9393337aea70117))
+
+
+### BREAKING CHANGES
+
+* object returned from `setup()` are no longer implicitly
+passed to `reactive()`.
+
+ The renderContext is the object returned by `setup()` (or a new object
+ if no setup() is present). Before this change, it was implicitly passed
+ to `reactive()` for ref unwrapping. But this has the side effect of
+ unnecessary deep reactive conversion on properties that should not be
+ made reactive (e.g. computed return values and injected non-reactive
+ objects), and can lead to performance issues.
+
+ This change removes the `reactive()` call and instead performs a
+ shallow ref unwrapping at the render proxy level. The breaking part is
+ when the user returns an object with a plain property from `setup()`,
+ e.g. `return { count: 0 }`, this property will no longer trigger
+ updates when mutated by a in-template event handler. Instead, explicit
+ refs are required.
+
+ This also means that any objects not explicitly made reactive in
+ `setup()` will remain non-reactive. This can be desirable when
+ exposing heavy external stateful objects on `this`.
+* `createApp` API has been adjusted.
+
+ - `createApp()` now accepts the root component, and optionally a props
+ object to pass to the root component.
+ - `app.mount()` now accepts a single argument (the root container)
+ - `app.unmount()` no longer requires arguments.
+
+ New behavior looks like the following:
+
+ ``` js
+ const app = createApp(RootComponent)
+ app.mount('#app')
+ app.unmount()
+ ```
+
+
+
# [3.0.0-alpha.3](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.2...v3.0.0-alpha.3) (2020-01-22)
{
"private": true,
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"workspaces": [
"packages/*"
],
{
"name": "@vue/compiler-core",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/compiler-core",
"main": "index.js",
"module": "dist/compiler-core.esm-bundler.js",
{
"name": "@vue/compiler-dom",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/compiler-dom",
"main": "index.js",
"module": "dist/compiler-dom.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-dom#readme",
"dependencies": {
- "@vue/compiler-core": "3.0.0-alpha.3"
+ "@vue/compiler-core": "3.0.0-alpha.4"
}
}
{
"name": "@vue/compiler-sfc",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/compiler-sfc",
"main": "dist/compiler-sfc.cjs.js",
"types": "dist/compiler-sfc.d.ts",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-sfc#readme",
"peerDependencies": {
- "vue": "3.0.0-alpha.3"
+ "vue": "3.0.0-alpha.4"
},
"dependencies": {
- "@vue/compiler-core": "3.0.0-alpha.3",
- "@vue/compiler-dom": "3.0.0-alpha.3",
+ "@vue/compiler-core": "3.0.0-alpha.4",
+ "@vue/compiler-dom": "3.0.0-alpha.4",
"consolidate": "^0.15.1",
"hash-sum": "^2.0.0",
"lru-cache": "^5.1.1",
{
"name": "@vue/compiler-ssr",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/compiler-ssr",
"main": "dist/compiler-ssr.cjs.js",
"types": "dist/compiler-ssr.d.ts",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-ssr#readme",
"dependencies": {
- "@vue/compiler-core": "3.0.0-alpha.3"
+ "@vue/compiler-core": "3.0.0-alpha.4"
}
}
{
"name": "@vue/reactivity",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/reactivity",
"main": "index.js",
"module": "dist/reactivity.esm-bundler.js",
{
"name": "@vue/runtime-core",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/runtime-core",
"main": "index.js",
"module": "dist/runtime-core.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/runtime-core#readme",
"dependencies": {
- "@vue/reactivity": "3.0.0-alpha.3"
+ "@vue/reactivity": "3.0.0-alpha.4"
}
}
{
"name": "@vue/runtime-dom",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/runtime-dom",
"main": "index.js",
"module": "dist/runtime-dom.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/runtime-dom#readme",
"dependencies": {
- "@vue/runtime-core": "3.0.0-alpha.3",
+ "@vue/runtime-core": "3.0.0-alpha.4",
"csstype": "^2.6.8"
}
}
{
"name": "@vue/runtime-test",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/runtime-test",
"private": true,
"main": "index.js",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/runtime-test#readme",
"dependencies": {
- "@vue/runtime-core": "3.0.0-alpha.3"
+ "@vue/runtime-core": "3.0.0-alpha.4"
}
}
{
"name": "@vue/server-renderer",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "@vue/server-renderer",
"main": "index.js",
"types": "dist/server-renderer.d.ts",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/server-renderer#readme",
"peerDependencies": {
- "vue": "3.0.0-alpha.3"
+ "vue": "3.0.0-alpha.4"
}
}
{
"name": "@vue/shared",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"private": true
}
{
"name": "@vue/size-check",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"private": true,
"buildOptions": {
"name": "Vue",
{
"name": "@vue/template-explorer",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"private": true,
"buildOptions": {
"formats": [
{
"name": "vue",
- "version": "3.0.0-alpha.3",
+ "version": "3.0.0-alpha.4",
"description": "vue",
"main": "index.js",
"module": "dist/vue.runtime.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/vue#readme",
"dependencies": {
- "@vue/compiler-dom": "3.0.0-alpha.3",
- "@vue/runtime-dom": "3.0.0-alpha.3"
+ "@vue/compiler-dom": "3.0.0-alpha.4",
+ "@vue/runtime-dom": "3.0.0-alpha.4"
},
"devDependencies": {
"lodash": "^4.17.15",