Releases: CommunityToolkit/dotnet
8.3.2
This hotfix release updates the build time validation for the Windows SDK projections, when using the .NET 9 SDK.
What's Changed 🆕
- Update SDK package checks for .NET 9 SDK by @Sergio0694 in #952
8.3.1
This hotfix release includes build time validation for the Windows SDK projections, to improve the developer experience.
What's Changed 🆕
- Add .targets to validate the Windows SDK version by @Sergio0694 in #942
8.3.0
What's Changed 🆕
- Fix generation for OnPropertyChanging for [NotifyPropertyChangedFor] by @Sergio0694 in #722
- Add .NET 8 TFM to all projects and AOT annotations by @Sergio0694 in #832
- Update NuGet packages to latest stable by @Sergio0694 in #908
- Fix typo in Guard.ThrowHelper.ThrowArgumentNullExceptionForIsNotNull by @Benna96 in #863
- Add AOT support in WinRT scenarios to the MVVM Toolkit by @Sergio0694 in #909
- Include sizeof(T) in offset calculation for Memory2D from MemoryManager by @Lillenne in #841
- Correct incorrect description in ObsoleteAttribute by @aianlinb in #806
- Update CsWinRT to latest stable by @Sergio0694 in #910
- Avoid auto-generating ObservableValidator.HasError by @arivoir in #884
- Disable IID optimizer in MVVM Toolkit by @Sergio0694 in #912
- Allow trimming feature switches by @Sergio0694 in #911
- Fix IBufferWriterExtensions Write for unmanaged types by @pziezio in #799
- Update Windows SDK package version by @Sergio0694 in #916
- Don't generate 'INotifyPropertyChanging' code if not requested by @Sergio0694 in #915
- Generate trim annotations for [NotifyDataErrorInfo] properties by @Sergio0694 in #918
New Contributors
- @Benna96 made their first contribution in #863
- @Lillenne made their first contribution in #841
- @aianlinb made their first contribution in #806
- @arivoir made their first contribution in #884
Full Changelog: v8.2.2...v8.3.0
Note ℹ️
If you're consuming the MVVM Toolkit from net8.0-windows10.0.xxxxx.0
, you'll either need the latest servicing update of the .NET 8 SDK (ie. > 8.0.403), or as a temporary workaround you can manually specify the Windows SDK package version in your .csproj, as follows:
<WindowsSdkPackageVersion>10.0.xxxxx.41</WindowsSdkPackageVersion>
Where "xxxxx" should match the Windows SDK you're targeting (in your "TargetFramework" property).
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.41
8.2.2
What's Changed 🆕
- Fix forwarding enum values with negative values in attributes by @Sergio0694 in #736
- Add analyzer for [field: ObservableProperty] uses from auto-properties by @Sergio0694 in #735
- Fix minor typos in comments. by @Treit in #759
New Contributors
Full Changelog: v8.2.1...v8.2.2
8.2.1
What's Changed 🆕
- Fix AV when indexing a sliced Memory2D backed by custom MemoryManager by @Sergio0694 in #675
- Fix forwarding attributes with negative enum values by @Sergio0694 in #682
- Update NuGet packages to latest stable by @Sergio0694 in #687
- Use preinstalled .NET in CI runner by @Sergio0694 in #688
- Dynamically resolve assembly version in generator tests by @Sergio0694 in #689
- Bump version to 8.2.1 by @Sergio0694 in #685
- Add diagnostics for invalid expressions for forwarded attributes by @Sergio0694 in #684
- Fix ObservableValidator generator to detect inherited properties by @Sergio0694 in #692
- Add warning when using packages.config for MVVM Toolkit by @Sergio0694 in #698
- Improve XML docs for Span2D.Slice(int, int, int, int) by @Sergio0694 in #700
- Improve ImmutableArrayBuilder type in MVVM Toolkit generators by @Sergio0694 in #701
- Check for cancellation more often in generators by @Sergio0694 in #704
- Update README.md by @kmgallahan in #697
- Set EnforceExtendedAnalyzerRules in analyzers by @Sergio0694 in #712
- Add new analyzer/fixer for async void [RelayCommand] methods by @Sergio0694 in #714
- Remove unnecessary temporary array allocation by @Sergio0694 in #719
- Handle [ObservableProperty] fields with keyword identifiers by @Sergio0694 in #720
New Contributors 🙌
- @kmgallahan made their first contribution in #697
Full Changelog: v8.2.0...v8.2.1
8.2.0
Release blog post: https://devblogs.microsoft.com/dotnet/announcing-the-dotnet-community-toolkit-820/.
What's Changed 🆕
- Add fixers project and implement a fixer for FieldReferenceForObservablePropertyFieldAnalyzer by @333fred in #578
- Move two more diagnostics to analyzers by @Sergio0694 in #581
- Use SyntaxGenerator and leave trivia handling up to it by @Youssef1313 in #590
- Add fixer for ClassUsingAttributeInsteadOfInheritanceAnalyzer by @Sergio0694 in #588
- Fix build error from VB.NET projects by @Sergio0694 in #592
- Add new OnPropertyNameChanging and Changed overloads by @Sergio0694 in #582
- Resolve all needed symbols early in analyzers by @Sergio0694 in #587
- Fix forwarded double attribute parameters by @Sergio0694 in #603
- Fix source generators processing nested/generic types by @Sergio0694 in #606
- Add ArrayPoolBufferWriter.DangerousGetArray() API by @Sergio0694 in #616
- Drop System.Linq from CommunityToolkit.Diagnostics by @Sergio0694 in #622
- Add [field:] and [property:] support for [RelayCommand] methods by @Sergio0694 in #630
- fix: Added missing Dispose() call to HashCode.cs. by @HavenDV in #631
- Support partial methods and forwarded attributes with [RelayCommand] by @Sergio0694 in #633
- Bump version to 8.2.0 by @Sergio0694 in #635
- Bump NuGet packages to latest stable by @Sergio0694 in #636
- Fix TypeExtensions.ToTypeString method Exception. by @GabrieleMessina in #639
- Add [MemberNotNull] to [ObservableProperty] set accessors by @Sergio0694 in #646
- Improve XML docs over generated code by @Sergio0694 in #653
- Enable AOT and single file analyzers by @Sergio0694 in #665
New Contributors 🙌
- @333fred made their first contribution in #578
- @HavenDV made their first contribution in #631
- @GabrieleMessina made their first contribution in #639
Full Changelog: v8.1.0...v8.2.0
8.2.0 Preview 2
This is a small revision update to allow everyone to try out and validate some more source generator improvements.
What's Changed (since 8.2.0 Preview 1) 🆕
- Add [MemberNotNull] to [ObservableProperty] set accessors by @Sergio0694 in #646
- Improve XML docs over generated code by @Sergio0694 in #653
8.2.0 Preview 1
What's Changed (since 8.1.0) 🆕
- Add fixers project and implement a fixer for FieldReferenceForObservablePropertyFieldAnalyzer by @333fred in #578
- Move two more diagnostics to analyzers by @Sergio0694 in #581
- Use SyntaxGenerator and leave trivia handling up to it by @Youssef1313 in #590
- Add fixer for ClassUsingAttributeInsteadOfInheritanceAnalyzer by @Sergio0694 in #588
- Fix build error from VB.NET projects by @Sergio0694 in #592
- Add new OnPropertyNameChanging and Changed overloads by @Sergio0694 in #582
- Resolve all needed symbols early in analyzers by @Sergio0694 in #587
- Fix forwarded double attribute parameters by @Sergio0694 in #603
- Fix source generators processing nested/generic types by @Sergio0694 in #606
- Add ArrayPoolBufferWriter.DangerousGetArray() API by @Sergio0694 in #616
- Drop System.Linq from CommunityToolkit.Diagnostics by @Sergio0694 in #622
- Add [field:] and [property:] support for [RelayCommand] methods by @Sergio0694 in #630
- fix: Added missing Dispose() call to HashCode.cs. by @HavenDV in #631
- Support partial methods and forwarded attributes with [RelayCommand] by @Sergio0694 in #633
- Bump version to 8.2.0 by @Sergio0694 in #635
- Bump NuGet packages to latest stable by @Sergio0694 in #636
- Fix TypeExtensions.ToTypeString method Exception. by @GabrieleMessina in #639
New Contributors
8.1.0
Breaking changes (since 8.0.0) 💥
- All
Ref<T>
-like types in the HighPerformance package are now .NET 7 only (they were all marked as preview) - Removed a .NET Standard 2.0 only overload for
LockExtensions
(which was marked as preview) - The
StreamExtensions.Read<T>
method now throws anEndOfStreamException
when reaching end of stream - Remove nullability attributes generator from the MVVM Toolkit (for
[NotNull]
and[NotNullIfNotNull]
)
What's changed (since 8.0.0) 🆕
- Correct typo in converters by @heku in #394
- Fix for using C# 8.0 projects (e.g. UWP projects stuck on .NET Core 3) by @zhuman in #398
- Multi-target Roslyn dependency in MVVM Toolkit generators by @Sergio0694 in #428
- Move language diagnostics to diagnostic analyzers by @Sergio0694 in #433
- Move diagnostics for orphaned observable property attributes to analyzer by @Sergio0694 in #434
- Don't use ISymbol in IncrementalValuesProvider nodes by @Sergio0694 in #435
- Update URLs for Status Badges in Readme by @michael-hawker in #439
- Use ForAttributeWithMetadataName when possible by @Sergio0694 in #436
- readme enhancement for nuget package by @WeihanLi in #444
- Replace characters from StringBuilder to reduce string allocations by @Youssef1313 in #447
- Enable explicit attribute forwarding for [ObservableProperty] by @Sergio0694 in #449
- Improve Perf for Azure Pipelines build by @Nirmal4G in #450
- Use EditorConfig to apply file headers by @Nirmal4G in #452
- Remove Roslyn 4.3 workaround, bump to 4.3.1 by @Sergio0694 in #462
- More MVVM Toolkit generator improvements by @Sergio0694 in #460
- Add IObservable extensions for IMessenger by @Sergio0694 in #461
- Fix [RelayCommand] for methods that can't be lowered by @Sergio0694 in #475
- Add and use new EquatableArray type in source generators by @Sergio0694 in #469
- Add .NET 7 TFM to HighPerformance target, switch to C# 11 by @Sergio0694 in #481
- Remove unnecessary finalizers by @Sergio0694 in #483
- Update NuGet icon by @Sergio0694 in #486
- More source generator optimizations by @Sergio0694 in #487
- Moar source generator optimizations by @Sergio0694 in #489
- Use Nullable.GetValueRefOrDefaultRef where possible by @Sergio0694 in #499
- Bump NuGet packages to latest stable versions by @Sergio0694 in #501
- Drop .NET Core 3.1 TFM by @Sergio0694 in #502
- Fix IBufferWriterExtensions type of exception thrown documentation by @pziezio in #497
- Move all source files into src\subfolder by @Sergio0694 in #507
- Use PolySharp for polyfills, and centralize shared MSBuild properties by @Sergio0694 in #510
- Replace Unsafe.SizeOf() with sizeof(T) by @Sergio0694 in #511
- Replace Unsafe.NullRef() with ref (T)null by @Sergio0694 in #512
- Fix StreamExtensions.Read when using buffered streams by @Sergio0694 in #520
- Use ref fields on .NET 7 for all span-like types by @Sergio0694 in #519
- Add analyzer for incorrect [INotifyPropertyChanged] and [ObservableObject] use by @Sergio0694 in #531
- Add analyzer for references to fields with [ObservableProperty] by @Sergio0694 in #532
- Use Stream.ReadExactly on .NET 7 by @Sergio0694 in #535
- Skip field reference diagnostics from constructors by @Sergio0694 in #539
- Add target to fix analyzers on legacy .csproj projects by @Sergio0694 in #541
- Remove nullability attributes generator by @Sergio0694 in #538
- Update NuGet packages to latest stable releases by @Sergio0694 in #545
- Add unit test for [ObservableProperty] on _UpperCamel field by @Sergio0694 in #551
- Update Code of Conduct document by @Nirmal4G in #560
- Add missing StrongReferenceMessenger registration fast path by @Sergio0694 in #561
- Fix diagnostic analyzer documentation/title by @Sergio0694 in #562
- Emit diagnostic for unresolved property: attribute over [ObservableProperty] field by @Sergio0694 in #564
New Contributors
8.1.0 Preview 3
Breaking changes (since 8.1.0 Preview 2) 💥
- Remove nullability attributes generator by @Sergio0694 in #538
What's Changed (since 8.1.0 Preview 2) 🆕
- Skip field reference diagnostics from constructors by @Sergio0694 in #539
- Add target to fix analyzers on legacy .csproj projects by @Sergio0694 in #541
- Update NuGet packages to latest stable releases by @Sergio0694 in #545