Skip to content

Target .NET 10 only and refresh public API baselines - #1560

Open
jonathanpeppers wants to merge 1 commit into
mainfrom
jonathanpeppers-net-10-migration
Open

jonathanpeppers wants to merge 1 commit into
mainfrom
jonathanpeppers-net-10-migration

Conversation

@jonathanpeppers

Copy link
Copy Markdown
Member

Summary

  • Switch the default managed target framework to net10.0 and target Android bindings exclusively at net10.0-android36.0.
  • Remove .NET 9 targets and package asset folders; align Android provisioning, CI test-assembly paths, tools, package tests, issue templates, and documentation.
  • Regenerate API baselines for all 704 binding projects, updating 20 PublicAPI.Unshipped.txt files. This refresh also captures previously stale baseline entries for the Maven versions already configured in the repository; config.json is unchanged.

Validation

  • Full Release build of all 704 generated binding projects and subsequent incremental build succeeded.
  • Binderator tests: 21 passed; build-download tests: 25 passed.
  • Package analyzer and both package-test runners compiled for .NET 10.
  • Verified representative binding and no-bindings NuGet packages contain only .NET 10 framework-specific assets.
  • Confirmed GitHub Actions selects net10.0-android36.0 and no .NET 9 framework references remain.

All changes are in a single commit.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5c518e1c-885a-4b21-a9cc-36eb4f11f210
Copilot AI balanced review requested due to automatic review settings October 12, 2026 21:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The target-framework migration is consistent across build, packaging, CI, tests, documentation, and generated baselines.

0 open findings

What changed in this PR

Moves the repository to .NET 10 and Android API 36 exclusively while refreshing generated public API baselines.

Changes:

  • Removes .NET 9 targets and package asset folders.
  • Aligns build, CI, tests, tooling, documentation, and issue templates with .NET 10.
  • Refreshes baselines for currently configured Maven artifacts.
File Description
Directory.Build.props Sets the sole Android target to net10.0-android36.0.
BUILDING.md Updates build prerequisites.
.github/​copilot-instructions.md Documents the sole supported target.
.github/​ISSUE_TEMPLATE/​01-use-package.yml Removes .NET 9 selection.
.github/​ISSUE_TEMPLATE/​04-other.yml Removes .NET 9 selection.
build/​ci/​variables.yml Selects .NET 10 test outputs.
build/​scripts/​provision-android/​provision-android.csproj Provisions the API 36 target.
docs/​buildtoolsinventory.csv Refreshes tool inventory.
docs/​buildtoolsinventory.md Refreshes tool inventory documentation.
tests/​Directory.Build.props Targets test projects at .NET 10.
tests/​allpackages/​TestAllIndividualPackages.cs Generates .NET 10 package tests.
tests/​extended/​TestAllIndividualPackages.cs Generates .NET 10 extended tests.
util/​Directory.Build.props Targets utilities at .NET 10.
util/​package-info/​PackageAnalyzer.csproj Uses the shared utility target.
util/​package-info/​README.md Updates prerequisites and troubleshooting.
source/​dev.chrisbanes.snapper/​snapper/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Snapper API baseline.
source/​com.google.firebase/​firebase-storage/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Storage API baseline.
source/​com.google.firebase/​firebase-sessions/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Sessions API baseline.
source/​com.google.firebase/​firebase-messaging/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Messaging API baseline.
source/​com.google.firebase/​firebase-database/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Database API baseline.
source/​com.google.firebase/​firebase-crashlytics/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Crashlytics API baseline.
source/​com.google.firebase/​firebase-crashlytics-ndk/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Crashlytics NDK baseline.
source/​com.google.firebase/​firebase-config/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Remote Config baseline.
source/​com.google.crypto.tink/​tink-android/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Tink parameter names.
source/​com.google.android.material/​compose-theme-adapter-3/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Compose adapter baseline.
source/​com.google.android.gms/​play-services-oss-licenses/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes OSS Licenses baseline.
source/​com.google.ai.edge.litert/​litert/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes LiteRT status APIs.
source/​com.android.billingclient/​billing/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Billing 9.1 APIs.
source/​androidx.room/​room-runtime-android/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Room API baseline.
source/​androidx.media3/​media3-transformer/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Transformer version constants.
source/​androidx.media3/​media3-extractor/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Extractor APIs.
source/​androidx.media3/​media3-exoplayer/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes ExoPlayer APIs.
source/​androidx.media3/​media3-common/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes Media3 common APIs.
source/​androidx.lifecycle/​lifecycle-viewmodel-compose-android/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes ViewModel Compose APIs.
source/​androidx.compose.material3/​material3-window-size-class-android/​PublicAPI/​PublicAPI.Unshipped.txt Refreshes window-size APIs.

🧠 Review effort: Balanced


💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

This branch has not been deployed

No deployments
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.

2 participants