Yes, it's finally here. The patterns & practices team is pleased to announce the official release of Enterprise Library 3.0 - April 2007 for the .NET Framework 2.0 and 3.0.
Highlights of this Release
If you've been keeping up with the Community Technology Preview releases, there shouldn't be anything too surprising in the final release, although the overall quality should be much higher. All of the major new features have already been described on this blog or in other places, but here is a quick summary of the most significant changes:
- Validation Application Block. Allows you to centrally define validation rules using configuration or attributes, and easily validate data from anywhere in your application, including deep integration with Windows Forms, ASP.NET and WCF.
- Policy Injection Application Block. Provides a powerful approach for separating cross-cutting concerns from business logic using declarative policies that are attached at runtime to methods on your objects.
- Application Block Software Factory. Dramatically simplifies the process of building application blocks and providers through the magic of guidance automation.
- Visual Studio-integrated Configuration Editor. Edit Enterprise Library configuration files directly within Visual Studio.
- Environmental Overrides. Use the configuration tool to specify configuration settings that are common or different across multiple environments, and merge this information into configuration files to be deployed with your applications.
- WCF Integration. Easily integrate the Logging, Exception Handling and Validation Application Blocks into service interfaces built using Windows Communication Foundation.
- Pre-compiled, strong-named binaries. No need to compile and strong name the code unless you want to manage and evolve the code yourself.
This isn't a complete list, and we've made a number of other minor changes that are described in the documentation. But the good news is that, despite all of the improvements in this release, there are no breaking changes in the core APIs and upgrading existing Enterprise Library 2.0 applications should just be a matter of replacing the DLLs and updating the version numbers in the configuration files.
Credit where it's due
One of the cool things about my job is that I get to play a very public role both during development and after the release of our deliverables. Sometimes this creates the impression that I'm responsible for more than I really am. In reality we have a very talented and dedicated team who are generally too busy working to spend much time in the spotlight. I want to take this opportunity to thank everyone in the team for all of the hard work to make this such a great release:
- Our Development team: Fernando Simonazzi, Chris Tavares, Olaf Conijn, Adrian Alonso and John Socha-Leialoha
- Our Test team: Hanz Zhang, Mani Krishnaswami, Sateesh Venkata Surya Nadupalli, Terrence Cyril Joseph Anthuvan, Carlos Farre, Eric Blanchet, Meenakshi Krishnamoorthi, Abhinav Bana, Nalini S and Sharadda Arora
- Our Documentation team: Roberta Leibovitz, William French, Alex Homer, RoAnn Corbisier and Tina Burden McGrayne
- Our Program Manager, William Loeffler and Architect, Edward Jezierski
Thanks also to everyone, too numerous to mention here, who provided additional management, reviews, advice and guidance during this project. A particularly special thanks to Dave Hayden for his great work in creating tutorials and supporting the community during the development of this release.
Finally, Enterprise Library 3.0 was of course built on the legacy of several previous releases of Enterprise Library, original p&p application blocks and Avanade's ACA.NET. So thanks to everybody who worked on these earlier deliverables, as Enterprise Library would not be a success if it wasn't for the high quality of these earlier codebases.
And thanks to you too!
As I hope you've noticed, the patterns & practices team is completely dependent on architects and developers in the "real world" to guide us on what we should build, what works well and what doesn't work well. This release of Enterprise Library is a prime example of this, with your input playing a huge role from setting the initial direction to identifying minor issues. Thanks to everyone who played a part in the process, whether it was completing the original prioritization survey, participating in our CodePlex community or providing direct feedback to our team. We really appreciate your support, and we look forward to your continued involvement for our future releases.