3.4.2 (2017-06-16)
Bug Fixes
- rtl: use multi direction in order to override the default ltr (548e182)
Downloads
Downloads
3.4.0 (2017-06-15)
Steps to Upgrade
ionic-angular
should be set to version 3.4.0
in the package.json dependency list. The latest @angular
release 4.1.3
is also supported. Feel free to update apps by updating the package.json
dependencies to match below.
"dependencies": {
"@angular/common": "4.1.3",
"@angular/compiler": "4.1.3",
"@angular/compiler-cli": "4.1.3",
"@angular/core": "4.1.3",
"@angular/forms": "4.1.3",
"@angular/http": "4.1.3",
"@angular/platform-browser": "4.1.3",
"@angular/platform-browser-dynamic": "4.1.3",
"@ionic-native/core": "3.12.1",
"@ionic-native/splash-screen": "3.12.1",
"@ionic-native/status-bar": "3.12.1",
"@ionic/storage": "2.0.1",
"ionic-angular": "3.4.1",
"ionicons": "3.0.0",
"rxjs": "5.4.0",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.12"
},
"devDependencies": {
"@ionic/app-scripts": "1.3.7",
"typescript": "2.3.4"
}
Bug Fixes
- button: rtl fix for md ripple effect (#11842) (bb966e5)
- content: scroll content should inherit background (#11467) (6256b0f)
- datetime: set datetime direction the same on ltr and rtl (#11992) (20c9dd7)
- gesture: RTL fix for slide-gesture (#11822) (59a1e3d)
- input: add correct translate3d for rtl (ef85ba6), closes #11745 #11211
- input: better handling of attributes (9f86e10)
- input: slightly longer delay for autofocus (#12037) (54ac2e3)
- input: use all supported attributes on both textareas and inputs (#12028) (8041eed)
- item-sliding: RTL fix for item sliding (#11825) (10f4df4)
- keyboard: big keyboard/input refactor (c10f72b), closes #9699 #11484 #11389 #11325 #11291 #10828 #11291 #10393 #10257 #9434 #8933 #7178 #7047 #10552 #10393 #10183 #10187 #10852 #11578
- menu: rtl gesture for menu (#11830) (30047f0)
- refresher: border should only show when pulled (#12015) (47e3c70), closes #10994
- rtl: add icon-start and icon-end attributes (#11737) (a40b872)
- sass: add default flag to variables (#11779) (f14d7d6)
- searchbar: caret moving to the end when typing (261bc4d)
- segment: fix border-radius logic for RTL (#11981) (6db8c14)
- select: add cssClass for popover interface (#11769) (1c25acb)
- select: return undefined when there are no options (#11968) (dc6c586), closes #10435
- split-pane: correct split-pane menu side order (30dc247)
- textarea: apply classes properly (dc958c3)
- toggle: RTL fix for toggle (2afb936)
- toolbar: get the correct contrast color for md mode (0f4ed1c), closes #11848
- toolbar: use the correct contrast color for MD toolbar (041689b), closes #11848
- transition: RTL fix for transition on ios (#11820) (6322134)
Features
- background-position: add background position support for rtl (#11946) (305c306)
- loading: add enableBackdropDismiss to Loading (#11937) (d0ae810), closes #7975
- loading: add margin start variable (#11980) (3e0d43e)
- rtl: add transform and transform-origin support for rtl (#11649) (2273fb5)
- rtl: optimize the new mixins for smaller bundle, ltr separation (#11635) (f0c6948)
- rtl: support flipped svg background images on rtl (#11945) (f4452b5)
- slides: support centering slides and using decimal numbers (e3c60c5), closes #10361
Performance Improvements
Downloads
3.3.0 (2017-05-24)
Steps to Upgrade
ionic-angular
now supports the latest @angular
(4.1.2), and typescript
(2.3.3) versions. Feel free to update apps by updating the package.json
dependencies to match below:
"dependencies": {
"@angular/common": "4.1.2",
"@angular/compiler": "4.1.2",
"@angular/compiler-cli": "4.1.2",
"@angular/core": "4.1.2",
"@angular/forms": "4.1.2",
"@angular/http": "4.1.2",
"@angular/platform-browser": "4.1.2",
"@angular/platform-browser-dynamic": "4.1.2",
"@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.3.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.3.3"
}
Another optional step is to remove the src/declarations.d.ts
file. This is a legacy file introduced early with ionic-angular
projects to improve compatibility between TypeScript and third-party libraries. Due to improvements in TypeScript, this file is no longer necessary. By removing this file, the TypeScript compiler will be able to provide more accurate error messages for import
statements.
Bug Fixes
- range: update the UI when min/max change (#11720) (d86785c), closes #11719
- searchbar: searchbar padding should be on the left (#11651) (3443ffd)
- segment: add z-index to ios back button (#10363) (bb22e4a)
- select: RTL fix for searchbar (#11355) (ca71072)
- VirtualScroll: initialize trackByFn reference (#11624) (892e14f)
Features
Downloads
3.2.1 (2017-05-12)
Bug Fixes
Downloads
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
Downloads
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)
Downloads
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
Downloads
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.