Releases: jbe2277/waf
Releases · jbe2277/waf
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET 6.0 or .NET Standard 2.0System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET 6.0 or .NET Framework 4.7.2
Samples
Writer
,Book Librarary
andInformation Manager
: .NET 8.0NewsReader
: .NET 8.0 / MAUI 8.0 (Android, iOS and WinUI 3)
Changelog
- WAF: WeakEvent: Fixed removing of the target handler. Under certain circumstances, the wrong weak handler was collected by the garbage collector.
- WAF: ObservableList: Fixed adding the same item multiple times.
- Writer: Supports command line language settings.
- BookLibrary: Fixed loading of assemblies when CurrentDirectory is not the application folder.
- BookLibrary: Supports command line language settings.
- UITest: Automated UI tests for the Writer and Book Library sample application using the FlaUI library.
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET 6.0 or .NET Standard 2.0System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET 6.0 or .NET Framework 4.7.2
Samples
Writer
,Book Librarary
andInformation Manager
: .NET 8.0NewsReader
: .NET 8.0 / MAUI 8.0 (Android, iOS and WinUI 3)
Changelog
- WAF: Add INotifyCollectionChanging and INotifyCollectionItemChanged interface.
- WAF: Add IDelegateCommand interface for the RaiseCanExecuteChanged method.
- WAF: [Breaking Change] IReadOnlyObservableList interface inherits additional from INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: ReadOnlyObservableList implements INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: ObservableListViewBase implements INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: Add ObservableList class which inherits from ObservableCollection and provides support for INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: ObservableList uses weak events to listen for the PropertyChanged event of its items.
- WAF: ObservableListViewCore uses weak events to listen for the CollectionChanged event.
- WAF: [Obsolete] Mark ObservableListView (WPF) as obsolete.
- WAF: Add SynchronizingList which is an improved version of SynchronizingCollectionCore. It supports full two-way synchronization.
- WAF: [Obsolete] Mark SynchronizingCollectionCore and SynchronizingCollection as obsolete.
- WAF: Rename SettingsServiceCore to SettingsService; keep old class name for backward compatibility and mark it as obsolete.
- WAF: Add static DelegateCommand.RaiseCanExecuteChanged(..) method.
- WAF: Add AsyncDelegateCommand.ExecuteAsync method.
- WAF: WeakEvent adds support for the events CollectionChanging and CollectionItemChanged.
- WAF: Add static WeakEvent.TryRemove method.
- WAF: MockView adds support for BindingContext.
- WAF: Move MockSettingsService to UnitTesting.Core.
- WAF: Add generic version of MockView and MockDialogView for the view model.
- Samples: Migrate to .NET 8.0.
- Samples: Use new ObservableList and DelegateCommand.RaiseCanExecuteChanged.
- Samples: Add shortcut to open log file (CTRL+SHIFT+L).
- Writer: Added an integration unit test.
- NewsReader: Migrate to MAUI 8 / .NET 8.
- NewsReader: Extend unit testing and migrate to xUnit.
- NewsReader: Remove AppCenter support as this service is beeing discontinued by Microsoft.
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET 6.0 or .NET Standard 2.0System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET 6.0 or .NET Framework 4.7.2
Samples
Writer
,Book Librarary
andInformation Manager
: .NET 8.0NewsReader
: .NET 8.0 / MAUI 8.0 (Android, iOS and WinUI 3)
Changelog
- WAF: ObservableListViewCore uses weak events to listen for the CollectionChanged event.
- WAF: [Obsolete] Mark ObservableListView (WPF) as obsolete.
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET 6.0 or .NET Standard 2.0System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET 6.0 or .NET Framework 4.7.2
Samples
Writer
,Book Librarary
andInformation Manager
: .NET 8.0NewsReader
: .NET 8.0 / MAUI 8.0 (Android, iOS and WinUI 3)
Changelog
- WAF: ObservableList uses weak events to listen for the PropertyChanged event of its items.
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET 6.0 or .NET Standard 2.0System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET 6.0 or .NET Framework 4.7.2
Samples
Writer
,Book Librarary
andInformation Manager
: .NET 8.0NewsReader
: .NET 8.0 / MAUI 8.0 (Android, iOS and WinUI 3)
Changelog
- WAF: Add INotifyCollectionChanging and INotifyCollectionItemChanged interface.
- WAF: Add IDelegateCommand interface for the RaiseCanExecuteChanged method.
- WAF: [Breaking Change] IReadOnlyObservableList interface inherits additional from INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: ReadOnlyObservableList implements INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: ObservableListViewBase implements INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: Add ObservableList class which inherits from ObservableCollection and provides support for INotifyCollectionChanging and INotifyCollectionItemChanged.
- WAF: Add SynchronizingList which is an improved version of SynchronizingCollectionCore. It supports full two-way synchronization.
- WAF: [Obsolete] Mark SynchronizingCollectionCore and SynchronizingCollection as obsolete.
- WAF: Rename SettingsServiceCore to SettingsService; keep old class name for backward compatibility and mark it as obsolete.
- WAF: Add static DelegateCommand.RaiseCanExecuteChanged(..) method.
- WAF: Add AsyncDelegateCommand.ExecuteAsync method.
- WAF: WeakEvent adds support for the events CollectionChanging and CollectionItemChanged.
- WAF: Add static WeakEvent.TryRemove method.
- WAF: MockView adds support for BindingContext.
- WAF: Move MockSettingsService to UnitTesting.Core.
- Samples: Migrate to .NET 8.0.
- Samples: Use new ObservableList and DelegateCommand.RaiseCanExecuteChanged.
- Samples: Add shortcut to open log file (CTRL+SHIFT+L).
- NewsReader: Migrate to MAUI 8 / .NET 8.
- NewsReader: Extend unit testing and migrate to xUnit.
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET 6.0 or .NET Standard 2.0System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET 6.0 or .NET Framework 4.7.2
Samples
Writer
,Book Librarary
andInformation Manager
: .NET 6.0NewsReader
: .NET 7.0 / MAUI 7.0 (Android, iOS and WinUI 3)
Changelog
- WAF: Add .NET 6.0 target for all libraries. Some new features will only be available for .NET 6 or newer applications.
- WAF: Replace target net461 with netstandard2.0 for the Core libraries.
- WAF: Replace target net461 with net472 for the WPF libraries. Breaking change as .NET Framework 4.61 up to 4.71 is not supported anymore.
- WAF: Remove .NET Core 3.1 target from WPF libraries. Breaking change for .NET Core 3.1 and .NET 5: WPF libraries do not provide the transitive dependency to WPF and Composition anymore. These references must be set explicitly.
- WAF: Remove StringHelper.Contains method for the .NET 6 target and greater. Those targets support this method already out of the box.
- WAF: IView: Add property BindingContext (for MAUI) with a default implementation (requires .NET 6).
- WAF: IReadOnlyObservableList inherit from INotifyPropertyChanged.
- WAF: Improve performance of CollectionHelper.IndexOf by using EqualityComparer.
- WAF: Improve performance by replacing Tuple(s) with ValueTuple(s).
- NewsReader: Migrate from Xamarin Forms 5.0 to MAUI 7.0.
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET Standard 2.0 or .NET Framework 4.6.1System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET Core 3.1 or .NET Framework 4.6.1
Samples
Writer
,Book Librarary
andInformation Manager
: .NET 6.0NewsReader
: Xamarin.Forms 5.0 (Android, iOS and UWP)
Changelog
- WAF: ObservableListViewBase.DeferCollectionChangedNotifications: Improve implementation.
- Samples: Target framework .Net 6.0.
- Samples: Update NuGet packages.
- Samples: Simplify and modernize code.
- Samples: Improve validation of window position and size before restoring them.
- Writer: Writer: Refactor code base so that WPF and File IO based classes are now in Presentation layer.
- InfoMan: Add ShellService.CommitUIChanges.
- NewsReader: Migrate NewsReader to VS2022.
- NewsReader: Update Android to target v12 SDK 31.
System.Waf
Notes
- This release contains the source code of the Win Application Framework (WAF) and the sample applications. Please build the whole solution before you start one of the sample applications.
Requirements
System.Waf.Core
andSystem.Waf.UnitTesting.Core
: .NET Standard 2.0 or .NET Framework 4.6.1System.Waf.Wpf
andSystem.Waf.UnitTesting.Wpf
: .NET Core 3.1 or .NET Framework 4.6.1
Samples
Writer
,Book Librarary
andInformation Manager
: .NET Core 3.1 or .NET Framework 4.7.2NewsReader
: Xamarin.Forms 5.0 (Android, iOS and UWP)
Changelog
- WAF: Update version number.
System.Waf
- WAF: WPF: Add new Bind class which is a culture aware binding implementation.
System.Waf
- WAF: Add Model.RaisePropertyChanged overload to notify that multiple properties have changed.
- WAF: WPF: Add new overloads for MessageServiceExtensions.
- WAF: UnitTesting: Add new stub properties for MockMessageService and MockFileDialogService.