Skip to content

Releases: ionic-team/ionic-framework

2.0.0-rc.0

28 Sep 17:19
Compare
Choose a tag to compare

RC0 requires changes to the structure of your app. To get started updating your app see the upgrade steps section below.

New Features

  • Ionic 2 API finalized for 2.0.0 release
  • Angular 2.0.0 (final!)
  • ionViewCanEnter / CanLeave lifecycle events
  • FAB Button 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.
  • 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

BREAKING CHANGES

  • Angular upgrade to 2.0.0
  • Renamed Lifecycle events.
  • 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.
  • Nav transitions are queued. For more info on what this means for you see this section.
  • 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.
  • colors: Colors should be passed in the color input on components, not added
    individually as an attribute on the component. See more details here.
  • buttons: <button> becomes <button ion-button>. See more details here and here.
  • Head link tags for CSS files are no longer dynamically updated, but one CSS file is imported.
    (Future build processes will narrow down the CSS file further to only include what’s used). See more details here.
  • The <scroll-content> element, which is internal to <ion-content>, has been renamed to
    <div class=”scroll-content”> since it was neither a directive nor a web component.
  • <ion-fixed> has been removed, use <div ion-fixed> instead.
  • scss: Changes to how sass/scss is imported. See more details here.
  • typings: We have stopped using the typings tool and have migrated to npm @types. See more details here.

Lifecycle Events Renamed

Renamed ionViewLoaded to ionViewDidLoad
Removed ionViewDidUnload
Removed fireOtherLifecycles from ViewController

Nav Transitions

Nav transitions are now queued. Meaning if you run:

navCtrl.push(Page1);
navCtrl.push(Page2);

Page1 will transition in, then immediately Page2 will transition in. There can never be two transitions happening at the same time.

Page transition promises can now possibly reject the returned promises. Used mainly for ionViewCanEnter and ionViewCanLeave.

Component Colors

Colors are no longer added directly to a component, they should instead be passed in the color attribute.

For example:

<ion-tabs primary>

Becomes

<ion-tabs color="primary">

Or to bind an expression to color:

<ion-navbar [color]="barColor">
   ...
</ion-navbar>
@Component({
  templateUrl: 'build/pages/about/about.html'
})
export class AboutPage {
  barColor: string;

  constructor(private nav: NavController, platform: Platform) {
    this.barColor = platform.is('android') ? 'primary' : 'light';
  }
}

Components with this property:
Badge
Button
Checkbox
Chip
FAB
Icon
Item (Item, Item Divider, List Header)
Label
Navbar
Radio
Searchbar
Segment
Spinner
Tabs
Toggle
Toolbar
Typography (headers, paragraphs, spans, etc.)

Reason for this change:
It was difficult to dynamically add colors to components, especially if the name of the color attribute was unknown in the template.
This change keeps the css flat since we aren’t chaining color attributes on components and instead we assign a class to the component which includes the color’s name.
This allows you to easily toggle a component between multiple colors.
Speeds up performance because we are no longer reading through all of the attributes to grab the color ones.

Select Changes

Select’s alertOptions input has been renamed to selectOptions. It now allows you to pass options for either the alert or action-sheet
interface. Refer to their documentation for the options each of them
accept.

ActionSheet
Alert

New Behavior of Button

<button> becomes <button ion-button>
<a button> becomes <a ion-button>
<button ion-item> does not get the ion-button attribute
Buttons inside of <ion-item-options> do get the ion-button attribute

Reason for this change:
It was difficult to have custom buttons since buttons automatically received the Ionic styles - the user can now take advantage of adding their own styling to a button if they want it to behave differently than the Ionic button.
Keeping the <a> and <button> element and adding ion-button as an attribute gives us the ability to take advantage of the native functionality and built-in accessibility of native elements. If Ionic provided an we’d have to copy over all the possible attributes and events to the real nested button/link (type=submit, formnovalidate, value, autofocus, href, target, focus/blur, download, nofollow, ping, tel:86705309, etc). Additionally, ng2 does not have the “replace” directive where could be turned into .
Since button was already being used as an attribute to the <a> element, this is more consistent between the two.
If a navPush or navPop directive is on an <a ion-button>, Ionic can automatically add the href attribute.
A few reasons why we didn’t create <ion-button>

