Skip to content

Commit 926e18d

Browse files
authored
Merge pull request #8775 from realm/tg/xcode-26
Add Xcode 26 build
2 parents 5fcba64 + ccb8aa7 commit 926e18d

File tree

84 files changed

+723
-2496
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+723
-2496
lines changed

.github/workflows/build-pr.yml

Lines changed: 144 additions & 216 deletions
Large diffs are not rendered by default.

.github/workflows/master-push.yml

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ on:
66
- "master"
77
- "release/**"
88
env:
9-
XCODE_VERSION: "['15.3', '15.4', '16.2', '16.3', '16.4']"
9+
XCODE_VERSION: "['16.3', '16.4', '26.0.1']"
1010
PLATFORM: "['ios', 'osx', 'watchos', 'tvos', 'catalyst', 'visionos']"
11-
RELEASE_VERSION: '16.4'
12-
DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer
11+
RELEASE_VERSION: '26.0.1'
12+
DEVELOPER_DIR: /Applications/Xcode_26.0.1.app/Contents/Developer
1313
jobs:
1414
prepare:
1515
runs-on: ubuntu-latest
@@ -68,21 +68,15 @@ jobs:
6868
xcode-version: ${{ fromJSON(needs.prepare.outputs.XCODE_VERSIONS_MATRIX) }}
6969
configuration: [swift, static]
7070
include:
71-
- xcode-version: 15.3
72-
xcode-version-tag: 15.3
73-
os: macos-14
74-
- xcode-version: 15.4
75-
xcode-version-tag: 15.4
76-
os: macos-14
77-
- xcode-version: 16.2
78-
xcode-version-tag: 16.2
79-
os: macos-15
8071
- xcode-version: 16.3
8172
xcode-version-tag: 16.3
8273
os: macos-15
8374
- xcode-version: 16.4
8475
xcode-version-tag: 16.4
8576
os: macos-15
77+
- xcode-version: 26.0.1
78+
xcode-version-tag: 26.0.1
79+
os: macos-15
8680
exclude:
8781
- platform: osx
8882
configuration: static
@@ -99,9 +93,6 @@ jobs:
9993
DEVELOPER_DIR: /Applications/Xcode_${{matrix.xcode-version}}.app/Contents/Developer
10094
steps:
10195
- uses: actions/checkout@v4
102-
- name: Download visionOS
103-
if: matrix.platform == 'visionos' && matrix.os == 'macos-14'
104-
run: xcodebuild -downloadPlatform visionOS
10596
- run: sh build.sh ${{matrix.platform}}-${{matrix.configuration}}
10697
- run: tar cf build.tar build/*/${{matrix.platform}}
10798
- name: Upload framework
@@ -213,16 +204,12 @@ jobs:
213204
matrix:
214205
xcode-version: ${{ fromJSON(needs.prepare.outputs.XCODE_VERSIONS_MATRIX) }}
215206
include:
216-
- xcode-version: 15.3
217-
os: macos-14
218-
- xcode-version: 15.4
219-
os: macos-14
220-
- xcode-version: 16.2
221-
os: macos-15
222207
- xcode-version: 16.3
223208
os: macos-15
224209
- xcode-version: 16.4
225210
os: macos-15
211+
- xcode-version: 26.0.1
212+
os: macos-15
226213
env:
227214
PLATFORM: 'osx'
228215
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer

.github/workflows/publish-release.yml

Lines changed: 2 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
name: Publish release
22
on: workflow_dispatch
33
env:
4-
XCODE_VERSION: "['15.3', '15.4', '16', '16.1', '16.2', '16.3']"
5-
TEST_XCODE_VERSION: '16.3'
4+
XCODE_VERSION: "['16.3', '16.4', '26.0.1']"
5+
TEST_XCODE_VERSION: '26.0.1'
66
jobs:
77
prepare:
88
runs-on: ubuntu-latest
@@ -32,22 +32,6 @@ jobs:
3232
tag: "v${{ needs.prepare.outputs.VERSION }}"
3333
tag_exists_error: false
3434
message: ""
35-
publish-docs:
36-
runs-on: macos-15
37-
name: Publish docs to S3 Bucket
38-
needs: tag-release
39-
env:
40-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_DOCS_ACCESS_KEY }}
41-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_DOCS_SECRET_ACCESS_KEY }}
42-
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43-
steps:
44-
- uses: actions/checkout@v4
45-
- uses: ruby/setup-ruby@v1
46-
with:
47-
bundler-cache: true
48-
- run: brew install s3cmd
49-
- name: Publish docs
50-
run: bundle exec sh -x build.sh publish-docs ${{ github.sha }}
5135
create-release:
5236
runs-on: macos-15
5337
name: Create github release
@@ -145,41 +129,3 @@ jobs:
145129
max_attempts: 10
146130
retry_wait_seconds: 60
147131
retry_on: error
148-
post-slack-release:
149-
runs-on: macos-15
150-
name: Publish to release Slack channel
151-
needs: [create-release, prepare, publish-cocoapods, update-checker, publish-docs]
152-
env:
153-
WEBHOOK_URL: ${{ secrets.SLACK_RELEASES_WEBHOOK }}
154-
steps:
155-
- uses: actions/checkout@v4
156-
- uses: ruby/setup-ruby@v1
157-
with:
158-
bundler-cache: true
159-
- name: Prepare Changelog
160-
run: bundle exec ./build.sh prepare-publish-changelog
161-
- name: 'Post to #realm-releases'
162-
uses: realm/ci-actions/release-to-slack@a2191a6cbf2f5b50aa71026dd068582dbd5016cc
163-
with:
164-
changelog: ExtractedChangelog/CHANGELOG.md
165-
sdk: Swift
166-
webhook-url: ${{ env.WEBHOOK_URL }}
167-
version: ${{ needs.prepare.outputs.VERSION }}
168-
add-empty-changelog:
169-
runs-on: macos-15
170-
permissions:
171-
contents: write
172-
name: Add empty changelog and commits/push it
173-
needs: [post-slack-release]
174-
env:
175-
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
176-
steps:
177-
- uses: actions/checkout@v4
178-
- name: Add template to changelog
179-
run: |
180-
sh build.sh add-empty-changelog
181-
- name: Auto-commit CHANGELOG.md
182-
uses: stefanzweifel/git-auto-commit-action@v4
183-
with:
184-
file_pattern: 'CHANGELOG.md'
185-
commit_message: 'Add an empty changelog section'

CHANGELOG.md

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,7 @@
11
x.y.z Release notes (yyyy-MM-dd)
22
=============================================================
3-
### Enhancements
4-
* None.
5-
6-
### Fixed
7-
* <How to hit and notice issue? what was the impact?> ([#????](https://github.com/realm/realm-swift/issues/????), since v?.?.?)
8-
* None.
9-
10-
<!-- ### Breaking Changes - ONLY INCLUDE FOR NEW MAJOR version -->
113

12-
### Compatibility
13-
* Realm Studio: 15.0.0 or later.
14-
* APIs are backwards compatible with all previous releases in the 10.x.y series.
15-
* Carthage release for Swift is built with Xcode 16.4.0.
16-
* CocoaPods: 1.10 or later.
17-
* Xcode: 15.3.0-26 beta 1.
18-
19-
### Internal
20-
* Upgraded realm-core from ? to ?
4+
Add Xcode 26.0.1 binaries and drop support for Xcode < 16.3.
215

226
10.54.5 Release notes (2025-06-15)
237
=============================================================

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ gem 'fileutils'
55
gem 'jazzy'
66
gem 'jwt'
77
gem 'octokit'
8-
gem 'pathname'
8+
gem 'pathname', '0.3.0'

Gemfile.lock

Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ GEM
55
base64
66
nkf
77
rexml
8-
activesupport (7.2.0)
8+
activesupport (7.2.2.2)
99
base64
10+
benchmark (>= 0.3)
1011
bigdecimal
1112
concurrent-ruby (~> 1.0, >= 1.3.1)
1213
connection_pool (>= 2.2.5)
@@ -22,13 +23,14 @@ GEM
2223
httpclient (~> 2.8, >= 2.8.3)
2324
json (>= 1.5.1)
2425
atomos (0.1.3)
25-
base64 (0.2.0)
26-
bigdecimal (3.1.8)
26+
base64 (0.3.0)
27+
benchmark (0.4.1)
28+
bigdecimal (3.3.1)
2729
claide (1.1.0)
28-
cocoapods (1.15.2)
30+
cocoapods (1.16.2)
2931
addressable (~> 2.8)
3032
claide (>= 1.0.2, < 2.0)
31-
cocoapods-core (= 1.15.2)
33+
cocoapods-core (= 1.16.2)
3234
cocoapods-deintegrate (>= 1.0.3, < 2.0)
3335
cocoapods-downloader (>= 2.1, < 3.0)
3436
cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -42,8 +44,8 @@ GEM
4244
molinillo (~> 0.8.0)
4345
nap (~> 1.0)
4446
ruby-macho (>= 2.3.0, < 3.0)
45-
xcodeproj (>= 1.23.0, < 2.0)
46-
cocoapods-core (1.15.2)
47+
xcodeproj (>= 1.27.0, < 2.0)
48+
cocoapods-core (1.16.2)
4749
activesupport (>= 5.0, < 8)
4850
addressable (~> 2.8)
4951
algoliasearch (~> 1.0)
@@ -63,27 +65,29 @@ GEM
6365
netrc (~> 0.11)
6466
cocoapods-try (1.2.0)
6567
colored2 (3.1.2)
66-
concurrent-ruby (1.3.4)
67-
connection_pool (2.4.1)
68-
drb (2.2.1)
68+
concurrent-ruby (1.3.5)
69+
connection_pool (2.5.4)
70+
drb (2.2.3)
6971
escape (0.0.4)
70-
ethon (0.16.0)
72+
ethon (0.17.0)
7173
ffi (>= 1.15.0)
72-
faraday (2.10.1)
73-
faraday-net_http (>= 2.0, < 3.2)
74+
faraday (2.14.0)
75+
faraday-net_http (>= 2.0, < 3.5)
76+
json
7477
logger
75-
faraday-net_http (3.1.1)
76-
net-http
77-
ffi (1.17.0-arm64-darwin)
78-
ffi (1.17.0-x86_64-darwin)
79-
fileutils (1.7.2)
78+
faraday-net_http (3.4.1)
79+
net-http (>= 0.5.0)
80+
ffi (1.17.2-arm64-darwin)
81+
ffi (1.17.2-x86_64-darwin)
82+
fileutils (1.7.3)
8083
fourflusher (2.3.1)
8184
fuzzy_match (2.0.4)
8285
gh_inspector (1.1.3)
83-
httpclient (2.8.3)
84-
i18n (1.14.5)
86+
httpclient (2.9.0)
87+
mutex_m
88+
i18n (1.14.7)
8589
concurrent-ruby (~> 1.0)
86-
jazzy (0.15.1)
90+
jazzy (0.15.3)
8791
cocoapods (~> 1.5)
8892
mustache (~> 1.1)
8993
open4 (~> 1.3)
@@ -93,54 +97,53 @@ GEM
9397
sassc (~> 2.1)
9498
sqlite3 (~> 1.3)
9599
xcinvoke (~> 0.3.0)
96-
json (2.7.2)
97-
jwt (2.8.2)
100+
json (2.15.1)
101+
jwt (3.1.2)
98102
base64
99103
liferaft (0.0.6)
100-
logger (1.6.0)
101-
minitest (5.25.1)
104+
logger (1.7.0)
105+
minitest (5.26.0)
102106
molinillo (0.8.0)
103107
mustache (1.1.1)
104-
nanaimo (0.3.0)
108+
mutex_m (0.3.0)
109+
nanaimo (0.4.0)
105110
nap (1.1.0)
106-
net-http (0.4.1)
111+
net-http (0.6.0)
107112
uri
108113
netrc (0.11.0)
109114
nkf (0.2.0)
110-
octokit (9.1.0)
115+
octokit (10.0.0)
111116
faraday (>= 1, < 3)
112117
sawyer (~> 0.9)
113118
open4 (1.3.4)
114119
pathname (0.3.0)
115120
public_suffix (4.0.7)
116-
redcarpet (3.6.0)
117-
rexml (3.3.5)
118-
strscan
119-
rouge (4.3.0)
121+
redcarpet (3.6.1)
122+
rexml (3.4.4)
123+
rouge (4.6.1)
120124
ruby-macho (2.5.1)
121125
sassc (2.4.0)
122126
ffi (~> 1.9)
123127
sawyer (0.9.2)
124128
addressable (>= 2.3.5)
125129
faraday (>= 0.17.3, < 3)
126-
securerandom (0.3.1)
130+
securerandom (0.4.1)
127131
sqlite3 (1.7.3-arm64-darwin)
128132
sqlite3 (1.7.3-x86_64-darwin)
129-
strscan (3.1.0)
130133
typhoeus (1.4.1)
131134
ethon (>= 0.9.0)
132135
tzinfo (2.0.6)
133136
concurrent-ruby (~> 1.0)
134-
uri (0.13.0)
137+
uri (1.0.4)
135138
xcinvoke (0.3.0)
136139
liferaft (~> 0.0.6)
137-
xcodeproj (1.25.0)
140+
xcodeproj (1.27.0)
138141
CFPropertyList (>= 2.3.3, < 4.0)
139142
atomos (~> 0.1.3)
140143
claide (>= 1.0.2, < 2.0)
141144
colored2 (~> 3.1)
142-
nanaimo (~> 0.3.0)
143-
rexml (>= 3.3.2, < 4.0)
145+
nanaimo (~> 0.4.0)
146+
rexml (>= 3.3.6, < 4.0)
144147

145148
PLATFORMS
146149
arm64-darwin-22
@@ -153,7 +156,7 @@ DEPENDENCIES
153156
jazzy
154157
jwt
155158
octokit
156-
pathname
159+
pathname (= 0.3.0)
157160

158161
BUNDLED WITH
159162
2.5.11

Realm.podspec

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ Pod::Spec.new do |s|
1515
s.author = { 'Realm' => '[email protected]' }
1616
s.library = 'c++', 'z', 'compression'
1717
s.requires_arc = true
18-
s.social_media_url = 'https://twitter.com/realm'
19-
s.documentation_url = "https://docs.mongodb.com/realm/sdk/swift"
2018
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }
2119

2220
public_header_files = 'include/Realm.h',

Realm/ObjectServerTests/AsyncSyncTests.swift

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -279,11 +279,7 @@ class AsyncAwaitSyncTests: SwiftSyncTestCase {
279279

280280
let configuration = try configuration()
281281
func isolatedOpen(_ actor: isolated CustomExecutorActor) async throws {
282-
#if compiler(<6)
283-
_ = try await Realm(configuration: configuration, actor: actor, downloadBeforeOpen: .always)
284-
#else
285282
_ = try await Realm.open(configuration: configuration, downloadBeforeOpen: .always)
286-
#endif
287283
}
288284

289285

@@ -905,11 +901,7 @@ class AsyncFlexibleSyncTests: SwiftSyncTestCase {
905901
let user = try await createUser()
906902
var config = user.flexibleSyncConfiguration()
907903
config.objectTypes = [SwiftPerson.self]
908-
#if compiler(<6)
909-
let realm = try await Realm(configuration: config, actor: CustomGlobalActor.shared)
910-
#else
911904
let realm = try await Realm.open(configuration: config)
912-
#endif
913905
let name = self.name
914906
let results1 = try await realm.objects(SwiftPerson.self)
915907
.where { $0.firstName == name && $0.age > 8 }.subscribe(waitForSync: .onCreation)

0 commit comments

Comments
 (0)