+# [3.0.0-alpha.8](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.7...v3.0.0-alpha.8) (2020-03-06)
+
+
+### Bug Fixes
+
+* **directives:** ignore invalid directive hooks ([7971b04](https://github.com/vuejs/vue-next/commit/7971b0468c81483dd7026204518f7c03187d13c4)), closes [#795](https://github.com/vuejs/vue-next/issues/795)
+* **portal:** fix portal placeholder text ([4397528](https://github.com/vuejs/vue-next/commit/439752822c175c737e58896e0f365f2b02bab577))
+* **reactivity:** allow effect trigger inside no-track execution contexts ([274f81c](https://github.com/vuejs/vue-next/commit/274f81c5db83f0f77e1aba3240b2134a2474a72f)), closes [#804](https://github.com/vuejs/vue-next/issues/804)
+* **reactivity:** Map/Set identity methods should work even if raw value contains reactive entries ([cc69fd7](https://github.com/vuejs/vue-next/commit/cc69fd72e3f9ef3572d2be40af71d22232e1b9af)), closes [#799](https://github.com/vuejs/vue-next/issues/799)
+* **reactivity:** should not trigger length dependency on Array delete ([a306658](https://github.com/vuejs/vue-next/commit/a3066581f3014aae31f2d96b96428100f1674166)), closes [#774](https://github.com/vuejs/vue-next/issues/774)
+* **runtime-core:** ensure inhertied attrs update on optimized child root ([6810d14](https://github.com/vuejs/vue-next/commit/6810d1402e214a12fa274ff5fb7475bad002d1b1)), closes [#677](https://github.com/vuejs/vue-next/issues/677) [#784](https://github.com/vuejs/vue-next/issues/784)
+* **slots:** fix conditional slot ([3357ff4](https://github.com/vuejs/vue-next/commit/3357ff438c6ff0d4fea67923724dd3cb99ff2756)), closes [#787](https://github.com/vuejs/vue-next/issues/787)
+* **ssr:** fix ssr on-the-fly compilation + slot fallback branch helper injection ([3be3785](https://github.com/vuejs/vue-next/commit/3be3785f945253918469da456a14a2d9381bcbd0))
+
+
+### Code Refactoring
+
+* **runtime-core:** adjust attr fallthrough behavior ([e1660f4](https://github.com/vuejs/vue-next/commit/e1660f4338fbf4d2a434e13193a58e00f844379b)), closes [#749](https://github.com/vuejs/vue-next/issues/749)
+* **runtime-core:** revert setup() result reactive conversion ([e67f655](https://github.com/vuejs/vue-next/commit/e67f655b2687042fcc74dc0993581405abed56de))
+
+
+### Features
+
+* **compiler-core:** switch to @babel/parser for expression parsing ([8449a97](https://github.com/vuejs/vue-next/commit/8449a9727c942b6049c9e577c7c15b43fdca2867))
+* **compiler-ssr:** compile portal ([#775](https://github.com/vuejs/vue-next/issues/775)) ([d8ed0e7](https://github.com/vuejs/vue-next/commit/d8ed0e7fbf9bbe734667eb94e809235e79e431eb))
+* **ssr:** hydration mismatch handling ([91269da](https://github.com/vuejs/vue-next/commit/91269da52c30abf6c50312555b715f5360224bb0))
+
+
+### BREAKING CHANGES
+
+* **runtime-core:** adjust attr fallthrough behavior
+
+ Updated per pending RFC https://github.com/vuejs/rfcs/pull/137
+
+ - Implicit fallthrough now by default only applies for a whitelist
+ of attributes (class, style, event listeners, a11y attributes, and
+ data attributes).
+
+ - Fallthrough is now applied regardless of whether the component has
+* **runtime-core:** revert setup() result reactive conversion
+
+ Revert 6b10f0c & a840e7d. The motivation of the original change was
+ avoiding unnecessary deep conversions, but that can be achieved by
+ explicitly marking values non-reactive via `markNonReactive`.
+
+ Removing the reactive conversion behavior leads to an usability
+ issue in that plain objects containing refs (which is what most
+ composition functions will return), when exposed as a nested
+ property from `setup()`, will not unwrap the refs in templates. This
+ goes against the "no .value in template" intuition and the only
+ workaround requires users to manually wrap it again with `reactive()`.
+
+ So in this commit we are reverting to the previous behavior where
+ objects returned from `setup()` are implicitly wrapped with
+ `reactive()` for deep ref unwrapping.
+
+
+
# [3.0.0-alpha.7](https://github.com/vuejs/vue-next/compare/v3.0.0-alpha.6...v3.0.0-alpha.7) (2020-02-26)
{
"private": true,
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"workspaces": [
"packages/*"
],
{
"name": "@vue/compiler-core",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/compiler-core",
"main": "index.js",
"module": "dist/compiler-core.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-core#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
+ "@vue/shared": "3.0.0-alpha.8",
"@babel/parser": "^7.8.6",
"@babel/types": "^7.8.6",
"estree-walker": "^0.8.1",
{
"name": "@vue/compiler-dom",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/compiler-dom",
"main": "index.js",
"module": "dist/compiler-dom.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-dom#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/compiler-core": "3.0.0-alpha.7"
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/compiler-core": "3.0.0-alpha.8"
}
}
{
"name": "@vue/compiler-sfc",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/compiler-sfc",
"main": "dist/compiler-sfc.cjs.js",
"types": "dist/compiler-sfc.d.ts",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-sfc#readme",
"peerDependencies": {
- "vue": "3.0.0-alpha.7"
+ "vue": "3.0.0-alpha.8"
},
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/compiler-core": "3.0.0-alpha.7",
- "@vue/compiler-dom": "3.0.0-alpha.7",
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/compiler-core": "3.0.0-alpha.8",
+ "@vue/compiler-dom": "3.0.0-alpha.8",
"consolidate": "^0.15.1",
"hash-sum": "^2.0.0",
"lru-cache": "^5.1.1",
{
"name": "@vue/compiler-ssr",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/compiler-ssr",
"main": "dist/compiler-ssr.cjs.js",
"types": "dist/compiler-ssr.d.ts",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-ssr#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/compiler-dom": "3.0.0-alpha.7"
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/compiler-dom": "3.0.0-alpha.8"
}
}
{
"name": "@vue/reactivity",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/reactivity",
"main": "index.js",
"module": "dist/reactivity.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/reactivity#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7"
+ "@vue/shared": "3.0.0-alpha.8"
}
}
{
"name": "@vue/runtime-core",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/runtime-core",
"main": "index.js",
"module": "dist/runtime-core.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/runtime-core#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/reactivity": "3.0.0-alpha.7"
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/reactivity": "3.0.0-alpha.8"
}
}
{
"name": "@vue/runtime-dom",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/runtime-dom",
"main": "index.js",
"module": "dist/runtime-dom.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/runtime-dom#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/runtime-core": "3.0.0-alpha.7",
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/runtime-core": "3.0.0-alpha.8",
"csstype": "^2.6.8"
}
}
{
"name": "@vue/runtime-test",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/runtime-test",
"private": true,
"main": "index.js",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/runtime-test#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/runtime-core": "3.0.0-alpha.7"
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/runtime-core": "3.0.0-alpha.8"
}
}
{
"name": "@vue/server-renderer",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "@vue/server-renderer",
"main": "index.js",
"types": "dist/server-renderer.d.ts",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/server-renderer#readme",
"peerDependencies": {
- "vue": "3.0.0-alpha.7"
+ "vue": "3.0.0-alpha.8"
},
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/compiler-ssr": "3.0.0-alpha.7"
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/compiler-ssr": "3.0.0-alpha.8"
}
}
{
"name": "@vue/shared",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "internal utils shared across @vue packages",
"main": "index.js",
"module": "dist/shared.esm-bundler.js",
{
"name": "@vue/size-check",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"private": true,
"buildOptions": {
"name": "Vue",
{
"name": "@vue/template-explorer",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"private": true,
"buildOptions": {
"formats": [
{
"name": "vue",
- "version": "3.0.0-alpha.7",
+ "version": "3.0.0-alpha.8",
"description": "vue",
"main": "index.js",
"module": "dist/vue.runtime.esm-bundler.js",
},
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/vue#readme",
"dependencies": {
- "@vue/shared": "3.0.0-alpha.7",
- "@vue/compiler-dom": "3.0.0-alpha.7",
- "@vue/runtime-dom": "3.0.0-alpha.7"
+ "@vue/shared": "3.0.0-alpha.8",
+ "@vue/compiler-dom": "3.0.0-alpha.8",
+ "@vue/runtime-dom": "3.0.0-alpha.8"
},
"devDependencies": {
"lodash": "^4.17.15",