LTS will still mean that projects will need to catch up to latest, only that they will be able to do it at their own pace. Or decide to skip every other version safely, if its best for them.
I would love to do this ‘chasing the latest’ for my side projects etc… or where my team would get to choose what they want to do next. Its fun to work with the latest and greatest, lot to learn and explore and lot to improve in user experience, etc… But is it really an option for a production project with limited budget, fixed scope, tight deadline, and multiple layers of decision makers?
Its not ‘just one’ breaking change like apple adding the notch, or one cordova plugin changing behaviour or API. Ionic components are spread across all the UI, everywhere, every screen, every feature. Everything in a project will need to get refreshed and fixed and retested, even parts of code that no one had to look at in a year, which were written by people who had switched jobs long ago. Or features which were barely compeleted weeks ago, and will now need to be pried open and patched up and certified by testing again. Thousands of lines of code.
Try convincing any client that they need to pay for next 1-2 months so that we can catch-up with the framework that their project depends on, and it will lead to more bugs that will need to be fixed over time, and that those new planned features will have to wait, etc… And that they need to do it ‘now’ - because who knows what all will break with v3 when new iOS and Android releases are out again in September.
Or imagine a startup still evaluating if they have a worthy product or not, getting sidetracked to catchup with framework changes. Redoing things they already did, before its clear if they are even on the right track or not.
LTS still means this will need to be done, but sometime in next 18-24 months, whenever the project’s release cycle has breathing room, which can be planned. Or that they can choose to not decide for next 12 months and safely wait to evaluate project’s viability etc and focus on more pressing user demands - instead of the framework’s demands.
Ionic team is responsible enough to maintain compatibility fixes etc. They even updated Ionic1 for the iPhone notch:
They already plan to keep making any critical fixes etc needed for v3. Putting a LTS label and timeline will make it easier to plan and decide, or to skip a cycle, instead of people running around like headless chickens wondering “what to do” everytime any of these nice guys break something: chrome/safari/edge/ios/android/windows/mac/cordova/electron, and merge the pull requests when someone from the community steps up.
v4 is not the first non backward compatible release, and its not the last. LTS can solve both the the need for fast innovation and the long term stability.
Ionic will forever be maintaining only two versions at a time, and they won’t need to be apologetic about breaking changes. Developers won’t be stuck justifying why Ionic is still a great choice, contract teams won’t have to put unpaid hours in framework upgrades, and the project managers will have the visibility needed to plan - or skip - a framework upgrade depending on project needs.