Releases: ionic-team/ionic-framework
3.2.1
3.2.0
3.2.0 (2017-05-10)
Steps to Upgrade
Update your package.json to match the following dependencies, remove the existing node_modules
directory, and then run npm install
:
"dependencies": {
"@angular/common": "4.1.0",
"@angular/compiler": "4.1.0",
"@angular/compiler-cli": "4.1.0",
"@angular/core": "4.1.0",
"@angular/forms": "4.1.0",
"@angular/http": "4.1.0",
"@angular/platform-browser": "4.1.0",
"@angular/platform-browser-dynamic": "4.1.0",
"@ionic-native/core": "3.6.1",
"@ionic-native/splash-screen": "3.6.1",
"@ionic-native/status-bar": "3.6.1",
"@ionic/storage": "2.0.1",
"ionic-angular": "3.2.0",
"ionicons": "3.0.0",
"rxjs": "5.1.1",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.10"
},
"devDependencies": {
"@ionic/app-scripts": "1.3.7",
"typescript": "2.2.1"
}
Using v3 of the Ionic CLI? Make sure to add @ionic/cli-plugin-ionic-angular
and @ionic/cli-plugin-cordova
to your devDependencies
. Read more about this on our blog.
Bug Fixes
- button: display box shadow correctly for Chrome (cbe0b42)
- datetime: fix floating label with empty ion-datetime (#11552) (5a895bb), closes #11547
- label: add the $label-ios-text-color sass variables back (588fad8), closes #11373
- module-loader: remove null references (2afc5cf)
- nav-controller: popToRoot should not remove root view (646d736)
- rtl: add correct text-align (#11353) (424b15a)
- rtl: change item reorder offset for RTL (#11395) (665e44f)
- select: fire the events properly in popover interface (59dd853)
- tap-click: update setupTapClick signature (df8d1cc)
- view-controller: set _dismissRole to a string (6d11499)
- virtual-scroll: update virtualTrackBy reference (de19dbe)
- virtual-scroll: remove duplicate items (f893aa6)
- virtual-scroll: initialize differ with trackByFn (#11492) (299a68b)
Features
- item: deprecate item-left / item-right attributes for item-start / item-end (#11125) (26c653e)
- select: close select programatically (a04b577)
- wk: built-in support for WK (#11048) (325cc5e)
Performance Improvements
3.1.1
3.1.1 (2017-04-28)
Bug Fixes
- datetime: return the correct value (af394b5)
- datetime: always returns a string (6677d80)
- input: don't dispatch first ngModel update (505d27a)
- input: initialize in ngAfterContentInit (239b559)
- menu: missing output events in interface (7eb2f0b), closes #11383
- range: fix label reference (ee6c481)
- searchbar: add setFocus() back (9264a04), closes #11397
- select: use correct assert condition (ec2a34d)
- select: return the value in ionChange instead of this (d24c4f4)
- select: allow object as value (4c8efc2)
- select: remove private reference (c0276d5)
- toggle: initialize in ngAfterContentInit (539901d)
3.1.0
3.1.0 (2017-04-26)
Steps to Upgrade
Update your package.json to match the following dependencies, remove the existing node_modules
directory, and then run npm install
:
"dependencies": {
"@angular/common": "4.0.2",
"@angular/compiler": "4.0.2",
"@angular/compiler-cli": "4.0.2",
"@angular/core": "4.0.2",
"@angular/forms": "4.0.2",
"@angular/http": "4.0.2",
"@angular/platform-browser": "4.0.2",
"@angular/platform-browser-dynamic": "4.0.2",
"@ionic-native/core": "3.4.2",
"@ionic-native/splash-screen": "3.4.2",
"@ionic-native/status-bar": "3.4.2",
"@ionic/storage": "2.0.1",
"ionic-angular": "3.1.0",
"ionicons": "3.0.0",
"rxjs": "5.1.1",
"sw-toolbox": "3.4.0",
"zone.js": "^0.8.5"
},
"devDependencies": {
"@ionic/app-scripts": "1.3.4",
"typescript": "~2.2.1"
},
Bug Fixes
- input: trigger inputUpdated on initialize (5776f76)
- input: make sure isDisabled gets set to a boolean (bfa2362)
- item-options: rtl support (#11188) (ea6450e)
- menu: rtl support (5311336)
- menu: rtl support (51d5079)
- nav-controller: print exceptions inside lifecycle events (95c06a5), closes #10974
- nav-controller: filter null view-controllers (8605672)
- nav-controller: queue lazy loading (f88823a)
- nav-controller: fix crash when it is destroyed (cc1eb02), closes #11338
- navigation: legacy deeplink config can have a defaultHistory entry that is a component (35f3947)
- platform: resize events are dispatched inside zone (83509db)
- scroll: fix memory leak (3c8edba)
- searchbar: debounce input for ionInput (11a1c70)
- select: stores string | string[] (ba44780), closes #11337
- slides: fix fast rerendering crash (#11100) (78d427d), closes #10830
- sliding-gesture: add missing return value (3b32b8e)
- tabs: invalid component comparison (#11084) (e423e08)
- toggle: use correct toggle background color for iOS colors (b3d68c9)
- util: pass an option to default to right side in isRightSide (7bcf5a0)
- virtual-scroll: create views inside zone (fd3c6ba), closes #10451
- virtual-scroll: supports null records (67af71b)
Features
- app: add pull-left/right/start/end (#11214) (d9ac950)
- app: add text-start and text-end (#11213) (6cd719f)
- app: add responsive utility attributes by screen size (#11228) (cf24057), closes #10567
- item: add sass variable to override avatar border radius (b0dc856), closes #10763
- label: fix positioning of floating label for rtl (#11324) (0ec71cd)
- list: rtl support for list-header (#11328) (e31a4da)
- modal: add cssClass to modal options (5cb51ef), closes #10020
- platform: add electron as a platform (#10868) (c0df862)
- rtl: add start and end text-align for alert and picker (cb5707d)
- segment: add segment rtl support (#11215) (dd0b293)
- select: add popover interface as an option (745d808)
Performance Improvements
3.0.1
3.0.0
3.0.0 (2017-04-05)
Steps to Upgrade
With this release comes a major update to Angular (Angular 4.0!), the latest version of TypeScript, and some optional structural changes to your application.
- Update your package.json to match the following dependencies, remove the existing
node_modules
directory, and then runnpm install
:
"dependencies": {
"@angular/common": "4.0.0",
"@angular/compiler": "4.0.0",
"@angular/compiler-cli": "4.0.0",
"@angular/core": "4.0.0",
"@angular/forms": "4.0.0",
"@angular/http": "4.0.0",
"@angular/platform-browser": "4.0.0",
"@angular/platform-browser-dynamic": "4.0.0",
"@ionic-native/core": "3.4.2",
"@ionic-native/splash-screen": "3.4.2",
"@ionic-native/status-bar": "3.4.2",
"@ionic/storage": "2.0.1",
"ionic-angular": "3.0.0",
"ionicons": "3.0.0",
"rxjs": "5.1.1",
"sw-toolbox": "3.4.0",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@ionic/app-scripts": "1.3.0",
"typescript": "~2.2.1"
}
- Import the
BrowserModule
in yourapp/app.module.ts
file:
import { BrowserModule } from '@angular/platform-browser';
and then add it to the imports in the same file:
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
- If you are using Http, Import the
HttpModule
in yourapp/app.module.ts
file:
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp)
],
- Upgrading to Ionic Native 3.x will result in a smaller bundle size. With Ionic Native 3, native functionality was moved from static methods to using Angular injectables.
- Blog Post: http://blog.ionic.io/ionic-native-3-x/
- Example Upgrade Commit: ionic-team/ionic-conference-app@62088
And that’s it! Your app should still function the same without any issues.
Bug Fixes
- alert: add missing cssClass property for buttons (4fbcda7)
- content: remove scroll bouncing from desktop (7cee7b0)
- content: enable scroll listener automatically (d9a7652), closes #10938
- datetime: emit ionCancel event on backdrop click (#10532) (4ac8ffb)
- datetime: remove unnecessary calls and performance improvements (99142f8)
- infinite-scroll: don't call
complete
if the state isn't loading (58b57c0) - item-sliding: add forwardRef for item options (0ccd96e)
- navigation: update the URL if there are no children navs (8586cc1)
- slides: negative number indicates position starting at end (#10997) (33be36d)
- split-pane: add RTL support (57f3f97), closes #10903
- virtual-list: fix the rendering of the first item (ccb49f3)
- virtual-list: update compatibility with angular (682ce49)
Code Refactoring
- grid: remove the old grid system (19c36de)
- typography: remove the native element selectors (2827275)
Features
- module-loader: add caching for ngModuleLoader on load (17359b7)
- module-loader: add preloadModules config option, set to false (bdbd521)
- module-loader: preload modules based on priority (5a4f8b9)
- module-loader: run outside of angular and in requestIdleCallback (c7ad3ce)
- navigation: @DeepLink decorator (3e70856)
- navigation: add optional priority to deep link config (b47848c)
- split-pane: adds enabled input (fa7ea0c), closes #10949
- split-pane: sizing via scss variables (979ca63), closes #10893
- util: system.js ng-module loader (beabe32)
BREAKING CHANGES
Grid
Removed the deprecated (old) grid. See the blog post for more information including steps to migrate:
http://blog.ionic.io/build-awesome-desktop-apps-with-ionics-new-responsive-grid/
Typography
The following selectors to style the text color of the native text elements have been removed:
h1[color], h2[color], h3[color], h4[color], h5[color], h6[color], a[color]:not([ion-button]):not([ion-item]):not([ion-fab]), p[color], span[color], b[color], i[color], strong[color], em[color], small[color], sub[color], sup[color]
These have been throwing a deprecation warning since rc.3 but still working. They are officially gone and therefore these elements will not get the color unless the ion-text
attribute is added. Please see the documentation for more information: http://ionicframework.com/docs/api/components/typography/Typography/
Slides
The following properties and functions have been printing console warnings and are officially removed:
Slides input options
has been removed. Please use the input
properties instead.
Slide event ionWillChange
has been removed, please use
ionSlideWillChange
instead.
Slide event ionDidChange
has been removed, please use
ionSlideDidChange
instead.
Slide event ionDrag
has been removed, please use ionSlideDrag
instead.
Slides getSlider()
method has been removed, please use the instance
of ion-slides.
2.3.0
2.3.0 (2017-03-22)
Bug Fixes
- alert: pass id to alert inputs (46fe1ff), closes #10603
- datetime: don't always disable day values when dayValues is set (eff420f)
- datetime: move the call to picker.refresh() in generate (58beea3)
- datetime: respect time limits in hours and minutes (afd99ba), closes #6850
- datetime: update selectedIndex according to ngModel value (74191c3)
- infinite-scroll: add event.timeStamp polyfill for firefox (#10752) (53feb3f)
- picker: initialize the selectionIndex (ba35306)
- range: update the bar width correctly (b541832), closes #10150
- range: only activate knob B if range is dual (d538245)
- scroll-view: do not set initialized until it is enabled (#10817) (56364a0)
- searchbar: add IE support (05859db)
- select: make floating labels work for ion-select (8c483f2), closes #10751
- slides: fix rtl support (e90d692)
- slides: simulate touch events for query params (#10579) (e191321), closes #10577
- toggle/checkbox: trigger ui update when using virtalScroll with Angular Reactive Forms (30980b6)
- virtual-list: make virtual-scroll work with infinite-scroll (999efac), closes #9350 #9722 #9247 #10778
- virtualscroll: populate the nodes at the correct height (51c398d)
Features
- alert: add attributes min & max to alert inputs (d666e8b)
- alert: add attributes min & max to alert inputs of type number (b53219a)
- infinite: add scroll in opposite direction (#8099) (6918275)
- infinite-scroll: add
waitFor
method to InfiniteScroll (84e25a1) - overlay: add method chaining pattern to configure overlays (bee75f7)
- range: add ionFocus and ionBlur events (#10761) (8f310eb)
- split-pane: support for side=right (963cdcb)
Performance Improvements
- content: scrollview magic activated on demand (7e9bad5)
2.2.0
2.2.0 (2017-03-08)
Updating to 2.2.0
- Update your
package.json
to match the following dependencies, remove the existingnode_modules
directory, and then runnpm install
:
"dependencies": {
"@angular/common": "2.4.8",
"@angular/compiler": "2.4.8",
"@angular/compiler-cli": "2.4.8",
"@angular/core": "2.4.8",
"@angular/forms": "2.4.8",
"@angular/http": "2.4.8",
"@angular/platform-browser": "2.4.8",
"@angular/platform-browser-dynamic": "2.4.8",
"@angular/platform-server": "2.4.8",
"@ionic/storage": "2.0.0",
"ionic-angular": "2.2.0",
"ionic-native": "2.4.1",
"ionicons": "3.0.0",
"rxjs": "5.0.1",
"sw-toolbox": "3.4.0",
"zone.js": "0.7.2"
},
"devDependencies": {
"@ionic/app-scripts": "1.1.4",
"typescript": "2.0.9"
}
Note: If you are using ionic-storage
, you need to update it to 2.0.0
or you will run into an error similar to this: Error: Can't resolve all parameters for Storage: (?, ?).
. For more information, see the Storage Documentation.
What's new
Split Pane
As part of our initiative to improve desktop support we have introduced a new component called Split Pane. Split Pane makes it possible to easily create multi-view layouts. It allows elements, such as a menu or another navigation pane, to be displayed on large viewports. Split Pane can be used to achieve a layout similar to the Gmail (Android) or Mail (Apple) applications.
Angular 2.4.8
Ionic has been updated to depend on Angular 2.4.8, which is the latest version that we have tested and confirmed to be compatible with Ionic. This means that updating to the 2.2.0 release of Ionic will automatically work with all of the performance updates, bug fixes and features in Angular 2.4.8!
Ionic Storage
We recently released the 2.0.0 version of ionic-storage
. If you are using Ionic Storage in your application, you need to update to this version of ionic-storage
. Attempting to use an older version of ionic-storage
with Ionic 2.2.0 will cause errors. You can read about how to update to ionic-storage
2.0.0 here.
Bug Fixes
- components: clean up event listeners to stop memory leaks (8d9f374), closes #10459 #10416 #10286
- infinite-scroll: use icon color from Sass var and add var for text color (7b97fb7), closes #10574
- menu: disable the menus when they should be (dc53c8e)
- menu: don't hide menuToggle outside navbar (e56bad9)
- radio: calculate radio-inner width/height with border width (#10495) (176aa23)
- refresher: don't destroy events manager (9308694), (1dd8883), closes #10652
- refresher: use refresher icon color from Sass var (116ae38), closes #10479
- tabs: emit ionChange after the tab is selected (ac1a886), closes #10538
- tabs: catch the rejected promise with popToRoot (7385158)
- view-controller: set navigation so dimiss() will work synchronously. (61a5317), closes #10654
Features
2.1.0
2.0.1
2.0.1 (2017-02-08)
Bug Fixes
- chip: align icon in the center (ace727e), closes #5386
- content: check for this._scroll when reading dimensions (#10216) (96f550c)
- datetime: set input-has-value class without formControlName (#8947) (81c3394)
- input: add variables for alert and input placeholder color (4ca9f2c), closes #10153
- input: add max, min, step as inputs and pass to native (803782a), closes #10189
- input: don't allow focus when disabled is set (#10214) (eba0866), closes #10155
- platform: detect iPad Pro correctly (#10292) (f12fc61)
- toggle/checkbox: allow value to be programmatically updated while disabled (#10304) (b8ee301), closes #9730