Releases: ionic-team/ionic-framework
1.0.0-beta.6 "darmstadtium-dingo"
Download Instructions: https://github.com/driftyco/ionic#quick-start
Bug Fixes
- click: fix mouseup click for ion-option-button (29ee6407)
- collectionRepeat: fix rare NPE error on android 4.1 (94f0b5b7, closes #1292)
- input: fix long input text adjusting left on focus (e6b5ff22, closes #1390)
- ionContent: make content scrollable if it is a child of a non-scrollable content (488bd5c0, closes #1421)
- ionFooterBar: properly offset content for bar-subfooter (46e33664)
- ionReorderButton: fix onReorder not triggering an angular digest (cc46735c)
- ionSlideBox: fix regression allowing slide past boundaries (ec5a2763, closes #1414, #1405, #1409, #1321)
- requirejs: fix bug with requirejs & loading order of angular taps (36181091)
- scrollView:
- make xy scrolling work on ionScroll and ionContent (49f06f9c, closes #1462)
- fix clonedInputs not being removed for large textareas on keyboardshow (88e41e1a, closes #1420)
- on desktop, make mousewheel only scroll the scrollView under the mouse (3250d10d, closes #1376)
- stop memory-leak when destroying scrollView (4a210130, closes #1096)
- tap: select tag not working in IE (7059b818, closes #1435)
Features
- footer: keyboard-attach attribute directive to position footer above keyboard (09d1197a)
v1.0.0-beta.5b 'barium-bobcat'
v1.0.0-beta.5 'barium-bobcat'
Bug Fixes
- $ionicLoading: do not flicker when showing long loading messages (90e7395e, closes #1252)
- .slide-left-right-ios7: do not give borders to header/footer bars (30a9da19, closes #1232)
- .tab-item: make it work with activator (1b1c234f, closes #1317)
- CustomEvent: fix IE CustomEvent polyfill (191464c9)
- activator: properly activate elements nested inside an item (3c15b118)
- button: fix icon vertical alignments for IE 10 (930794cd)
- e2e-tests: disable ionic-tap during e2e tests (636ca943, closes #1310)
- footer: Fix placement of .bar-footer.item-input-inset (eaee564d, closes #1325)
- header: Set a height for
.bar .title
(0c960b54) - headerBar: tap to scroll to top only on the nearest scrollview (58c97e0d, closes #1329)
- input:
- ion-header-bar: when hidden, correctly offset the ion-content (efa61844, closes #1351)
- ionCheckbox: make ng-checked and ng-change work (a006d896, closes #1349)
- ionItem: transform to
<a>
tag for ui-sref (c6c1300b) - ionNavButtons: do not append if page is removed very quickly (24a488bb)
- ionToggle: stop error in edge case of drag ending before raf (d108a29e)
- ionView:
- listView: reordering upwards in a list is more responsive, fix scrolling error (df9c0747, closes #1202)
- refresher: make arrow spin correctly (2ec01733, closes #1319)
- scroll:
- select:
- sideMenu: Disable content interaction when menu open (76d4c083, closes #1339)
- tap:
- textarea: Allow scroll in textarea when focused (5f2fdfdd, closes #1280)
Features
- $ionicModal: allow configuration of backdropClickToClose (291d723a)
- ionNavBackButton: make pressed state work (8d34ab28)
- platform: added isWindowsPhone() method (08e4b3d9)
- tap: Make TAP_RELEASE_TOLERANCE configurable (27369930)
- touch-action: add touch-action: manipulation (40cd6f72)
- ui-router: upgrade to angular-ui-router v0.2.10 (b9353e71, closes #941)
Breaking Changes
- ion-checkbox no longer has an isolate scope.
This will break your checkbox only if you were relying upon the
checkbox having an isolate scope: if you were referencing
$parent.value
as the ng-disabled attribute, for example.
Change your code from this:
<ion-checkbox ng-disabled="{{$parent.isDisabled}}"></ion-checkbox>
To this:
<ion-checkbox ng-disabled="{{isDisabled}}"></ion-checkbox>
(a006d896)
Beta Antimony-Antelope
Bug Fixes
- .pane: Remove overflow:hidden from .pane,.view (64f0030b)
- .tabs-icon-*: only work on directly descendant tabs (77f26831, closes #1261)
- bar: properly align titles if switching to view with no buttons (ade143ed, closes #1242)
- collectionRepeat: correctly save user scroll position on back (0a640758)
- ionItem: fix error when repeating (f370db45)
- ionSlideBox:
- modal: Remove modal flicker, closes #1150 (d2ebed84)
- scrollView: recalculate size on mousewheel scroll (89a9ed15)
- select: Select options w/ mouse events, closes #1251 (e3306293)
- tap: input[file] clicks within ion-content, closes #1237 (05a6d7cc)
- toggle: Right side padding for item-complex, closes #1091 (45106a6a)
- transitions: Disable transitions on Android 2, closes #780 (9c58d47b)
- viewport:
Features
- $ionicLoading: on android, no back button action while loading (fc8711c7, closes #1273)
- $ionicModal: close on backdrop click on desktop/tablet (554c4398, closes #1087)
- ionNavBar: allow navbar inside ion-view to transition whole bar (42177c3b, closes #1232)
- sideMenu: make android back button close side menu (10103559, closes #1264)
Beta Americium
Bug Fixes
- $ionicModal: do not inherit has-header etc from parent scope (6c0c8350, closes #1191)
- .pane: make pane class have overflow: hidden; fixes scrolling whole page from header/footer errors (dca87e2c, closes #1218)
- android-2.2: use string notation for reserved 'class' keyword (3bcf06f2, closes #1228)
- collectionRepeat: allow percent expressions (94bcbf75)
- infiniteScroll: allow to fire if list does not fill up screen (e35b95e1)
- ionHeaderBar: have no side effects with content in other views (7fd31b6a, closes #1095)
- ionList: make reorder follow an offset list as it scrolls (3a68a2c9)
- ionRadio: pass name property down to input element (9995f46b, closes #1229)
- ionTab: make it so tabNav works with ngRepeat (288d4ac2)
- ionView:
- scrollView: stop polluting global.core (8992e7c9)
Features
Beta Aluminum
Major Features
Take a look at the new Collection Repeat for rendering HUGE lists of items!
Bug Fixes
- $ionicActionSheet: provide default functions for options (ba39fb00, closes #1013)
- $ionicLoading: stop race condition with show and hide (eb1dee93, closes #1100)
- $ionicModal: make it use jqLite#remove() (104c6420, closes #1138)
- $ionicPopup:
- active: Taps/clicks now use .activated instead of .active, closes #913 (870dcd6f)
- bar: Increased button icon font size (8847774f)
- checkbox:
- header: Header input too long on Android 4.2, closes #1081 (b654e02e)
- input: Fix to hide input overlays on old Android (0e9072e4)
- ion-scroll:
- ionContent:
- ionHeaderBar:
- ionInfiniteScroll:
- ionList:
- disable swiping of items while option buttons are shown (81676e6e)
- do not let option button click propagate to item (a845ff34)
- disable tap on element being edited (634b3971)
- make reorder position work if list is offset (90da2da6)
- show reorder/delete on item creation if list is showing (09a77299, closes #1181)
- ionNavBar: adjust has-header if ionNavBar is hidden (41b73abf, closes #927)
- ionNavButtons:
- ionRefresher: do not animate pulling-text (5c893ab8, closes #909)
- ionTab: make sure all tab-nav attributes are re-interpolated on change (757f1819, closes #955, #1071)
- ionView: do not set navbar title if no title attr set (d53eab81, closes #915)
- ionicPopup: if input exists, focus it. else, focus first button (93aa16a7, closes #1176)
- ionicTabBar: detect if matches state in all cases (ee2b7686)
- item:
- labels: Fix .input-label's width for androids w/out full flex box support, #998 (096a01c1)
- listView: fixed active state on scroll (040af824)
- loading: fix not hiding after two shows, always cancel delay (4216266f, closes #1130)
- modal: Increase delay of removing .modal-open to prevent focus under modals (83fd11c5)
- navClear:
- popup: Backwards compatible remove popup from DOM, closes #851 (441a21c4)
- range: Fix range being able to slide when in a side menu, closes #318 (2fbdebcd)
- refresher: get rid of flickers except on droid-4.4 (ad671848, closes #1014)
- scroll:
- scss: make tabs,header,footer aligned right with statusbar (c2a38a6d)
- tabs: Tab icon align within nested tabs, closes #1093 (2a6f7029)
- tabs-item-hide: only hide tab nav items (a7eb521c)
- tap:
Beta Actinium
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:
- 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:
- 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:
- 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
andtabs-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. Removeleft-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...
Alpha Salamander
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:
- backbutton: Allow only one back button listener to run per click, closes #693 (a491f22c)
- badge:
- button:
- 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:
- list: Drag to expose list option buttons, closes #701 (25650005)
- modal:
- navView: _getView renamed to _getViewById, closes #736 (78206d0e)
- platform: Fix Platform.showStatusBar so it can be used multiple times, closes #702 (a6c47cd3)
- sideMenu:
- sideMenuController: sticking issue #738 (ea04e393)
- sidemenu: Side menu always needs to have translate3d applied, closes #710 (16ac2ff1)
- tap:
- 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
andtext
attributes (5f2c32ea)
- allow configuration of icon and text through
- ionRefresher: allow custom text & icons through
pulling-text
,pulling-icon
,refreshing-text
,refreshing-icon
attributes. (573df56d, closes #760) - modal:
- 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
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:
- 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:
- item: degrade .item right arrows by grade for low end devices (3a69bb34)
- loading: make showDelay option work correctly (7281e2ab, closes #562)
- modal:
- navBar:
- 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:
- 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
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:
- 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:
- 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)