So for the last year I've been building a lot of plugin user controls (ASCX) to integrate within Sitefinity 3.7. It's a relatively nice product, pretty much everything you can think of for a major website all built in, plus some nice AJAX controls that you can use to make a rich user experience. So after releasing 4.0 a few months ago, 3.7 got fast tracked to end-of-life. While you can still get support, you can't buy new licenses. This does not compute! I could understand if 4.X has been out 2-3 years, they wouldn't sell new 3.7 licenses, but less than 6 months????
Going from 3.7 to 4.X isn't a minor update, it is very major. You go from a dot net 3.5 to 4.0 base and a very different project layout and user access. You can now integrate Silverlight if you so choose, which is fine.
You can no longer have more than one person with a single account logged in at the same time. In a dev environment you might have a developer making specialized content/forms/application widgets, and a designer creating the content. It used to be that both could use the same account, and neither have to wait on the other party to get to a stopping point. Now, person A has to stop before person B can logon, so no longer can you do parallel development, you must do serial, if person B logs on, person A gets bounced out. You can buy a higher license, to the tune of $5-$10k, and get more user accounts, but you also get a lot of extra stuff that is well beyond the needs of the staff or the design client (as well as being out of budget).
You used to add the user control to the toolbox by putting a tick in the web.confg, now that is in the toolbox config, that makes sense. Now instead of putting master pages in the ~/App_Master/ folder, you have to drill down into a path of your creation (you have to find the section in the quick start guide that isn't very quick) under the ~/App_Data/ Sitefinity/WebsiteTemplates/<TemplateSetName>/App_Master/*.master - only the ~/App_Data/Sitefinity/ part exists, you have to create /WebsiteTemplates/ on down. You have to create the masterpages elsewhere in your sitemap and copy/move... if you make edits to a template, you have to cycle the app or implement a hidden page that will cycle the application cache else any changes you make will not be evident. This same caching issue also applies to edits to the ASCX part (meaning the UI side of things) of your user controls. If you make a textural change, such as fix a typo or move a field label, you have to clear the Sitefinity cache. If you create a grouping page (basically a navigational grouping for similar pages, but no content of its own) you will have to go into the database and update some values to the empty guid, else you will have the manage templates page crash on you (endless looping of javascript alert boxes about object not set to a reference).
It used to be that all master pages were picked up and at time of creating a page (since they lived in the main master page folder ~/App_Master/), you could pick from a very convenient list and apply a layout. Now you have to go to a template screen, say, no, I have my own, and then browse to your template, too many clicks and unable to make your own templates more prominent, it seems to me that most pages in my site will use a page I designed...
The designer I was working with felt that it took him twice as long as a 3.7 because he had to keep going to the "cache releaser button page" I made, per advice from a Telerik forum, in order to see changes. Not fun if you are implementing a very bells 'n whistles DHTML site. He also had to brute force disable some scripts and other elements that Sitefinity insisted on inserting that was just getting in the way and also messing with page load lifecycle (regarding client side scripts).
If you build a user control and deign not to use radcombobox instead of a dropdownlist, you will have to use Request.Form[ddlName.UniqueID].toString() to get the selected value, the page lifecycle is broken so the selected index/item isn't available. Ditto for radiobuttonlist. One reason to use dropdownlist rather than radcombobox is that it integrates a lot easier with the required field validators, there isn't a particularly good substitute for radiobuttonlist in the radcontrols suite.
This next bit is not so much Telerik/Sitefinity (well maybe it is, since the app requires things that shared hosting might disallow), but some very popular hosting providers. It is dot net 4, Sitefinity 3.7 hosts just fine on RackSpaceCloud sites (minus a few options that only work in full trust environments, RSC sites restrict sites to medium trust). Found out at 11th hour that yes, we could have a site provisioned as dot net 4.0, but Sitefinity 4 will not host as a cloud site, must get a cloud server as there are some things that SF 4 requires that they have no plans to install, please get a cloud server, we were told point blank from their tech support.
I would have to agree and even now, as of SF 4.4 there are still so many problems. Sitting here right now trying to modify a simple user control has just become a nightmare.
And if you try speaking to Telerik about some of the decisions they've made, they just turn a blind eye. Not sure if you noticed all sudden changes that were made shortly after they announced the ridiculous new pricing scheme? That was because it exploded in their faces.
Notice how version 5 is suddenly out? Actually that was the marketing department's decision. Had nothing to do with the actual version. My guess is that they needed to move away from the stigma that was caused by version 4.x.
We are now at the point where we are seriously considering Umbraco, Kentico, or even Orchard.
And for those who don't know Telerik also suffers severely from very poor industry support (no official books, forums - which mostly they themselves have to answer due to a lack of a proper eco system, documentation that is not only badly written, but very often inaccurate). The list goes on. I've lost a lot of confidence in Telerik.
Our company has lost so much money because of them (bugs, incorrect documentation, support that never fully answers your questions)