You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Xcode 27.0 was announced on June 9th 2026 at WWDC, We will be working on supporting it in the upcoming months. So stay tuned! We will be updating this issue as we make progress on it. For now we do not have Xcode 27.0 supported packages just yet.
Release Check List
This is a checklist for what to do for every release.
Copy this list into a new issue and then check off as the release progresses.
✅ Checklist
Xcode 27.0
Create new milestone in GitHub.
Create a new issue with a copy of this list, assign it to the milestone.
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).
Update API diff (the STABLE_NUGET_VERSION_* variables in Make.config) for the main branch. Can only be done after the NuGets have been published to nuget.org.
Link to PR
Update docs by executing docs/sync-mobile-docs.sh. Beware if docs were modified in the docs-mobile repository by somebody else, any such changes will have to be copied back first.
Create new monikers (add link to dev.azure.com ticket)
Add reference docs (add link to dotnet/macios-api-docs PR)
Flip the monikers from prerelease to live (add link to dev.azure.com ticket)
Make sure all items in the milestone for the current release have been closed.
Close this issue & close the milestone.
Wonder about life as you consider the impossibility of actually reaching this point, because you can't close the milestone before all issues have been closed, and you can't close this issue until checking off all items, which you can't do until you've closed the milestone. Decide to schedule yet another viewing of Life of Brian to cope celebrate the release 🍾.
WARNING:
Warning
Do not update to macOS 27 until we release support for it, 🚨 macOS 27 does not support Xcode 26.x Series 🚨
🚨 Announcements 🚨
We have released our first preview based on Xcode 27.0 Beta 4, give it a try and let us know!
https://github.com/dotnet/macios/releases/tag/dotnet-10.0.1xx-xcode27.0-P1-10417
Old Announcements, click to expand!
Initial announcement
Xcode 27.0 was announced on June 9th 2026 at WWDC, We will be working on supporting it in the upcoming months. So stay tuned! We will be updating this issue as we make progress on it. For now we do not have Xcode 27.0 supported packages just yet.
Release Check List
This is a checklist for what to do for every release.
Copy this list into a new issue and then check off as the release progresses.
✅ Checklist
Xcode 27.0
Beta 1
xcodeX[.Y]branch - this needs deciding where to branch from (which is outside the scope of this document). Push this branch tooriginwith no changes.Make.versions:Make.config:xcodeChannelvalue intools/devops/automation/templates/variables/common.yml. Change toBetaif using an Xcode beta or release candidate, and switch back toStablewith the final (stable) Xcode release.builds/Version-*.plist.infiles.Beta X
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).xcodeX[.Y]branch have been merged and no more changes are desired for the release.xcodeX[.Y]branch intomain.maininto the target release branch (for instance this wasrelease/9.0.1xxfor the Xcode 16.4 release).net9.0_18.5ornet9.0_15.5for our Xcode 16.4 release.Release process
STABLE_NUGET_VERSION_*variables inMake.config) for themainbranch. Can only be done after the NuGets have been published to nuget.org.docs/sync-mobile-docs.sh. Beware if docs were modified in the docs-mobile repository by somebody else, any such changes will have to be copied back first.copecelebrate the release 🍾.