references #7467

  • button: - <button> becomes <button ion-button>
  • <a button> becomes <a ion-button>
  • <button ion-item> does not get the ion-button attribute
  • Buttons inside of <ion-item-options> do get the ion-button
    attribute
  • Removed the category attribute, this should be passed in
    ion-button instead.
  • Button attributes added for icons in buttons: icon-only,
    icon-left, and icon-right

New Behavior of Icons in Buttons

Icon only buttons

<button>
  <ion-icon name=”rainy”></ion-icon>
</button>

becomes

<button ion-button icon-only>
  <ion-icon name=”rainy”></ion-icon>
</button>

Icon left of text in a button

<button>
  <ion-icon name=”rainy”></ion-icon>
  Rainy
</button>

becomes

<button ion-button icon-left>
  <ion-icon name=”rainy”></ion-icon>
  Rainy
</button>

Icon right of text in a button

<button>
  Rainy
  <ion-icon name=”rainy”></ion-icon>
</button>

becomes

<button ion-button icon-right>
  Rainy
  <ion-icon name=”rainy”></ion-icon>
</button>

Item option buttons - the icon-left attribute should still be added to the <ion-item-options> container and not the button itself.
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.

Update CSS Link Tags

Ionic stylesheets are no longer dynamically loaded per platform. Instead there will be one CSS file to import. Note that future build processes will slim down the CSS file even further to only include component CSS actually used.

In the head of your index.html file, replace:

<!-- ionic dynamically decides which stylesheet to load -->
<link ios-href="build/css/app.ios.css" rel="stylesheet">
<link md-href="build/css/app.md.css" rel="stylesheet">
<link wp-href="build/css/app.wp.css" rel="stylesheet">

With:

<link href="build/main.css" rel="stylesheet">

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.

node_modules/ionic-angular/themes

Next, to include Ionic into your custom Sass file you’ll need to update the Ionic import to this:

@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:

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.

This library can be installed by executing the following command:

npm install @ionic/storage --save --save-exact

It must be included in the app's NgModule list of providers:

import { Storage } from '@ionic/storage';

...

@NgModule({
  ...
  providers: [Storage]
})

It can then be injected into any class that needs access to it:

import { Storage } from '@ionic/storage';

...

export class MyAwesomePage {
  constructor(public storage: Storage) {
  }

