From 863dc2b65094ffacfa6fc90f7db63f55a7d41fab Mon Sep 17 00:00:00 2001 From: Niclas Kristek Date: Wed, 21 Aug 2019 21:35:30 +0200 Subject: [PATCH] Increase version to 5.1 and add changelogs --- src/Smaragd/Smaragd.csproj | 46 +++++--------------------------------- 1 file changed, 6 insertions(+), 40 deletions(-) diff --git a/src/Smaragd/Smaragd.csproj b/src/Smaragd/Smaragd.csproj index 1e901c7..511ef87 100644 --- a/src/Smaragd/Smaragd.csproj +++ b/src/Smaragd/Smaragd.csproj @@ -4,7 +4,7 @@ latest NKristek.Smaragd NKristek.Smaragd - 5.0 + 5.1 Base classes for implementing an C# .NET application using the MVVM architecture nkristek nkristek @@ -17,45 +17,11 @@ true git MVVM ViewModel INotifyPropertyChanged INotifyPropertyChanging INotifyDataErrorInfo - This release introduces a refactoring of many classes and interfaces included in this library. This reduces complexity, enables better testability and provides better performance. -There are also new features, like the added support for WeakReference<T> storage fields, updated XML documentation and more unittests. - -A more detailed summary of the changes: - -# Bindable -- remove IRaisePropertyChanging and IRaisePropertyChanged interfaces and change methods to protected visibility -- rename RaisePropertyChanging method to NotifyPropertyChanging -- rename RaisePropertyChanged method to NotifyPropertyChanged -- remove virtual keyword from PropertyChanging and PropertyChanged eventhandlers -- allow propertyName to be null in NotifyPropertyChanging, NotifyPropertyChanged and SetProperty methods -- add overload for SetProperty method for setting WeakReference<T> storage fields -- add overloads for SetProperty method without the oldValue out parameter -- add comparer parameter to SetProperty methods - -# ComputedBindable and ViewModel -- remove ComputedBindable class and move logic to ViewModel class -- remove Commands dictionary from ViewModel class -- add virtual keyword to IsDirty, Parent and IsUpdating properties - -# ValidatingViewModel -- remove IRaiseErrorsChanged interface and change method to protected visibility -- rename RaiseErrorsChanged method to NotifyErrorsChanged -- remove virtual keyword from ErrorsChanged eventhandler -- set multiple validation errors per property by using SetErrors() -- add overload to GetErrors method with generic return type IEnumerable<string> -- remove support for IDataErrorInfo interface -- change IValidation interface to generic in and out parameters -- remove Validation<T> base class -- add FuncValidation class - -# ViewModelCommand and AsyncViewModelCommand -- remove IRaiseCanExecuteChanged interface and change method to protected visibility -- rename RaiseCanExecuteChanged method to NotifyCanExecuteChanged -- remove virtual keyword from CanExecuteChanged eventhandler -- remove CanExecuteSourceAttribute class, use OnParentPropertyChanged instead -- implement and automatically attach OnParentPropertyChanging and OnParentPropertyChanged methods to Parent -- properly raise events on PropertyChanging and PropertyChanged eventhandlers when IsWorking is about to change or has changed -- check if the returned task from the ExecuteAsync method is null before awaiting it + - ValidatingViewModel was renamed to ValidatingBindable and now inherits from Bindable instead of ViewModel +- ViewModel inherits from ValidatingBindable instead of Bindable +- Dialog inherits from ViewModel instead of ValidatingViewModel +- The IsValid property was moved to ViewModel +- The type of errors of a property was changed to IEnumerable to enable non string errors en true