Great question. I think for maintenance and minor releases, we should absolutely make sure Check for Updates works. And we should really turn on the auto check for updates feature so that users are notified when updates are available.
For major releases, though, I’m not sure it should be automatic. But it definitely should be easier. It wouldn’t be hard to add a feature that check for the availability of the next major release and offers to set up the p2 repos to get it. Ubuntu works
this way and I felt that was a good experience.
From my discussions in the past, there was concern that upgrading major versions wasn’t actually supported. I know I have a product requirement to support it so we test our stack, and I do hope people aren’t intentionally breaking upgradablility, but it
would be good if we started spreading the message and advertise it more.
BTW, if there is a question on terminology, the yearly release in June is a major release where the door is open for projects to do major releases.
Today I had to assist a user in upgrading from Luna to Mars. He didn't do it so far because he was a bit lazy to re-download a package and re-install all his favorite bundles. I told him about the upgrade, ant the first thing he tried was "Check for updates",
that didn't work. Then he had to look for help on Google to do the upgrade. He reached a StackOverfow post that was not very positive about Eclipse IDE, but that drive him to the solution of adding and enabling the releases/mars URL and then trying Check for
IMO, there is one lesson to learn from this user story: some users expect "Check for updates" to provide updates.
I believe in order to provide that, it's mainly a matter of creating a releases/latest URL that would reference the latest release and be updated whenever necessary, and to enable this URL in Eclipse EPP packages by default.
Now the question is more: "Is this something we want to do?". For the plain Eclipse IDE user, I believe it would be profitable since updates would be more accessible. The doubt remains on the plugin providers: in case they don't have their content ready for
the next release when it happens, then it means that user can reach a worse state when they update, because of those 3rd-party plugins. However, good management of dependency versions should be able to spot that and at least show an error (with remediation)
when trying to update.
What do you think it best: auto-update to new major, or expect users to do the steps mentioned above to adopt the latest improvements?