Main Theme: Release focused on dependency streamlining and clean-up to make pieces of the toolkit more consumable. (Includes clean-up and prep for WinUI 3)
Secondary Themes:
7.0.0-preview4 on NuGet - NOTE 7.0 of the toolkit will contain many breaking changes, preview packages may change frequently, we'll try and keep posts updated here with changes. For instance, 7.0.0-preview1 now uses DispatcherQueue over Dispatcher
7.0 Dev Branch Here make any breaking changes here (will be merged to master soon).
Milestone
Feature Board
Bug Board
ย
Below is a summary of the top level plan items. These items are in addition to everything that was initially released with the preview.
ย
Legend of annotations:
| Symbol | Description |
| ------ | ----------- |
| :hand: | Help Wanted |
| :zero: | priority 0 - must have for this release |
| :one: | priority 1 - nice to have for this release |
| :two: | priority 2 - stretch goal - unlikely for this release but we will try our best |
| :grey_exclamation: | missing issue reference |
| :flashlight: | investigating |
master branch to main - waiting on GitHub guidance/tooling.Since this is a major release, we could release note these, but should decide if we want to or not still.
Not sure if we should have a cycle to deprecate these, but they don't work currently, so may just remove?
There's also solutions like RestSharp and Refit {.NET Foundation}, I think the biggest problem still seems like simplifying the Authentication step/process...
Thanks for submitting a new feature request! I've automatically added a vote reaction to help get things started. Other community members can vote to help us prioritize this feature in the future!
@michael-hawker Is the ContentSizer control going to be part of this release?
I just learned about ( and installed ) the XAML Studio app. Great Garage project! I read that you used the ContentSizer in the app. Can you use the ContentSizer with a SplitView? I am also interested in what Editor control you used ( for line numbers, etc ). Thanks in advance!
@ToddThomson added it to the list ๐; I may just need to take a weekend and add it in...
I haven't tried ContentSizer it with SplitView, only with Expander, so that's part of the work to do too.
The editor control is the same one we use in the toolkit sample app, it's a wrapper around the VS Code Monaco control, it's repo is here. XAML Studio just has more features built on top of it. Eventually, hopefully, I'll be able to open source XAML Studio and then re-incorporate those improvements to our sample app.
@michael-hawker The ContentSizer would be great a great addition. Thank-you!
I am currently adding the GridSpitter to the outside columns of a 3 column panel grid (UserControl). In the XAML Studio app, your LHS NavView control can be resized when the NavPane is open ( the Sizer is collapsed when the NavPane is closed ). I am hoping that the new ContentSizer will allow me control its visibility property like you have done.
Could you please DO NOT deprecate TabView?
The new TabView in WinUI is verrrrrrry ugly and its design is NOT "fluent" at all. If you use WinUI TabView in a NavigationView especially while using acrylic brush, you will find that the new TabView is completely mismatch the whole Fluent Design style.
Thanks for the concern @hez2010, can you add your feedback and examples to the WinUI TabView vNext thread here? FYI @stmoy
We do want to make sure the WinUI control is a valid replacement for the toolkit one before we deprecate it, we know it's not quite there yet, but we hope that by the time we do 7.0 later this year, the next iteration of the WinUI TabView will be completed.
If it is not too late yet... I am really missing a OnCropChanged event in the ImageCropper...
I would like to provide to the user a pixel dimension information about the Rect she currently crops to... All that event would have to do is fire when the crop has changed, it does not even have to transmit the new crop Rect....
Small note as per comment in #3131: the ColorHelper.ToHex extension should be renamed ToHexString for consistency with other APIs in the Microsoft.Toolkit package.
For quick reference:
Dropping this here for reference:

On the topic of API deprecation, there are a number of array extensions in the base Microsoft.Toolkit package that I think could (should?) be deprecated as well, both because the implementation is not super optimized, and because they've basically all been replaced by APIs in the HighPerformance package, especially so once #3353 gets merged, which adds a ton in this area ๐
The extensions in question are:
The HighPerformance package already includes faster implementations for these APIs (and also with no allocation for GetRow and GetColumn), and #3353 further improves on this with the addition of a specific Memory2D<T> and Span2D<T> types (including readonly versions too) which offer support for both these operations as well as a number of other things for 2D arrays (and arbitrary 2D memory areas, regardless of the underlying wrapped object or raw memory segment).
HighPerformance package?P.S. shouldn't we also deprecate AsFormat, given that C# now has the built-in $"{format:0f}" syntax?
@azchohfi should we remove the WPF and WinForms Controls section from the sample app for 7.0 or wait until WinUI 3? Thoughts here?
I imagine we should at least remove the older 'WebView' references now that WebView2 is supported everywhere else (at least in preview).
I think its better to deprecate them now, and remove them on 8.0.
Is the WebView1 already deprecated? If so, lets remove it now.
@azchohfi yeah, wondering if we need a listing in the Sample App to point to docs still and such. Let's discuss at the next toolkit sync.
@Sergio0694 as long as we're not using them anywhere else in the toolkit code (and thus pulling in the HP package to a larger package), then we should be good to remove those in 7.0. If we have docs, we can just update them to point to the HP pages instead.
For AsFormat, I think we were using it in x:Bind or for Localization? So we may want to check how easy it is to swap the code-base out or use in x:Bind expressions before removal?
@michael-hawker Awesome, did the changes in https://github.com/windows-toolkit/WindowsCommunityToolkit/pull/3444!
I've just marked those extensions as [Obsolete] for now, not sure if that's what you meant with "to remove those in 7.0" or if I should just outright delete those methods? I mean, as I thought we needed 2 cycles to completely remove existing APIs ๐ค
@Sergio0694 we usually try and be pretty nice about marking things obsolete for a release, but for 7.0 there's going to be some larger package changes and stuff, so I think as long as we have a solid thing to switch too, we expect folks to be having to read the release notes for this version.
It's also why for things like Services, I'm trying to make sure we have some sort of suggestion/migration guide together. It's also why investigating the new XAML Light APIs is important too :)
@michael-hawker Ah, awesome, will just remove those methods entirely then!
On that note... Can I just remove this Fill extension from the HighPerformance package too then? ๐
Regarding feature parity of RadialProgressBar and the WinUI 2.5 ProgressRing, the only missing APIs are:
Outline: Gets or sets the color of the circular outline on which the segment is drawnThickness: Gets or sets the thickness of the circular outline and segmentThose two customization options are not yet available with the WinUI 2.5 ProgressRing. There is already a tracking issue for the color customizations, however I don't think there is a tracking issue for the thickness property. @YuliKl @ranjeshj @MarissaMatt FYI
Regarding feature parity of RadialProgressBar and the WinUI 2.5 ProgressRing, the only missing APIs are:
Outline: Gets or sets the color of the circular outline on which the segment is drawnThickness: Gets or sets the thickness of the circular outline and segmentThose two customization options are not yet available with the WinUI 2.5 ProgressRing. There is already a tracking issue for the color customizations, however I don't think there is a tracking issue for the thickness property. @YuliKl @ranjeshj @MarissaMatt FYI
In ProgressRing, Foreground/Background properties are tied to ring and background. We currently do not expose the thickness, but you there is the ability to swap out the entire Lottie animation (using DeterminateSource/InDeterminateSource properties). Given that level of customization is available, do we need the thickness exposed as a property ?
@chingucoding sorry for the delay but I created a new issue to track adding a thickness property. https://github.com/microsoft/microsoft-ui-xaml/issues/3293
Is 17763 going to be the final min SDK version for 7.0?
@yoshiask Yup, 17763 (1809) is the min version we'll be using for 7.x.