Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
362 changes: 163 additions & 199 deletions .github/workflows/build-pr.yml

Large diffs are not rendered by default.

32 changes: 13 additions & 19 deletions .github/workflows/master-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ on:
- "master"
- "release/**"
env:
XCODE_VERSION: "['15.3', '15.4', '16.2', '16.3', '16.4']"
XCODE_VERSION: "['16.3', '16.4', '26.0.1', '26.1']"
PLATFORM: "['ios', 'osx', 'watchos', 'tvos', 'catalyst', 'visionos']"
RELEASE_VERSION: '16.4'
DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer
RELEASE_VERSION: '26.1'
DEVELOPER_DIR: /Applications/Xcode_26.1.app/Contents/Developer
jobs:
prepare:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -68,21 +68,17 @@ jobs:
xcode-version: ${{ fromJSON(needs.prepare.outputs.XCODE_VERSIONS_MATRIX) }}
configuration: [swift, static]
include:
- xcode-version: 15.3
xcode-version-tag: 15.3
os: macos-14
- xcode-version: 15.4
xcode-version-tag: 15.4
os: macos-14
- xcode-version: 16.2
xcode-version-tag: 16.2
os: macos-15
- xcode-version: 16.3
xcode-version-tag: 16.3
os: macos-15
- xcode-version: 16.4
xcode-version-tag: 16.4
os: macos-15
- xcode-version: 26.0.1
xcode-version-tag: 26.0.1
- xcode-version: 26.1
xcode-version-tag: 26.1
os: macos-15
exclude:
- platform: osx
configuration: static
Expand Down Expand Up @@ -194,7 +190,7 @@ jobs:
with:
bundler-cache: true
- name: Download visionOS
if: matrix.platform == 'visionos' && matrix.os == 'macos-14'
if: matrix.platform == 'visionos'
run: xcodebuild -downloadPlatform visionOS
- name: Restore release
uses: actions/download-artifact@v4
Expand All @@ -213,16 +209,14 @@ jobs:
matrix:
xcode-version: ${{ fromJSON(needs.prepare.outputs.XCODE_VERSIONS_MATRIX) }}
include:
- xcode-version: 15.3
os: macos-14
- xcode-version: 15.4
os: macos-14
- xcode-version: 16.2
os: macos-15
- xcode-version: 16.3
os: macos-15
- xcode-version: 16.4
os: macos-15
- xcode-version: 26.0.1
os: macos-15
- xcode-version: 26.1
os: macos-15
env:
PLATFORM: 'osx'
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
Expand Down
58 changes: 2 additions & 56 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Publish release
on: workflow_dispatch
env:
XCODE_VERSION: "['15.3', '15.4', '16', '16.1', '16.2']"
TEST_XCODE_VERSION: '16.2'
XCODE_VERSION: "['16.3', '16.4', '26.0.1', '26.1']"
TEST_XCODE_VERSION: '26.1'
jobs:
prepare:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -32,22 +32,6 @@ jobs:
tag: "v${{ needs.prepare.outputs.VERSION }}"
tag_exists_error: false
message: ""
publish-docs:
runs-on: macos-15
name: Publish docs to S3 Bucket
needs: tag-release
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_DOCS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_DOCS_SECRET_ACCESS_KEY }}
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: brew install s3cmd
- name: Publish docs
run: bundle exec sh -x build.sh publish-docs ${{ github.sha }}
create-release:
runs-on: macos-15
name: Create github release
Expand Down Expand Up @@ -145,41 +129,3 @@ jobs:
max_attempts: 10
retry_wait_seconds: 60
retry_on: error
post-slack-release:
runs-on: macos-15
name: Publish to release Slack channel
needs: [create-release, prepare, publish-cocoapods, update-checker, publish-docs]
env:
WEBHOOK_URL: ${{ secrets.SLACK_RELEASES_WEBHOOK }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Prepare Changelog
run: bundle exec ./build.sh prepare-publish-changelog
- name: 'Post to #realm-releases'
uses: realm/ci-actions/release-to-slack@a2191a6cbf2f5b50aa71026dd068582dbd5016cc
with:
changelog: ExtractedChangelog/CHANGELOG.md
sdk: Swift
webhook-url: ${{ env.WEBHOOK_URL }}
version: ${{ needs.prepare.outputs.VERSION }}
add-empty-changelog:
runs-on: macos-15
permissions:
contents: write
name: Add empty changelog and commits/push it
needs: [post-slack-release]
env:
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Add template to changelog
run: |
sh build.sh add-empty-changelog
- name: Auto-commit CHANGELOG.md
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: 'CHANGELOG.md'
commit_message: 'Add an empty changelog section'
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
x.y.z Release notes (yyyy-MM-dd)
=============================================================

* Update build scripts for Xcode 26.
* Drop support for Xcode < 16.3.
* Prebuilt binaries are no longer code signed.

### Compatibility

* Carthage release for Swift is built with Xcode 26.1.
* CocoaPods: 1.10 or later.
* Xcode: 16.3-26.1

20.0.3 Release notes (2025-06-15)
=============================================================

Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ gem 'fileutils'
gem 'jazzy'
gem 'jwt'
gem 'octokit'
gem 'pathname'
gem 'pathname', '0.3.0'
81 changes: 42 additions & 39 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ GEM
base64
nkf
rexml
activesupport (7.2.0)
activesupport (7.2.2.2)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
Expand All @@ -22,13 +23,14 @@ GEM
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
bigdecimal (3.1.8)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.3.1)
claide (1.1.0)
cocoapods (1.15.2)
cocoapods (1.16.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.15.2)
cocoapods-core (= 1.16.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
Expand All @@ -42,8 +44,8 @@ GEM
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.15.2)
xcodeproj (>= 1.27.0, < 2.0)
cocoapods-core (1.16.2)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
Expand All @@ -63,27 +65,29 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
drb (2.2.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.4)
drb (2.2.3)
escape (0.0.4)
ethon (0.16.0)
ethon (0.17.0)
ffi (>= 1.15.0)
faraday (2.10.1)
faraday-net_http (>= 2.0, < 3.2)
faraday (2.14.0)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-net_http (3.1.1)
net-http
ffi (1.17.0-arm64-darwin)
ffi (1.17.0-x86_64-darwin)
fileutils (1.7.2)
faraday-net_http (3.4.1)
net-http (>= 0.5.0)
ffi (1.17.2-arm64-darwin)
ffi (1.17.2-x86_64-darwin)
fileutils (1.7.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.5)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
jazzy (0.15.1)
jazzy (0.15.3)
cocoapods (~> 1.5)
mustache (~> 1.1)
open4 (~> 1.3)
Expand All @@ -93,54 +97,53 @@ GEM
sassc (~> 2.1)
sqlite3 (~> 1.3)
xcinvoke (~> 0.3.0)
json (2.7.2)
jwt (2.8.2)
json (2.15.1)
jwt (3.1.2)
base64
liferaft (0.0.6)
logger (1.6.0)
minitest (5.25.1)
logger (1.7.0)
minitest (5.26.0)
molinillo (0.8.0)
mustache (1.1.1)
nanaimo (0.3.0)
mutex_m (0.3.0)
nanaimo (0.4.0)
nap (1.1.0)
net-http (0.4.1)
net-http (0.6.0)
uri
netrc (0.11.0)
nkf (0.2.0)
octokit (9.1.0)
octokit (10.0.0)
faraday (>= 1, < 3)
sawyer (~> 0.9)
open4 (1.3.4)
pathname (0.3.0)
public_suffix (4.0.7)
redcarpet (3.6.0)
rexml (3.3.5)
strscan
rouge (4.3.0)
redcarpet (3.6.1)
rexml (3.4.4)
rouge (4.6.1)
ruby-macho (2.5.1)
sassc (2.4.0)
ffi (~> 1.9)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
securerandom (0.3.1)
securerandom (0.4.1)
sqlite3 (1.7.3-arm64-darwin)
sqlite3 (1.7.3-x86_64-darwin)
strscan (3.1.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uri (0.13.0)
uri (1.0.4)
xcinvoke (0.3.0)
liferaft (~> 0.0.6)
xcodeproj (1.25.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (>= 3.3.2, < 4.0)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)

PLATFORMS
arm64-darwin-22
Expand All @@ -153,7 +156,7 @@ DEPENDENCIES
jazzy
jwt
octokit
pathname
pathname (= 0.3.0)

BUNDLED WITH
2.5.11
2 changes: 0 additions & 2 deletions Realm.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ Pod::Spec.new do |s|
s.author = { 'Realm' => '[email protected]' }
s.library = 'c++', 'z', 'compression'
s.requires_arc = true
s.social_media_url = 'https://twitter.com/realm'
s.documentation_url = "https://docs.mongodb.com/realm/sdk/swift"
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }

public_header_files = 'include/Realm.h',
Expand Down
2 changes: 1 addition & 1 deletion Realm/RLMMigration.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ typedef void (^RLMObjectMigrationBlock)(RLMObject * __nullable oldObject, RLMObj
properties.
*/
- (void)enumerateObjects:(NSString *)className
block:(__attribute__((noescape)) RLMObjectMigrationBlock)block NS_REFINED_FOR_SWIFT;
block:(__attribute__((noescape, swift_attr("@nonSendable"))) RLMObjectMigrationBlock)block NS_REFINED_FOR_SWIFT;

/**
Creates and returns an `RLMObject` instance of type `className` in the Realm being migrated.
Expand Down
Loading
Loading