Skip to content

Add support for Xcode 27#8830

Merged
tgoyne merged 6 commits into
communityfrom
tg/xcode-27
Jun 14, 2026
Merged

Add support for Xcode 27#8830
tgoyne merged 6 commits into
communityfrom
tg/xcode-27

Conversation

@tgoyne

@tgoyne tgoyne commented Jun 14, 2026

Copy link
Copy Markdown
Member

No description provided.

@State is no longer a property wrapper in Xcode 27. It's a macro that generates code that does not work with `where`. This replaces the name with one that is not a reserved keyword of the Swift compiler.

It also includes changes to Base.xcconfig and TestBase.xcconfig for Xcode 27. These values differ from previous ones because they are the minimum versions Xcode 27 supports.

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.

Pull request overview

This PR updates Realm Swift’s build/CI and compatibility settings in preparation for Xcode 27, including a SwiftUI workaround for a compiler/macro interaction and a realm-core bump.

Changes:

  • Update CI/build scripts and GitHub workflows to use newer Xcode 26.x patch/minor versions (26.4.1, 26.5) and refresh the documentation build version.
  • Adjust SwiftUI helper implementation of the backticked where property under newer compilers to avoid macro expansion issues.
  • Bump realm-core from 20.1.4 to 20.1.5 and update related dependency metadata.

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
scripts/pr-ci-matrix.rb Updates the generated PR CI matrix Xcode versions and docs Xcode selection.
scripts/package_examples.rb Updates the Xcode versions used when duplicating/packaging Swift examples.
RealmSwift/SwiftUI.swift Adds compiler-gated implementation for where to work around macro/backtick issues.
RealmSwift.podspec Updates CocoaPods deployment targets and Xcode-major deployment mappings.
Realm.podspec Updates CocoaPods deployment targets and Xcode-major deployment mappings.
Package.swift Bumps realm-core version pin.
Gemfile.lock Adds a new Ruby platform entry.
examples/installation/Podfile Updates example installation platform minimum versions.
dependencies.list Bumps realm-core version reference.
Configuration/TestBase.xcconfig Raises test deployment targets.
Configuration/Base.xcconfig Adds Xcode 27 deployment target mappings and updates Swift version mapping.
CHANGELOG.md Adds release notes entry for Xcode 27 compilation fix and realm-core bump.
.github/workflows/publish-release.yml Updates release workflow Xcode version environment variables.
.github/workflows/master-push.yml Updates release packaging workflow Xcode list and Xcode selection.
.github/workflows/build-pr.yml Regenerates PR CI workflow jobs for updated Xcode versions.
.github/workflows/build-binaries.yml Moves xcframework publish job to macos-26 runner.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread RealmSwift/SwiftUI.swift Outdated
Comment thread RealmSwift/SwiftUI.swift Outdated
Comment thread RealmSwift/SwiftUI.swift
Comment thread RealmSwift/SwiftUI.swift
Comment thread .github/workflows/master-push.yml
Comment thread .github/workflows/publish-release.yml
Comment thread RealmSwift.podspec
Comment thread Realm.podspec
Comment thread examples/installation/Podfile
Comment thread CHANGELOG.md
@tgoyne tgoyne merged commit 95040e0 into community Jun 14, 2026
57 of 58 checks passed
@tgoyne tgoyne deleted the tg/xcode-27 branch June 14, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants