This release of Cocktail includes breaking changes, bug fixes and improvements.
Breaking changes
- New configuration API. Replaced AuthenticationService.With and EntityManagerProvider.With methods with AuthenticationService.Configure and EntityManagerProvider.Configure respectively.
- Moved a number of extension methods from CoroutineFns to OperationFns.
- Removed redundant OnComplete(this IResult) extension methods.
- Renamed DialogManager methods ShowDialog and ShowMessage to ShowDialogAsync and ShowMessageAsync to properly indicate that they are following an asynchronous calling pattern.
- Requires DevForce 2010 6.1.7
Defect repairs
- Fixed bug causing client-side validation to be called too early under certain circumstances.
- Fixed possible NullReferenceException.
- Fixed DialogManager calling CanClose of the child ViewModel twice.
- Fixed minor bugs in TempHire.
- Fixed issues with initial focus management in DialogManager. Buttons were stealing the focus from the child ViewModel.
- Fixed fake backing store not being cleared before initializing with data.
- Fixed InitializeFakeBackingStore (synchronous) throwing exception if called multiple times.
New and improved product features
- OperationResult, OperationResult<T>, DialogOperationResult<T> and NavigateResult<T> now support the Task-based Asynchronous Pattern (TAP) in WPF and Silverlight 5. Ready to support async/await.
- Improved ObjectManager class. Now has a public constructor and TryGetObject method.
- Added additional methods to create a new ConnectionOptions instance from an existing instance.
- Added ContinueWith continuation method to OperationResult, OperationResult<T>, DialogOperationResult<T> and NavigateResult<T>.
- Added EntityChanged event to IEntityManagerProvider.
- Added TryClose method to IDialogHost to allow for a child ViewModel to initiate closing of a dialog window.
- New configurable NavigationService with simplified API.
Improvements to TempHire
- Refactored shell to lazy-instantiate workspaces.
- Changed StaffingResourceFactory to implement IFactory<StaffingResource> instead of a custom factory interface.
- Added query and save authorization to secure client access to domain model objects.
- Incorporated Cocktail improvements where applicable.