Gitpedia
CommunityToolkit

CommunityToolkit/dotnet

.NET Community Toolkit is a collection of helpers and APIs that work for all .NET developers and are agnostic of any specific UI platform. The toolkit is maintained and published by Microsoft, and part of the .NET Foundation.

21 Releases
Latest: 2mo ago
8.4.2v8.4.2Latest
Sergio0694Sergio0694ยท2mo agoยทMarch 25, 2026
GitHub

๐Ÿ“‹ What's Changed

  • Fix incorrect version check order in MVVMToolkitRemoveDuplicateAnalyzers target by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/1174
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.4.1...v8.4.2
8.4.1v8.4.1
Sergio0694Sergio0694ยท2mo agoยทMarch 24, 2026
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Migrate workflow to GitHub Actions by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/1105
  • Remove extra dash in `--no-build` argument in dotnet test invokation by @echoix in https://github.com/CommunityToolkit/dotnet/pull/1132
  • Bump unit tests from .NET 7 to .NET 9 by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/1085
  • Migrate solution to '.slnx' format by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/1133
  • Remove .NET 7 TFM by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/1134
  • fix object.Equals for EquatableArray by @JamesYFC in https://github.com/CommunityToolkit/dotnet/pull/1120
  • Handle 'CanExecute' with method overrides by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/1081
  • Migrate to new MSTest APIs to prepare for 4.0.x by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/1136
  • + 11 more

โœจ New Contributors

  • @echoix made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/1132
  • @JamesYFC made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/1120
  • @marcin-krystianc made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/1130
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.4.0...v8.4.1
8.4.0v8.4.0
Sergio0694Sergio0694ยท1y agoยทDecember 12, 2024
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Improve nullable annotations in [ObservableProperty] generated code by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/944
  • Add .targets to validate the Windows SDK version by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/942
  • Update SDK package checks for .NET 9 SDK by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/952
  • Allow forwarding attributes to property accessors by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/946
  • Fix suppressions for custom attribute targets by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/964
  • Add support for partial properties for [ObservableProperty] by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/966
  • Update NuGet packages to latest stable by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/967
  • Move some diagnostics to analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/968
  • + 27 more

โœจ New Contributors

  • @Poker-sang made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/926
  • @paulomorgado made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/808
  • @realybin made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/974
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.3.2...v8.4.0
8.4.0 Preview 3v8.4.0-preview3Pre-release
Sergio0694Sergio0694ยท1y agoยทNovember 27, 2024
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Improve nullable annotations in [ObservableProperty] generated code by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/944
  • Add .targets to validate the Windows SDK version by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/942
  • Update SDK package checks for .NET 9 SDK by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/952
  • Allow forwarding attributes to property accessors by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/946
  • Fix suppressions for custom attribute targets by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/964
  • Add support for partial properties for [ObservableProperty] by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/966
  • Update NuGet packages to latest stable by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/967
  • Move some diagnostics to analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/968
  • + 18 more

โœจ New Contributors

  • @Poker-sang made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/926
  • @paulomorgado made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/808
  • @realybin made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/974
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.3.2...v8.4.0-preview3
8.3.2v8.3.2
Sergio0694Sergio0694ยท1y agoยทSeptember 18, 2024
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Update SDK package checks for .NET 9 SDK by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/952
8.3.1v8.3.1
Sergio0694Sergio0694ยท1y agoยทSeptember 12, 2024
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Add .targets to validate the Windows SDK version by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/942
8.3.0v8.3.0
Sergio0694Sergio0694ยท1y agoยทAugust 27, 2024
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Fix generation for OnPropertyChanging for [NotifyPropertyChangedFor] by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/722
  • Add .NET 8 TFM to all projects and AOT annotations by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/832
  • Update NuGet packages to latest stable by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/908
  • Fix typo in Guard.ThrowHelper.ThrowArgumentNullExceptionForIsNotNull by @Benna96 in https://github.com/CommunityToolkit/dotnet/pull/863
  • Add AOT support in WinRT scenarios to the MVVM Toolkit by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/909
  • Include sizeof(T) in offset calculation for Memory2D from MemoryManager by @Lillenne in https://github.com/CommunityToolkit/dotnet/pull/841
  • Correct incorrect description in ObsoleteAttribute by @aianlinb in https://github.com/CommunityToolkit/dotnet/pull/806
  • Update CsWinRT to latest stable by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/910
  • + 7 more

