Go to file
Evan You 775a7c2b41 refactor: preserve refs in reactive arrays
BREAKING CHANGE: reactive arrays no longer unwraps contained refs

    When reactive arrays contain refs, especially a mix of refs and
    plain values, Array prototype methods will fail to function
    properly - e.g. sort() or reverse() will overwrite the ref's value
    instead of moving it (see #737).

    Ensuring correct behavior for all possible Array methods while
    retaining the ref unwrapping behavior is exceedinly complicated; In
    addition, even if Vue handles the built-in methods internally, it
    would still break when the user attempts to use a 3rd party utility
    functioon (e.g. lodash) on a reactive array containing refs.

    After this commit, similar to other collection types like Map and
    Set, Arrays will no longer automatically unwrap contained refs.

    The usage of mixed refs and plain values in Arrays should be rare in
    practice. In cases where this is necessary, the user can create a
    computed property that performs the unwrapping.
2020-02-21 17:48:39 +01:00
.circleci ci: bust cache 2019-12-20 10:59:21 -05:00
.github chore: add GitHub sponsor button config (#708) [ci skip] 2020-02-09 15:45:30 -05:00
.vscode workflow: support debug single jest test file in vscode (#360) 2019-10-23 11:20:05 -04:00
packages refactor: preserve refs in reactive arrays 2020-02-21 17:48:39 +01:00
scripts build: remove compiler-ssr and server-renderer from skipped packages 2020-02-18 14:56:53 -05:00
test-dts fix(types): improve ref typing, close #759 2020-02-21 17:45:42 +01:00
.gitignore chore: add the yarn error log file to git ignore (#150) 2019-10-09 12:13:54 -04:00
.prettierrc init (graduate from prototype) 2018-09-19 11:35:38 -04:00
api-extractor.json chore: config comments 2019-09-03 12:17:33 -04:00
CHANGELOG.md chore: typo (#744) [ci skip] 2020-02-21 14:44:58 +01:00
jest.config.js build: avoid runtime wildcard import in global build 2020-02-13 18:50:36 -05:00
LICENSE chore: license 2019-10-28 11:15:17 -04:00
package.json release: v3.0.0-alpha.5 2020-02-18 15:00:55 -05:00
README.md chore: readme 2020-02-18 14:56:53 -05:00
rollup.config.js build: use buildOption to determine runtime compile build (#742) 2020-02-19 09:50:24 -05:00
tsconfig.json test(ssr): test for rendering components 2020-01-29 16:46:18 -05:00
yarn.lock build(deps-dev): bump typescript from 3.7.5 to 3.8.2 2020-02-21 13:49:56 +00:00

vue-next CircleCI

Status: Alpha.

The current codebase has basic feature parity with v2.x, together with the changes proposed in merged RFCs. There is a simple webpack-based setup with Single-File Component support available here.

Please note that there could still be undocumented behavior inconsistencies with 2.x. When you run into such a case, please make sure to first check if the behavior difference has already been proposed in an existing RFC. If the inconsistency is not part of an RFC, then it's likely unintended, and an issue should be opened (please make sure to use the issue helper when opening new issues).

TODOs as of 3.0.0-alpha.5

  • Suspense support in SSR
  • SSR Hydration mismatch handling
  • SSR vnode directive support
  • SSR integration tests
  • 2.x compatible async component support

Known Issues

  • There is currently no way to attach custom instance properties via Vue.prototype.

  • The current implementation requires native ES2015+ in the runtime environment and does not support IE11 (yet).

Contribution

See Contributing Guide.