Skip to content

Modernize to .NET 9, MAUI, and SkiaSharp v3#372

Merged
follesoe merged 67 commits intomicrocharts-dotnet:mainfrom
follesoe:main
Apr 16, 2026
Merged

Modernize to .NET 9, MAUI, and SkiaSharp v3#372
follesoe merged 67 commits intomicrocharts-dotnet:mainfrom
follesoe:main

Conversation

@follesoe
Copy link
Copy Markdown
Contributor

Summary

  • Upgrade to .NET 9 across all libraries and sample apps (Core, MAUI, iOS, Android)
  • Update to SkiaSharp v3 (v3.116.1) and fix obsolete API warnings
  • Remove legacy platforms: Xamarin.Forms, Avalonia, Eto, Uno, and macOS — focusing the project on .NET MAUI going forward
  • MAUI modernizations: compiled bindings, replace Frame with Border, remove Compatibility package, add net9.0-maccatalyst target
  • Build and packaging improvements: new CI workflow for MAUI, meta package updates, helper build/clean scripts, fix NU5128 warning
  • Code quality: use C# list expressions, remove obsolete properties and AssemblyInfo files, add .editorconfig

This PR brings the upstream repo in sync with the work done in the follesoe/Microcharts fork. As org owner, the goal is to consolidate development back into the main microcharts-dotnet repo.

Test plan

  • Verify CI builds pass for Core, MAUI, iOS, and Android targets
  • Confirm NuGet packages build correctly via buildpackages-maui.sh
  • Test MAUI sample app on iOS and Android simulators
  • Verify Android sample app launches and renders charts
  • Check that removed platform projects (Forms, Avalonia, Eto, Uno, macOS) have no remaining references

🤖 Generated with Claude Code

workgroupengineering and others added 30 commits July 22, 2023 13:02
reverted changes
Implementing changes to the pipeline to reflect require changes for issue 359

This
- Sets up Android
- Installs Android 29
- Sets up JDK 11

microcharts-dotnet#359
follesoe and others added 29 commits February 10, 2025 09:41
The latest stable release.
Mostly related to the separation of font-related props from SKPaint to SKFont.
The Frame component is obsolete in MAUI v9.
It contains legacy code examples that the library supports but is marked as obsolete.
As Frame is deprecated.
Old .NET 6 properties are no longer needed.
…project structure

The CI was failing because actions/upload-artifact@v3 is now blocked by GitHub.
Also updated the workflow to use Microcharts.Maui.sln and dotnet CLI instead of
msbuild, removed build steps for deleted projects (macOS, UWP, WinUI), and fixed
the mac solution filter to reference existing projects only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Upgrade all target frameworks from net9.0 to net10.0 (including
platform-specific TFMs for iOS, Android, and macCatalyst). Update
GitHub Actions workflows to use .NET 10.0.x SDK. Update metapackage
nuspec to target net10.0 with updated platform versions. Use
$(MauiVersion) for Microsoft.Maui.Controls to pick up the SDK-provided
version automatically.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The separate restore + build --no-restore pattern missed runtime packs
for win-x64 and maccatalyst-arm64. Using a single dotnet build (which
restores implicitly) fixes the Windows NETSDK1112/NETSDK1047 errors.

Also added an Xcode 26.3 selection step for macOS, since the .NET 10
iOS/macCatalyst SDK requires it. Falls back with a warning if not
available on the runner image.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace manual Xcode path detection with the setup-xcode action,
selecting the latest available version on the runner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Match the approach used in BlueyeApp: use the macos-26 runner which has
Xcode 26.3 available, and select it explicitly via setup-xcode action.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@follesoe follesoe merged commit 25dbdd8 into microcharts-dotnet:main Apr 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants