Skip to content

Xcode 26.2 Support #24199

@rolfbjarne

Description

@rolfbjarne

✅ Checklist

Xcode X.Y

  • 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 X

  • 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

Type

No fields configured for Epic.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions