Skip to content

Latest commit

 

History

History
127 lines (78 loc) · 9 KB

CHANGELOG.md

File metadata and controls

127 lines (78 loc) · 9 KB

3.0.0-alpha.4 (2020-01-27)

Bug Fixes

  • reactivity: Array methods relying on identity should work with raw values (aefb7d2)
  • runtime-core: instance should not expose non-declared props (2884831)
  • runtime-dom: should not access document in non-browser env (48152bc), closes #657
  • v-model/emit: update:camelCase events should trigger kebab case equivalent (2837ce8), closes #656

Code Refactoring

  • adjust createApp related API signatures (c07751f)
  • remove implicit reactive() call on renderContext (6b10f0c)

Performance Improvements

  • ssr: avoid unnecessary async overhead (297282a)

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:

    const app = createApp(RootComponent)
    app.mount('#app')
    app.unmount()

3.0.0-alpha.3 (2020-01-22)

Bug Fixes

  • Suspense should include into dynamic children (#653) (ec63623), closes #649
  • compiler-core: avoid override user keys when injecting branch key (#630) (aca2c2a)
  • compiler-core: force <svg> into blocks for correct runtime isSVG (f2ac28b)
  • compiler-sfc: only transform relative asset URLs (#628) (c71ca35)
  • dom: fix <svg> and <foreignObject> mount and updates (4f06eeb)
  • runtime-core: condition for parent node check should be any different nodes (c35fea3), closes #622
  • runtime-core: isSVG check should also apply for patch branch (035b656), closes #639
  • runtime-core: should not warn unused attrs when accessed via setup context (751d838), closes #625
  • transition: handle multiple transition classes (#638) (#645) (98d50d8)

Features

  • runtime-core: emit now returns array of return values from all triggered handlers (e81c8a3), closes #635
  • runtime-core: support app.unmount(container) (#601) (04ac6c4), closes #593

3.0.0-alpha.2 (2020-01-13)

Bug Fixes

  • compiler/v-on: handle multiple statements in v-on handler (close #572) (137893a)
  • compiler/v-slot: handle implicit default slot mixed with named slots (2ac4b72)
  • reactivity: should delete observe value (#598) (63a6563), closes #597
  • runtime-core: allow classes to be passed as plugins (#588) (8f616a8)
  • runtime-core: should preserve props casing when component has no declared props (bb6a346), closes #583
  • runtime-core/renderer: fix v-if toggle inside blocks (2e9726e), closes #604 #607
  • runtime-core/vnode: should not render boolean values in vnode children (close #574) (84dc5a6)
  • types: components options should accept components defined with defineComponent (#602) (74baea1)
  • watch: remove recorded effect on manual stop (#590) (453e688)

3.0.0-alpha.1 (2020-01-02)

Bug Fixes

  • runtime-core: pass options to plugins (#561) (4d20981)
  • sfc: treat custom block content as raw text (d6275a3)
  • mounting new children (7d436ab)
  • core: clone mounted hoisted vnodes on patch (47a6a84)
  • fragment: perform direct remove when removing fragments (2fdb499)

Features

  • hmr: root instance reload (eda495e)

Performance Improvements

  • compiler-core: simplify advancePositionWithMutation (#564) (ad2a0bd)

3.0.0-alpha.0 (2019-12-20)

For changes between 2.x and 3.0 up to this release, please refer to merged RFCs here.