A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
MIT License
Bot releases are visible (Hide)
Published by danbucholtz almost 7 years ago
ionic-angular
3.9.1 is patch release of ionic-angular
3.9.0. To upgrade, follow the instructions here for updating to ionic-angular
3.9.0. After completing those steps, update the ionic-angular
version to 3.9.1.
npm install [email protected] --save
Published by danbucholtz almost 7 years ago
ionic-angular
3.9.0 adds support for @angular
5.0.0 🎉! It is a drop-in replacement for ionic-angular
3.8.x.
To update, remove existing node_modules
and any lock files, and then update package.json
to the following deps.
"dependencies" : {
...
"@angular/common": "5.0.0",
"@angular/compiler": "5.0.0",
"@angular/compiler-cli": "5.0.0",
"@angular/core": "5.0.0",
"@angular/forms": "5.0.0",
"@angular/http": "5.0.0",
"@angular/platform-browser": "5.0.0",
"@angular/platform-browser-dynamic": "5.0.0",
"@ionic/storage": "2.1.3",
"ionic-angular": "3.9.0",
"rxjs": "5.5.2",
"zone.js": "0.8.18"
...
},
"devDependencies: {
"@ionic/app-scripts": "3.1.0"
"typescript" : "2.4.2"
}
If your app uses RXJS, see the instructions below to update.
The recent update of RXJS includes a change in how operators are applied.
Traditionally, operators were applied like this:
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/switchMap';
export MyClass {
someMethod(){
// Using Reactive Forms
this.input.valueChanges
.debounceTime(500)
.switchMap(inputVal => this.service.get(inputVal))
.subscribe(res => console.log(res))
}
}
This approach involved modifying the Observable prototype and patching on the
methods.
RXJS 5.5 introduces a different way to do this that can lead to significantly
smaller code bundles, lettable operators.
To use lettable operators, modify the code from above to look like this:
//Use Deep imports here for smallest bunlde size
import { debounceTime } from 'rxjs/operators/debounceTime';
import { switch } from 'rxjs/operators/switchMap';
export MyClass {
someMethod(){
// Using Reactive Forms
// We use the new `.pipe` method on the observable
// too apply operators now
this.input.valueChanges
.pipe(
debounceTime(500),
switchMap(inputVal => this.service.get(inputVal))
)
.subscribe(res => console.log(res))
}
}
This slight change allows only import the operators we need in our code. This will result in a smaller, faster application. This example uses Deep Imports, which allow the module we want to import to be isolated.
Take a look at this
doc for more information.
Published by mhartington almost 7 years ago
This release includes improvements for iOS11 and specifically, the iPhone X. Please also read over the iOS 11 checklist blog post for additional information.
To update, install the latest version of ionic-angular
and @ionic/app-scripts
:
npm install ionic-angular@latest --save
npm install @ionic/app-scripts@latest --save-dev
This release uses version 4.4.4
of Angular. Please update the version number of any @angular
packages in your package.json
file:
"dependencies": {
"@angular/common": "4.4.4",
"@angular/compiler": "4.4.4",
"@angular/compiler-cli": "4.4.4",
"@angular/core": "4.4.4",
"@angular/forms": "4.4.4",
"@angular/http": "4.4.4",
"@angular/platform-browser": "4.4.4",
"@angular/platform-browser-dynamic": "4.4.4",
...
}
Published by kensodemann about 7 years ago
This release includes the latest version of zone.js
. Update your package.json
to match the following dependencies, remove the existing node_modules
directory, and then run npm install
:
"dependencies": {
...
"ionic-angular": "3.7.1",
...
"zone.js": "0.8.18"
}
Published by danbucholtz about 7 years ago
Published by kensodemann about 7 years ago
[email protected]
is a drop-in replacement for 3.6.0. To install it, please run:
npm install -g ionic@latest
npm install @ionic/[email protected] --save-dev
npm install [email protected] --save
Published by danbucholtz about 7 years ago
ionic-angular
3.6.0 requires developer's to update to the latest version of the Ionic CLI
and @ionic/app-scripts
.
To upgrade, please run
npm install -g ionic@latest
npm install @ionic/app-scripts@latest --save-dev
npm install ionic-angular@latest --save
The URL when using deep linking is shortened and improved in this release. Due to a limitation in our nav system, if you're using ion-tabs
and have a tab name that matches a segment, meaning you have a tab name of schedule
and a segment of schedule
, there could potentially be issues. To mitigate these issues, make sure you set the tabUrlPath
property on the ion-tab
and give it a unique name. This limitation will require an API change to fix so it will be resolved in ionic-angular
4.x.
The upgrades include necessary changes to generators that add back lazy loading functionality, as well as an improved way of generating component/directives/and pipes.
The release adds back the functionality to generate lazy loaded pages.
To generate a lazy loaded page, run:
ionic g page <Page-Name>
This will include a .module.ts
file in the page directory created. If you do not want to generate a lazy loaded page, you can run:
ionic g page <Page-Name> --no-module
This will also generate lazy loaded tabs as well, accepting the --no-module
flag as well to disable it.
For pipes/components/components, we now generate a shared common module for each of these.
So running:
ionic g component music-card
Will create a components/components.module.ts
file that declares and exports the music-card
component.
We think that this will allow developers to get up and running with custom components much faster and will less overhead.
Published by danbucholtz over 7 years ago
[email protected]
is a drop-in replacement for 3.5.1
. To install it, simply run npm install [email protected] --save --save-exact
.
We have released a new version of our build process for ionic-angular
apps, @ionic/app-scripts
in conjunction with this release of ionic-angular
. While it's not a required update, we recommend it because we have greatly improved the developer experience. Incremental, or update builds while developing are much faster now. We've also added scope hoisting
for better start-up performance on production builds.
To upgrade to @ionic/app-scripts
, run the following command:
rm -rf node_modules
npm install @ionic/[email protected] --save --save-exact
After installing the update, you'll need to make a minor change to the src/index.html
file to include a new <script>
tag for build/vendor.js
. The reason for this breaking change in @ionic/app-scripts
is for faster builds. By separating out the node_modules
dependencies into a vendor.js
file, the incremental build is faster.
...
<body>
<!-- Ionic's root component and where the app will load -->
<ion-app></ion-app>
<!-- cordova.js required for cordova apps -->
<script src="cordova.js"></script>
<!-- The polyfills js is generated during the build process -->
<script src="build/polyfills.js"></script>
<!-- The vendor js is generated during the build process
and includes all files in the node_modules directory -->
<script src="build/vendor.js"></script>
<!-- The bundle js is generated during the build process -->
<script src="build/main.js"></script>
</body>
...
If you're customizing @ionic/app-scripts
, we recommend you review the changelog, and update any of your configs accordingly.
3.5.2
is the same as 3.5.1
. We had a small publishing error.
Published by danbucholtz over 7 years ago
ionic-angular
should be set to version 3.5.0
.
npm install [email protected] --save --save-exact
There were major improvements made to navigation in this release of ionic-angular
. Specifically, we updated Ionic to support a concept of n
root navigation elements, instead of just one. This will enable first-class url support for things split-pane
. Before 3.5.0
, only one section of the screen could be represented in the URL. With these changes, multiple sections can be represented. Another large change was improving the behavior surrounding browser behaviors, such as the back-and-forward buttons, as well as refresh. In general, Ionic should work much more intuitively in a web browser now.
As a result of these improvements, if you're using deep linking, the urls of the application will be different with 3.5.0
than they were with previous Ionic releases. The URLs will likely change again in the near future with the next round of navigation improvements too. For now, we don't recommend using href
attributes in the application. Using the navPush
and navPop
directives is a better option for now while URL support is being built-out.
Published by danbucholtz over 7 years ago
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"
}
Published by danbucholtz over 7 years ago
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.
Published by brandyscarney over 7 years ago
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.
Published by brandyscarney over 7 years ago
Published by brandyscarney over 7 years ago
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"
},