Ionic 3.1.0 is released


There it is, 3 weeks after 3.0 release:

Looking at the changelog at this mostly contains RTL support (awesome feature) and several bug fixes all over the board. Did I miss anything?


Seems to be a release day over at Ionic:


The package.json should look like this:

"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.5.0",
  "@ionic-native/splash-screen": "3.5.0",
  "@ionic-native/status-bar": "3.5.0",
  "@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.9"
"devDependencies": {
  "@ionic/app-scripts": "1.3.5",
  "typescript": "~2.2.1"

They forgot to update some packages in the Changelog 3.1 post.

I updated my guide to 3.1: Guide: How to update to Ionic 3.X


Well, 3.1.0 was released before app-scripts 1.3.5 - but you are probably right on the other stuff (Ionic Native and Zone.js). But that’s not a major problem, right?


It isn’t but I like up to date dependencies :wink:

They merged my app-base PR with the dependencies in my updated guide. So they will also merge my PR for the Changelog update guide.


Here’s a video guide:


Using Nav Guards results in the error coming in inside a then block instead of catch like before and as stated in the docs. Example:

    .then(result => {
      // Result of ionViewCanEnter comes in here
    .catch((err) => {
      // Before the result was here when ionViewCanEnter == false

Is this the way it should work or a bug?


I am having the same issue with Ionic 3.1.1 have you found a solution to this?

[Update on this issue]