Skip to content

2.0.0-rc.4

Compare
Choose a tag to compare
@brandyscarney brandyscarney released this 15 Dec 15:34

2.0.0-rc.4 (2016-12-15)

Updating to 2.0.0-rc.4

  1. Update the Ionic CLI to the latest version:
npm uninstall -g ionic
npm install -g ionic
  1. Update the following dependencies in your package.json file:
"dependencies": {
  "@angular/common": "2.2.1",
  "@angular/compiler": "2.2.1",
  "@angular/compiler-cli": "2.2.1",
  "@angular/core": "2.2.1",
  "@angular/forms": "2.2.1",
  "@angular/http": "2.2.1",
  "@angular/platform-browser": "2.2.1",
  "@angular/platform-browser-dynamic": "2.2.1",
  "@angular/platform-server": "2.2.1",
  "@ionic/storage": "1.1.7",
  "ionic-angular": "2.0.0-rc.4",
  "ionic-native": "2.2.11",
  "ionicons": "3.0.0",
  "rxjs": "5.0.0-beta.12",
  "zone.js": "0.6.26"
},
"devDependencies": {
  "@ionic/app-scripts": "0.0.47",
  "typescript": "2.0.9"
}
  1. A major version of @ionic/app-scripts was recently
    released. Please review the changelog
    for the details on the minor breaking changes to the release:
    https://github.com/driftyco/ionic-app-scripts/blob/master/CHANGELOG.md

