While I've been jetsetting around the world, in Redmond the Enterprise Library team has hard at work putting together the 3.1 release. Before you get too excited, this is really just a maintenance release addressing a small number of issues discovered since the release of 3.0. Here is a summary of the main changes:
Policy Injection Application Block
- The default Remoting Policy Injector can now be replaced with alternative interception mechanisms via configuration without modifying the application block code
- Call Handler attributes are now honored correctly when placed on interface methods
- Fixed an issue that could cause duplicate handlers where matching rules matched both a class and its interface
- Classes implementing COM interfaces (including those deriving from System.Windows.Forms.Form) can now be intercepted
- TraceLogEntry class is now serializable, allowing it to be used with the MSMQ Trace Listener
Validation Application Block
- Fixed an issue that prevented the PropertyComparisonValidator from working with the Windows Forms integration adapter
- The message template for the PropertyComparisonValidator can now be saved using the configuration tools.
Data Access Application Block
- Connection strings for OLEDB and ODBC connections can now be edited using custom dialog boxes from the configuration tools
Of these changes, the only brand new feature is the ability to replace the PIAB's interception mechanism without code changes. This is quite significant, since as Ed mentioned a while ago, there are quite a number of different ways to do interception, and different approaches may be appropriate for different applications. While we still only provide the remoting proxy mechanism in the "box", it will now be much easier to build different approaches, such as dynamically emitting inherited proxies. Of course, if you build such a beast, please consider contributing it to EntLib Contrib.
Since I'm no longer in Redmond I'm not sure exactly when Enterprise Library 3.1 will hit the streets, but it's definitely in the "real soon now" timeframe!