Silverlight and Beyond (SLaB) Changelog
***************************************

v0.6, 5:45 PM 4/25/2010
---------------------------------------
-Made CollectionPrinter work for controls like DataGrid when they auto-generate columns for generic collections (based on the type in IEnumerable<T>)
-Added a utility method that allows you to get the MethodInfo for an arbitrary method, including private ones (from anywhere that the method is accessible)
-Other minor bugfixes

v0.5, 5:21 PM 4/15/2010
---------------------------------------
-Updated for SL4 RTW
-Added CollectionPrinter for printing collections of items
-Fixed a bug with Sitemap-based controls that caused some pack Uris to be evaluated as "equivalent" (and thus highlighted) even when they were not
-Added EvenOddConverter that allows you to select an arbitrary value based on whether the input value was even or odd
-Other minor bugfixes

v0.4, 5:34 PM 3/15/2010
---------------------------------------
-Added ZipUtilities so that the contents of a zip file can be discovered
-Updated XapLoader to use ZipUtilities, allowing all TPEs to work rather than being limited to single-file TPEs where the file is named the same as the zip
-Added Sitemap-based controls: BreadCrumbNavigator and TreeViewNavigator
-Added ChangeLinq libraries for working with INotifyCollectionChanged collections and LINQ
-Added ObservableDictionary and BindableDictionary, which raise INotifyCollectionChanged and INotifyPropertyChanged events as the dictionary changes, making it more usable with Binding
-Added a basic MEFContentLoader
-Updated to use XmlnsDefinitionAttribute wherever possible
-Added XmlnsDefinition attributes to all libraries and updated ScratchApplication to use them
-Other minor bugfixes

v0.3, 7:25 PM 1/31/2010
---------------------------------------
-Added more extensible UriMapper that replicates the built-in UriMapper's behavior but allows UriMappings to be more extensible.
-Added UiUtilities, the first of which allows you to execute a function on the UI thread and block the calling thread until it has completed (safe to call even from the UI thread)
-Added XapLoader, which downloads a Xap and any "cached assemblies"
-Added XapContentLoader, which uses the XapLoader to navigate to pages in downloaded assemblies
-Added PackUri utilities so that pack Uris can be used to download and navigate to pages in Xaps
-Signed all assemblies (public binaries use a private key, another key is distributed with source)
-Added a build task that will generate extmap files for all libraries -- now assembly caching works with SLaB assemblies
-Fixed a bug with the AuthLoader where all rules would be run, even if one rule already allowed access
-Other minor bugfixes

v0.0.2, 11:24 AM 12/31/2009
---------------------------------------
-Moved ErrorPageLoader into its own project
-Added auth content loader for producing role-based UI when used with authn/authx.  Just bind to an IPrincipal!

v0.0.1, 6:02 PM 12/6/2009
---------------------------------------
-Created the SLaB project
-Added License.txt, ChangeLog.txt, and Readme.txt
-Added ErrorPageLoader for handling errors during loading
-Added SynchronousEventContentLoader for easy creation of one-off INavigationContentLoaders using events that can be handled in XAML