Upgrade or not upgrade to Ionic 3

So, finally Ionic 3.x was released and I’m thinking… all the new updates and improvements will be applied in the version 3?

My question goes because we are starting a project in Ionic 2 a few weeks ago and we don’t know if we must upgrade to version 3 or continuing with the version 2.

What do you recommend? continuing with Ionic 2 and maybe later upgrade to version 3, or start immediately with the version 3 (because the project is starting).

Thank you all for your help :slight_smile:


It is no long Ionic 3 and Ionic 2, there is only Ionic.

The npm package version really just follows semver, so all thats different between the two releases is a few breaking changes here and there (all of which are clearly documented in the change log.
My suggestion…keep your code up to date with the release. This will keep your code from falling behind!


Thanks mhartington, much clear now. We will start developing over the last release.

Thanks again!

1 Like

I disagree because Ionic 2 still has bugs and depends on many dependencies in terms of code. And please don’t force to auto-update to Ionic 3 like stated on Github. Otherwise I will not update, it’s just a killer in my code.

More explanation: Working with Ionic 2 is a breeze, but all dependencies creates bugs at each stable release. Not to mention the failed Ionic Database project (which took me weeks to change in code). Now I’m rather looking for “safe and sound” solutions, like all developers do I guess. Not to be slammed with another beta.


1 Like

As @mhartington said… there’s really only one release at this point. I have a feeling that all bug fixes and new features in what was Ionic 2 will eventually all be rolled up into whatever is the latest code base going forward.

On Friday I tweeted that I was going all in with the latest code base and that I was porting all my project code to what some people are calling Ionic 3. So what I did was start a new project with the latest and greatest and ported (almost done) over all of my pertinent project code to the new code base.

I did this for a couple of specific reasons. One, I have a feeling that the latest Ionic beta (v3) code base will become a major release sooner than later. If you follow the Angular and Ionic road maps, things are moving forward quickly so it’s my feeling that everything else will (should?) probably be left in the dust quite soon. Second, instead of waiting to jump on the new code base, and then having to try to figure out what to and how to port everything to a new code base - and possibly missing key elements and introducing my own bugs and errors - I essentially started out with a fresh up to date code base. I feel that this will save me a lot of headaches in the long run.

That’s just my perspective and it seems to be working out so far.

Hope that helps.

Hello Brad,
I’m sure the reason behind is sound, but, for the guys learning TypeScript and Angular, Ionic is something that should have some kind of reliability between projects and versions.
That’s why I personally think auto updating to Ionic 3 in CLI and from GitHub is a bad idea.
There are countless plugins like Camera, that in fact you have no idea of the ouput, potentially breaking code, so this is something I can’t agree with.

On another perspective, I spoke about tabs just before with Ionic2, there are clear bugs (not saying it is the Ionic team fault), but on a stable app prospective, Ionic 2 is not 100% finished. Components still bugging, you can go to 3 but, I’m not safe saying to my clients like “OK this bugs but it’s because the technology had an upgrade”. No one will.

I know you work on top of Angular, but some stabilty is needed too.

And I hope it’s clearer now. thanks again for the great tech :slight_smile:


@FrancoisIonic, I completely understand your point of view and why you’d want to stick with what you’re doing - and of course, there’s nothing wrong with that. Personally, for my own situation, I’d rather take the route I mentioned earlier in the thread.

Also, my way of thinking is such that I know I’ll have to learn the new Angular / TypeScript / Ionic API in the very near future so I’m choosing to jump on the bandwagon sooner than later.

One thing in which I do agree with you is that if there are two Ionic code bases being developed at the same time (v2 & v3.beta) then there should still be two GitHub code bases that can be started via the CLI. Having choices is always good.

@BradBurns I also understand you have to move with new Angular versions, but it shouldn’ be forced on the npm.
And yes, if i do npm now, I’m not sure to what output I’ll get. I hope it will stay --V2 like before, because I’m sure you will do great things with v3, but overwriting my code in --V2 will really suck, that was my concern mainly (as I work with Angular Fire 2 and many dependencies).

What seems to be the issue @FrancoisIonic

I literally just now upgraded an existing project from Ionic 2 to 3. It took about 3 hours to figure out what was going on with library issues, and at one point I needed to use npm cache clean and reinstall cordova and ionic because a library couldn’t find Angular. But everything seems to be working great now. So my answer to your question is that it’s worth it as long as you set aside the time.

Software can’t make progress without breaking things every once in a while and I don’t see the ‘forcing’ of an upgrade. It only makes sense that new projects would be started with the newest version of the framework and nothing less. Every single framework and software does this. If you need a lower version, manually set that and continue with your development. Easy as that.

YOU are the developer, this is what YOU signed up for.

Not to mention the breaking in 3.0 is totally worth it. It’s not like they’re just breaking things for fun (while that is fun) there is a reason behind every change.

Just my three cents.


I think the problem is a bit that we, most developers, don’t really understand how Ionic works internally - because we/they don’t care as it just works. Now with the Ionic CLI 2 that still requires --v2 but then creates a v3.0.1 project this is a bit confusing. It’s not intuitive how to go back to a 2.x project, some people are playing with the Ionic CLI 3.x beta version, etc.