diff --git a/CHANGELOG.md b/CHANGELOG.md index 8419c0d2e4..cdb8c93921 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,61 +1,46 @@ # [2.0.0-rc.0](https://github.com/driftyco/ionic/compare/v2.0.0-beta.11...v2.0.0-rc.0) (2016-09-28) -RC0 requires changes to the structure of your app. To get started updating your app see the [upgrade steps](#steps-to-upgrade-to-rc0) section below. +RC0 requires changes to the structure of your app. To get started updating your app see the [Steps to Upgrade](#steps-to-upgrade-to-rc0) below. -### New Features * Ionic 2 API finalized for `2.0.0` release -* Angular 2.0.0 (final!) -* ionViewCanEnter / CanLeave lifecycle events -* FAB Button lists +* Angular `2.0.0` final! +* `ionViewCanEnter` / `ionViewCanLeave` lifecycle events +* Floating Action Button (FAB) lists * Ahead of Time (AoT) compiler ready -* Components can now individually set a mode, which means an app can mix and match iOS / Material Design / Windows Platform modes if that’s desired. +* Components can now individually set a mode, which means an app can mix and match iOS / Material Design / Windows Platform modes if that’s desired * Typescript 2.0 -* @types support for third-party libraries -* Move away from `gulp` to `@ionic/app-scripts` -* Use Rollup for bundling instead of `browserify` or `webpack` +* `@types` support for third-party libraries +* Move away from `gulp` ([ionic-gulp-tasks](https://github.com/driftyco/ionic-gulp-tasks)) to `npm scripts` ([ionic-app-scripts](https://github.com/driftyco/ionic-app-scripts)) +* Use [Rollup](http://rollupjs.org) for bundling instead of `browserify` or `webpack` + ### BREAKING CHANGES * Angular upgrade to [2.0.0](https://angular.io/docs/ts/latest/cookbook/rc4-to-rc5.html) - * [Renamed Lifecycle events](#lifecycle-events-renamed). - -* Storage has been removed from ionic-angular and into a separate module, @ionic/storage. -Starters have been updated to add this, make sure to add it to your package.json if you’re using the storage system. See more [details here](#storage). - +* Storage has been removed from `ionic-angular` and placed into a separate module, `@ionic/storage`. Starters have been updated to add this, make sure to add it to your `package.json` if you’re using the storage system. See more [details here](#storage). * Nav transitions are queued. For more info on what this means for you see [this section](#nav-transitions). - * Removed Tabs `preloadTabs` ability. This is no longer needed with the Ahead of Time (AoT) compiler. - * Icons in buttons require an attribute on the parent button in order to style them. - * Platform and mode CSS classes have been moved from the element to the element. - -* select: Select’s `alertOptions` input has been renamed to `selectOptions`. See more [details here](#select-changes). - -* colors: Colors should be passed in the `color` input on components, not added -individually as an attribute on the component. See more [details here](#component-colors). - +* Select’s `alertOptions` input has been renamed to `selectOptions`. See more [details here](#select-changes). +* Colors should be passed in the `color` input on components, not added individually as an attribute on the component. See more [details here](#component-colors). * buttons: ` -``` +1. Icon only buttons -becomes + ``` + + ``` -``` - -``` -Icon left of text in a button -``` - -``` + becomes -becomes + ``` + + ``` -``` - -``` -Icon right of text in a button -``` - -``` +2. Icon left of text in a button -becomes + ``` + + ``` -``` - -``` -Item option buttons - the `icon-left` attribute should still be added to the `` container and not the button itself. -`menuToggle` buttons should not get the `icon-only` attribute + becomes + + ``` + + ``` + +3. Icon right of text in a button + + ``` + + ``` + + becomes + + ``` + + ``` + +4. Item option buttons - the `icon-left` attribute should still be added to the `` container and not the button itself. +5. `menuToggle` buttons should not get the `icon-only` attribute **Reason for this change:** -There was a noticeable performance decrease from us reading in each button to determine where icons were placed and how to style them. This change improves performance. -This adds styling so that the buttons and icons will be padded a certain amount, but the user is free to leave these attributes off and style the components themselves. +There was a noticeable performance decrease from us reading in each button to determine where icons were placed and how to style them. This change improves performance. This adds styling so that the buttons and icons will be padded a certain amount, but the user is free to leave these attributes off and style the components themselves. + #### Update CSS Link Tags @@ -240,6 +223,8 @@ With: ``` ``` + + #### Sass Import The default configuration will be updated, but if your existing app is using Sass and importing Ionic Sass files directly you’ll need to update the `includePaths` of Node Sass. @@ -254,10 +239,10 @@ Next, to include Ionic into your custom Sass file you’ll need to update the Io @import "ionic.theme.default"; ``` + #### Typings -Any type definitions for third party libraries that are included via the `typings` tool and are included in the the typings.json file should -be updated to use `npm @types`. An example of how this looks is: +Any type definitions for third party libraries that are included via the `typings` tool and are included in the the `typings.json` file should be updated to use `npm @types`. An example of how this looks is: ``` npm install @types/lodash --save-dev --save-exact @@ -265,6 +250,7 @@ npm install @types/lodash --save-dev --save-exact Delete the `typings.json` file, and the `typings` directory. + #### Storage The storage utilities have been moved outside of the framework to a separate library called `@ionic/storage`. @@ -309,10 +295,12 @@ export class MyAwesomePage { } ``` + #### Deployment Changes `ionic-angular` package includes es5 code with es2015 module import/exports, `umd` modules, and pure `es2015` code. The `package.json` is set up using the `main` and `module` options to make this work seamlessly. + ### Steps to Upgrade to RC0 We are providing 2 ways to update your app with this release. The first way will guide you through creating a new Ionic 2 project and copying your project files to it. This is the easiest way to update your app in our opinion. The second way will step through how to update your existing project. There are a lot of steps involved with this way, and we recommend viewing our conference app for any clarification if you choose this way. This is it! We don’t plan on making any more major API changes after this version. @@ -323,23 +311,23 @@ Note: For details on NgModules you can read the Angular docs on them [here](http 1. Install the latest Ionic CLI: -``` -npm install -g ionic -``` -Note: if you have installed the beta cli you should run `npm uninstall -g ionic` first. + ``` + npm install -g ionic + ``` + **Important:** if you have installed the `beta` cli you should run `npm uninstall -g ionic` first. You need version `2.1.0` for this release. Check your `cli` version by running `ionic -v` in the command line. 2. Create a new Ionic 2 RC0 app: -``` -ionic start --v2 myApp -``` + ``` + ionic start --v2 myApp + ``` -3. Copy/paste all of your pages from `app/pages/` of your beta.11 app to `src/pages/`, providers from `app/providers` to `src/providers` pipes from `app/pipes` to `src/pipes` and any custom components to `src/components` in the new RC0 app. +3. Copy/paste all of your pages from `app/pages/` of your `beta.11` app to `src/pages/`, providers from `app/providers` to `src/providers`, pipes from `app/pipes` to `src/pipes` and any custom components to `src/components` in the new RC0 app. 4. Modify all `templateUrl`'s to be relative to the `.ts` file. For example in `app.component.ts` the url should change from `build/app.html` to `app.html` and in a page referencing `about.html` from `build/pages/about/about.html` to `about.html`. -5. Import and add each of your pages to the `declarations` array and the `entryComponents` array in `src/app/app.module.ts. +5. Import and add each of your pages to the `declarations` array and the `entryComponents` array in `src/app/app.module.ts`. 6. Import and add each of your custom components to the `declarations` array in `src/app/app.module.ts`. @@ -351,50 +339,52 @@ ionic start --v2 myApp 10. Change `