Consider making another code branch for people who want stability
If you have the resources, which I realize you might not, it might make sense to look at making another branch of Sonar, focused on stability both in the sense of few bugs/crashes and in terms of an unchanging feature set. Basically right now what you have is:
--Experimental Branch: Your beta program that people specifically have to work to get in. New stuff in testing, and it in understood there will be problems and that feature sets could change or be dropped.
--Current Branch: The release chain of Sonar. The latest, greatest, features that you feel are stable and ready for the public. Continually updated on whatever cycle you feel appropriate, available to all customers and the default branch people are on.
To that I would then add one more:
--Stable Branch: This would be a branch where features are frozen for a period of time, I'd say a year minimum. Basically every 12-24 months when you have a good spot in the current branch that you've tested and debugged thoroughly you roll it up in to the stable branch and release it. After that the only changes are bug fixes, it stays with the given feature set until the next stable release. This would be opt-in, customers could use this branch instead of (or maybe in addition to) current, but it would not be the default.
I stole the names from the way FreeBSD handles their releases so same idea. Basically give a more stable experience to the people who want one and seem to get overwhelmed by the changes, but still have a continually evolving branch for those that always want the latest tech.