  ionViewDidEnter() {

    this.storage.get('myKey').then( (value:any) => {
      console.log('My value is:', value);
    });
  }
}
`...
Read more

2.0.0-beta.11

05 Aug 15:32
Compare
Choose a tag to compare
2.0.0-beta.11 Pre-release
Pre-release

2.0.0-beta.11 (2016-08-05)

Bug Fixes

  • activator: do not activate elements while scrolling (845a516), closes #7141
  • animation: ele as string selector (9fa31a1)
  • animation: fix easing timing function (0cb093e), closes #7130
  • app: add status bar padding when tab subpages are hidden (d01ee4b), closes #7203
  • backdrop: flicker in UIWebView (44ab527)
  • backdrop: use raf when adding/removing disable-scroll css (941cb1d)
  • bootstrap: return promise and resolve ionicBootstrap (aebdf2f), closes #7145
  • bootstrap: tapclick is injected, probably (#7128) (7358072)
  • button: apply css for buttons w/ ngIf (816a648), closes #5927
  • button: outline buttons do not have hairline borders in iOS (4e88f89)
  • datetime: format seconds token (4fff262), closes #6951
  • datetime-util: fix convertDataToISO to handle negative timezone offsets (ba53a23)
  • generator: change nav to navCtrl (b19547c)
  • gestures: detecting swipe angle correctly + sliding item logic fix (d230cb4)
  • input: add input highlight for ios, fix the highlight size (11a24b9), closes #6449
  • item: sliding item is closed when tapped (7aa559a), closes #7094
  • loading: clear timeout if dismissed before timeout fires (5bbe31a)
  • loading: fix loading overlay during app init (b615c60), closes #6209
  • menu: add statusbarPadding to the header and content in a menu (a468fde), closes #7385
  • menu: fix content going under header (3cd31c3), closes #7084
  • menu: getBackdropElement (cac1d4f)
  • menu: only one menu can be opened at a time (cac378f), closes #6826
  • menu: swipe menu is triggered when the swipe |angle| < 40º (32a70a6)
  • nav: fire lifecycle events from app root portal (a4e393b)
  • nav: fix menuCtrl reference in swipe back (55a5e83)
  • nav: register child nav when created from modal (61a8625)
  • picker: fix iOS 8 picker display (86fd8a4), closes #7319
  • popover: remove min-height from ios, add sass variables (55bc32d), closes #7215
  • range: add mouse listeners to document (267ced6)
  • range: align the label in an item range to the center (d675d39), closes #7046
  • range: ion-label stacked with ion-range (#7050) (5a8fe82), closes #7046
  • range: set ticks to an empty array to prevent errors (7a2ad99)
  • reorder: better style (f289ac6)
  • reorder: canceled reorder is animated smoothly back (8483a43)
  • reorder: non ion-item elements can be reordered (ea9dd02), closes #7339
  • reorder: reorder can be used with any element (d993a1b)
  • scroll: fix scrolling after switching tabs (e4bbcc6), closes #7154
  • select: add the cssClass passed by the user to the alert for a select (81ddd7f), closes #6835
  • slides: delay loading slides until view ready (580b8d5), closes #7089
  • sliding: much better UX + performance (d6f62bc), closes #6913 #6958
  • tabs: add sass variable for inactive opacity and pass it to the colors loop (99efa36)
  • tabs: center tabbar content (997d54e)
  • tabs: fix preloadTabs null element reference (2d19308), closes #7109
  • tabs: make the text color opaque instead of the entire button (dd969a2), closes #6638
  • util: UIEventManager should handle touchcancel event (b805602)

Features

  • alert: allow smooth overflow scrolling (5542a93)
  • content: add a resize function to recalculate the content size (1fe1c1e)
  • footer: apply shadow on MD footer and tabbar bottom (686c262)
  • gesture: Introducing new gesture controller (9f19023)
  • gesture-controller: disable/enable scrolling (72c24bc)
  • header: apply shadow on MD headers (6fa2faf)
  • ion-content: iOS only scroll bounce (5c80445)
  • select: add disabled status in select options (76619cf)
  • tabbar: apply shadow on MD tabbar top (1f4b3e2)
  • tabs: add the transition for material design tabs (eea7e6b)
  • toolbar: add attributes to hide all borders and box shadows (88b637b), closes #7237
  • viewcontroller: add onWillDismiss callback (ec99bfd), closes #6702

Performance Improvements

  • animation: using will-change when using progressStep() (267aa32)
  • menu: several improvements (86c5aaf)

Reverts

  • range: revert PR #7050, it breaks stacked labels and double labels (65c84b3)
  • tabs: undo commit that removes tab sub pages (087e2f2)

BREAKING CHANGES

  • input: S:

Fixed typos in the input highlight variables:

  • $text-input-md-hightlight-color-valid ->
    $text-input-md-highlight-color-valid
  • $text-input-wp-hightlight-color-valid ->
    $text-input-wp-highlight-color-valid

Modified variables to turn on/off the highlight:

ios (defaults to false for all):

$text-input-ios-show-focus-highlight:      false !default;
$text-input-ios-show-valid-highlight:
$text-input-ios-show-focus-highlight !default;
$text-input-ios-show-invalid-highlight:
$text-input-ios-show-focus-highlight !default;

md (defaults to true for all):

$text-input-md-show-focus-highlight:        true !default;
$text-input-md-show-valid-highlight:
$text-input-md-show-focus-highlight !default;
$text-input-md-show-invalid-highlight:
$text-input-md-show-focus-highlight !default;

wp (defaults to true for all):

$text-input-wp-show-focus-highlight:        true !default;
$text-input-wp-show-valid-highlight:
$text-input-wp-show-focus-highlight !default;
$text-input-wp-show-invalid-highlight:
$text-input-wp-show-focus-highlight !default;

2.0.0-beta.10

27 Jun 19:40
Compare
Choose a tag to compare
2.0.0-beta.10 Pre-release
Pre-release

2.0.0-beta.10 (2016-06-27)

Bug Fixes

  • animation: correctly apply will-change: transform (a1223da)
  • bootstrap: only add customProviders when present (0e9e85c)
  • content: adjust footer bottom based on the tabbar without padding (4567de2)
  • content: set footer height to 0 so it won't be undefined (3db67f9)
  • cordova: fix the status bar padding with the new structure (15642e4)
  • demos: updates @angular paths (b7826ba)
  • footer: show footer toolbar w/ tabbar bottom (99c50a1)
  • generator: fix closing tag for header (47e09a1)
  • header: optional ViewController injection (5a85d82)
  • input: allow button click when input has focus (ae86ab8), closes #6514 #6944
  • input: check if there is a value when setting value (d0b1930)
  • input: fix the clear input button to always be vertically aligned (e4cc672)
  • item: inherit overflow and text-overflow from the parent item in a paragraph (4009575)
  • item: listEle does not longer exist (22fad4c)
  • item: sliding item works with and without borders (2303c16), closes #7081
  • item: sliding items don't fire (click) when swiped (38ab17b)
  • modal: add class name to modal (6e34739), closes #7000
  • nav: auto set iOS black transition bg via css (7842991)
  • picker: adds align to the PickerColumn interface (b8551de)
  • refresher: adjust location after layout updates (603000f)
  • refresher: only listen for mousemove/touchmove when needed (1a58a41)
  • tabs: don't add outline to the class name if it is a logo icon (af22287), closes #6899
  • tabs: fix tabs rootNav (ae40edf)
  • tabs: hide tab's navbar when a page comes without a navbar (2d68089), closes #5556
  • tabs: reference parent instead of parentTabs (ed6d0fa)
  • tabs: swipeBackEnabled works with tabs as expected (2bff535)
  • toggle: host listeners are not longer needed (4aa322d)
  • toolbar: place iOS border on ion-header/footer (48c1ffd)
  • toolbar: position toolbar relative and add z-index (1d8ba4a)
  • virtualScroll: first node should use clientTop/clientLeft (2197d49)

Features

  • feature-detect: detect if backdrop-filter is supported (89564f1)
  • fullscreen: add fullscreen property to ion-content (f20c7e4)
  • item: sliding items work with list reorder (bfdc898)
  • list: add list headers and item dividers as items (712ff81), closes #5561
  • list: reorder list items (5c38921)
  • range: add debounce input for ionChange event (55eccb3), closes #6894
  • toolbar: control toolbar borders on top/bottom (3a7addf)

Performance Improvements

  • reorder: hit test refactored (6a52a4a)

2.0.0-beta.9

16 Jun 16:49
Compare
Choose a tag to compare
2.0.0-beta.9 Pre-release
Pre-release

2.0.0-beta.9 (2016-06-16)

Bug Fixes

  • button: check for icon and add css after content checked (f7b2ea2), closes #6662
  • click-block: click block is now showing on all screns. It wasn't previously on Android and d (761a1f6)
  • click-block: fix for the click block logic (9b78aeb)
  • datetime: add styling for datetime with different labels (adcd2fc), closes #6764
  • decorators: changes to match angular style guide (9315c68)
  • item: change ion-item-swiping to use .item-wrapper css instead (31f62e7)
  • item: encode hex value in the detail arrow so it works on firefox (03986d4), closes #6830
  • item: improve open/close logic, update demos (db9fa7e)
  • item: item-options width calculated correctly (64af0c8)
  • item: sliding item supports dynamic options + tests (14d29e6), closes #5192
  • item: sliding item's width must be 100% (efcdd20)
  • menu: push/overlay working correctly in landscape (0c88589)
  • menu: swiping menu distinguishes between opening and closing direction (29791f8), closes #5511
  • Menu: fix right overlay menu when rotating device (07d55c5)
  • modal: add status bar padding to modal (181129b)
  • modal: change modal display so you can scroll the entire height (01bbc94), closes #6839
  • navigation: keep the click block up longer if the keyboard is open (#6884) (d6b7d5d)
  • popover: allow target element to be positioned at left:0 (ea450d4), closes #6896
  • popover: hide arrow if no event was passed (8350df0), closes #6796
  • range: bar height for ios should be 1px, add disabled for wp (f2a9f2d)
  • range: stop sliding after releasing mouse outside the window (9b2e934), closes #6802
  • scrollView: ensure scroll element exists for event listeners (1188730)
  • searchbar: add opacity so the searchbar doesn't show when it's moved over (b5f93f9)
  • searchbar: only trigger the input event on clear if there is a value (99fdcc0), closes #6382
  • searchbar: position elements when the value changes not after content checked (31c7e59)
  • searchbar: set a negative tabindex for the cancel button (614ace4)
  • searchbar: use the contrast color for the background in a toolbar (b4028c6), closes #6379
  • tabs: reduce padding on tabs for ios (fd9cdc7), closes #6679
  • tap: export isActivatable as a const so its transpiled correctly (ce3da97)
  • toast: close toasts when two or more are open (#6814) (8ff2476), closes [(#6814](https://github.com/(/issues/6814)
  • toast: toast will now be enabled (#6904) (c068828)
  • virtualScroll: detect changes in individual nodes (f049521), closes #6137

Features

  • backButton: register back button actions (84f37cf)
  • item: add the ability to show a forward arrow on md and wp modes (c41f24d)
  • item: two-way sliding of items (c28aa53), closes #5073
  • item-sliding: two-way item sliding gestures (5d873ff)
  • modal: background click and escape key dismiss (#6831) (e5473b6), closes #6738
  • navPop: add nav pop method on the app instance (9f293e8)
  • popover: background dismiss, escape dismiss (1d78f78), closes #6817
  • range: range can be disabled (ccd926b)
  • select: add placeholder as an input for select (461ba11), closes #6862
  • tabs: track tab selecting history, create previousTab() method (d98f3c9)

Performance Improvements

  • virtualScroll: improve UIWebView virtual scroll (ff1daa6)

2.0.0-beta.8

06 Jun 22:37
Compare
Choose a tag to compare
2.0.0-beta.8 Pre-release
Pre-release

2.0.0-beta.8 (2016-06-06)

Bug Fixes

  • build: correct link in output.wp.scss file to old ionic directory. (6113daf)
  • button: style disabled anchor/button elements (d0abbaf), closes #6108
  • config: pass custom providers in the bootstrap of the app (c74b3f7)
  • config: set the properties for each mode and add defaults (7def98c), closes #6132
  • datetime: clear out existing datetime data (c1ad804), closes #6614
  • datetime: fix ISO format when w/out timezone data (272daf2), closes #6608
  • infiniteScroll: ensure infinite doesn't fire when already loading (f7b1f37)
  • input: add form validation classes to the item (5498a36)
  • input: fix material design success/error highlighting on inputs (702a882)
  • input: fix the clear input placement on wp mode (4ba999e)
  • input: pass the control classes down to the native input (6180cb8)
  • ion-backdrop: new ion-backdrop can prevent background scrolling (a1a582b), closes #6656
  • item: remove border for the last item in an item-group (6b3e7ac), closes #6518
  • label: make all ion-labels stacked or floating stretch (b742e1f), closes #6134
  • menu: fix swipe to go back and left menu conflict (f18a624), closes #5575
  • menu: pass platform to menu type (7f597a0)
  • modal: fix onPageWillEnter (01110af), closes #6597
  • picker: safari fired pointerEnd() twice (#6708) (170cf8c), closes #6704
  • picker: use sanitizer on translate3d css prop (8598a2e)
  • platform: pass original event in EventEmitter (cc93366)
  • popover: allow popover to have an ion-content wrapping it (c801d18)
  • popover: position MD popover on top of element clicked (6bd91f0), closes #6683
  • popover: style the ion-content background in a popover to match popover bg (9ea89ea)
  • range: fix styling on range, add demo (d24b080)
  • range: prevent change detection exception (7e4b13d)
  • range: update range left/right margin on ios (27fa22f)
  • range: update the styling for all modes (061af93)
  • ripple: do not activate ripple if pointer moved (d57833c)
  • slides: Removing a slide via *ngIf now properly removes the slide and the bullet from th (dbe54b5), closes #6651
  • toast: remove backdrop, allow user interaction when up (d4d1f70), closes #6291
  • toast: remove the enableBackdropDismiss option on toast (aeeae3f)
  • toggle: do not fire change when initializing (cd2afb3), closes #6144
  • transition: reduce transition delay on MD (908fa03)

Features

  • alert: add Sass variables for the radio/checkbox labels when checked (9cc0dc7), closes #6289
  • item: add item-content attr selector (839adf8), closes #6643
  • menu: add opened/closed events (51ee8b7)
  • popover: add height auto for safari and remove ability to scroll on backdrop (620b7c8)
  • popover: add MD animation (1d0d755)
  • popover: add popover component (53fd3c3)
  • popover: add styling for the md pin (a25a552)
  • popover: adjust popover to position in the center with no event (1e7b572)
  • popover: change MD animation and use for WP also (44a7da8)
  • popover: change popover item background color to match wrapper (b0d71da)
  • popover: change template in popover to a page similar to modal (a96e36a)
  • popover: fix long popovers that go off the page (4db72cf)
  • popover: fix MD animations and start from the right side (e419ec6)
  • popover: modify the animation for each mode (57a1274)
  • popover: position popover in the top middle if no event (438a389)
  • popover: position the popover on transition instead of create (2cd1b51)
  • range: add ability to add labels to the left/right of range (fc819dd)
  • range: add md and wp styling, tweak ios styling (af6d5e4)
  • range: add styling for range-left/range-right md and wp (21753a8)
  • range: add styling for the range when knob is minimum md (c59c656)
  • range: create ion-range input (2c6e11b)
  • range: fix the knob on md so the transform isn't blurry (cffa84c)
  • range: only increase knob size when pin doesn't exist (47174df)

2.0.0-beta.7

19 May 15:34
Compare
Choose a tag to compare
2.0.0-beta.7 Pre-release
Pre-release

2.0.0-beta.7 (2016-05-19)

Bug Fixes

  • app: add status bar padding to navbar when a tab subpage (62b97ce), closes #6368
  • app: fix status bar padding for inset modals (4d27680)
  • build: fix e2e, demos, and karma tests to use new angular module setup. (4c19d15)
  • button: add the solid class to bar buttons (658b29b)
  • button: add transparent background for clear/outline windows buttons (da5c065)
  • button: exclude solid from getting added to the button in the class (4252448)
  • button: remove unnecessary ion-button-effect elements (369d78b)
  • checkbox: add ability to align checkboxes to the right (e075ccd), closes #5925
  • datetime: fix property dayNames (it was using dayShort) (0bd736d)
  • datetime: improve parseTemplate (55ec80a)
  • grid: add ion-grid element which wraps the rows/cols and adds padding (a0c0228)
  • input: clear text input (bde103d)
  • input: remove old clearInput code and clean up UI, added onChange calls (71cd297)
  • loading: include cssClass in the Loading options (4c8ee95), closes #6365
  • nav: transition toolbars on iOS (daa4ccc), closes #5692
  • picker: number of dom children != number of options (#6551) (28cf16a)
  • radio: add styling for radio when item-left/item-right is added (4c5dd0b)
  • raf: test for undefined raf (1c16008)
  • segment: add disabled property to segment and segment button (4fca31e)
  • select: add min height to select text for windows since it shows border (e9c1442)
  • show-hide-when: add !important to display as this should always take precedence (617b7ac), closes #6270
  • slides: make slide method parameters optional (f355087)
  • slides: set class using renderer instead of host (132d8e9), closes #6275
  • tabs: move border to top for windows positioned bottom tabs (af2085e), closes #6526
  • tabs: remove min-width from tab so 5 tabs will fit (b4647cd), closes #6056
  • toast: add toast back to the components export (d7d4742)
  • toggle: add styling for toggle when placed left (ab82d53)
  • toolbar: add the mode to the inverse function for a toolbar (3ca3027), closes #6364
  • toolbar: md mode use the color contrast for toolbar button/title (9f54f16)
  • toolbar: remove color change from outline buttons in toolbar (6759074)
  • toolbar: set the text color of the toolbar based on the contrast of the background (74afc18)
  • toolbar: wp get title/button color from the contrast of toolbar background (62bd13b)
  • virtualScroll: fixes from rc1 breaking changes (158f717)

Features

  • datetime: add ion-datetime (1e331c9)
  • Input: added functionality for clear input option on ion-input (d8e2849)
  • modal: add inset modal feature (a658524), closes #5423
  • modal: start of inset modals (a1a594d)
  • picker: add ios/md/wp picker styles (aa9a667)
  • picker: init picker (d5068f8)
  • platform: add a readySource as ready resolved value (f68ac8a)
  • platform: cordova pause/resume events (532096b)

BREAKING CHANGES

  • toolbar: S: ios mode $toolbar-ios-button-color now has a
    default value of color-contrast($colors-ios, $toolbar-ios-background, ios) which will evaluate to the primary color for light background
    toolbars and white for dark background toolbars.
  • toolbar: S:

$bar-button-ios-color has been renamed to $toolbar-ios-button-color
$bar-button-ios-border-radius has been renamed to
$toolbar-ios-button-border-radius

added variables for the toolbar ios title for easier styling:

$toolbar-ios-title-font-weight
$toolbar-ios-title-text-align
$toolbar-ios-title-text-color

references #6364

  • toolbar: S:

$bar-button-wp-color was renamed to $toolbar-wp-button-color
$bar-button-wp-border-radius was renamed to
$toolbar-wp-button-border-radius

Added $toolbar-wp-title-text-color for better control of the title
color

Removed $toolbar-wp-button-color from the default themes

references #6364

  • toolbar: S:

$toolbar-md-button-color no longer gets passed to the function that
sets the contrast color for toolbar buttons, but it can still be used
to set the default button color.

$bar-button-md-color was renamed to $toolbar-md-button-color
$bar-button-md-border-radius was renamed to
$toolbar-md-button-border-radius

references #6364

  • toggle: S: renamed Sass variables in toggle, checkbox, and
    radio. Changed media in component-mode-media-padding (for example)
    to item-left.

references #5925

1.3.1 "el salvador"

12 May 19:02
Compare
Choose a tag to compare

Bug Fixes

  • Status Bar: Moved status tap handler to after platform ready fires. (947d9296)
  • Loader: make the loader service return a promise instead of the deprecated object, updated docs (0e94f914, closes #3717)
  • Tabs: fixs as issue with tabs without icons (28e99594, closes #6292)
  • Navigation: revert previous navigation fix (efb9bd) and added a different fix for the infinite loop issue. Wrote additional tests to verify the test. (e31498c4)
  • Life Cycle: Life cycle events fire reliably on correct scope, closed many issues (d6373335)
  • Slides: changed the way looped/duplicates slides work, added documentation (44d5a0f8, closes #6305)
  • Header:
    • ion-nav-title will fill up available space (677d2d4c, closes #4661)
    • subheader visiblity fix, remove display as block (01ab8b03, closes #3055)
    • set correct title bar height (6a5e6bc4, closes #4965)
  • Footer: fix a typo in footer bar styles using balanced class (99f987fc, closes #6426)
  • Pull-to-refresh: Better performance via changing translateY to 3d (c7e61e4d, closes #6360)
  • Scss: made variables for button-default-border and button-default-active-bordermade variables (7da8739f, closes #5576)
  • Content: documentation update (#62fdd636, closes #5813)

Breaking Changes

  • Scss: changed variable being passed to buttons for styling borders. By default, the variable passed is $button-default-border instead of $button-primary-border (for example). The border property was previously ignoring the parameter and was hard-coded to transparent (7da8739f)

2.0.0-beta.6

21 Apr 18:50
Compare
Choose a tag to compare
2.0.0-beta.6 Pre-release
Pre-release

2.0.0-beta.6 (2016-04-21)

Bug Fixes

  • nav: tabs should not dereg child navs (f3ddb0b), closes #6267
  • sass: fix sass errors (219059c)
  • toast: create unique toast id (e07f0ae)
  • toast: remove default duration, allow close button click when bd disabled (d6589e1)
  • toast: remove unused options (f9ea2d8)

Features

  • add toast component (3fb79cf)
  • toast: display the toast even on page change unless dismissOnPageChange is passed (0264532), closes #5582

1.3.0 "delhi"

21 Apr 17:51
Compare
Choose a tag to compare

<a name"1.3.0">

1.3.0 "delhi" (2016-04-21)

Features

  • angular: Upgraded to Angular 1.5

Bug Fixes

  • button-bar: borders back. (24b5b860, closes #4917)
  • exposeWhenAside: resize handler is trigger when screen dimensions change (b5968ca8)
  • item: fix padding for items (56bb89e1, closes #5534)
  • karma:
    • adding checks to prevent null pointers in clean-up phase (964a7d5f)
    • updated tests for 1.5, removed unnecessary 'clean-up' tests since angular-mocks (e5d9d14b)
  • modal: Don't show click-block-div unnecessarily on remove() (b0c89ef7)
  • navigation:
    • preventing swipe-to-go-back when side-menu is open on the right (9c614d31)
    • swipe-to-go-back on a per-view basis in iOS issue #4574 (c375b6e9)
  • nullRef: nullify reference to the destroyed slider (prevent it from calling update()) (7e9d52c2)
  • scroll: remove overflow scroll hidden for iOS (aec6598d)
  • slides: resolves data-update issue on duplicate slides #5739 (db8304d2)
  • tabs:
    • tabs are now styled directly via dom manipulations (fbae1aba)
    • tabs-color-active works with tabs-striped (237d79b7)
    • prevent flicker when changing tabs on android (a7620d21)

2.0.0-beta.5

20 Apr 20:24
Compare
Choose a tag to compare
2.0.0-beta.5 Pre-release
Pre-release

2.0.0-beta.5 (2016-04-20)

Bug Fixes

  • alert: remove justify content from buttons in an alert (9412a7c)
  • app: add iOS status bar padding to each mode (5a1c441), closes #5924
  • build: update the gulpfile nightly to only update the distributed package.json file (c1d82f4)
  • button: add a category to buttons so they won't get the button styles (35dd0ed), closes #6237
  • button: buttons don't get activated when ion-label contains exotic elements (0521ce2)
  • button: remove classes from buttons with categories (5f8edc2)
  • checkbox: add 'type="button"' to tag (7583ebf)
  • content: fix padding/margin attributes so all work on scroll-content (9020d52)
  • cordova: add status bar padding for content for all modes (f45ddf9), closes #5934
  • cordova: only target navbar section when it has the statusbar-padding (422c983)
  • focus: improve input focus control (e27452b), closes #5536
  • input: add 'type="button"' to button tag (f17f517)
  • input: blur when tapping outside input on iOS (f9b46c2), closes #5020
  • input: move nested function outside of if statment so as to fix issue related to strict (c8e58e5)
  • keyboard: remove content padding after input blur (e21c4d5), closes #5800
  • label: remove flex-basis to fix floating/stacked labels on iOS/Safari (cd62a4c), closes #6109
  • loading: present loading from root nav controller (f972908), closes #6121
  • platform: fire cordova platform.ready using zone (ba5624b), closes #6186
  • platform: run zone after cordova deviceready (e082bd1), closes #6087
  • sass: move the @at-root font import to the components file (8f08de1), closes #5931
  • sass: remove global imports from components (dad2155), closes #5931
  • searchbar: only show clear icon when focused on the searchbar (ecf9302), closes #5922
  • showHideWhen: remove hidden attribute on directives and use classes (5692abe), closes #5836
  • slides: add id to the slide component to grab the correct pagination (7263728), closes #5745 #5508
  • tabs: do not init w/ tab that is hidden or disabled (8d8cc4c), closes #6226
  • tabs: remove tabbarIcons and fix windows styling to use tabbarLayout (81dd1cc), closes #6126
  • toolbar: add border-top when toolbar is positioned to the bottom (29e6242), closes #5967
  • virtualScroll: load async data (16a283e), closes #6124

Features

  • app: getActiveNav() method (7777237)
  • backbutton: add hardware back button (68278b0), closes #5071
  • changeDetection: detach Tabs when not active (0c4171e)
  • changeDetection: detach ViewControllers when not active (b282e90)
  • confg: create a method to access the global app injector which contains references the (17a9e6d), closes #5973
  • content: add scrollToBottom (bef4a67)
  • directives: auto provide IONIC_DIRECTIVES to all components (0a83f2f), closes #6092
  • platform: add backbutton event (156fdc3)
  • platform: default desktop to use material design (51032d2), closes #6003
  • select: fallback to alert interface when more than 6 opts (1c67b02)
  • select: using action-sheet as ion-select interface (81096f1)
  • slides: add ability to slide to specific index (a6091bd)
  • slides: add method to get previous index (a54361c)
  • statusbarPadding: add statusbar-padding css to content (98c2aab)
  • statusbarPadding: add statusbar-padding css to toolbars (44403d1)
  • tabs: enabled and show inputs (1b085e3), closes #5768
  • toggle: add animation for windows mode toggle (f841bef), closes #5981

Performance Improvements

BREAKING CHANGES

  • tabs: tabbarIcons is officially removed, please use
    tabbarLayout instead. View the Tabs API docs for more information.