-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
7.0 Release Plan
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:
- Animations and Composition-level XAML Helpers (ThemeShadow, XamlLight, DropShadow, etc...)
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
The plan
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 |
---|---|
✋ | 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 |
Planning/Discussions
- Finalize ColorCode Migration/Transition
- Package Names/Namespaces for WinUI Future
Technical Debt
- 0️⃣ rename
master
branch tomain
- waiting on GitHub guidance/tooling. - 0️⃣ Spell Check (see fix some spelling #3406)
- 0️⃣ Pipeline for Sample App
- 0️⃣ Clean-up Backlog
- 0️⃣ Dependency Clean-up (see more below)
- 0️⃣ Namespace Clean-up Review namespaces and folder structure coupling #3422
- 0️⃣ Improve contribution guidance/onboarding
- 0️⃣ VS Designer Metadata Update [Feature] Update Designer Metadata to new VS2019 Model #3252 (in PR Add new 'DesignTools' projects #3318 by @Nirmal4G)
- 0️⃣ Accessibility Audit
- 0️⃣ Update ValueConverters to use UnsetValue [Clean-up] Make sure all Converters return UnsetValue #3311
- 1️⃣ Make it easier to work with Repo [Repo] Create Solution Filters or some solution for managing size of toolkit #3270
- 1️⃣ Refactor Documentation (.NET vs. UWP Specific)
- ✋ 1️⃣ 🔦 Add Mocking for Unit Tests [Tests] Investigate how we can use Moq (or similar) in Unit Tests to fake WinRT APIs #3196
- ✋ 1️⃣ Integration Testing WinUI - Test Infra #3482
- 1️⃣ Have Code Coverage in CI (not a gate though) Improve Code Coverage/Add to CI #3475
- 2️⃣ Tidy up non-active branches Tidy up non-active branches #3321
- 2️⃣ Sample App Rebuilds if no changes SampleApp rebuilds even if no changes #3332
Refactors
- 0️⃣ Toolkit XAML Islands Support finishing work Some classes do not work well on Xaml Islands. #3205 (In PR Xaml Islands Fixes. #3206 and PR Xaml Islands Fixes for FocusManager.GetFocusedElement and ContentDial… #3352 by @azchohfi)
- 0️⃣ Reduce complexity of toolkit dependencies/overhead Reduce the toolkit impact on application size #3145
- 1️⃣ Remove Newtonsoft.Json dependency (if possible in timeframe) [Feature] Future - Use JsonSerializer with .NET 5 #3060
- 0️⃣ ❕ Move panels with minimal dependencies to their own package
- 0️⃣ Investigate using ItemsRepeater for base of some panels
- 0️⃣ ❕ AdaptiveGridView as Panel/Layout?
- 1️⃣ Investigate ItemsRepeater Helpers
- 1️⃣ Selection Helper (prototype done)
- 1️⃣ Grouping (prototype done)
- 0️⃣ Investigate using ItemsRepeater for base of some panels
- 0️⃣ Move MarkdownTextBlock control to its own package (for ColorCode and Parsers dependency offset) [Discussion] Do we use a .NET Markdown Parser Library instead of our own? #3200
- ✋ 1️⃣ Do we replace the Markdown Parser [Discussion] Do we use a .NET Markdown Parser Library instead of our own? #3200
- 0️⃣ ❕ Make XAML animation helpers more light-weight? (e.g. is this just things that are composition API helpers? And then Media is all Win2D stuff?)
- 0️⃣ ❕ Integrate with @Sergio0694's Animation lib as detailed in [Feature] Integration with UICompositionAnimations #3108 (separate issue for 7.0 work to be filed)
- 0️⃣ ❕ Move Win2D items to Media package? SurfaceLoader, Light Extension (if still needed), Saturation, Blur effects.
- 0️⃣ ❕ Move anything with Win2D dependency to its own central package (Media?)
- 0️⃣ move OnDevice Markup to proper parent namespace: https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/Microsoft.Toolkit.Uwp.UI/Extensions/Markup/OnDevice.cs#L9
- 0️⃣ Clean-up control styles to expose a named Default Style (otherwise it's hard to inherit properly - see TokenizingTextBox/PeoplePicker)
- 1️⃣ 🔦 Gaze helpers to C#? @azchohfi? Converted GazeInteraction project from C++ to C#. #3427
- 1️⃣ 🔦❕ Create separate Converters package?
- 1️⃣ 🔦 Create XAML based DropShadow API helper
- 1️⃣ 🔦 Centralize Behaviors or contribute to main behaviors package? [Question] Contribute Behaviors to main XAML Behaviors packages? #3061
New Features
- 0️⃣ MVVM Package [Feature] Basic MVVM primitives (.NET Standard) #3230
- 0️⃣ ColorPicker [Feature] Add a Reimagined Color Picker #3363
- 0️⃣ 🔦 More Graph Controls / Improvements
- 0️⃣ Move middle-tier to Azure.Identity package
- 0️⃣ Contact Card
- 0️⃣ Generic Get Control (GraphPresenter)
- 1️⃣ 🔦 Create XAML based ThemeShadow API helper (have POC) [Feature] Shadow Receiver XAML Helpers #3122
- 1️⃣ 🔦 Create XAML Light based XAML helpers [Feature] XamlLight Composition XAML Helper #3361
- 1️⃣ Refactor GridSplitter & Add ContentSizer Redesign of GridSplitter API #2976
- ✋ 2️⃣ AdvancedCollectionView Improvements AdvancedCollectionView part deux #1128
- ✋ 2️⃣ RotatorTile OnCurrentItemChanging Event [Feature]RotatorTile OnCurrentItemChanging #2994
- ✋ 2️⃣ Gaze Input Cursor Color [Feature] Add GazeInput.SetCursorBrush method to change the default GazeCursor color #3210
- 🔔 Simplified toast notifications New Win32 toast notification helpers (no more shortcut needed!) #3457
Bugs
- 🔦 Investigate main bugs to call out we want to prioritize here above others.
- Infinite Canvas
Remove Previously Deprecated Components
- 0️⃣ Remove Platform Analyzers Remove Toolkit Platform Analyzers #3396
- 0️⃣ Menu control (replaced by WinUI's MenuBar) (In PR Remove the Menu Control #3011 by @michael-hawker) (see stop-gaps in WinUI here)
- 1️⃣ Light? Says XamlLight should replace it, but that looks more complex than what we had. See [Feature] XamlLight Composition XAML Helper #3361
- 0️⃣ TabView control (replaced by WinUI's TabView)
- 0️⃣ HeaderedTextBlock - do a search for any others we've been missing
- 0️⃣ old graph controls, have new ones in stable (do we move https://aka.ms/wgt into this repo? depends on issue [Repo] Create Solution Filters or some solution for managing size of toolkit #3270)
- 0️⃣ Facebook Service (underlying library isn't currently maintained).
- 1️⃣ RadialGradientBrush
- 1️⃣ the headeredtextblock?
- any other methods marked obsolete?
Remove upcoming Deprecated Components?
Since this is a major release, we could release note these, but should decide if we want to or not still.
- NotifyTaskCompletion?
- RssParser - System.ServiceModel.Syndication is just as easy to use and an official .NET package, we should remove this. See Doc Issue
- RadialProgressBar, WinUI 2.5 has a Determinite ProgressRing, should identify if any gaps.
Deprecate Services
Not sure if we should have a cycle to deprecate these, but they don't work currently, so may just remove?
- MicrosoftTranslator
- Twitter - See recommended .NET libraries for Twitter here
There's also solutions like RestSharp and Refit {.NET Foundation}, I think the biggest problem still seems like simplifying the Authentication step/process...