For C# we have of course the new dynamic dispatch features, as well as optional and named parameters, and better co/contravariance support for generics. I still don’t like dynamic dispatch support, simply because I think it will be used for all the wrong reasons, and because it throws out a lot of the investment in static source code analysis technology, and proofing program correctness. On the runtime side of things, of course we have additions to WCF/WPF a completly rewritten Workflow Foundation, and many other small things like a few conveniance methods ( string.IsNullOrWhiteSpace ). The Task Parallel library is a godsend, but I am still in fear of it’s usage patterns. I see a lot of developers who are not experienced in multithreading just use things like Parallel.ForEach or PLINQ because it’s so damn easy thereby ignoring the concurrency issues, producing code that will just fail at unpredictable times.
At least we have some by default threadsafe collections now, but the performance implications of those must not be overlooked, collections are rarely the right place for some last effort “catch all” synchronization.
Things like native support for Memory Mapped files, the inclusion of Code Contracts which were previously available as an addon, as well as conveniance data structures like tuples or sets round off the framework itself.
The client GC can now do parallel garbage collections under certain circumstances ( during full collections a certain number of allocations can be still be done while the collection is running ).
The server GC does not support this apparently because of lack of development time, which is really not nice, since especially there it would have resolved certain issues in long running applications that have bitten me in the past.
Last but not least ADO.NET Entity Framework is in it’s second release, supports forward engineering finally, and generally seems much more mature now, time to take it for a spin in the next few days. All in all a great release, and the nice WPF UI of Visual Studio just make working that little extra spicy, so in conclusion: I really like it !