From 7b1c31445d8570dc893273f0e1e5bd600bbb18b7 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 09:21:39 -0700
Subject: [PATCH 01/23] Update to .NET 10
---
.github/workflows/benchmarks.yml | 4 +--
.github/workflows/dotnet-build.yml | 12 +++----
Directory.Build.props | 6 ++--
global.json | 4 +--
.../Pages/NewsPage.cs | 7 ++---
.../BindableObjectExtensionsTests.cs | 31 ++++++++-----------
.../TypedBindingExtensionsTests.cs | 12 +++----
.../DefaultBindableProperties.cs | 21 ++++++++-----
8 files changed, 49 insertions(+), 48 deletions(-)
diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml
index 087d58ae..5a4c60f8 100644
--- a/.github/workflows/benchmarks.yml
+++ b/.github/workflows/benchmarks.yml
@@ -13,7 +13,7 @@ on:
- '*'
env:
- LATEST_NET_VERSION: '9.0.x'
+ LATEST_NET_VERSION: '10.0.x'
PathToCommunityToolkitBenchmarkCsproj: 'src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj'
concurrency:
@@ -42,7 +42,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.LATEST_NET_VERSION }}
- dotnet-quality: 'ga'
+ dotnet-quality: 'preview'
- name: Install .NET MAUI Workload
run: |
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index 1d7cc788..aed2fe15 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -18,7 +18,7 @@ env:
# When we create a tag, we set the NuGet version to the tag number, the below values are only for PR builds.
CurrentSemanticVersionBase: '99.0.0' # Only used for PR builds
NugetPackageVersion: '99.0.0-preview${{ github.run_number }}' # Only used for PR builds
- NET_VERSION: '9.0.x'
+ NET_VERSION: '10.0.x'
RunPoliCheck: false
PathToLibrarySolution: 'src/CommunityToolkit.Maui.Markup.sln'
PathToSamplesSolution: 'samples/CommunityToolkit.Maui.Markup.Sample.sln'
@@ -26,7 +26,7 @@ env:
PathToCommunityToolkitSampleCsproj: 'samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj'
PathToCommunityToolkitUnitTestCsproj: 'src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj'
PathToCommunityToolkitSourceGeneratorsCsproj: 'src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj'
- Xcode_Version: '16.3'
+ Xcode_Version: '26.0.1'
ShouldCheckDependencies: true
concurrency:
@@ -55,7 +55,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'ga'
+ dotnet-quality: 'preview'
- uses: actions/setup-java@v5
with:
@@ -112,7 +112,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'ga'
+ dotnet-quality: 'preview'
- uses: actions/setup-java@v5
with:
@@ -206,7 +206,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'ga'
+ dotnet-quality: 'preview'
- name: Download NuGet List
uses: actions/download-artifact@v5
@@ -259,7 +259,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'ga'
+ dotnet-quality: 'preview'
- name: Download signed packages for ${{ matrix.platform }}
uses: actions/download-artifact@v5
diff --git a/Directory.Build.props b/Directory.Build.props
index 475df0c8..2185ba93 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -3,7 +3,7 @@
enable
NETSDK1023
- net9.0
+ net10.0
preview
enable
true
@@ -20,8 +20,8 @@
all
- 9.0.60
- 10.0.0
+ 10.0.0-rc.1.25452.6
+ 11.0.0
11.2.0
true
true
diff --git a/global.json b/global.json
index 478da3ed..02538019 100644
--- a/global.json
+++ b/global.json
@@ -1,7 +1,7 @@
{
"sdk": {
- "version": "9.0.203",
+ "version": "10.0.0-rc.1.25452.6",
"rollForward": "latestFeature",
- "allowPrerelease": false
+ "allowPrerelease": true
}
}
\ No newline at end of file
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
index 37503516..0380a168 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
@@ -6,8 +6,7 @@ sealed partial class NewsPage : BaseContentPage
{
readonly IDispatcher dispatcher;
readonly RefreshView refreshView;
-
- [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")]
+
public NewsPage(IDispatcher dispatcher,
NewsViewModel newsViewModel) : base(newsViewModel, "Top Stories")
{
@@ -65,13 +64,13 @@ async void HandleSelectionChanged(object? sender, SelectionChangedEventArgs e)
}
else
{
- await DisplayAlert("Invalid Article", "ASK HN articles have no url", "OK");
+ await DisplayAlertAsync("Invalid Article", "ASK HN articles have no url", "OK");
}
}
}
async void HandlePullToRefreshFailed(object? sender, string message) =>
- await dispatcher.DispatchAsync(() => DisplayAlert("Refresh Failed", message, "OK"));
+ await dispatcher.DispatchAsync(() => DisplayAlertAsync("Refresh Failed", message, "OK"));
bool TryRefreshCollectionView()
{
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs
index c1d1f6a2..5500c31a 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs
@@ -672,40 +672,40 @@ public void BindDefaultPropertyWithInlineTwoWayParameterizedConvertAndPositional
[Test]
public void BindCommandWithDefaults()
{
- var textCell = new TextCell();
+ var button = new Button();
var path = nameof(viewModel.Command);
- textCell.BindCommand(path);
+ button.BindCommand(path);
- BindingHelpers.AssertBindingExists(textCell, TextCell.CommandProperty, path);
- BindingHelpers.AssertBindingExists(textCell, TextCell.CommandParameterProperty);
+ BindingHelpers.AssertBindingExists(button, Button.CommandProperty, path);
+ BindingHelpers.AssertBindingExists(button, Button.CommandParameterProperty);
}
[Test]
public void BindCommandWithoutParameter()
{
- var textCell = new TextCell();
+ var button = new Button();
var path = nameof(viewModel.Command);
- textCell.BindCommand(path, parameterPath: null);
+ button.BindCommand(path, parameterPath: null);
- BindingHelpers.AssertBindingExists(textCell, TextCell.CommandProperty, path);
- Assert.That(BindingHelpers.GetBinding(textCell, TextCell.CommandParameterProperty), Is.Null);
+ BindingHelpers.AssertBindingExists(button, Button.CommandProperty, path);
+ Assert.That(BindingHelpers.GetBinding(button, Button.CommandParameterProperty), Is.Null);
}
[Test]
public void BindCommandWithPositionalParameters()
{
- var textCell = new TextCell();
+ var button = new Button();
object source = new ViewModel();
var path = nameof(viewModel.Command);
var parameterPath = nameof(viewModel.Id);
object parameterSource = new ViewModel();
- textCell.BindCommand(path, source, parameterPath, parameterSource);
+ button.BindCommand(path, source, parameterPath, parameterSource);
- BindingHelpers.AssertBindingExists(textCell, TextCell.CommandProperty, path, source: source);
- BindingHelpers.AssertBindingExists(textCell, TextCell.CommandParameterProperty, parameterPath, source: parameterSource);
+ BindingHelpers.AssertBindingExists(button, Button.CommandProperty, path, source: source);
+ BindingHelpers.AssertBindingExists(button, Button.CommandParameterProperty, parameterPath, source: parameterSource);
}
[Test]
@@ -746,8 +746,7 @@ public void SupportDerivedElements()
.Invoke(l => l.Text = nameof(SupportDerivedElements))
.Assign(out DerivedFromLabel assignDerivedFromLabel),
Is.InstanceOf());
-
- Assert.That(new DerivedFromTextCell().BindCommand(nameof(viewModel.Command)), Is.InstanceOf());
+
Assert.That(assignDerivedFromLabel, Is.InstanceOf());
});
}
@@ -803,8 +802,4 @@ sealed class ViewModel
class DerivedFromLabel : Label
{
}
-
- class DerivedFromTextCell : TextCell
- {
- }
}
\ No newline at end of file
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs
index ae750fbd..f4651e71 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs
@@ -51,15 +51,15 @@ public void BindCommandThrowsArgumentNullExceptionWhenParameterHandlersNull()
[Test]
public void BindCommandWithDefaults()
{
- var textCell = new TextCell
+ var textCell = new Button
{
BindingContext = viewModel
};
textCell.BindCommand(static (ViewModel vm) => vm.Command);
- BindingHelpers.AssertTypedBindingExists(textCell, TextCell.CommandProperty, BindingMode.Default, viewModel);
- Assert.That(BindingHelpers.GetBinding(textCell, TextCell.CommandParameterProperty), Is.Null);
+ BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandProperty, BindingMode.Default, viewModel);
+ Assert.That(BindingHelpers.GetBinding(textCell, Button.CommandParameterProperty), Is.Null);
}
[Test]
@@ -67,7 +67,7 @@ public void BindCommandWithParameters()
{
ArgumentNullException.ThrowIfNull(viewModel);
- var textCell = new TextCell
+ var textCell = new Button
{
BindingContext = viewModel
};
@@ -78,8 +78,8 @@ public void BindCommandWithParameters()
parameterGetter: static (ViewModel vm) => vm.Id,
parameterBindingMode: BindingMode.OneWay);
- BindingHelpers.AssertTypedBindingExists(textCell, TextCell.CommandProperty, BindingMode.OneTime, viewModel);
- BindingHelpers.AssertTypedBindingExists(textCell, TextCell.CommandParameterProperty, BindingMode.OneWay, viewModel);
+ BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandProperty, BindingMode.OneTime, viewModel);
+ BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandParameterProperty, BindingMode.OneWay, viewModel);
Assert.Multiple(() =>
{
diff --git a/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs b/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs
index b3a79554..53cd26da 100644
--- a/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs
+++ b/src/CommunityToolkit.Maui.Markup/DefaultBindableProperties.cs
@@ -15,11 +15,7 @@ public static class DefaultBindableProperties
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Border)}", Border.ContentProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(BoxView)}", BoxView.ColorProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Button)}", Button.CommandProperty },
- { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(CarouselPage)}", Page.TitleProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(CheckBox)}", CheckBox.IsCheckedProperty },
-#pragma warning disable CS0618
- { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ClickGestureRecognizer)}", ClickGestureRecognizer.CommandProperty },
-#pragma warning disable CS0618
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(CollectionView)}", CollectionView.ItemsSourceProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ContentPage)}", Page.TitleProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ContentPresenter)}", ContentPresenter.ContentProperty },
@@ -27,19 +23,27 @@ public static class DefaultBindableProperties
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(DatePicker)}", DatePicker.DateProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Editor)}", Editor.TextProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Entry)}", Entry.TextProperty },
+#pragma warning disable CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(EntryCell)}", EntryCell.TextProperty },
+#pragma warning restore CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(FileImageSource)}", FileImageSource.FileProperty },
+#pragma warning disable CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Frame)}", Frame.ContentProperty },
+#pragma warning restore CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(FlyoutPage)}", FlyoutPage.IsPresentedProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(GraphicsView)}", GraphicsView.DrawableProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(HtmlWebViewSource)}", HtmlWebViewSource.HtmlProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Image)}", Image.SourceProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ImageButton)}", ImageButton.CommandProperty },
+#pragma warning disable CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ImageCell)}", ImageCell.ImageSourceProperty },
+#pragma warning restore CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(IndicatorView)}", IndicatorView.ItemsSourceProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ItemsView)}", ItemsView.ItemsSourceProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Label)}", Label.TextProperty },
+#pragma warning disable CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ListView)}", ListView.ItemsSourceProperty },
+#pragma warning restore CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuFlyoutItem)}", MenuFlyoutItem.TextProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuFlyoutSubItem)}", MenuFlyoutSubItem.TextProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuItem)}", MenuItem.TextProperty },
@@ -65,14 +69,18 @@ public static class DefaultBindableProperties
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Switch)}", Switch.IsToggledProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(SwipeItemView)}", SwipeItemView.ContentProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(SwipeView)}", SwipeView.ContentProperty },
+#pragma warning disable CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(SwitchCell)}", SwitchCell.OnProperty },
+#pragma warning restore CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TabbedPage)}", Page.TitleProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TableRoot)}", TableRoot.TitleProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TableSection)}", TableSection.TitleProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TableSectionBase)}", TableSectionBase.TitleProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TapGestureRecognizer)}", TapGestureRecognizer.CommandProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TemplatedPage)}", Page.TitleProperty },
+#pragma warning disable CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TextCell)}", TextCell.TextProperty },
+#pragma warning restore CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TemplatedView)}", TemplatedView.ControlTemplateProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TimePicker)}", TimePicker.TimeProperty },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ToolbarItem)}", ToolbarItem.CommandProperty },
@@ -85,10 +93,9 @@ public static class DefaultBindableProperties
static readonly Dictionary bindableObjectTypeDefaultCommandAndParameterProperties = new()
{ // Key: full type name of BindableObject, Value: command property and corresponding commandParameter property
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(Button)}", (Button.CommandProperty, Button.CommandParameterProperty) },
+#pragma warning disable CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(TextCell)}", (TextCell.CommandProperty, TextCell.CommandParameterProperty) },
-#pragma warning disable CS0618
- { $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ClickGestureRecognizer)}", (ClickGestureRecognizer.CommandProperty, ClickGestureRecognizer.CommandParameterProperty) },
-#pragma warning restore CS0618
+#pragma warning restore CS0618 // Type or member is obsolete
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(ImageButton)}", (ImageButton.CommandProperty, ImageButton.CommandParameterProperty) },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(MenuItem)}", (MenuItem.CommandProperty, MenuItem.CommandParameterProperty) },
{ $"{nameof(Microsoft)}.{nameof(Microsoft.Maui)}.{nameof(Microsoft.Maui.Controls)}.{nameof(RefreshView)}", (RefreshView.CommandProperty, RefreshView.CommandParameterProperty) },
From 901605670a069baf3281651d169db3ee587b4fb6 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 09:24:44 -0700
Subject: [PATCH 02/23] Update CommunityToolkit.Maui.Markup.UnitTests.csproj
---
.../CommunityToolkit.Maui.Markup.UnitTests.csproj | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
index da5ea552..3c0c4c4b 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
@@ -15,6 +15,7 @@
+
From ba7b9fe15633aba0cc3787820f6f497afe07d97b Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 09:31:57 -0700
Subject: [PATCH 03/23] Update Directory.Build.props
---
Directory.Build.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 2185ba93..f09ffe1f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -2,7 +2,7 @@
enable
- NETSDK1023
+ NETSDK1023;XCODE_26_0_PREVIEW
net10.0
preview
enable
From 2faecdc94353f41c4ca949319878a252fb3b6479 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 09:44:31 -0700
Subject: [PATCH 04/23] Update dotnet-build.yml
---
.github/workflows/dotnet-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index aed2fe15..0b2f191a 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -26,7 +26,7 @@ env:
PathToCommunityToolkitSampleCsproj: 'samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj'
PathToCommunityToolkitUnitTestCsproj: 'src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj'
PathToCommunityToolkitSourceGeneratorsCsproj: 'src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj'
- Xcode_Version: '26.0.1'
+ Xcode_Version: '16.4'
ShouldCheckDependencies: true
concurrency:
From 90ef4381584654dcdb52303f3230eba98b90be4c Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 09:52:40 -0700
Subject: [PATCH 05/23] Update dotnet-build.yml
---
.github/workflows/dotnet-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index 0b2f191a..50912a4b 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -49,7 +49,7 @@ jobs:
if: runner.os == 'macOS'
uses: maxim-lobanov/setup-xcode@v1
with:
- xcode-version: latest-stable
+ xcode-version: ${{ env.Xcode_Version }}
- name: Install Latest .NET SDK, v${{ env.NET_VERSION }}
uses: actions/setup-dotnet@v5
From 45219696fdbe078714e61abd1a532fb56813c1f2 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 12:26:52 -0700
Subject: [PATCH 06/23] Remove `RequiresUnreferencedCodeAttribute`
---
.../CommunityToolkit.Maui.Markup.Sample/AppShell.cs | 1 -
.../CommunityToolkit.Maui.Markup.Sample.csproj | 11 ++++++++---
.../HotReloadHandler.cs | 1 -
.../MauiProgram.cs | 4 +---
.../Pages/NewsPage.cs | 9 +++------
.../Pages/SettingsPage.cs | 1 -
.../Platforms/MacCatalyst/AppDelegate.cs | 4 +---
.../Platforms/iOS/AppDelegate.cs | 1 -
8 files changed, 13 insertions(+), 19 deletions(-)
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs b/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs
index 158749da..42c0bd8a 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/AppShell.cs
@@ -2,7 +2,6 @@
namespace CommunityToolkit.Maui.Markup.Sample;
-[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")]
partial class AppShell : Shell
{
static readonly ReadOnlyDictionary pageRouteMappingDictionary = new Dictionary(
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
index 5537b126..56364cc8 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
@@ -35,9 +35,10 @@
CsWinRT1028
-
-
-
+
+
true
@@ -75,4 +76,8 @@
+
+
+
+
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs b/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs
index 47d516a7..3657e01f 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/HotReloadHandler.cs
@@ -2,7 +2,6 @@
using System.Diagnostics.CodeAnalysis;
namespace CommunityToolkit.Maui.Markup.Sample;
-[RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")]
class HotReloadHandler : ICommunityToolkitHotReloadHandler
{
public async void OnHotReload(IReadOnlyList types)
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs b/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs
index 37af4d66..7646a4a1 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/MauiProgram.cs
@@ -1,10 +1,8 @@
-using System.Diagnostics.CodeAnalysis;
-using Microsoft.Extensions.Http.Resilience;
+using Microsoft.Extensions.Http.Resilience;
using Polly;
using Refit;
namespace CommunityToolkit.Maui.Markup.Sample;
-[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")]
public class MauiProgram
{
public static MauiApp CreateMauiApp()
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
index 0380a168..0d1f73de 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
@@ -47,8 +47,7 @@ protected override void OnAppearing()
static bool IsNullOrEmpty(in IEnumerable? enumerable) => !enumerable?.GetEnumerator().MoveNext() ?? true;
}
-
- [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")]
+
async void HandleSelectionChanged(object? sender, SelectionChangedEventArgs e)
{
ArgumentNullException.ThrowIfNull(sender);
@@ -84,15 +83,13 @@ bool TryRefreshCollectionView()
}
void HandleNumberOfTopStoriesToFetchChanged(object? sender, int e) => TryRefreshCollectionView();
-
- [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")]
+
Task NavigateToSettingsPage() => dispatcher.DispatchAsync(() =>
{
var route = AppShell.GetRoute();
return Shell.Current.GoToAsync(route);
});
-
- [RequiresUnreferencedCode("AppShell.GetRoute Requires Unreferenced Code")]
+
Task NavigateToNewsDetailPage(StoryModel storyModel) => dispatcher.DispatchAsync(() =>
{
var route = AppShell.GetRoute();
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs
index 45875e77..62eae681 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs
@@ -5,7 +5,6 @@ namespace CommunityToolkit.Maui.Markup.Sample.Pages;
sealed partial class SettingsPage : BaseContentPage
{
- [RequiresUnreferencedCode("Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")]
public SettingsPage(SettingsViewModel settingsViewModel) : base(settingsViewModel, "Settings")
{
Content = new AbsoluteLayout
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs
index 8ed035bf..45ddaa37 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/MacCatalyst/AppDelegate.cs
@@ -1,9 +1,7 @@
-using System.Diagnostics.CodeAnalysis;
-using Foundation;
+using Foundation;
namespace CommunityToolkit.Maui.Markup.Sample;
[Register(nameof(AppDelegate))]
-[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs
index 8ed035bf..530a2f46 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs
@@ -3,7 +3,6 @@
namespace CommunityToolkit.Maui.Markup.Sample;
[Register(nameof(AppDelegate))]
-[RequiresUnreferencedCode("SettingsViewModel Calls CommunityToolkit.Maui.Behaviors.NumericValidationBehavior.NumericValidationBehavior()")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
From dc4ab8a61976ca69897215d6213f59bd7a33af49 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 12:27:44 -0700
Subject: [PATCH 07/23] `dotnet format`
---
.../Pages/NewsPage.cs | 12 +++++-------
.../Pages/SettingsPage.cs | 3 +--
.../Platforms/iOS/AppDelegate.cs | 3 +--
.../BindableObjectExtensionsTests.cs | 3 +--
.../DynamicResourceHandlerTests.cs | 1 -
.../ElementExtensionsTests.cs | 1 -
6 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
index 0d1f73de..6d3ba6ef 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/NewsPage.cs
@@ -1,12 +1,10 @@
-using System.Diagnostics.CodeAnalysis;
-
-namespace CommunityToolkit.Maui.Markup.Sample.Pages;
+namespace CommunityToolkit.Maui.Markup.Sample.Pages;
sealed partial class NewsPage : BaseContentPage
{
readonly IDispatcher dispatcher;
readonly RefreshView refreshView;
-
+
public NewsPage(IDispatcher dispatcher,
NewsViewModel newsViewModel) : base(newsViewModel, "Top Stories")
{
@@ -47,7 +45,7 @@ protected override void OnAppearing()
static bool IsNullOrEmpty(in IEnumerable? enumerable) => !enumerable?.GetEnumerator().MoveNext() ?? true;
}
-
+
async void HandleSelectionChanged(object? sender, SelectionChangedEventArgs e)
{
ArgumentNullException.ThrowIfNull(sender);
@@ -83,13 +81,13 @@ bool TryRefreshCollectionView()
}
void HandleNumberOfTopStoriesToFetchChanged(object? sender, int e) => TryRefreshCollectionView();
-
+
Task NavigateToSettingsPage() => dispatcher.DispatchAsync(() =>
{
var route = AppShell.GetRoute();
return Shell.Current.GoToAsync(route);
});
-
+
Task NavigateToNewsDetailPage(StoryModel storyModel) => dispatcher.DispatchAsync(() =>
{
var route = AppShell.GetRoute();
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs
index 62eae681..261c2247 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Pages/SettingsPage.cs
@@ -1,5 +1,4 @@
-using System.Diagnostics.CodeAnalysis;
-using Microsoft.Maui.Layouts;
+using Microsoft.Maui.Layouts;
namespace CommunityToolkit.Maui.Markup.Sample.Pages;
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs
index 530a2f46..45ddaa37 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/Platforms/iOS/AppDelegate.cs
@@ -1,5 +1,4 @@
-using System.Diagnostics.CodeAnalysis;
-using Foundation;
+using Foundation;
namespace CommunityToolkit.Maui.Markup.Sample;
[Register(nameof(AppDelegate))]
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs
index 5500c31a..2d6f5287 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/BindableObjectExtensionsTests.cs
@@ -1,5 +1,4 @@
using System.Windows.Input;
-using BindableObjectViews;
using CommunityToolkit.Maui.Markup.UnitTests.Base;
using NUnit.Framework;
namespace CommunityToolkit.Maui.Markup.UnitTests
@@ -746,7 +745,7 @@ public void SupportDerivedElements()
.Invoke(l => l.Text = nameof(SupportDerivedElements))
.Assign(out DerivedFromLabel assignDerivedFromLabel),
Is.InstanceOf());
-
+
Assert.That(assignDerivedFromLabel, Is.InstanceOf());
});
}
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs
index 3129c81a..8b47803f 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/DynamicResourceHandlerTests.cs
@@ -1,5 +1,4 @@
using CommunityToolkit.Maui.Markup.UnitTests.Base;
-using CommunityToolkit.Maui.Markup.UnitTests.Mocks;
using NUnit.Framework;
namespace CommunityToolkit.Maui.Markup.UnitTests;
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs
index dbd8bf79..bf2e1833 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/ElementExtensionsTests.cs
@@ -1,5 +1,4 @@
using CommunityToolkit.Maui.Markup.UnitTests.Base;
-using CommunityToolkit.Maui.Markup.UnitTests.Mocks;
using NUnit.Framework;
namespace CommunityToolkit.Maui.Markup.UnitTests;
From 7238eed11f123839413d7bf9fdd424addbeb7d75 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 12:34:15 -0700
Subject: [PATCH 08/23] Remove AOT
---
.../CommunityToolkit.Maui.Markup.Sample.csproj | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
index 56364cc8..46f613e5 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
@@ -35,12 +35,10 @@
CsWinRT1028
-
-
-
- true
+
+ false
+ true
+ partial
From 7ff440aae4ac32f426fa1bee33bdaa1fcb9dd286 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 12:48:25 -0700
Subject: [PATCH 09/23] Update CommunityToolkit.Maui.Markup.Sample.csproj
---
.../CommunityToolkit.Maui.Markup.Sample.csproj | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
index 46f613e5..58aa1cfd 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
@@ -35,7 +35,10 @@
CsWinRT1028
-
+
+
+
false
true
partial
From 54197478e881607e760d2491fc82915cde6a5645 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 7 Oct 2025 12:48:47 -0700
Subject: [PATCH 10/23] Update Directory.Build.props
---
Directory.Build.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index f09ffe1f..96cb6c65 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -91,7 +91,7 @@
IL2090,IL2091,IL2092,IL2093,IL2094,IL2095,IL2096,IL2097,IL2098,IL2099,
IL2100,IL2101,IL2102,IL2103,IL2104,IL2105,IL2106,IL2107,IL2108,IL2109,
IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119,
- IL2120,IL2121,IL2122,
+ IL2120,IL2121,IL2122,IL2123,
IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056,
RS1038
From 038297ccf900fcd51c85530168bbd30a7f90b6d9 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 14 Oct 2025 14:31:52 -0700
Subject: [PATCH 11/23] Update to .NET 10 RC 2
---
.github/workflows/dotnet-build.yml | 4 ++--
Directory.Build.props | 2 +-
global.json | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index 50912a4b..aed2fe15 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -26,7 +26,7 @@ env:
PathToCommunityToolkitSampleCsproj: 'samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj'
PathToCommunityToolkitUnitTestCsproj: 'src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj'
PathToCommunityToolkitSourceGeneratorsCsproj: 'src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj'
- Xcode_Version: '16.4'
+ Xcode_Version: '26.0.1'
ShouldCheckDependencies: true
concurrency:
@@ -49,7 +49,7 @@ jobs:
if: runner.os == 'macOS'
uses: maxim-lobanov/setup-xcode@v1
with:
- xcode-version: ${{ env.Xcode_Version }}
+ xcode-version: latest-stable
- name: Install Latest .NET SDK, v${{ env.NET_VERSION }}
uses: actions/setup-dotnet@v5
diff --git a/Directory.Build.props b/Directory.Build.props
index 96cb6c65..f92a4841 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -20,7 +20,7 @@
all
- 10.0.0-rc.1.25452.6
+ 10.0.0-rc.2.25504.7
11.0.0
11.2.0
true
diff --git a/global.json b/global.json
index 02538019..44fce943 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "10.0.0-rc.1.25452.6",
+ "version": "10.0.100-rc.2.25502.107",
"rollForward": "latestFeature",
"allowPrerelease": true
}
From a1b69d03a9fd8baab873bc13f1949dbc6041a52c Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Thu, 6 Nov 2025 10:34:16 -0800
Subject: [PATCH 12/23] Remove `NextMauiPackageVersion`
---
Directory.Build.props | 3 +--
.../CommunityToolkit.Maui.Markup.Benchmarks.csproj | 2 +-
.../CommunityToolkit.Maui.Markup.SourceGenerators.csproj | 2 +-
.../CommunityToolkit.Maui.Markup.UnitTests.csproj | 1 -
.../CommunityToolkit.Maui.Markup.csproj | 2 +-
5 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index f92a4841..602a5dc6 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -21,8 +21,7 @@
10.0.0-rc.2.25504.7
- 11.0.0
- 11.2.0
+ 12.3.0
true
true
true
diff --git a/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj b/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj
index 52d7f4ec..728256f4 100644
--- a/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj
+++ b/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj b/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj
index 5fd8f106..0b8eebb3 100644
--- a/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj
+++ b/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
index 529c0b30..e99d3f4c 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
@@ -16,7 +16,6 @@
-
diff --git a/src/CommunityToolkit.Maui.Markup/CommunityToolkit.Maui.Markup.csproj b/src/CommunityToolkit.Maui.Markup/CommunityToolkit.Maui.Markup.csproj
index 0290633e..085469fe 100644
--- a/src/CommunityToolkit.Maui.Markup/CommunityToolkit.Maui.Markup.csproj
+++ b/src/CommunityToolkit.Maui.Markup/CommunityToolkit.Maui.Markup.csproj
@@ -56,7 +56,7 @@
-
+
From baa638e768ebcadaa086febdb983366b4d7f779d Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Mon, 10 Nov 2025 15:56:27 -0800
Subject: [PATCH 13/23] Use `macos-26`
---
.github/workflows/dotnet-build.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index c38ede69..20ecf277 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -40,7 +40,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- os: [windows-latest, macos-15]
+ os: [windows-latest, macos-26]
steps:
- name: Checkout code
uses: actions/checkout@v5
@@ -85,7 +85,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- os: [windows-latest, macos-15]
+ os: [windows-latest, macos-26]
steps:
- name: Checkout code
uses: actions/checkout@v5
From 6e850556894b4c85a2fca6d7363528dd785b9f6d Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Mon, 10 Nov 2025 16:02:14 -0800
Subject: [PATCH 14/23] Use `env.Xcode_Version`
---
.github/workflows/dotnet-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index 20ecf277..81ffdec7 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -49,7 +49,7 @@ jobs:
if: runner.os == 'macOS'
uses: maxim-lobanov/setup-xcode@v1
with:
- xcode-version: latest-stable
+ xcode-version: ${{ env.Xcode_Version }}
- name: Install Latest .NET SDK, v${{ env.NET_VERSION }}
uses: actions/setup-dotnet@v5
From e797438254f7f6998fb199e105c89a013d6e1873 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Mon, 10 Nov 2025 16:19:20 -0800
Subject: [PATCH 15/23] Revert `preview`
---
.github/workflows/dotnet-build.yml | 4 ----
global.json | 4 ++--
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index 81ffdec7..7defe6fa 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -55,7 +55,6 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'preview'
- uses: actions/setup-java@v5
with:
@@ -112,7 +111,6 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'preview'
- uses: actions/setup-java@v5
with:
@@ -206,7 +204,6 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'preview'
- name: Download NuGet List
uses: actions/download-artifact@v6
@@ -259,7 +256,6 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
- dotnet-quality: 'preview'
- name: Download signed packages for ${{ matrix.platform }}
uses: actions/download-artifact@v6
diff --git a/global.json b/global.json
index 44fce943..fe7e453b 100644
--- a/global.json
+++ b/global.json
@@ -1,7 +1,7 @@
{
"sdk": {
- "version": "10.0.100-rc.2.25502.107",
+ "version": "10.0.100",
"rollForward": "latestFeature",
- "allowPrerelease": true
+ "allowPrerelease": false
}
}
\ No newline at end of file
From 6a7b3ec0eae3b3ec7cec079d340c40165f66d8a3 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Mon, 10 Nov 2025 16:21:01 -0800
Subject: [PATCH 16/23] Use `ga`
---
.github/workflows/benchmarks.yml | 2 +-
.github/workflows/dotnet-build.yml | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml
index c2bafb50..cebdf031 100644
--- a/.github/workflows/benchmarks.yml
+++ b/.github/workflows/benchmarks.yml
@@ -42,7 +42,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.LATEST_NET_VERSION }}
- dotnet-quality: 'preview'
+ dotnet-quality: 'ga'
- name: Install .NET MAUI Workload
run: |
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index 7defe6fa..e855aef5 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -55,6 +55,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
+ dotnet-quality: 'ga'
- uses: actions/setup-java@v5
with:
@@ -111,6 +112,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
+ dotnet-quality: 'ga'
- uses: actions/setup-java@v5
with:
@@ -204,6 +206,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
+ dotnet-quality: 'ga'
- name: Download NuGet List
uses: actions/download-artifact@v6
@@ -256,6 +259,7 @@ jobs:
uses: actions/setup-dotnet@v5
with:
dotnet-version: ${{ env.NET_VERSION }}
+ dotnet-quality: 'ga'
- name: Download signed packages for ${{ matrix.platform }}
uses: actions/download-artifact@v6
From 1b0c68e25f75f684f5def6bbbb1df3fb70543dc7 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Mon, 10 Nov 2025 16:35:13 -0800
Subject: [PATCH 17/23] Migrate to `slnx`
---
.github/workflows/dotnet-build.yml | 4 +-
.../CommunityToolkit.Maui.Markup.Sample.sln | 63 -------------------
.../CommunityToolkit.Maui.Markup.Sample.slnx | 16 +++++
src/CommunityToolkit.Maui.Markup.sln | 50 ---------------
src/CommunityToolkit.Maui.Markup.slnx | 11 ++++
5 files changed, 29 insertions(+), 115 deletions(-)
delete mode 100644 samples/CommunityToolkit.Maui.Markup.Sample.sln
create mode 100644 samples/CommunityToolkit.Maui.Markup.Sample.slnx
delete mode 100644 src/CommunityToolkit.Maui.Markup.sln
create mode 100644 src/CommunityToolkit.Maui.Markup.slnx
diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml
index e855aef5..6f7c65ca 100644
--- a/.github/workflows/dotnet-build.yml
+++ b/.github/workflows/dotnet-build.yml
@@ -20,8 +20,8 @@ env:
NugetPackageVersion: '99.0.0-preview${{ github.run_number }}' # Only used for PR builds
NET_VERSION: '10.0.x'
RunPoliCheck: false
- PathToLibrarySolution: 'src/CommunityToolkit.Maui.Markup.sln'
- PathToSamplesSolution: 'samples/CommunityToolkit.Maui.Markup.Sample.sln'
+ PathToLibrarySolution: 'src/CommunityToolkit.Maui.Markup.slnx'
+ PathToSamplesSolution: 'samples/CommunityToolkit.Maui.Markup.Sample.slnx'
PathToCommunityToolkitCsproj: 'src/CommunityToolkit.Maui.Markup/CommunityToolkit.Maui.Markup.csproj'
PathToCommunityToolkitSampleCsproj: 'samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj'
PathToCommunityToolkitUnitTestCsproj: 'src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj'
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample.sln b/samples/CommunityToolkit.Maui.Markup.Sample.sln
deleted file mode 100644
index 14dd228a..00000000
--- a/samples/CommunityToolkit.Maui.Markup.Sample.sln
+++ /dev/null
@@ -1,63 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.0.31606.5
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Maui.Markup.Sample", "CommunityToolkit.Maui.Markup.Sample\CommunityToolkit.Maui.Markup.Sample.csproj", "{A15CD688-94E8-483B-8B87-A173B2DD0E40}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Maui.Markup", "..\src\CommunityToolkit.Maui.Markup\CommunityToolkit.Maui.Markup.csproj", "{A4511CE3-FBBE-467E-AC49-522D3D308189}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FB2C97E0-5C47-4A80-BE66-6DE982933BD0}"
- ProjectSection(SolutionItems) = preProject
- ..\.editorconfig = ..\.editorconfig
- ..\Directory.Build.props = ..\Directory.Build.props
- ..\global.json = ..\global.json
- EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Maui.Markup.UnitTests", "..\src\CommunityToolkit.Maui.Markup.UnitTests\CommunityToolkit.Maui.Markup.UnitTests.csproj", "{F45A2C29-DDD2-49A8-B4D9-57150F80AD36}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{A919D3AA-043D-441B-9DF5-18ED84B7FC08}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Maui.Markup.SourceGenerators", "..\src\CommunityToolkit.Maui.Markup.SourceGenerators\CommunityToolkit.Maui.Markup.SourceGenerators.csproj", "{533792FE-99CD-4B5B-A8B2-51A8BE3852A5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommunityToolkit.Maui.Markup.Benchmarks", "..\src\CommunityToolkit.Maui.Markup.Benchmarks\CommunityToolkit.Maui.Markup.Benchmarks.csproj", "{8C1B7D06-75D7-40AC-9FDB-344BF5FCCD5E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A15CD688-94E8-483B-8B87-A173B2DD0E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A15CD688-94E8-483B-8B87-A173B2DD0E40}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A15CD688-94E8-483B-8B87-A173B2DD0E40}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
- {A15CD688-94E8-483B-8B87-A173B2DD0E40}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A15CD688-94E8-483B-8B87-A173B2DD0E40}.Release|Any CPU.Build.0 = Release|Any CPU
- {A15CD688-94E8-483B-8B87-A173B2DD0E40}.Release|Any CPU.Deploy.0 = Release|Any CPU
- {A4511CE3-FBBE-467E-AC49-522D3D308189}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A4511CE3-FBBE-467E-AC49-522D3D308189}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A4511CE3-FBBE-467E-AC49-522D3D308189}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A4511CE3-FBBE-467E-AC49-522D3D308189}.Release|Any CPU.Build.0 = Release|Any CPU
- {F45A2C29-DDD2-49A8-B4D9-57150F80AD36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F45A2C29-DDD2-49A8-B4D9-57150F80AD36}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F45A2C29-DDD2-49A8-B4D9-57150F80AD36}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F45A2C29-DDD2-49A8-B4D9-57150F80AD36}.Release|Any CPU.Build.0 = Release|Any CPU
- {533792FE-99CD-4B5B-A8B2-51A8BE3852A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {533792FE-99CD-4B5B-A8B2-51A8BE3852A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {533792FE-99CD-4B5B-A8B2-51A8BE3852A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {533792FE-99CD-4B5B-A8B2-51A8BE3852A5}.Release|Any CPU.Build.0 = Release|Any CPU
- {8C1B7D06-75D7-40AC-9FDB-344BF5FCCD5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8C1B7D06-75D7-40AC-9FDB-344BF5FCCD5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8C1B7D06-75D7-40AC-9FDB-344BF5FCCD5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8C1B7D06-75D7-40AC-9FDB-344BF5FCCD5E}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {A15CD688-94E8-483B-8B87-A173B2DD0E40} = {A919D3AA-043D-441B-9DF5-18ED84B7FC08}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572}
- EndGlobalSection
-EndGlobal
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample.slnx b/samples/CommunityToolkit.Maui.Markup.Sample.slnx
new file mode 100644
index 00000000..d6538348
--- /dev/null
+++ b/samples/CommunityToolkit.Maui.Markup.Sample.slnx
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/CommunityToolkit.Maui.Markup.sln b/src/CommunityToolkit.Maui.Markup.sln
deleted file mode 100644
index 044c1144..00000000
--- a/src/CommunityToolkit.Maui.Markup.sln
+++ /dev/null
@@ -1,50 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.0.31512.422
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Maui.Markup", "CommunityToolkit.Maui.Markup\CommunityToolkit.Maui.Markup.csproj", "{329C6136-9A8E-4E46-93E1-930CC032D073}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Maui.Markup.UnitTests", "CommunityToolkit.Maui.Markup.UnitTests\CommunityToolkit.Maui.Markup.UnitTests.csproj", "{480F4FB8-F50A-4349-B5B6-C4D6D9151343}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{478D53B4-48B3-4100-BF4D-60F3FC77DE81}"
- ProjectSection(SolutionItems) = preProject
- ..\.editorconfig = ..\.editorconfig
- ..\Directory.Build.props = ..\Directory.Build.props
- ..\global.json = ..\global.json
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommunityToolkit.Maui.Markup.SourceGenerators", "CommunityToolkit.Maui.Markup.SourceGenerators\CommunityToolkit.Maui.Markup.SourceGenerators.csproj", "{C66CEA39-565E-479C-974D-72795D3502CB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommunityToolkit.Maui.Markup.Benchmarks", "CommunityToolkit.Maui.Markup.Benchmarks\CommunityToolkit.Maui.Markup.Benchmarks.csproj", "{9A46B6CE-CC4B-4F26-80F8-779C94A88C18}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {329C6136-9A8E-4E46-93E1-930CC032D073}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {329C6136-9A8E-4E46-93E1-930CC032D073}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {329C6136-9A8E-4E46-93E1-930CC032D073}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {329C6136-9A8E-4E46-93E1-930CC032D073}.Release|Any CPU.Build.0 = Release|Any CPU
- {480F4FB8-F50A-4349-B5B6-C4D6D9151343}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {480F4FB8-F50A-4349-B5B6-C4D6D9151343}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {480F4FB8-F50A-4349-B5B6-C4D6D9151343}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {480F4FB8-F50A-4349-B5B6-C4D6D9151343}.Release|Any CPU.Build.0 = Release|Any CPU
- {C66CEA39-565E-479C-974D-72795D3502CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C66CEA39-565E-479C-974D-72795D3502CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C66CEA39-565E-479C-974D-72795D3502CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C66CEA39-565E-479C-974D-72795D3502CB}.Release|Any CPU.Build.0 = Release|Any CPU
- {9A46B6CE-CC4B-4F26-80F8-779C94A88C18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9A46B6CE-CC4B-4F26-80F8-779C94A88C18}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9A46B6CE-CC4B-4F26-80F8-779C94A88C18}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9A46B6CE-CC4B-4F26-80F8-779C94A88C18}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {42B065EB-DA54-40BE-B676-3D47D59A81F2}
- EndGlobalSection
-EndGlobal
diff --git a/src/CommunityToolkit.Maui.Markup.slnx b/src/CommunityToolkit.Maui.Markup.slnx
new file mode 100644
index 00000000..d222d918
--- /dev/null
+++ b/src/CommunityToolkit.Maui.Markup.slnx
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
From 67cda5572ba02511b8207c39deb5a8a1192ea011 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Mon, 10 Nov 2025 17:00:04 -0800
Subject: [PATCH 18/23] Revert `Microsoft.CodeAnalysis.CSharp` to latest stable
release
---
.../CommunityToolkit.Maui.Markup.Benchmarks.csproj | 2 +-
.../CommunityToolkit.Maui.Markup.SourceGenerators.csproj | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj b/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj
index 728256f4..52d7f4ec 100644
--- a/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj
+++ b/src/CommunityToolkit.Maui.Markup.Benchmarks/CommunityToolkit.Maui.Markup.Benchmarks.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj b/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj
index 0b8eebb3..5fd8f106 100644
--- a/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj
+++ b/src/CommunityToolkit.Maui.Markup.SourceGenerators/CommunityToolkit.Maui.Markup.SourceGenerators.csproj
@@ -8,7 +8,7 @@
-
+
From 451a6adcf0db34c91eac078815f2010f5dbc8546 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Mon, 10 Nov 2025 17:00:49 -0800
Subject: [PATCH 19/23] Update MauiPackageVersion to 10.0.0
---
Directory.Build.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 602a5dc6..238668ec 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -20,7 +20,7 @@
all
- 10.0.0-rc.2.25504.7
+ 10.0.0
12.3.0
true
true
From 945dedcdd45fdcd7a69a0010f9e6a84bb4263873 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 11 Nov 2025 08:16:18 -0800
Subject: [PATCH 20/23] Refactor TypedBindingExtensionsTests to use button
---
.../TypedBindingExtensionsTests.cs | 22 +++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs b/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs
index f4651e71..d5988a09 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/TypedBindingExtensionsTests.cs
@@ -51,15 +51,15 @@ public void BindCommandThrowsArgumentNullExceptionWhenParameterHandlersNull()
[Test]
public void BindCommandWithDefaults()
{
- var textCell = new Button
+ var button = new Button
{
BindingContext = viewModel
};
- textCell.BindCommand(static (ViewModel vm) => vm.Command);
+ button.BindCommand(static (ViewModel vm) => vm.Command);
- BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandProperty, BindingMode.Default, viewModel);
- Assert.That(BindingHelpers.GetBinding(textCell, Button.CommandParameterProperty), Is.Null);
+ BindingHelpers.AssertTypedBindingExists(button, Button.CommandProperty, BindingMode.Default, viewModel);
+ Assert.That(BindingHelpers.GetBinding(button, Button.CommandParameterProperty), Is.Null);
}
[Test]
@@ -67,24 +67,24 @@ public void BindCommandWithParameters()
{
ArgumentNullException.ThrowIfNull(viewModel);
- var textCell = new Button
+ var button = new Button
{
BindingContext = viewModel
};
- textCell.BindCommand(
+ button.BindCommand(
static (ViewModel vm) => vm.Command,
commandBindingMode: BindingMode.OneTime,
parameterGetter: static (ViewModel vm) => vm.Id,
parameterBindingMode: BindingMode.OneWay);
- BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandProperty, BindingMode.OneTime, viewModel);
- BindingHelpers.AssertTypedBindingExists(textCell, Button.CommandParameterProperty, BindingMode.OneWay, viewModel);
+ BindingHelpers.AssertTypedBindingExists(button, Button.CommandProperty, BindingMode.OneTime, viewModel);
+ BindingHelpers.AssertTypedBindingExists(button, Button.CommandParameterProperty, BindingMode.OneWay, viewModel);
Assert.Multiple(() =>
{
- Assert.That(viewModel.Command, Is.EqualTo(textCell.Command));
- Assert.That(viewModel.Id, Is.EqualTo(textCell.CommandParameter));
+ Assert.That(viewModel.Command, Is.EqualTo(button.Command));
+ Assert.That(viewModel.Id, Is.EqualTo(button.CommandParameter));
});
}
@@ -778,4 +778,4 @@ public NestedViewModel? Model
set => SetProperty(ref field, value);
}
}
-}
\ No newline at end of file
+}
From 65d20956a275a65a314d42c3469ea93e303ef0ab Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 11 Nov 2025 08:16:44 -0800
Subject: [PATCH 21/23] Update Directory.Build.props
---
Directory.Build.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 238668ec..b9a84e26 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -2,7 +2,7 @@
enable
- NETSDK1023;XCODE_26_0_PREVIEW
+ NETSDK1023
net10.0
preview
enable
From 29eb001423bba27e440baa9fb14532e41657ba22 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 11 Nov 2025 08:33:41 -0800
Subject: [PATCH 22/23] Update NuGet Packages
---
.../CommunityToolkit.Maui.Markup.Sample.csproj | 2 +-
.../CommunityToolkit.Maui.Markup.UnitTests.csproj | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
index db2ffd85..119a16fc 100644
--- a/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
+++ b/samples/CommunityToolkit.Maui.Markup.Sample/CommunityToolkit.Maui.Markup.Sample.csproj
@@ -61,7 +61,7 @@
-
+
diff --git a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
index 8cd86c80..d4ca0d56 100644
--- a/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
+++ b/src/CommunityToolkit.Maui.Markup.UnitTests/CommunityToolkit.Maui.Markup.UnitTests.csproj
@@ -13,7 +13,7 @@
-
+
From 41265bf0fcbd498e19d2c0f73821189803f1df86 Mon Sep 17 00:00:00 2001
From: Brandon Minnick <13558917+TheCodeTraveler@users.noreply.github.com>
Date: Tue, 11 Nov 2025 08:38:20 -0800
Subject: [PATCH 23/23] update to `macos-26`
---
.github/workflows/benchmarks.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml
index cebdf031..09b5216b 100644
--- a/.github/workflows/benchmarks.yml
+++ b/.github/workflows/benchmarks.yml
@@ -27,7 +27,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- os: [windows-latest, macos-15]
+ os: [windows-latest, macos-26]
steps:
- name: Checkout code