Releases: CommunityToolkit/dotnet
8.4.0
What's Changed 🆕
- Improve nullable annotations in [ObservableProperty] generated code by @Sergio0694 in #944
- Add .targets to validate the Windows SDK version by @Sergio0694 in #942
- Update SDK package checks for .NET 9 SDK by @Sergio0694 in #952
- Allow forwarding attributes to property accessors by @Sergio0694 in #946
- Fix suppressions for custom attribute targets by @Sergio0694 in #964
- Add support for partial properties for [ObservableProperty] by @Sergio0694 in #966
- Update NuGet packages to latest stable by @Sergio0694 in #967
- Move some diagnostics to analyzers by @Sergio0694 in #968
- Bug fixes to generated partial properties by @Sergio0694 in #970
- Handle 'required' fields in partial property code fixer by @Sergio0694 in #972
- Remove 'this.' expressions in partial property code fixer by @Sergio0694 in #973
- Add MVVM Toolkit analyzers for WinRT scenarios by @Sergio0694 in #979
- Embed .pdb files for all analyzer projects by @Sergio0694 in #980
- Add more WinRT analyzers for class-level attributes by @Sergio0694 in #981
- Improve locations resolution for new analyzers by @Sergio0694 in #984
- Remove .NET 6 TFM by @Sergio0694 in #985
- Allow code blocks in issue template by @Poker-sang in #926
- Improve 'RequiresCSharpLanguageVersionPreviewAnalyzer' by @Sergio0694 in #988
- Use 'ref readonly' in 'IndexOf' APIs by @Sergio0694 in #997
- Added Stream over ReadOnlySequence by @paulomorgado in #808
- Fix message for one of the WinRT diagnostics by @Sergio0694 in #999
- New info diagnostic for WinRT AOT compatibility when C# is not 'preview' by @Sergio0694 in #1000
- Fix minor typos in comments. by @realybin in #974
- Minor diagnostics tweaks by @Sergio0694 in #1003
- Update Roslyn to 4.12 for new generators by @Sergio0694 in #1002
- Support fixing with attribute lists with multiple attributes by @Sergio0694 in #1008
- Emit consistent locations for 'MVVMTK0051' diagnostics by @Sergio0694 in #1009
- Add more analyzers, enable unit tests for partial properties by @Sergio0694 in #1010
- Support more partial property modifiers, ban pointer types by @Sergio0694 in #1015
- Update NuGet packages to latest stable by @Sergio0694 in #1016
- Refine filtering logic for [GeneratedBindableCustomProperty] analyzers by @Sergio0694 in #1019
- Improve test coverage for SpanExtensions.IndexOf by @Youssef1313 in #1023
- Add code fixer for semi-auto property to '[ObservableProperty]' partial property by @Sergio0694 in #1020
- Improve filtering in semi-auto property analyzer by @Sergio0694 in #1024
- Handle semi-auto properties with expression bodies by @Sergio0694 in #1026
New Contributors
- @Poker-sang made their first contribution in #926
- @paulomorgado made their first contribution in #808
- @realybin made their first contribution in #974
Full Changelog: v8.3.2...v8.4.0
8.4.0 Preview 3
What's Changed 🆕
- Improve nullable annotations in [ObservableProperty] generated code by @Sergio0694 in #944
- Add .targets to validate the Windows SDK version by @Sergio0694 in #942
- Update SDK package checks for .NET 9 SDK by @Sergio0694 in #952
- Allow forwarding attributes to property accessors by @Sergio0694 in #946
- Fix suppressions for custom attribute targets by @Sergio0694 in #964
- Add support for partial properties for [ObservableProperty] by @Sergio0694 in #966
- Update NuGet packages to latest stable by @Sergio0694 in #967
- Move some diagnostics to analyzers by @Sergio0694 in #968
- Bug fixes to generated partial properties by @Sergio0694 in #970
- Handle 'required' fields in partial property code fixer by @Sergio0694 in #972
- Remove 'this.' expressions in partial property code fixer by @Sergio0694 in #973
- Add MVVM Toolkit analyzers for WinRT scenarios by @Sergio0694 in #979
- Embed .pdb files for all analyzer projects by @Sergio0694 in #980
- Add more WinRT analyzers for class-level attributes by @Sergio0694 in #981
- Improve locations resolution for new analyzers by @Sergio0694 in #984
- Remove .NET 6 TFM by @Sergio0694 in #985
- Allow code blocks in issue template by @Poker-sang in #926
- Improve 'RequiresCSharpLanguageVersionPreviewAnalyzer' by @Sergio0694 in #988
- Use 'ref readonly' in 'IndexOf' APIs by @Sergio0694 in #997
- Added Stream over ReadOnlySequence by @paulomorgado in #808
- Fix message for one of the WinRT diagnostics by @Sergio0694 in #999
- New info diagnostic for WinRT AOT compatibility when C# is not 'preview' by @Sergio0694 in #1000
- Fix minor typos in comments. by @realybin in #974
- Minor diagnostics tweaks by @Sergio0694 in #1003
- Update Roslyn to 4.12 for new generators by @Sergio0694 in #1002
- Support fixing with attribute lists with multiple attributes by @Sergio0694 in #1008
New Contributors
- @Poker-sang made their first contribution in #926
- @paulomorgado made their first contribution in #808
- @realybin made their first contribution in #974
Full Changelog: v8.3.2...v8.4.0-preview3
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