Skip to content

Commit f8d74e9

Browse files
authored
Merge pull request #8757 from realm/tg/xcode-16.3
Add support for Xcode 16.3
2 parents bae6c4b + 8a060fc commit f8d74e9

File tree

12 files changed

+137
-162
lines changed

12 files changed

+137
-162
lines changed

.github/workflows/build-pr.yml

Lines changed: 95 additions & 131 deletions
Large diffs are not rendered by default.

.github/workflows/master-push.yml

Lines changed: 8 additions & 13 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', '16.1', '16.2']"
9+
XCODE_VERSION: "['15.3', '15.4', '16.2', '16.3']"
1010
PLATFORM: "['ios', 'osx', 'watchos', 'tvos', 'catalyst', 'visionos']"
11-
RELEASE_VERSION: '16.2'
12-
DEVELOPER_DIR: /Applications/Xcode_16.2.app/Contents/Developer
11+
RELEASE_VERSION: '16.3'
12+
DEVELOPER_DIR: /Applications/Xcode_16.3.app/Contents/Developer
1313
jobs:
1414
prepare:
1515
runs-on: ubuntu-latest
@@ -74,15 +74,12 @@ jobs:
7474
- xcode-version: 15.4
7575
xcode-version-tag: 15.4
7676
os: macos-14
77-
- xcode-version: 16
78-
xcode-version-tag: '16.0'
79-
os: macos-15
80-
- xcode-version: 16.1
81-
xcode-version-tag: 16.1
82-
os: macos-15
8377
- xcode-version: 16.2
8478
xcode-version-tag: 16.2
8579
os: macos-15
80+
- xcode-version: 16.3
81+
xcode-version-tag: 16.3
82+
os: macos-15
8683
exclude:
8784
- platform: osx
8885
configuration: static
@@ -217,12 +214,10 @@ jobs:
217214
os: macos-14
218215
- xcode-version: 15.4
219216
os: macos-14
220-
- xcode-version: 16
221-
os: macos-15
222-
- xcode-version: 16.1
223-
os: macos-15
224217
- xcode-version: 16.2
225218
os: macos-15
219+
- xcode-version: 16.3
220+
os: macos-15
226221
env:
227222
PLATFORM: 'osx'
228223
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
20.0.2 Release notes (2025-04-14)
2+
=============================================================
3+
4+
### Enhancements
5+
6+
* Update build scripts for Xcode 16.2.
7+
8+
### Compatibility
9+
10+
* Carthage release for Swift is built with Xcode 16.3.0.
11+
* CocoaPods: 1.10 or later.
12+
* Xcode: 15.3.0-16.3.
13+
114
20.0.1 Release notes (2024-12-27)
215
=============================================================
316

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import PackageDescription
44
import Foundation
55

66
let coreVersion = Version("20.1.0")
7-
let cocoaVersion = Version("20.0.1")
7+
let cocoaVersion = Version("20.0.2")
88

99
#if compiler(>=6)
1010
let swiftVersion = [SwiftVersion.version("6")]

Realm/RLMArray.mm

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,10 @@ - (void)replaceAllObjectsWithObjects:(NSArray *)objects {
365365
}
366366
changeArray(self, NSKeyValueChangeInsertion, NSMakeRange(0, objects.count), ^{
367367
for (id object in objects) {
368-
[_backingCollection addObject:object];
368+
// object should always be non-nil since it's a value stored in a
369+
// NSArray, but as of Xcode 16.3 [Decimal128?] sometimes ends up
370+
// with nil instead of NSNull when bridged from Swift.
371+
[_backingCollection addObject:object ?: NSNull.null];
369372
}
370373
});
371374
}

Realm/RLMSet.mm

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,10 @@ - (void)replaceAllObjectsWithObjects:(NSArray *)objects {
279279
return;
280280
}
281281
for (id object in objects) {
282-
[_backingCollection addObject:object];
282+
// object should always be non-nil since it's a value stored in a
283+
// NSArray, but as of Xcode 16.3 [Decimal128?] sometimes ends up
284+
// with nil instead of NSNull when bridged from Swift.
285+
[_backingCollection addObject:object ?: NSNull.null];
283286
}
284287
});
285288
}

Realm/Realm-Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
<key>CFBundlePackageType</key>
1818
<string>FMWK</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>20.0.1</string>
20+
<string>20.0.2</string>
2121
<key>CFBundleSignature</key>
2222
<string>????</string>
2323
<key>CFBundleVersion</key>
24-
<string>20.0.1</string>
24+
<string>20.0.2</string>
2525
<key>NSHumanReadableCopyright</key>
2626
<string>Copyright © 2014-2021 Realm. All rights reserved.</string>
2727
<key>NSPrincipalClass</key>

RealmSwift/Tests/PerformanceTests.swift

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,14 @@ private nonisolated(unsafe) var smallRealm: Realm!
4444
private nonisolated(unsafe) var mediumRealm: Realm!
4545
private nonisolated(unsafe) var largeRealm: Realm!
4646

47-
private let isRunningOnDevice = TARGET_IPHONE_SIMULATOR == 0
48-
4947
@available(*, deprecated) // Silence deprecation warnings for RealmOptional
5048
class SwiftPerformanceTests: TestCase, @unchecked Sendable {
5149
override class var defaultTestSuite: XCTestSuite {
52-
#if !DEBUG && os(iOS) && !targetEnvironment(macCatalyst)
53-
if isRunningOnDevice {
54-
return super.defaultTestSuite
55-
}
56-
#endif
50+
#if !DEBUG && os(iOS) && !targetEnvironment(macCatalyst) && !targetEnvironment(simulator)
51+
return super.defaultTestSuite
52+
#else
5753
return XCTestSuite(name: "SwiftPerformanceTests")
54+
#endif
5855
}
5956

6057
override class func setUp() {

build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,9 +1121,9 @@ x.y.z Release notes (yyyy-MM-dd)
11211121
<!-- ### Breaking Changes - ONLY INCLUDE FOR NEW MAJOR version -->
11221122
11231123
### Compatibility
1124-
* Carthage release for Swift is built with Xcode 16.2.0.
1124+
* Carthage release for Swift is built with Xcode 16.3.0.
11251125
* CocoaPods: 1.10 or later.
1126-
* Xcode: 15.3.0-16.2.
1126+
* Xcode: 15.3.0-16.3.
11271127
11281128
### Internal
11291129
* Upgraded realm-core from ? to ?

dependencies.list

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
VERSION=20.0.1
1+
VERSION=20.0.2
22
REALM_CORE_VERSION=v20.1.0

0 commit comments

Comments
 (0)