One of the biggest surprises when updating to the RTM version of ASP.NET AJAX has been the disappearance of the custom validators. The documentation said to remove the lines in web.config referencing them, but once you removed those lines, any validators you put inside an UpdatePanel wouldn't work correctly.
I'm commenting on this really late in the game; I was out of town in Munich when we released 1.0, and then I was in the midst of my own initial release. When the dust settled, I had time to read all the forum posts that mentioned this problem.
Matt Gibbs, development manager on the ASP.NET AJAX team, was quick to respond with a DLL to alleviate the situation and an explanation that in the future, an update pushed out with Windows Update will "fix" the validators in ASP.NET 2.0 itself to work properly in a partial rendering context, rendering the DLL unnecessary.
Many people were still understandably upset about this, most notably Luis Abreu, one of our MVPs who really knows his stuff when it comes to ASP.NET AJAX. He couldn't figure out why we did it this way instead of just leaving the working validators in the product like in previous releases. Frankly, I couldn't figure it out either... until I read this post on the forums, again by Matt Gibbs:
I understand the frustration. It was a tough call but one I still think was the right call for the future and for the biggest number of people. By eliminating the compatibility validators and relying on the core validators we make it so that many derived validator controls will just work with Atlas. They won't need to re-work, re-compile, and re-release in order to be part of partial page updates. The confusion over the Compatibility validators would go on for years. Sure, we could have waited to release until the update is out and this change would hardly have been noticed but many have been asking for supported RTM bits in order to adopt AJAX for corporate projects.
A very succinct answer that got right to the heart of why this decision was the right one. If we had left the redundant validators in ASP.NET AJAX, then control developers would have to decide which validator to link to, and it would be very difficult to derive a validator that worked both with and without ASP.NET AJAX. Not only that, but existing validators wouldn't ever be able to work inside an UpdatePanel. I get it now, and I believe the right technical decision was made.
However, I think we really screwed up the messaging on this one. We didn't release the temporary fix until after everyone had already hit the problem, we didn't really document the change and why it was made, and we broke a lot of people's applications without warning when they upgraded from the release candidate to RTM. All in all a crummy experience for some of our users. I hope those who were hit by this will forgive us for the pain we caused!