โœจ New Contributors

  • @Benna96 made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/863
  • @Lillenne made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/841
  • @aianlinb made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/806
  • @arivoir made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/884
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.2.2...v8.3.0

๐Ÿ“ฆ Note โ„น๏ธ

  • ```xml
  • <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
  • + 3 more
8.2.2v8.2.2
Sergio0694Sergio0694ยท2y agoยทOctober 25, 2023
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Fix forwarding enum values with negative values in attributes by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/736
  • Add analyzer for [field: ObservableProperty] uses from auto-properties by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/735
  • Fix minor typos in comments. by @Treit in https://github.com/CommunityToolkit/dotnet/pull/759

โœจ New Contributors

  • @Treit made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/759
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.2.1...v8.2.2
8.2.1v8.2.1
Sergio0694Sergio0694ยท2y agoยทJuly 6, 2023
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Fix AV when indexing a sliced Memory2D<T> backed by custom MemoryManager<T> by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/675
  • Fix forwarding attributes with negative enum values by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/682
  • Update NuGet packages to latest stable by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/687
  • Use preinstalled .NET in CI runner by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/688
  • Dynamically resolve assembly version in generator tests by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/689
  • Bump version to 8.2.1 by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/685
  • Add diagnostics for invalid expressions for forwarded attributes by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/684
  • Fix ObservableValidator generator to detect inherited properties by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/692
  • + 9 more

โœจ New Contributors ๐Ÿ™Œ

  • @kmgallahan made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/697
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.2.0...v8.2.1
8.2.0v8.2.0
Sergio0694Sergio0694ยท3y agoยทApril 27, 2023
GitHub

๐Ÿ“‹ What's Changed ๐Ÿ†•

  • Add fixers project and implement a fixer for FieldReferenceForObservablePropertyFieldAnalyzer by @333fred in https://github.com/CommunityToolkit/dotnet/pull/578
  • Move two more diagnostics to analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/581
  • Use SyntaxGenerator and leave trivia handling up to it by @Youssef1313 in https://github.com/CommunityToolkit/dotnet/pull/590
  • Add fixer for ClassUsingAttributeInsteadOfInheritanceAnalyzer by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/588
  • Fix build error from VB.NET projects by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/592
  • Add new OnPropertyNameChanging and Changed overloads by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/582
  • Resolve all needed symbols early in analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/587
  • Fix forwarded double attribute parameters by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/603
  • + 12 more

โœจ New Contributors ๐Ÿ™Œ

  • @333fred made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/578
  • @HavenDV made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/631
  • @GabrieleMessina made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/639
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.1.0...v8.2.0
8.2.0 Preview 2v8.2.0-preview2Pre-release
Sergio0694Sergio0694ยท3y agoยทMarch 27, 2023
GitHub

๐Ÿ“‹ What's Changed (since 8.2.0 Preview 1) ๐Ÿ†•

  • Add [MemberNotNull] to [ObservableProperty] set accessors by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/646
  • Improve XML docs over generated code by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/653
8.2.0 Preview 1v8.2.0-preview1Pre-release
Sergio0694Sergio0694ยท3y agoยทMarch 13, 2023
GitHub

๐Ÿ“‹ What's Changed (since 8.1.0) ๐Ÿ†•

  • Add fixers project and implement a fixer for FieldReferenceForObservablePropertyFieldAnalyzer by @333fred in https://github.com/CommunityToolkit/dotnet/pull/578
  • Move two more diagnostics to analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/581
  • Use SyntaxGenerator and leave trivia handling up to it by @Youssef1313 in https://github.com/CommunityToolkit/dotnet/pull/590
  • Add fixer for ClassUsingAttributeInsteadOfInheritanceAnalyzer by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/588
  • Fix build error from VB.NET projects by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/592
  • Add new OnPropertyNameChanging and Changed overloads by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/582
  • Resolve all needed symbols early in analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/587
  • Fix forwarded double attribute parameters by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/603
  • + 9 more

โœจ New Contributors

  • @333fred made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/578
  • @HavenDV made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/631
  • @GabrieleMessina made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/639
8.1.0v8.1.0
Sergio0694Sergio0694ยท3y agoยทJanuary 18, 2023
GitHub

๐Ÿ’ฅ 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 an `EndOfStreamException` 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 https://github.com/CommunityToolkit/dotnet/pull/394
  • Fix for using C# 8.0 projects (e.g. UWP projects stuck on .NET Core 3) by @zhuman in https://github.com/CommunityToolkit/dotnet/pull/398
  • Multi-target Roslyn dependency in MVVM Toolkit generators by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/428
  • Move language diagnostics to diagnostic analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/433
  • Move diagnostics for orphaned observable property attributes to analyzer by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/434
  • Don't use ISymbol in IncrementalValuesProvider<T> nodes by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/435
  • Update URLs for Status Badges in Readme by @michael-hawker in https://github.com/CommunityToolkit/dotnet/pull/439
  • Use ForAttributeWithMetadataName<T> when possible by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/436
  • + 37 more

โœจ New Contributors

  • @heku made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/394
  • @zhuman made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/398
  • @WeihanLi made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/444
  • @Youssef1313 made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/447
  • @pziezio made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/497
8.1.0 Preview 3v8.1.0-preview3Pre-release
Sergio0694Sergio0694ยท3y agoยทDecember 26, 2022
GitHub

๐Ÿ’ฅ Breaking changes (since 8.1.0 Preview 2) ๐Ÿ’ฅ

  • Remove nullability attributes generator by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/538

๐Ÿ“‹ What's Changed (since 8.1.0 Preview 2) ๐Ÿ†•

  • Skip field reference diagnostics from constructors by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/539
  • Add target to fix analyzers on legacy .csproj projects by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/541
  • Update NuGet packages to latest stable releases by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/545
8.1.0 Preview 2v8.1.0-preview2Pre-release
Sergio0694Sergio0694ยท3y agoยทDecember 13, 2022
GitHub

๐Ÿ’ฅ Breaking changes (since 8.1.0 Preview 1) ๐Ÿ’ฅ

  • The `StreamExtensions.Read<T>` method now throws an `EndOfStreamException` when reaching end of stream

๐Ÿ“‹ What's Changed (since 8.0.0) ๐Ÿ†•

  • Use `Nullable.GetValueRefOrDefaultRef` where possible by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/499
  • Bump NuGet packages to latest stable versions by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/501
  • Drop .NET Core 3.1 TFM by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/502
  • Fix `IBufferWriterExtensions` type of exception thrown documentation by @pziezio in https://github.com/CommunityToolkit/dotnet/pull/497
  • Move all source files into src\subfolder by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/507
  • Use PolySharp for polyfills, and centralize shared MSBuild properties by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/510
  • Replace `Unsafe.SizeOf<T>()` with `sizeof(T)` by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/511
  • Replace `Unsafe.NullRef<T>()` with `ref *(T*)null` by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/512
  • + 5 more

โœจ New Contributors

  • @pziezio made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/497
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.1.0-preview1...v8.1.0-preview2
8.1.0 Preview 1v8.1.0-preview1Pre-release
Sergio0694Sergio0694ยท3y agoยทNovember 3, 2022
GitHub

๐Ÿ’ฅ Breaking changes (since 8.0.0) ๐Ÿ’ฅ

  • All `Ref<T>`-like types in the HighPerformance package are now .NET 7 only
  • Removed a .NET Standard 2.0 only overload for `LockExtensions` (which was marked as preview)

๐Ÿ“‹ What's Changed (since 8.0.0) ๐Ÿ†•

  • Correct typo in converters by @heku in https://github.com/CommunityToolkit/dotnet/pull/394
  • Fix for using C# 8.0 projects (e.g. UWP projects stuck on .NET Core 3) by @zhuman in https://github.com/CommunityToolkit/dotnet/pull/398
  • Multi-target Roslyn dependency in MVVM Toolkit generators by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/428
  • Move language diagnostics to diagnostic analyzers by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/433
  • Move diagnostics for orphaned observable property attributes to analyzer by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/434
  • Don't use ISymbol in IncrementalValuesProvider<T> nodes by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/435
  • Update URLs for Status Badges in Readme by @michael-hawker in https://github.com/CommunityToolkit/dotnet/pull/439
  • Use ForAttributeWithMetadataName<T> when possible by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/436
  • + 15 more

โœจ New Contributors

  • @heku made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/394
  • @zhuman made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/398
  • @WeihanLi made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/444
  • @Youssef1313 made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/447
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.0.0...v8.1.0-preview1
8.0.0v8.0.0
Sergio0694Sergio0694ยท3y agoยทAugust 4, 2022
GitHub

๐Ÿ’ฅ Breaking changes (since 7.1.x) ๐Ÿ’ฅ

  • #292: Add FlowExceptionsToTaskScheduler command option
  • #288: Rename attributes, enable class-level support
  • [AlsoNotifyChangeFor] ---> [NotifyPropertyChangedFor]
  • [AlsoNotifyCanExecuteFor] ---> [NotifyCanExecuteChangedFor]
  • [AlsoValidateProperty] ---> [NotifyDataErrorInfo]
  • [AlsoBroadcastChange] ---> [NotifyPropertyChangeRecipients]
  • [ICommand] ---> [RelayCommand]
  • #248: Block [ObservableProperty] on properties causing conflicts
  • + 17 more

๐Ÿ“ฆ Improvements (since 7.1.x) โœจ

  • #285: Properly forward nullability annotations for [ICommand]
  • #277: Add diagnostic for duplicate ICommand-s in base types
  • #279: Add support for "On" prefix for command methods
  • #284: Use ".g.cs" extension for all generated files
  • #267: Add [AlsoValidateProperty] attribute
  • #181: Fix [ICommand] generator crashing with overloads, add diagnostics
  • #161: Allow Task<T>-returns on methods with [ICommand]
  • #179: Make NullabilityAttributesGenerator incremental
  • + 24 more

๐Ÿ“‹ What's Changed (since 8.0.0-Preview4) ๐Ÿ†•

  • Update EditorConfig and Git files by @Nirmal4G in https://github.com/CommunityToolkit/dotnet/pull/304
  • Add missing trimming annotations by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/310
  • Add "this." prefix to all field accesses by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/309
  • Add unique prefixes to all .targets properties and items by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/321
  • Improve exceptions for invalid command arguments by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/301
  • Fix [RelayCommand] CanExecute when nullable arguments are used by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/302
  • Add aka.ms links to MVVM generator diagnostics by @Sergio0694 in https://github.com/CommunityToolkit/dotnet/pull/326
  • Asynchronous implementation of `MemorySource<TSource>.CopyToAsync` by @OronDF343 in https://github.com/CommunityToolkit/dotnet/pull/266
  • + 1 more

โœจ New Contributors

  • @OronDF343 made their first contribution in https://github.com/CommunityToolkit/dotnet/pull/266
  • Full Changelog: https://github.com/CommunityToolkit/dotnet/compare/v8.0.0-preview4...v8.0.0
8.0.0 Preview 4v8.0.0-preview4Pre-release
michael-hawkermichael-hawkerยท3y agoยทJune 7, 2022
GitHub

๐Ÿ’ฅ Breaking Changes :boom::

  • #292: Add FlowExceptionsToTaskScheduler command option
  • #288: Rename attributes, enable class-level support
  • [AlsoNotifyChangeFor] ---> [NotifyPropertyChangedFor]
  • [AlsoNotifyCanExecuteFor] ---> [NotifyCanExecuteChangedFor]
  • [AlsoValidateProperty] ---> [NotifyDataErrorInfo]
  • [AlsoBroadcastChange] ---> [NotifyPropertyChangeRecipients]
  • [ICommand] ---> [RelayCommand]
  • #248: Block [ObservableProperty] on properties causing conflicts
  • + 1 more

๐Ÿ“ฆ Improvements :sparkles::

  • #285: Properly forward nullability annotations for [ICommand]
  • #277: Add diagnostic for duplicate ICommand-s in base types
  • #279: Add support for "On" prefix for command methods
  • #284: Use ".g.cs" extension for all generated files
  • #267: Add [AlsoValidateProperty] attribute

๐Ÿ› Bugs :bug::

  • #254: Latest preview assemblies are not signed
  • #224: [ObservableProperty] Mvvm SourceGenerator does not work for Generics

๐Ÿ“ฆ Others:

  • #290: Update Company and Authors metadata items
  • #289: Strong-name sign assemblies
  • #275: Fix ICommand generator with inherited CanExecute members
  • #276: Fix source generators for types in global namespace
  • #278: Enable trim analyzers in MVVM Toolkit again
  • #281: Remove temporary strings in source generators formatting
  • #237: Typos
  • #258: Fix [ICommand] CanExecute with inherited generated property
  • + 8 more
8.0.0 Preview 3v8.0.0-preview3Pre-release
michael-hawkermichael-hawkerยท4y agoยทApril 7, 2022
GitHub

๐Ÿ’ฅ Breaking Changes :boom::

  • #169: Revamp observable collection APIs
  • #183: Remove SpinLock extension taking an object
  • #190: Change IndexOf APIs to return -1 if not found
  • #173: Remove obsolete APIs
  • #151: Move collection types to MVVM Toolkit

๐Ÿ“ฆ Improvements :sparkles::

  • #181: Fix [ICommand] generator crashing with overloads, add diagnostics
  • #161: Allow Task<T>-returns on methods with [ICommand]
  • #179: Make NullabilityAttributesGenerator incremental
  • #141: Extend source generator diagnostics in several scenarios

๐Ÿ“ฆ Others:

  • #202: Fix incorrect MVVMTK0015 with inherited members
  • #184: Fix MissingMethodExceptions for Stream extensions
  • #160: Fix nullability annotations in generated properties
  • #152: Add new [AlsoBroadcastChange] attribute
  • #139: Fix async relay command CanExecute raised with no concurrency
  • This list of changes was [auto generated](https://dev.azure.com/dotnet/696bc9fd-f160-4e97-a1bd-7cbbb3b58f66/_release?releaseId=4409&_a=release-summary).
8.0.0 Preview 2v8.0.0-preview2Pre-release
michael-hawkermichael-hawkerยท4y agoยทMarch 10, 2022
GitHub

๐Ÿ’ฅ Breaking Changes :boom::

  • #131: Remove CanExecute checks from Execute logic
  • #113: Propagate task exceptions to TaskScheduler.UnobservedTaskException
  • #127: Switch async commands to default to no concurrent execution

โœจ New features ๐Ÿ†•:

  • #119: [ObservableProperty] generates partial OnPropertyChanging/Changed methods
  • #128: Add cancel command support

๐Ÿ“ฆ Improvements :sparkles::

  • #135: Add [DynamicallyAccessedMembers] annotations
  • #122: Fix async command event notifications
  • #124: Add <inheritdoc/> to generated observable properties

๐Ÿ› Bugs :bug::

  • #13: MVVM Source Generators: CS1028 Error if #region block
  • #45: StrongReferenceMessenger.Unregister[All] fixes

๐Ÿ“ฆ Others:

  • #132: Remove [DebuggerNonUserCode] from visible members
  • #134: Remove ArrayPoolBufferWriter<T> explicit constructor
  • #130: Fixed typos in Span2D implicit operators
  • #120: Fix IRecipient generator for partial recipient declarations
  • #111: Fix AsyncRelayCommand with allowConcurrentExecutions == false not raising CanExecuteChanged
  • #110: Fix [ObservableRecipient] with inherited base attributes
  • This list of changes was [auto generated](https://dev.azure.com/dotnet/696bc9fd-f160-4e97-a1bd-7cbbb3b58f66/_release?releaseId=4066&_a=release-summary).
8.0.0 Preview 1v8.0.0-preview1Pre-release
michael-hawkermichael-hawkerยท4y agoยทJanuary 25, 2022
GitHub

๐Ÿ’ฅ Breaking Changes :boom::

  • #79: Add [RequiresPreviewFeatures] to unsafe APIs (HighPerformance)
  • #77: Strip source generator attributes by default (MVVM Toolkit)
  • #63: Switch source generators to incremental generators (MVVM Toolkit)
  • #60: Add null checks for parameters of public APIs (MVVM Toolkit)
  • #42: Switch .NET 5 target to .NET 6
  • Remove .NET Standard 1.4, .NET Core 2.1 and .NET 5 targets.
  • Switch setters in attribute properties to init-only. (MVVM Toolkit)
  • Move `NullabilityExtensions` to `CommunityToolkit.HighPerformance` namespace. (HighPerformance)

โœจ New features ๐Ÿ†•:

  • #64: Add NullableExtensions.DangerousGetValueOrNullReference (HighPerformance)
  • #30: Add concurrency control to AsyncRelayCommand types (MVVM Toolkit)
  • #48: Enable INotifyPropertyChanging AppContext switch (MVVM Toolkit)
  • #50: Add [ICommand] CanExecute property (MVVM Toolkit)
  • #29: Add [CallerArgumentExpression] to Guard APIs (Diagnostics)
  • #66: Add vectorized Count<T> support for nint/nuint (HighPerformance)
  • #70: Add interpolated handler overload for Guard.IsTrue/IsFalse (Diagnostics)
  • #53: Add [AlsoNotifyCanExecuteFor] attribute (MVVM Toolkit)

๐Ÿ“ฆ Improvements :sparkles::

  • #78: Remove class constraint from Guard.Is[Not]Null APIs (Diagnostics)
  • #76: Add trimming support
  • #68: Add [StackTraceHidden] attribute to internal ThrowHelper type (Diagnostics)
  • #69: Remove [Pure] attribute usages
  • #67: Add missing trailing dot to exception messages (Diagnostics)
  • #47: Switch all generated code to global:: (MVVM Toolkit)
  • #31: Improve header for generated files (MVVM Toolkit)
  • #59: Optimize StrongReferenceMessenger (MVVM Toolkit)
  • + 1 more

๐Ÿ› Bug fixes :bug::

  • #13: MVVM Source Generators: CS1028 Error if #region block (MVVM Toolkit)
  • #45: StrongReferenceMessenger.Unregister[All] fixes (MVVM Toolkit)
  • #65: Fix RuntimeHelpers.IsReferenceOrContainsReferences polyfill (HighPerformance)

๐Ÿ“ Documentation :page_with_curl::

  • #84: Fix linter issues with ReadMe
  • #58: Small Typo In ObservableProperty XML Docs

๐Ÿ“ฆ Others:

  • #92: Disable generation of header files if no targets are present (MVVM Toolkit)
  • #91: Update .targets for MVVM Toolkit to fix .wapproj issues (MVVM Toolkit)
  • #90: Update base version number to reflect upcoming version
  • #88: Bump NuGet package reference versions
  • #89: Fix conflicting generation of nullability attributes (MVVM Toolkit)
  • #87: Calculate the current C# compiler version (MVVM Toolkit)
  • #75: Minor code style tweaks
  • #6: Update readme build number and add contributor image
  • + 2 more