diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b3fd6612..2fc7719b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,7 +27,7 @@ jobs: needs: authorize # Require approval before running on forked pull requests name: Test on ${{ matrix.platform.os }} using Xcode ${{ matrix.xcode }} environment: ${{ github.event.pull_request.head.repo.fork && 'external' || 'internal' }} - runs-on: macos-14 + runs-on: macos-26 env: xcodeproj: SimpleKeychain.xcodeproj @@ -39,7 +39,7 @@ jobs: - { os: macOS, scheme: SimpleKeychain-macOS } - { os: tvOS, scheme: SimpleKeychain-tvOS } xcode: - - '16.1' + - '26.6' steps: - name: Checkout @@ -70,12 +70,12 @@ jobs: test-package: name: Test Swift package using Xcode ${{ matrix.xcode }} - runs-on: macos-14 + runs-on: macos-26 strategy: matrix: xcode: - - '16.1' + - '26.6' steps: - name: Checkout @@ -92,12 +92,12 @@ jobs: pod-lint: name: Lint podspec using Xcode ${{ matrix.xcode }} - runs-on: macos-14-xlarge + runs-on: macos-26-xlarge strategy: matrix: xcode: - - '16.1' + - '26.6' steps: - name: Checkout @@ -114,7 +114,7 @@ jobs: swiftlint: name: Lint code with SwiftLint - runs-on: macos-14 + runs-on: macos-26 steps: - name: Checkout diff --git a/Package.swift b/Package.swift index cf0472c6..aca94f88 100644 --- a/Package.swift +++ b/Package.swift @@ -3,7 +3,7 @@ import PackageDescription let package = Package( name: "SimpleKeychain", - platforms: [.iOS(.v14), .macOS(.v11), .tvOS(.v14), .watchOS(.v7), .visionOS(.v1)], + platforms: [.iOS(.v16), .macOS(.v13), .tvOS(.v16), .watchOS(.v9), .visionOS(.v1)], products: [.library(name: "SimpleKeychain", targets: ["SimpleKeychain"])], targets: [ .target( diff --git a/README.md b/README.md index 5d634f7d..64dd4a30 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ Migrating from 0.x? Check the [Migration Guide](V1_MIGRATION_GUIDE.md). ### Requirements -- iOS 14.0+ / macOS 11.0+ / tvOS 14.0+ / watchOS 7.0+ -- Xcode 16.x +- iOS 16.0+ / macOS 13.0+ / tvOS 16.0+ / watchOS 9.0+ +- Xcode 26.x - Swift 6.0+ > [!IMPORTANT] @@ -150,7 +150,7 @@ The minimum supported Swift minor version is the one released with the oldest-su We support only the last four major versions of any platform, including the current major version. -Once a platform version becomes unsupported, dropping it from SimpleKeychain **will not be considered a breaking change**, and will be done in a **minor** release. For example, iOS 14 will cease to be supported when iOS 18 gets released, and SimpleKeychain will be able to drop it in a minor release. +Once a platform version becomes unsupported, dropping it from SimpleKeychain **will not be considered a breaking change**, and will be done in a **minor** release. For example, iOS 16 will cease to be supported once it is no longer among the four most recent major iOS releases, and SimpleKeychain will be able to drop it in a minor release. In the case of macOS, the yearly named releases are considered a major platform version for the purposes of this Policy, regardless of the actual version numbers. diff --git a/SimpleKeychain.podspec b/SimpleKeychain.podspec index 6ffe566c..bc67aae0 100644 --- a/SimpleKeychain.podspec +++ b/SimpleKeychain.podspec @@ -12,10 +12,10 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/auth0/SimpleKeychain.git', :tag => s.version.to_s } s.social_media_url = 'https://twitter.com/auth0' - s.ios.deployment_target = '14.0' - s.osx.deployment_target = '11.0' - s.tvos.deployment_target = '14.0' - s.watchos.deployment_target = '7.0' + s.ios.deployment_target = '16.0' + s.osx.deployment_target = '13.0' + s.tvos.deployment_target = '16.0' + s.watchos.deployment_target = '9.0' s.visionos.deployment_target = '1.0' s.source_files = 'SimpleKeychain/*.swift' diff --git a/SimpleKeychain.xcodeproj/project.pbxproj b/SimpleKeychain.xcodeproj/project.pbxproj index a2e6ff86..fab4f426 100644 --- a/SimpleKeychain.xcodeproj/project.pbxproj +++ b/SimpleKeychain.xcodeproj/project.pbxproj @@ -1130,7 +1130,7 @@ SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tvOSTestHost.app/tvOSTestHost"; - TVOS_DEPLOYMENT_TARGET = 14.0; + TVOS_DEPLOYMENT_TARGET = 16.0; }; name = Debug; }; @@ -1154,7 +1154,7 @@ SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/tvOSTestHost.app/tvOSTestHost"; - TVOS_DEPLOYMENT_TARGET = 14.0; + TVOS_DEPLOYMENT_TARGET = 16.0; }; name = Release; }; @@ -1189,7 +1189,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 7.0; + WATCHOS_DEPLOYMENT_TARGET = 9.0; }; name = Debug; }; @@ -1218,7 +1218,7 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 7.0; + WATCHOS_DEPLOYMENT_TARGET = 9.0; }; name = Release; }; @@ -1247,7 +1247,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 14.0; + TVOS_DEPLOYMENT_TARGET = 16.0; }; name = Debug; }; @@ -1275,7 +1275,7 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 14.0; + TVOS_DEPLOYMENT_TARGET = 16.0; }; name = Release; }; @@ -1307,7 +1307,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 14.0; + TVOS_DEPLOYMENT_TARGET = 16.0; }; name = Debug; }; @@ -1335,7 +1335,7 @@ SDKROOT = appletvos; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 14.0; + TVOS_DEPLOYMENT_TARGET = 16.0; }; name = Release; }; @@ -1345,7 +1345,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; DEBUG_INFORMATION_FORMAT = dwarf; INFOPLIST_FILE = SimpleKeychainTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1364,7 +1364,7 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; INFOPLIST_FILE = SimpleKeychainTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1389,7 +1389,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; PRODUCT_BUNDLE_IDENTIFIER = com.auth0.SimpleKeychainTests; PRODUCT_NAME = SimpleKeychainTests; SDKROOT = macosx; @@ -1409,7 +1409,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; PRODUCT_BUNDLE_IDENTIFIER = com.auth0.SimpleKeychainTests; PRODUCT_NAME = SimpleKeychainTests; SDKROOT = macosx; @@ -1429,7 +1429,7 @@ "$(inherited)", ); INFOPLIST_FILE = SimpleKeychainApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1450,7 +1450,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = SimpleKeychainApp/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1512,8 +1512,8 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MACOSX_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1567,8 +1567,8 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MACOSX_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; @@ -1592,7 +1592,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SimpleKeychain/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1617,7 +1617,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = SimpleKeychain/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1654,7 +1654,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; PRODUCT_BUNDLE_IDENTIFIER = "com.auth0.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = SimpleKeychain; SDKROOT = macosx; @@ -1683,7 +1683,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 11.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; PRODUCT_BUNDLE_IDENTIFIER = "com.auth0.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = SimpleKeychain; SDKROOT = macosx; diff --git a/SimpleKeychainTests/SimpleKeychainSpec.swift b/SimpleKeychainTests/SimpleKeychainSpec.swift index c1674304..cea8b054 100644 --- a/SimpleKeychainTests/SimpleKeychainSpec.swift +++ b/SimpleKeychainTests/SimpleKeychainSpec.swift @@ -187,7 +187,7 @@ class SimpleKeychainTests: XCTestCase { for (i, key) in keys.enumerated() { try? sut.set("foo\(i)", forKey: key) } - XCTAssertEqual(try sut.keys(), keys) + XCTAssertEqual(try sut.keys().sorted(), keys.sorted()) } func testRetrievingEmptyKeys() {