Bug Fixes

  • action-sheet: set border bottom of last button to transparent (ffdd8f4)
  • activator: cancel remove .activated timeout (9510a2b)
  • alert: fix alert input focusing and keyboard (29a56c4)
  • alert: close keyboard when alert leaves (f354d91), closes #8185
  • animation: improve menu and go back swipe (4be47bd)
  • app: go back navigation can close menus (8de253a)
  • app: navPop() can go back inside modals (2ac3b4a), closes #7611
  • app: navPop() does not go to previous tab (eebb062)
  • app-root: async disable-scroll is cancelled properly (177a089)
  • avatar: make border-radius 50% so it is always circular (e84f2e2)
  • backdrop: remove click cursor when the backdrop is not tappable (06938b6)
  • clickblock: clickblock applies longer (e0d876e)
  • components: set true/false inputs to booleans (a796786), closes #9391
  • components: export ClickBlock (6244b51)
  • content: add a new variable for calculating fixed content top/bottom (8037086)
  • content: get correct content dimensions (1d245ec)
  • content: prefix utility attributes with ion-app and the mode (abc7395), closes #8765
  • datetime: fix am/pm in format w/out minutes or seconds (95b3b38), closes #9269
  • dateTime: make sure picker-column is shown on retina screens (b17950d)
  • fab: add box shadow transition for md fab list buttons (1e2374f), closes #9557
  • fab: fab list colors (cbf59fa), closes #9225
  • fab: position fab-list correctly on IE (a0b61f2)
  • fab: set ripple color to contrast color of the fab background (0888dec)
  • fab: using as fab (0e773fa)
  • fonts: auto-set ionicons font path if not already set (7bbfb7e)
  • gesture: nativeRaf is unsafe (b63344c)
  • gesture: pass type to hammer.get() so pinch and rotate can be enabled (66afe34)
  • header: fix no-border on ios headers (d53a38e), closes #9525 #9480
  • img: ensure scroll has been initialized (39e1dce)
  • img: fix content viewable area (903473e)
  • img: move img requests out of web workers (5376318)
  • img: use img tag due to cordova limitations (4f61ea5)
  • input: add back old styles to fix input margin (e09aee4)
  • input: apply transform css prefix (eba2862)
  • input: fix input margins while scrolling (67473f2)
  • input: fix tabbing between tappable inputs (c4cf9df)
  • input: improve scroll to input and focusing (3b30497)
  • input: prevent exception when input components outside Content (e80f4cf)
  • input: stop ios from hiding keyboard on focus change (5bcd7f2)
  • input: test for null element before update (f0327a9), closes #9278
  • item: disable scroll while sliding item (c002b36)
  • item: tappable does not make ion-label pointer-event:none (4512c5c)
  • keyboard: fix keyboard tabbing context (902a767), closes #9568
  • labels: consistent label styles on iOS (b788ce6)
  • menu-toggle: move logic for css class to the menu toggle (624cb35), closes #8943
  • modal: app.navPop() can dismiss modals (5567191), closes #8692
  • modal: backdrop click catches navigation promise (e46d8d6)
  • modal: using cross mode animations (ccb6bf1), closes #9323
  • module: add ClickBlock to NgModule declarations (960399a)
  • nav: async removing for views (5ff7072)
  • nav: back button and title not aligned on baseline (d82bb01), closes #8983
  • nav: popTo() uses the new removeView API (6b3e2ed)
  • nav: prevents to remove all views in the nav stack (16bfb49), closes #9140
  • navbar: go back text (58189d2)
  • note: separate note from item so its styles will alway be applied (bf00803), closes #9173
  • picker: add color to picker-opt so the variable will style correctly (dc0659f), closes #9519
  • picker: making touchable fill all the available space (448e020)
  • picker: mark main button as strong (af7139b)
  • picker: removes unused code (44d772f)
  • picker: stop picker once it is closed (ecb8bee)
  • platform: fix window width/height calculations (4ed6b36)
  • popover: remove css contain from popover (db9f1a8)
  • ripple: disable ripple on android 4.4 with chrome (97ec20e)
  • scroll: correctly resolve promise (c6fbb9c)
  • scroll: ensure listeners have been added before removing (a237253)
  • scroll: fix content dimensions for js scrolling (c510100)
  • scroll: fix js scrolling max and deceleration on touch start (5bbbfb2)
  • searchbar: animated + no cancel works as expected (851187a), closes #8903
  • tab: tab button without content does not crash (81a0969)
  • tabs: _touchActive() works when tab.root is a string (cb65f79)
  • tabs: adjust the top of tabs each time the tab changes (3b612d2)
  • tabs: make MD tab highlight the contrast color of tabs color (bb3a57f)
  • tabs: update UI to match material design spec (e7275f2)
  • tap-click: do not dispatch click events if tap-click blocks them (8f8185b)
  • tap-click: click to non-activable elements (c6facf3)
  • toast: toast does not disable the app (75186b4), closes #9339
  • toggle: uses PanGesture abstraction (6ef6f0a), closes #9428
  • toolbar: remove calculated height (b7cac56)
  • util: click-block transform on IE (fcba323)
  • util: replace implicit any in dom-controller (#9511) (6c0593c)
  • view-controller: onDidDismiss() is always called (68eb1b7), closes #8223
  • virtual-scroll: ensure listeners added after init read (76ff421)
  • virtual-scroll: fix image rendering bug (72276c3), closes #6983
  • virtual-scroll: fix tabs content loading (aec8f51)
  • virtual-scroll: only allow one readUpdate per update (8104cfa)
  • virtual-scroll: redraw empty list when updated with no records (288df86), closes #6512

Code Refactoring

  • toolbar: rename no-shadow to no-border for md mode (b73304e)

Features

  • button: add strong decorator (fa0579f)
  • button: make strong configurable in Sass (ac07c6f)
  • content: add properties for img request/render buffers (8867677)
  • content: content dimension properties w/out dom read (19aa633)
  • dom-controller: organize dom reads/writes (cac7164)
  • keyboard: blur input on native keyboard hide (1809c40)
  • reorder: add applyTo method to ionItemReorder event (7e6d73b)
  • scroll: add domWrite and content elements to scroll events (bfd3314)
  • template: add NavParams to page template (8587191)
  • virtual-scroll: apply contain:strict to virtual scroll items (947780e)

Performance Improvements

  • activator: cancelled touch does not cause layout thrashing (22d6bc5)
  • activator: improve activator response (bb80033)
  • app: adds fast path in isEnabled() and isScrolling() (5526d70)
  • events: ionDrag events are not zone wrapped (a722107)
  • menu: improves menu performance and fixes some edge cases (3209895)
  • menu: using passive events in menu (788a7b6)
  • nav: minor performance improvements (4aa1ada)
  • range: generates inefficient JS (d2ebac3)
  • rendering: add css containment (5ad7fd1)
  • ripple: prevents jank by using raf (66bbd24)
  • scroll: efficient scroll events and properties (c377236)
  • tabs: improve tab switching response (907191b)
  • tap-click: tapPolyfill is only used in UIWebView! (0c61c2a)
  • virtual-scroll: improve virtual-scroll performance (b70d13d)

BREAKING CHANGES

Toolbar

  • Renamed the no-shadow attribute for Material Design header, footer, and
    tabs to no-border. This is the same attribute used by iOS mode.

  • Moved the border on iOS from each toolbar to the last toolbar in a header, and the
    first toolbar in a footer. Adding no-border to the header or footer will hide the border.

    For example, the following code:

    <ion-header>
      <ion-navbar no-border-bottom></ion-navbar>
      <ion-toolbar no-border-top></ion-toolbar>
    </ion-header>
    

    will now become:

    <ion-header>
      <ion-navbar></ion-navbar>
      <ion-toolbar></ion-toolbar>
    </ion-header>
    

    and if you decide you don't want the border just add no-border to the header: <ion-header no-border>.

  • This means that no-border-top and no-border-bottom will not work on iOS and should
    be removed from any toolbars using it.

Events

  • The argument passed to the events.subscribe(args) function is no longer an array of parameters.
    Instead, it will be called with the same parameters used in events.publish(arg1, arg2)

    For example, the following code:

    events.subscribe('user:created', args => {
      console.log('Welcome ', args[0], ' at ', args[1]);
    });
    

    will now become:

    events.subscribe('user:created', (user, time) => {
      console.log('Welcome ', user, ' at ', time);
    });