Skip to content

8.0 Release Plan 📝 #4488

Open
Open
@michael-hawker

Description

@michael-hawker

Latest info on Pre-release blog here https://devblogs.microsoft.com/ifdef-windows/windows-community-toolkit-8-0-pre-release/

Read more about our whole 2022 Release Plan summary on the discussion here.

Before we start looking at our full 8.0 release, we're re-working our infrastructure for the toolkit. Read all about the new Toolkit Labs for Windows coming first here.

H1 2023 - 8.0 Release – Create/Rename Windows Community Toolkit Repo to CommunityToolkit/Windows

  • Leverage new tooling/improvements for project structure/samples/documentation/testing from Toolkit Labs for Windows.
  • Maintain a single branch for all platform targets (e.g. UWP and WinUI 3)
  • Ship all targeted platforms in a single NuGet package and namespace under CommunityToolkit.WinUI.*
    • Simplifies documentation and samples across platforms
    • Enables library and app developers to multi-target platforms and share XAML
    • Aids in transitions from UWP to WinUI 3 in the long-term.
  • Seeded with code from our existing winui branch.
  • Rename or Archive existing CommunityToolkit/WindowsCommunityToolkit repo when migration is completed.

Details

We are currently maintaining two separate branches of the toolkit, one for UWP and one for WinUI 3/Windows App SDK. This has been done manually and isn't sustainable. We want to take our learnings on creating our new infrastructure with Toolkit Labs for Windows and apply that to our existing code-base to streamline development of the Toolkit moving forward.

First, we would setup a CommunityToolkit/Windows repository that merges the project structure and updates to our processes from Toolkit Labs for Windows with our existing winui code branch. This would involve a lot of effort but also allow us to revitalize our samples and docs for specific features at the same time. It also makes it easier for a developer to focus on specific area within the Toolkit without having to load every Toolkit project or control.

Second, by moving to the new systems in CommunityToolkit/Windows, we would target all platforms within our single CommunityToolkit.WinUI.* based packages and namespaces for both UWP and WinUI 3.

This not only will help streamline our documentation and samples, but make it easier for developers to consume and multi-target XAML for UWP and WinUI 3 in their applications. Library developers can also do the same when building components on top of the Toolkit. We know migrating namespaces is a challenge, however, this incremental step makes migration between UWP and WinUI 3 easier for existing projects in the future as well.

Finally, we would rename or archive the existing CommunityToolkit/WindowsCommunityToolkit repo once the transition has been finalized. This repo would remain to preserve the history of our migration from UWP to a multi-targeted library. The new CommunityToolkit/Windows repo would be pruned to only preserve up-to the conversion from UWP to WinUI 3 (if possible).

Secondary Goals

In addition to the large goals of our releases above in re-working our infrastructure, other work on our samples and docs would need to be done as well. We would investigate if we could bring each Toolkit area over in chunks to re-work each area over time vs. trying to accomplish a giant move in one go. Hopefully this would also allow us to parallelize the work and engage any community members willing to aid in improving our samples and documentation for existing features.

Beyond infrastructure, there are new controls and components that have been worked on already or are already in development. The rest of this issue links out to existing known work that is being developed to track what needs to be migrated or incorporated into the plans above.

Issue Breakdown for 8.0 Release

Milestone
Feature Board
Bug Board
Technical Board
Sample 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
Help Wanted
0️⃣ priority 0 - must have for this release
1️⃣ priority 1 - nice to have for this release
2️⃣ priority 2 - stretch goal - unlikely for this release but we will try our best
missing issue reference
🔦 investigating

Windows Community Toolkit Repo Refactor

These items will track what is required to initialize and setup the new infrastructure with the existing codebase.

Book-keeping

Refactors

New Features

Bugs

Migration Notes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions