Changes:
🐉 Here be Dragons! 🐉 This preview contains all the refactoring we've done for the 7.0.0 release of the Toolkit. Be careful when upgrading or following existing documentation as things have moved or changed from the 6.1.1 release and the last preview. We'll be further documenting these changes as we move towards our final release, this should be our final preview.
You can see the items checked in our initial plan for some of the more details as well as the list of changes below.
Refactoring Highlights
- The Toolkit's min version is now 1809 (see #3440)
- The Controls packages now rely on WinUI 2.5, therefore you need to follow their getting started guidance as well.
- RadialProgressBar has been deprecated as the ProgressRing in WinUI now supports determine state.
- TabView has been removed, please migrate to the WinUI one.
- HeaderedTextBlock has been removed, please use HeaderedContentControl instead.
- The custom cache feature built-in to ImageEx was removed, but can be achieved by subclassing the control and overriding a method.
- The default stretch behavior for
VerticalAlignment
of WrapPanel
has changed to align better with WPF, this will manifest if you have different sized items in your collection, you can add alignment properties to change back to the original top alignment, see issue #3574 for details on this change in behavior. If this effects you significantly, please let us know there.
- The Controls package is now a meta package of other packages, this means you can optimize your app by figuring out which controls you need are in one of the sub-packages.
- The Animations package has been restructured
- Implicit animations and expression helpers should work as similar, though
AnimationCollection
is now ImplicitAnimationSet
, see more details below in feature highlights
- The animation helpers that were Behaviors have been removed and replaced with our new Animation system which has helpers for behaviors and effects across the new
Microsoft.Toolkit.Uwp.UI.Behaviors
and improved Microsoft.Toolkit.Uwp.UI.Media
packages to create similar results with more flexibility and customizations. There is also the new UIElementExtensions.VisualFactory
which can be used for static effects as these behaviors weren't always for animations.
- The Extensions namespace has been removed so that all extensions are available in the root namespace for their package. See Issue #3422 and PR #3743 for details.
- The Visual/Logical tree extensions have been refactored to be more explicit in the behavior and provide new functionality, see #3685 for more info.
-
DispatcherHelper
is now DispatcherQueue
extensions, we've provided guidance in the deprecation messages for migration. Performing these changes will help if you plan to move to XAML Islands or WinUI 3 which can only work with DispatcherQueue
.
- The Services and Parsers packages have been removed.
- The only service we'll support moving forward is for the Microsoft Graph, you can find out more about the work we're doing in that space here, these components will be updated at a later date.
- We recommend other solutions for integration with 3rd-Party services like RestSharp and Refit {.NET Foundation}.
- We recommend Markdig for parsing Markdown and plan to move to it in the future (see #3200) for our Markdown parsing needs for the MarkdownTextBlock, that code has been internalized into the new
Microsoft.Toolkit.Uwp.UI.Controls.Markdown
package.
- See this simple migration doc for moving to the official .NET RSS Parser.
- The
StorageHelper
serialization story has changed, see #3636. Minimal work is required to maintain compatibility.
- The Deferred event helpers have moved to the
Microsoft.Toolkit
package.
- The Visual Studio Platform Analyzers have been removed.
- The Diagnostics APIs in
Microsoft.Toolkit
are now in a separate package Microsoft.Toolkit.Diagnositcs
- The MyGet feeds are no longer valid, if you want to keep up-to-date on the latest builds of the Toolkit, see our Wiki Preview Packages Page
- The Array extensions in
Microsoft.Toolkit
have moved to the Microsoft.Toolkit.HighPerformance
package #3444
- Singleton has been removed, see #3134 for guidance on implementing this pattern
Feature Highlights
- MVVM Toolkit - Find docs and samples here, see #3428 for change info between preview4 and now. By @Sergio0694
- Whole new Fluid and XAML Animations! By @Sergio0694
- New ColorPicker control - By @robloo
- New TabbedCommandBar control - By @yoshiask
- Win2D Geometry Parsers - By @ratishphilip
- SwitchPresenter (docs and samples coming soon) - By @michael-hawker
- Improved support for the Visual Studio Designer - By @Nirmal4G
Explicit List of Changes since Preview4
Breaking Changes :boom::
- #3743: Refactor namespaces for extension types
- #3422: Review namespaces and folder structure coupling
- #3685: [Visual|Logical]Tree extensions revamp
- #3762: Move Deferred helpers to Microsoft.Toolkit
- #3736: Remove Custom Cache in ImageEx to evaluate binary impact size
- #3760: Refactor ObjectExtensions -> ObjectMarshal
- #3757: Remove services and related
- #3752: Merge Dev/split controls Refactoring to Main
- #3715: Move DispatcherQueueTimerExtensions to Microsoft.Toolkit.Uwp
Controls :control_knobs::
- #3778: Update InAppNotification style to match WinUI InfoBar
- #3727: Split out input controls from core
- #3689: Aggregate packages
- #3556: [Feature] Add TabbedCommandBar (ribbon) control
- #3259: [Feature] Ribbon control
- #3647: [Bug fix] Inverted horizontalChange when in RTL FlowDirection
- #3646: GridSplitter broken in RightToLeft FlowDirection
Extensions :zap::
- #3487: Inconsistent behavior for [Logical|Visual]Tree extensions
- #3707: [Cleanup] Split Deferred across Microsoft.Toolkit and Microsoft.Toolkit.Uwp
Documentation :page_with_curl::
- #3723: Update issue template
- #3754: Update sample.json
Improvements :sparkles::
- #3746: Setup Unit Test Infrastructure for VisualTree related tests
- #3562: [Feature] Microsoft.Toolkit.Mvvm package (Preview 5)
- #3734: Minor API tweaks to the Animations package
- #3694: Snooze/dismiss support in toast button builders
- #3614: [Feature] Consistency of URI usage
- #3687: Simplified namespaces in HighPerformance package
Bugs :bug::
- #3764: Bug fixes to ObservableValidator
- #3763: The new MVVM-Toolkit got some new bugs with the latest updated.
- #3769: #3070 Stretch the content of the expander header
- #3070: Expander Header is hard to Stretch
- #3741: ProgressRing is referenced in ImageEx but not in Style
- #3755: Fix ToastContentBuilder audio ms-winsoundevent and ms-appx
- #3753: The ToastContentBuilder is unable to set the toast notification sound to a ms-winsoundevent sound
- #3748: Fix sample: using new namespace for DispatcherQueueTimerExtensions
- #3740: Smaple.cs LookForTypeByName(string) add assmbiles to search for types.
- #3739: Split Controls: InAppNotification smaple throws execption.
- #3735: Split Controls: TileControl not animating the Y-axis
- #3703: Support for UWP .NET Native even if devs modified their Default.rd.xml
- #3093: Microsoft.Toolkit.Uwp.Notifications.dll needs to be included in .NET Native runtime directives
Others:
- #1234: ScrollHeader: Removed tabstop from ScrollHeader
- #3777: Update license and icon based on @kyaa-dost's investigation
- #3774: Surface Dial Extension Bugs
- #3776: Changed to Cake.GitVersioning and added 'nbgv cloud' on smoke test job.
- #3766: Visual logical tree tests
- #3759: Remove parsers
- #3744: [Cleanup] Move Parsers to be internal to Markdown package, deprecate old package on NuGet
- #3758: Upgrade to WinUI 2.5 and other Dependencies - Deprecate RadialProgressBar
- #3062: [Future] 7.0 Release Plan
- #2486: ImageEx: Added caching strategy and fixed caching of the Image.
- #3428: [Feature] Microsoft.Toolkit.Mvvm package (Preview 5)
- #3645: [ReadOnly]RefEnumerable<T>.DangerousCreate static constructors
- #3503: Added the Win2d Path Geometry parser.
This list of changes was auto generated.
🦙 If you want to help contribute to the Toolkit, see our Wiki.