diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b3fd661..2fc7719 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 cf0472c..aca94f8 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 5d634f7..64dd4a3 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 6ffe566..bc67aae 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 a2e6ff8..fab4f42 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 c167430..cea8b05 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() {