From 9ef16476fc44987ef82a2cc7132f1603cc5870df Mon Sep 17 00:00:00 2001 From: Guilherme Souza Date: Thu, 18 Sep 2025 05:43:31 -0300 Subject: [PATCH 1/2] chore: drop support for Swift 5.10 and Xcode 15.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change updates the minimum requirements to Swift 6.0+ and Xcode 16.0+ following our support policy. As outlined in the README, dropping Swift and Xcode versions is not considered a breaking change and can be done in minor releases. With the release of Xcode 16 on September 16, 2024, we can now safely drop support for older versions to take advantage of new Swift 6 features and improvements. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- Examples/Examples/Profile/UserIdentityList.swift | 2 +- Package.swift | 2 +- README.md | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 006d6318e..6cc3dc18d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -40,7 +40,7 @@ body: attributes: label: Swift Version description: What version of Swift are you using? - placeholder: ex. 5.10 + placeholder: ex. 6.0 validations: required: true diff --git a/Examples/Examples/Profile/UserIdentityList.swift b/Examples/Examples/Profile/UserIdentityList.swift index bb7f2d410..c6a04dc45 100644 --- a/Examples/Examples/Profile/UserIdentityList.swift +++ b/Examples/Examples/Profile/UserIdentityList.swift @@ -55,7 +55,7 @@ struct UserIdentityList: View { } } .id(id) - #if swift(>=5.10) + #if swift(>=6.0) .toolbar { ToolbarItem(placement: .primaryAction) { Menu("Add") { diff --git a/Package.swift b/Package.swift index 42cadc4d1..83eede3c2 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.10 +// swift-tools-version:6.0 // The swift-tools-version declares the minimum version of Swift required to build this package. import Foundation diff --git a/README.md b/README.md index 74e099739..ce849ca0f 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,8 @@ Supabase client for Swift. Mirrors the design of [supabase-js](https://github.co ### Requirements - iOS 13.0+ / macOS 10.15+ / tvOS 13+ / watchOS 6+ / visionOS 1+ -- Xcode 15.3+ -- Swift 5.10+ +- Xcode 16.0+ +- Swift 6.0+ > [!IMPORTANT] > Check the [Support Policy](#support-policy) to learn when dropping Xcode, Swift, and platform versions will not be considered a **breaking change**. From 047477f424709f811f2ccfdf028c8ecb17f3a9c3 Mon Sep 17 00:00:00 2001 From: Guilherme Souza Date: Thu, 18 Sep 2025 05:46:52 -0300 Subject: [PATCH 2/2] ci: update workflow to use Xcode 26.0 and drop Xcode 15.x - Update latest job to use Xcode 26.0 (was 16.3) - Update legacy job to use Xcode 16.3 (was 15.4) as minimum supported - Update library evolution and examples jobs to Xcode 26.0 - Remove all Xcode 15.x references from CI --- .github/workflows/ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 742e21ba7..770eefffc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,13 +42,13 @@ permissions: jobs: xcodebuild-latest: - name: xcodebuild (16.3) + name: xcodebuild (26.0) runs-on: macos-15 strategy: matrix: command: [test, ""] platform: [IOS, MACOS] - xcode: ["16.3"] + xcode: ["26.0"] include: - { command: test, skip_release: 1 } steps: @@ -80,13 +80,13 @@ jobs: file: lcov.info xcodebuild-legacy: - name: xcodebuild (15.4) - runs-on: macos-14 + name: xcodebuild (16.3) + runs-on: macos-15 strategy: matrix: command: [test, ""] platform: [IOS, MACOS, MAC_CATALYST] - xcode: ["15.4"] + xcode: ["16.3"] include: - { command: test, skip_release: 1 } steps: @@ -144,7 +144,7 @@ jobs: runs-on: macos-15 strategy: matrix: - xcode: ["16.3"] + xcode: ["26.0"] steps: - uses: actions/checkout@v5 - name: Select Xcode ${{ matrix.xcode }} @@ -165,8 +165,8 @@ jobs: deriveddata-examples-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift', '**/Examples/**/*.swift') }} restore-keys: | deriveddata-examples- - - name: Select Xcode 16.3 - run: sudo xcode-select -s /Applications/Xcode_16.3.app + - name: Select Xcode 26.0 + run: sudo xcode-select -s /Applications/Xcode_26.0.app - name: Set IgnoreFileSystemDeviceInodeChanges flag run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES - name: Update mtime for incremental builds