diff --git a/docs/migration-v02x.md b/docs/migration-v02x.md index f76aa851..cb19d6da 100644 --- a/docs/migration-v02x.md +++ b/docs/migration-v02x.md @@ -4,89 +4,39 @@ v1.x and v2.x are largely API-compatible with v0.2.x, but there are some breakin If you are migrating, consider using the [mithril-codemods](https://www.npmjs.com/package/mithril-codemods) tool to help automate the most straightforward migrations. -- [Migrating from v0.2.x](#migrating-from-v02x) - - [`m.prop` removed](#mprop-removed) - - [v0.2.x](#v02x) - - [v2.x](#v2x) - - [`m.component` removed](#mcomponent-removed) - - [v0.2.x](#v02x-1) - - [v2.x](#v2x-1) - - [`m.withAttr` removed](#mwithattr-removed) - - [v0.2.x](#v02x-2) - - [v2.x](#v2x-2) - - [`m.version` removed](#mversion-removed) - - [`config` function](#config-function) - - [v0.2.x](#v02x-3) - - [v2.x](#v2x-3) - - [Changes in redraw behaviour](#changes-in-redraw-behaviour) - - [No more redraw locks](#no-more-redraw-locks) - - [Cancelling redraw from event handlers](#cancelling-redraw-from-event-handlers) - - [v0.2.x](#v02x-4) - - [v2.x](#v2x-4) - - [Synchronous redraw changed](#synchronous-redraw-changed) - - [v0.2.x](#v02x-5) - - [v2.x](#v2x-5) - - [`m.startComputation`/`m.endComputation` removed](#mstartcomputationmendcomputation-removed) - - [Component `controller` function](#component-controller-function) - - [v0.2.x](#v02x-6) - - [v2.x](#v2x-6) - - [Component arguments](#component-arguments) - - [v0.2.x](#v02x-7) - - [v2.x](#v2x-7) - - [Component vnode children](#component-vnode-children) - - [v0.2.x](#v02x-8) - - [v2.x](#v2x-8) - - [DOM vnode children](#dom-vnode-children) - - [Keys](#keys) - - [`view()` parameters](#view-parameters) - - [v0.2.x](#v02x-9) - - [v2.x](#v2x-9) - - [Passing components to `m()`](#passing-components-to-m) - - [v0.2.x](#v02x-10) - - [v2.x](#v2x-10) - - [Passing vnodes to `m.mount()` and `m.route()`](#passing-vnodes-to-mmount-and-mroute) - - [v0.2.x](#v02x-11) - - [v2.x](#v2x-11) - - [`m.route.mode`](#mroutemode) - - [v0.2.x](#v02x-12) - - [v2.x](#v2x-12) - - [`m.route()` and anchor tags](#mroute-and-anchor-tags) - - [v0.2.x](#v02x-13) - - [v2.x](#v2x-13) - - [Path templates](#path-templates) - - [`m.request` URLs](#mrequest-urls) - - [`m.route(route, params, shouldReplaceHistoryEntry)` paths](#mrouteroute-params-shouldreplacehistoryentry-paths) - - [`m.route` route patterns](#mroute-route-patterns) - - [Reading/writing the current route](#readingwriting-the-current-route) - - [v0.2.x](#v02x-14) - - [v2.x](#v2x-14) - - [Accessing route params](#accessing-route-params) - - [v0.2.x](#v02x-15) - - [v2.x](#v2x-15) - - [Building/Parsing query strings](#buildingparsing-query-strings) - - [v0.2.x](#v02x-16) - - [v2.x](#v2x-16) - - [Preventing unmounting](#preventing-unmounting) - - [v0.2.x](#v02x-17) - - [v2.x](#v2x-17) - - [Run code on component removal](#run-code-on-component-removal) - - [v0.2.x](#v02x-18) - - [v2.x](#v2x-18) - - [`m.request`](#mrequest) - - [v0.2.x](#v02x-19) - - [v2.x](#v2x-19) - - [`m.request` headers](#mrequest-headers) - - [`m.deferred` removed](#mdeferred-removed) - - [v0.2.x](#v02x-20) - - [v2.x](#v2x-20) - - [`m.sync` removed](#msync-removed) - - [v0.2.x](#v02x-21) - - [v2.x](#v2x-21) - - [`xlink` namespace required](#xlink-namespace-required) - - [v0.2.x](#v02x-22) - - [v2.x](#v2x-22) - - [Nested arrays in views](#nested-arrays-in-views) - - [`vnode` equality checks](#vnode-equality-checks) +- [`m.prop` removed](#mprop-removed) +- [`m.component` removed](#mcomponent-removed) +- [`m.withAttr` removed](#mwithattr-removed) +- [`m.version` removed](#mversion-removed) +- [`config` function](#config-function) +- [Changes in redraw behaviour](#changes-in-redraw-behaviour) + - [No more redraw locks](#no-more-redraw-locks) + - [Cancelling redraw from event handlers](#cancelling-redraw-from-event-handlers) + - [Synchronous redraw changed](#synchronous-redraw) + - [`m.startComputation`/`m.endComputation` removed](#mstartcomputationmendcomputation-removed) +- [Component `controller` function](#component-controller-function) +- [Component arguments](#component-arguments) +- [Component vnode children](#component-children) +- [DOM vnode children](#dom-vnode-children) +- [Keys](#keys) +- [`view()` parameters](#view-parameters) +- [Passing components to `m()`](#passing-components-to-m) +- [Passing vnodes to `m.mount()` and `m.route()`](#passing-vnodes-to-mmount-and-mroute) +- [`m.route.mode`](#mroutemode) +- [`m.route()` and anchor tags](#mroute-and-anchor-tags) +- [Path templates](#path-templates) +- [Reading/writing the current route](#readingwriting-the-current-route) +- [Accessing route params](#accessing-route-params) +- [Building/Parsing query strings](#buildingparsing-query-strings) +- [Preventing unmounting](#preventing-unmounting) +- [Run code on component removal](#run-code-on-component-removal) +- [`m.request`](#mrequest) +- [Default `responseType` for `m.request`](#default-responsetype-for-mrequest) +- [`m.deferred` removed](#mdeferred-removed) +- [`m.sync` removed](#msync-removed) +- [`xlink` namespace required](#xlink-namespace-required) +- [Nested arrays in views](#nested-arrays-in-views) +- [`vnode` equality checks](#vnode-equality-checks) --- @@ -317,7 +267,7 @@ m.mount(document.body, { ## Component arguments -Arguments to a component in v2.x must be an object, simple values like `String`/`Number`/`Boolean` will be treated as children. Arguments are accessed within the component by reading them from the `vnode.attrs` object. +Attributes passed to a component in v2.x must take the form of an object - simple values like `String`/`Number`/`Boolean` will be treated as children. Attributes are accessed within the component by reading them from the `vnode.attrs` object. ### v0.2.x