Skip to content

Xcode 26.1 Support #24066

@rolfbjarne

Description

@rolfbjarne

✅ Checklist

Xcode 26.1

  • Create new milestone in GitHub.
  • Create a new issue with a copy of this list, assign it to the milestone.

Beta 1

  • Update binding status in wiki (read instructions in the Makefile in the wiki's git repository)
  • Create a new xcodeX[.Y] branch - this needs deciding where to branch from (which is outside the scope of this document). Push this branch to origin with no changes.
  • Create PR with an Xcode bump.
    • Update the following values in Make.versions:
      • *_NUGET_OS_VERSION
    • Update the following values in Make.config:
      • XCODE_VERSION
      • XCODE_URL
      • XCODE_DEVELOPER_ROOT
    • Update the xcodeChannel value in tools/devops/automation/templates/variables/common.yml. Change to Beta if using an Xcode beta or release candidate, and switch back to Stable with the final (stable) Xcode release.
    • Add the new OS versions to the builds/Version-*.plist.in files.
    • Build and fix any issues.
    • Run the following tests locally, and fix any issues (these are the ones that typically fail in Xcode bumps, but there may be other failing tests as well - CI will report any such failures once the PR is created):
      • xtro
      • monotouch-test
      • introspection
      • cecil
      • bgen
  • Bind APIs!

Beta 2

  • Update binding status in wiki.
  • Create PR with an Xcode bump.
    • Build and fix any issues.
    • Run the following tests locally, and fix any issues (these are the ones that typically fail in Xcode bumps, but there may be other failing tests as well - CI will report any such failures once the PR is created):
      • xtro
      • monotouch-test
      • introspection
      • cecil
      • bgen
  • Update any existing API bindings PRs if needed.
  • Bind APIs!

Beta 3

  • Update binding status in wiki.
  • Create PR with an Xcode bump.
    • Build and fix any issues.
    • Run the following tests locally, and fix any issues (these are the ones that typically fail in Xcode bumps, but there may be other failing tests as well - CI will report any such failures once the PR is created):
      • xtro
      • monotouch-test
      • introspection
      • cecil
      • bgen
  • Update any existing API bindings PRs if needed.
  • Bind APIs!

Pre-release process

This happens after the stable version of Xcode has been released and the xcodeX[.Y] branch has been updated according to the previous section(s).

  • Make sure all the PRs targeting the xcodeX[.Y] branch have been merged and no more changes are desired for the release.
  • Merge the xcodeX[.Y] branch into main.
  • Merge main into the target release branch (for instance this was release/9.0.1xx for the Xcode 16.4 release).
  • Review the API diff to make sure all api differences are expected.
  • Make sure the release branch created packages after the merge and pushed them to maestro.
  • Create VS insertion (this may not happen for all releases, sometimes we release only to NuGet).
  • Let MAUI know about our new package names, so they can update their darc dependencies. For instance, these dependencies: https://github.com/dotnet/maui/blob/408a1cc69d6a120cafa4e75ae30411f1ec48fa3a/eng/Version.Details.xml#L15-L30 would have to be updated to net9.0_18.5 or net9.0_15.5 for our Xcode 16.4 release.

Release process

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions