Skip to content

Releases: ionic-team/ionic-framework

Beta Actinium

28 Mar 21:45
Compare
Choose a tag to compare

Bug Fixes

  • active: Updated which elements to set active class along w/ tests, closes #857 (423f9e4f)
  • badge: Badge horizontal alignment over item right side buttons, closes #826 (ded46931)
  • click:
    • Increase the ghost click prevent delay for grade C devices (001bcca4)
    • enter key submission blocked. (72ee799c, closes #819)
    • Click Events In SlideBox Fire Multiple Times, closes #808 (f8a71377)
  • domready: Fixed if firing off callbacks when DOM was already ready (a637fb4d)
  • grid: Correct responsive grid breaks for col-XX, closes #803 (8fae85e9)
  • input: Fix input label from shifting when text is too long on iOS, closes #801 (b8d4c51f)
  • ionList: only stop side menu drag if canSwipe (c653e83c, closes #709)
  • ionTab: stop browser-tooltip from appearing due to title attr (aa30faf8, closes #804)
  • item:
    • Restructure item editing css for added reusability and organization (07c824db)
    • fix avatar/thumbnail in .item-complex, and avatar misspelling (947b8d69)
  • listView:
  • pointer: Add pointer styling to .item[ng-click], closes #858 (aa280910)
  • popup:
  • range: Clicking Line For Range Causes Drag Button To Follow Mouse, close #779 (26c8f304)
  • reorder: Prevent scroll w/ data-prevent-scroll attr on reorder btn, closes #848 (f1ed4b00)
  • scrollView:
  • tabs: Renamed .tab-item active state from .active to .tab-item-active, closes #866 (24160aa0)
  • tap:
    • Trigger clicks if touch/click held for more than 250ms, closes #791 (60e45333)
    • Reset startCoordinates on touchend/mouseup, closes #874 (76a53134)
    • Remove select element from tap checking, closes #836 (3d917c83)
  • toggle: Changed tap listener to use "release", closes #882 #881 (b1a7c199)

Features

  • $ionicLoading: implement backdrop class (57d71ed6, closes #837)
  • $ionicScrollDelegate: rememberScrollPosition, scrollToRememberedPosition (5a0efece)
  • content: automatically add/remove has-* classes to content (e94d4006, closes #619)
  • grid: Remove column offset with responsive grid breaks (73ba2a40)
  • ion-content: watch padding attribute (532d473e)
  • ionTabs: add available tabs-item-hide class (5966dbf4, closes #395)
    (dbe4e39))
  • ionicNavBar: add getTitle() and getPreviousTitle() methods (215b1c1e)
  • loadingView:
  • navclear: Ability to disable the next view transition and back button (f744d9eb)
  • popup: Support for programatically closing popup. (dc2b24ed, closes #854)
  • progress: Set progress element's default width to 100%, closes #872 (b9cde47d)
  • ready: Add 'platform-ready' css class to the body when the platform is ready (681a6a2e)
  • sideMenu: Added directive for simple toggling (5a89df43)

Breaking Changes / Migration Guide

  • ionTabs: tabs-type and tabs-style removed. Use classNames instead.

Relevant Documentation: ionTabs.

Old Code:

<ion-tabs tabs-type="tabs-top" tabs-style="tabs-positive" animation="slide-left-right">

New Code:

<ion-tabs class="tabs-top tabs-positive slide-left-right">

  • ionHeaderBar, ionFooterBar: remove type, title, left-buttons, right-buttons.

Relevant Documentation: ionHeaderBar,
ionFooterBar.

Old Code:

<ion-header-bar type="bar-positive" 
  title="{{someTitle}}" 
  left-buttons="left" 
  right-buttons="right">
</ion-header-bar>

New Code:

<ion-header-bar class="bar-positive">
  <div class="buttons">
    <button class="button" ng-click="leftButtonTap()">
      Left Button
    </button>
  </div>
  <h1 class="title">{{someTitle}}</h>
  <div class="buttons">
    <button class="button" ng-click="rightButtonTap()">
      Right Button
    </button>
  </div>
</ion-header-bar>
  • ionNavBar, ionView: Remove left-buttons, right-buttons, type, animation,
    back-button-* attributes from ionNavBar. Remove left-buttons, right-buttons from ionView.

Additionally, all 'viewState.*' events have been removed. Use $ionicNavBarDelegate.

Relevant Documentation: ionNavBar,
ionView,
ionNavBackButton (new),
ionNavButtons (new).

Old Code:

<ion-nav-bar type="bar-positive" 
  animation="slide-left-right" 
  back-button-type="button-icon"
  back-button-icon="ion-arrow-left-c"
  back-button-label="Back">
</ion-nav-bar>
<ion-nav-view>
  <ion-view left-buttons="leftButtons"
    title="someTitle"
    right-buttons="rightButtons">
  </ion-vie...
Read more

Alpha Salamander

28 Mar 21:46
Compare
Choose a tag to compare

This is the last release without large breaking changes as we solidify the long-term API for the very soon 1.0 beta release - although it still has a few small breaking changes (noted below, with migration instructions)!

Get ready for new detailed API documentation and the beta release soon. Use the nightly build with great caution until the beta release.

Bug Fixes

  • actionsheet:
    • Use transition instead of animation for backdrop, fix for Android 2.3 (c91622b7)
    • Dismiss actionsheet when tapping backdrop, closes #733 (668c646f)
    • Fix slide-up animation, closes #713 (44b31e18)
  • backbutton: Allow only one back button listener to run per click, closes #693 (a491f22c)
  • badge:
    • Vertical align a badge in an item-divider, closes #707 (cb5510c1)
    • Update badge alignment in tab items, closes #694 (c4eed02f)
  • button:
    • Correct vertical alignment of header right buttons, closes #704 (438f5fba)
    • Tweak vertical alignment of button icons, closes #739 (7ec0605e)
  • checkbox: Fix checkmark in Android 2.3 (717148d9)
  • colors: Update all #4A87EE colors to use $positive color, closes #731 (d113ddfa)
  • footer: Show footers within tab content, closes #728 (9c5772f3)
  • history: Separate histories and views, clear other views in clearHistory(), closes #724 (c99427aa)
  • input: Correct vertical alignment of inputs and their labels, closes #799 (6547ca60)
  • ionTabs: do not pre-transclude; stops error on compile (ecfdbaa6, closes #730)
  • item:
    • Fix badge moving to new line when text is too long, closes #551 (4d366710)
    • Fix item-icon-left / right animating Ionicon not centered, closes #670 (11a4338d)
  • list: Drag to expose list option buttons, closes #701 (25650005)
  • modal:
    • Do not apply the same modal animation to all of its children, closes #683 (9cff5d03)
    • Fix removing modal from DOM on .remove(), closes #755 (c4ca7a85)
    • Improve slide-up/down animations, remove flickers (b593cf1b)
  • navView: _getView renamed to _getViewById, closes #736 (78206d0e)
  • platform: Fix Platform.showStatusBar so it can be used multiple times, closes #702 (a6c47cd3)
  • sideMenu:
    • Not snapping on close on certain conditions #795 (a5899918)
    • Fix flashing when closing right side menu, closes #556 (a0d60d52)
    • Close side-menu if open and content tapped, closes #648 (0c5c6751)
  • sideMenuController: sticking issue #738 (ea04e393)
  • sidemenu: Side menu always needs to have translate3d applied, closes #710 (16ac2ff1)
  • tap:
    • Do not trigger a click if the element was scrolled after touchstart/mousedown (98e7e1aa)
    • Do not detect taps for input[type=file], closes #652 (6f2d6e7c)
  • toggle: Fix toggle handle on Android 2.3 (72f2e840)

Features

  • active: Removing use of :active in favor of .active for more control of active state (baa04cde)
  • animation: Add right to left animations, and their reverse, for RTL support, closes #643 (4628b9fb)
  • ionInfiniteScroll:
    • allow configuration of icon and text through icon and text attributes (5f2c32ea)
  • ionRefresher: allow custom text & icons through pulling-text, pulling-icon, refreshing-text, refreshing-icon attributes. (573df56d, closes #760)
  • modal:
    • On larger displays modals will be inset and centered, not full width/height, clo (ba2a40c8)
    • Create a modal backdrop wrapper w/ internal modal directive, closes #605 (7d076bd5)
  • popup: Added popup support (a30b0b7d)
  • toggle: Added dragging support to toggle switches (cc15a5b4)

Breaking Changes

  • on-refresh and on-refresh-opening are no longer on the
    ion-content directive. They are on the ion-refresher. In addition,
    on-refresh-opening has been renamed to on-pulling.

Change your code from this:

<ion-content on-refresh="onRefresh()"
  on-refresh-opening="onRefreshOpening()">
  <ion-refresher></ion-refresher>
</ion-content>

To this:

<ion-content>
  <ion-refresher on-refresh="onRefresh()"
    on-pulling="onRefreshOpening()">
  </ion-refresher>
</ion-content>

(573df56d)

  • on-infinite-scroll and infinite-scroll-distance are no longer attributes on the ion-content directive. They are on the ion-infinite-scroll element.

Chang your code from this:

<ion-content on-infinite-scroll="onInfiniteScroll()" 
  infinite-scroll-distance="1%">
</ion-content>

To this:

<ion-content>
  <ion-infinite-scroll on-infinite="onInfiniteScroll()"
    distance="1%"
  </ion-infinite-scroll>
</ion-content>
  • ionHeaderBar's title attribute is now interpolated.

Change this code: <ion-header-bar title="myTitleVar"></ion-header-bar>

To this code: <ion-header-bar title="{{myTitleVar}}"></ion-header-bar>
(a8e1524c)

ionicSlideBox#getPos has been renamed to ionicSlideBox#currentIndex.

ionicSlideBox#numSlides has been renamed to ionicSlideBox#slidesCount.
(1dd55276)

Alpha Rabbit

06 Mar 17:27
Compare
Choose a tag to compare

This version also contains a few Android performance fixes, so please test it out and let us know how it goes. Our next focus is to improve and auto-generate documentation.

Big thanks to the forum users for helping us identify and debug issues. This growing community and wide range of testing is contributing to making your Ionic apps better, so thanks again for the assistance. Beta coming soon!

Bug Fixes

  • actionsheet: Actionsheet in modal has pointer-events enabled, closes #660 (1503cc72)
  • click: event.preventDefault() when setting focus() on an input, closes 583 (fc8ab4b8)
  • ionContent:
    • Update scss for ion-infinite-scroll element (788df524)
    • Use new name to find ion-infinite-scroll element (1702f5c9)
  • ionPrefix: disableRegisterByTagName updated w/ ion- prefix for correct view history (2494b5f9)
  • ionSideMenu: use manual transclude instead of ngTransclude (991d3cfd, closes #666)
  • ionTabs: cleanup and fix many issues (0f1b6f47, closes #597)
  • ionicScrollDelegate:
    • do not error if no scrollTop/Left values (9e942f89, closes #659
  • item: degrade .item right arrows by grade for low end devices (3a69bb34)
  • loading: make showDelay option work correctly (7281e2ab, closes #562)
  • modal:
  • navBar:
    • animations, hide back button, no flicker (465ea769, closes #653)
  • platform: Update ionic.Platform.is() to check all platforms, closes #604 (fcd0fa73)
  • sideMenu: remove translate3d when not needed, close #636 (07092f00)
  • slideBox: make does-continue attribute work continuously (f6ec6a3c, closes #575)
  • tabs:
    • Double tapping a tab would set the wrong view history, closes #656 (f0faae16)
  • text-rendering: Disable text-rendering:optimizeLegibility for low end devices (10289466)
  • thumbnail: Correctly apply thumbnail style to item directive, closes #509 (977c1cc6)
  • transform: Polyfill style.transform to work w/ non-webkit (52671c18)

Features

  • grade: Set grade in body class depending on platform performance (b69b40c8)
  • ionContent: use child scope instead of isolate scope (49e0dac9, closes #555)
  • ionInfiniteScroll: use event system (7b0716c2, closes #661)
  • ionNavAnimation: <a href="#/page" ion-nav-animation="slide-in-up"> (8354d42b)
  • item: Auto right-arrow for complex list items w/ ng-click/href, closes #472 (327a6866)
    (110ff9f4, closes #243)
  • sass: All variables now have !default assigned, closes #631 (53af2c7a)
  • scrollbar: Do not use rgba background for scrollbar on grade-b and c devices (805c35c1)
  • sideMenu:
    • Degrade .menu-content box-shadow w/ platform grade for animation performance (d2a0780b)

Breaking Changes

  • The binding for ionInfiniteScroll has changed, as well
    as how you finish it.

If you had this code before:

<ion-content on-infinite-scroll="doSomething"></ion-content>
function MyCtrl($scope) {
  $scope.doSomething = function(scrollDoneCallback) {
    doSomething();
    scrollDoneCallback();
  };
}

Now, your code should look like this:

<ion-content on-infinite-scroll="doSomething()"></ion-content>
function MyCtrl($scope) {
  $scope.doSomething = function() {
    doSomething();
    $scope.$broadcast('scroll.infiniteScrollComplete');
  };
}

Alpha Quokka

06 Mar 17:27
Compare
Choose a tag to compare

Please help us test out Quokka and let us know how it goes, thanks!

Note that in this release there is a breaking change in that all of our directives are now prefixed with ion-.

Our next step is to add in more end-to-end and visual tests, and we'll keep you informed of our progress and we move along.

Bug Fixes

  • anchorScroll: find offset of nested elements correctly (17cc0408, closes #618)
  • click: event.preventDefault() when setting focus() on an input, closes 583 (fc8ab4b8)
  • ionicLoading: make showDelay default to 0 (was 2000) (0d3718cc)
  • ionicScrollDelegate: tapScrollToTop won't fire for button tap (70d95249, closes #557)
  • loading: make showDelay option work correctly (7281e2ab, closes #562)
  • modal: do not click buttons underneath modal (9bc928f0)
  • navBar: animations work properly (749cd382)
  • scrollView:
    • allow contenteditable element to be pressed normally (39ad3e0b, closes #421)
    • fix error from checking device before ready (a5d96473)
    • cancel scrollTop every time hash is set (e1b6fd4f)
    • do not stop scrolling if stopped beyond boundaries (1aef593f)
  • tabs: broadcast tab.shown/tab.hidden to only child scopes (69fda4e5)

Features

  • angular: Update to Angular v1.2.12, closes #600 (97f4f6ea)
  • button: Increase hit area size of a button (c168b489)
  • event: Created stopEvent directive to use for certain ng-click cases, closes #550 (8b308a17)
  • ionic: prefix all directives with ion- (2c39a214)
  • modal:
    • add .isShown() method to modal instances (e106457e, closes #320)
    • $broadcast 'modal.shown/hidden/removed' from parent scope (110ff9f4, closes #243)
  • navBar: allow expression in type. <nav-bar type="{{myType}}"> (5470d77a, closes #599)
  • sideMenu: allow and watch attrs width & is-enabled (bfefc69f)

Breaking Changes

  • All directives are now prefixed with ion-.

For any directive you use, add the ionic prefix.

For example, change this HTML:

<tabs>
  <tab title="home" href="/tab/home">
    <content>Hello!</content>
  </tab>
</tabs>

To this HTML:

<ion-tabs>
  <ion-tab title="home" href="/tab/home">
    <ion-content>Hello!</ion-content>
  </ion-tab>
</ion-tabs>

(2c39a214)

Alpha Peleguin

12 Feb 16:48
Compare
Choose a tag to compare

Bug Fixes

  • android: when keyboard comes up, ensure input is in view (9327ac71, closes #314)
  • backButton:
    • able to hide back button if any back button attr set in navBar, closes #564 (74a05a03)
    • Do not show back button if no attributes set, closes #549 (2d39418d)
  • browser: on first hash-set, dont set scrollTop (1c4d4a8b)
  • buttonIcon:
  • click: Clicks firing twice, closes #573 (2132d292)
  • header: Header icon button css fix for Safari, closes #576 (801d2d7b)
  • ionicScrollDelegate: trigger resize before scrolling to top/bottom (ea289b81, closes #522)
  • list: css: don't make last .list on page have margin-bottom (fb5a0d4c)
  • listButtons: Update list button sizes, closes #478 (91652112)
  • navBar: Remove duplicate back button arrows, closes #547 (4808e80d)
  • refresher: make refresher css not create gap at end of list (79387a4e)
  • scroll: <scroll> is now registered with $ionicScrollDelegate (2c7ce763)
  • scroll-view: css: make it take up only 100% height (d2f9e94b)
  • scrollView:
    • start scroll again if it stops beyond boundaries (eed6b19b)
    • nested scrollViews now work independently (4cc4a18c, closes #278)
  • sideMenuContent: make dragContent default to true (61a280bd)

Features

  • $ionicScrollDelegate:
    • add scrollTo(left,top,animate) to delegate (c119498d)
    • allow anchorScroll to animate with param (36691bba)
    • add .anchorScroll() function (c2bbd9e9)
  • domUtil: add getPositionInParent function (a970f0bd)
  • grid: Added classes, variables and mixins for responsive grid options (1cdb999e)
  • ionic: remove angular-sanitize (ngSanitize) as dependency (e7556233)
  • list: reordering scrolls page, reordering performance better (7f4b28d9, closes #521)
  • sideMenuContent: watch drag-content attribute (7f9bfb5a)
  • tabs:
    • allow html in tab title attribute (0facb120, closes #528)
    • allow tab badge-style attribute to set badge class (b11e0f51)
  • toggle:

Alpha Oxen

05 Feb 20:21
Compare
Choose a tag to compare
  • Android back button correctly goes back a view or closes the app
  • CustomEvent polyfill improvements for Android
  • Fix tab icon alignments
  • Fix $ionicPlatform.ready()
  • Fire off ionic.Platform.ready() callbacks for both Cordova and non-cordova
  • Created ionic.Platform.exitApp();
  • Add major and minor platform version numbers in body css
  • Removed dist folder from git
  • Created release folder to hold the latest release
  • Automate bulding the nightly folder in the CDN
  • Clicking tab item takes user to root/home of the tab
  • Add tab badges with badge attribute
  • Remember the previous scroll of a page when going back to it

Alpha Narwhal

02 Feb 05:17
Compare
Choose a tag to compare
  • Tap polyfill overhaul to remove 300ms delay when firing a click
  • Android click firing twice fixes
  • Fixes with the tap polyfill for directives using ng-click
  • Upgrade to Angular v1.2.10
  • Reduce default button height
  • Android back button correctly goes back a view or closes the app
  • CustomEvent polyfill improvements for Android
  • Fix tab icon alignments
  • Fix $ionicPlatform.ready()
  • Fire off ionic.Platform.ready() callbacks for both Cordova and non-cordova
  • Created ionic.Platform.exitApp();

Alpha Maine Coon

25 Jan 03:36
Compare
Choose a tag to compare
  • Toggle directive now includes .item.item-toggle wrapper
  • Toggle/Checkbox/Radio implements ng-model/ng-value/ng-change
  • Ionicons v1.4.2, icons now using :before pseudo
  • Button and header size updates
  • Android "click" event firing twice fixes
  • Refactor platform ready event listeners
  • Refactor navView directive
  • Created ionic.Platform.fullscreen() and .showStatusBar()
  • Update to Angular v1.2.8
  • Disable pointer-events during transitions
  • Remove ngTouch from angular.modules
  • Remove angular-touch.js and angular-route.js references

Alpha Lynx

15 Jan 04:04
Compare
Choose a tag to compare
  • Improved transitions between views
  • Fixed hide-nav-bar/hide-back-button view attributes
  • Removed title attributes from DOM
  • Remove nav title if the entering view doesn't have one
  • Fix padding being added to content directive
  • Rename ionic services to use $ionic prefix

Alpha Koala

10 Jan 21:37
Compare
Choose a tag to compare
  • Created ViewState Service to track navigation history
  • Created navView directive
  • Removed navPage and navRouter directives
  • Using AngularUI Router instead of $route
  • Update examples to use $stateProvider instead $routeProvider