Announcing Windows Community Toolkit v8.1
We’re happy to announce that version 8.1 is available today! It’s a minor update which contains a variety of new features and improvements, made possible again with the support and contributions of our developer community. 🎉
If you’re not familiar with the Windows Community Toolkit, see below here! Or download our Sample Gallery from the Microsoft Store to start exploring what it has available for WinUI developers.
At a Glance 🔍
- Important Changes 🚨
- New Features ✨
- Improvements
- Windows Community Toolkit Labs 🧪
- Feedback & Contributing
- About the Windows Community Toolkit
Important Changes
Dependencies/TFM
The Toolkit’s dependencies have been updated to the latest WindowsAppSDK 1.5 and Uno Platform 5.2 versions to take in fixes and updates we needed to support .NET 8 and address other issues within the Toolkit.
When consuming the Toolkit, you must target Windows version 22621
instead of the prior 18362
, i.e. if you were targeting net6.0-windows10.0.18362
, you would target net6.0-windows10.0.22621
instead now.
This does not affect your ability to run down-level with the minimum target version, that remains at 17763
.
Older Package NuGet Redirects
Many older 7.x and below NuGet packages of the Windows Community Toolkit have been updated to redirect to their closest matching 8.1 counterparts.
For instance:
Microsoft.Toolkit.Uwp.UI.Controls.Primitives
now redirects toCommunityToolkit.Uwp.Controls.Primitives
CommunityToolkit.WinUI.UI.Controls.Primitives
now redirects toCommunityToolkit.WinUI.Controls.Primitives
- and so on for other packages.
The redirects help raise awareness about the new package names for developers who want to use the latest from the Windows Community Toolkit. You should see these notifications within Visual Studio on older projects. If you’re updating from 7.x packages, see our migration guide here.
New Features ✨
Color Picker
ColorPicker and ColorPickerButton return with 8.1, and have been upgraded with a new look and feel and optimized UX.
Link to the PR from Niels Laute 👑 Originally contributed in 7.0 by Robert Looyengoed 👑
TabbedCommandBar
The TabbedCommandBar has been ported to 8.1 and has adopted a modern look and feel, so it fits right in with other WinUI controls.
Link to the PR from Niels Laute 👑 Originally contributed in 7.0 by Yoshi Askharoun 👑
Improvements
.NET 8 Support
The Windows Community Toolkit now supports .NET 8 with Windows App SDK 1.5.
Be sure to read the Important Changes section for details on TFM updates required.
In addition, if you’re updating your application project to .NET 8 for the first time, be sure to update your RuntimeIdentifier
in your csproj.
Camera Helpers
The Camera helpers have been updated and fixed to now work with the WindowsAppSDK. Thanks to PR from @GreenShadeZhang 👑
ImageCropper Overlay
You can now provide a brush to use as the overlay for the ImageCropper
control. This can allow you to show the crop shape or other ornaments that will be added in your post-processing during the live preview.
DockPanel Spacing
DockPanel
now supports both HorizontalSpacing
and VerticalSpacing
between elements to provide it options inline with other modern panels, see PR here.
Along with a layout/measuring issue in this PR. Thanks to @Poker-sang 👑
Initial AOT Annotations
With this PR, we’ve started looking at annotations for Native AOT support and will continue to test support for the upcoming WindowsAppSDK 1.6 release, stay tuned for more information and updates.
Bug Fixes 🐞
For the entire list of bug fixes and changes in this update, see the full changelog on GitHub here.
Windows Community Toolkit Labs 🧪
To help the process of starting new ideas and contributing to the Toolkit, we created Windows Community Toolkit Labs as a place where we can incubate and iterate over new ideas, try things out without worry, see what gets used by the community, and then decide to bring them into the main repository when they’re ready and well-tested.
We’ve talked about Labs here before, but the main goal is to help encapsulate our development processes from inception to polished product. It also helps us better understand what gets interest and excitement from our community before shipping something to our broader developer audience.
The best way to get involved with the Toolkit is to get involved with Windows Community Toolkit Labs. Setup the preview feed and pull down a package:.
https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.json
Then provide feedback on that experiment, that’s all it takes to get started contributing!
From there join in a discussion or start a new one – we look forward to meeting you!
We have updated the Sample Gallery in the Store to include the latest iterations of Labs components. Since our last release, we have two new experiments for you to try and provide feedback on:
MarkdownTextBlock
A rebuild of the prior MarkdownTextBlock
component, but now built on top of the Markdig parser.
It currently offers better parsing and compatibility thanks to the Markdig library, though currently lacks some of the customization options of the original control. We hope to adopt it for our Sample App itself to further test and stretch its capabilties.
Thanks to @nerocui with this PR to get this journey started! 👑
Ribbon
An initial version of the common Ribbon pattern. The current experience provides grouping commands into collapsible sections with invidual and group keyboard accelerators. It can be combined with a SelectorBar
to provide a more robust WPF-style Ribbon like experience.
Thanks to PR from @vgromfeld 👑
Feedback & Contributing
Not sure how to get started contributing? Don’t worry! Did you know that just providing feedback on what we’re doing and trying our new components is contributing?!?
If you have a new idea for a control, API, or something, read more about Windows Community Toolkit Labs above.
Join in our discussion about this 8.1 release on GitHub here. We’re also active on Discord in the Windows App Community server #community-toolkit
channel here.
You can also reach out on Social Media with the #WindowsCommunityToolkit
hashtag. Find us at @XAMLLlama, @XAMLLlama@hachyderm.io, @Niels9001, and @Arlodottxt@fosstodon.org.
If you’re interested in contributing documentation or code, here are a few extra steps:
- Take a look at our repository and clone it.
- Use the
OpenSolution.bat
file for a component and try to build it following the steps in the readme. - Back on GitHub, find an unclaimed TODO item for a component.
- Comment to chime in with what you’d like to do, and we can help you get started toward your first Pull Request (PR)!
About the Windows Community Toolkit
If you’re new here, the Windows Community Toolkit is a collection of controls for WinUI 2, WinUI 3, and Uno Platform developers that simplifies and demonstrates common developer tasks for building experiences on Windows 10 and Windows 11 with .NET.
Reminder that 8.x is a complete re-work of how the Windows Community Toolkit is built and published from top-to-bottom. Be sure to read the breaking changes and migration notes from our last release blog here and on our wiki here!. In our 8.x update, we overhauled how we worked on the toolkit to enable targeting multiple platforms from a single-codebase, and to make it much easier to develop, maintain, and contribute Toolkit components.
The Toolkit is part of the .NET Foundation. You can download our Sample Gallery from the Microsoft Store to discover and try Toolkit components before getting started on your project. You can find an introduction video here.
About Uno Platform
For those new to Uno Platform – it enables building single-source C# and WinUI apps which run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly. It offers Figma integration for design-development handoff, and a set of extensions to bootstrap your projects. Uno Platform is free and Open Source (Apache 2.0) and available on GitHub.
🙋♂️ Not sure how to get started with WinUI 3, in general? Check out our video from .NET Conf.
Good Stuff!
Please fix RivePlayer
It doesn’t work for me, it just crashes
This is awesome! Keep up the good work! Windows Community Toolkit Labs is so cool and a great way to incubate controls to get them great before making any commitments to support.
I’m so glad a ribbon control is being added to the toolkit. I hope it leads to more apps adopting WinUI.