CommunityToolkit Dotnet Versions Save

.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.

v8.0.0-preview4

1 year ago

Changes:

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
  • #267: property validation is now opt-in, and [NotifyDataErrorInfo] is needed

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
  • #261: Fix build errors with generic generation target types
  • #260: Disable source generators for abstract types
  • #250: Fix [AlsoBroadcastChange] not working when followed by other attributes
  • #249: Make source generators culture invariant
  • #247: Remove [Conditional] from MVVM Toolkit attributes
  • #236: Fix ObservableValidator duplicate generated partial declarations
  • #211: Fix generation of nested types that are not classes

This list of changes was auto generated.

v8.0.0-preview3

2 years ago

Changes:

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.

v8.0.0-preview2

2 years ago

Changes:

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 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.

v8.0.0-preview1

2 years ago

Changes:

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)
  • #44: Optimize WeakReferenceMessenger (MVVM Toolkit)

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
  • #4: Test CI Setup

This list of changes was auto generated.