Summary:
This is a breaking release, required to support Xcode 27. Minimum deployment targets are bumped to iOS 15.0, macOS 12.0, tvOS 15.0 and watchOS 9.0. Swift Package Manager users will need Swift 5.7 / Xcode 14 or later to resolve the package.
Separately, resumeExternalUserAgentFlowWithURL:error: is now a required member of OIDExternalUserAgentSession to allow access by Swift callers. Projects that must keep supporting iOS 12-14 should stay on AppAuth 2.x, which remains buildable with Xcode 26 and earlier.
Detailed Changelog:
- BREAKING: Updates made to support Xcode 27. (#972, #973)
-- Raised minimum deployment targets to iOS 15.0, macOS 12.0, tvOS 15.0 and watchOS 9.0 (minimum for Xcode 27).
-- Swift Package Manager users: The requiredswift-tools-versionbump from 5.3 to 5.7, to pickup the new platforms, results in package resolution now requiring Swift 5.7 / Xcode 14 or later.
-- Projects that must keep supporting iOS 12-14 should stay on AppAuth 2.x, which remains buildable with Xcode 26 and earlier. - BREAKING:
resumeExternalUserAgentFlowWithURL:error:is now required inOIDExternalUserAgentSessionto fix a Swift compiler crash (no workaround) caused by its@optionalstatus withNSError **. Implementers must now provide this method. Affects projects since 2.1.0. (#955, #970) - Swift callers now spell the method
resumeExternalUserAgentFlow(_:). Since the method is no longer optional, you don't need optional-chaining anymore. For those migrating from 2.1.0, replacetry session.resumeExternalUserAgentFlow?(with: url)withtry session.resumeExternalUserAgentFlow(url). Objective-C callers are unaffected. (#966, #970) - Replace case range with explicit case labels in OIDTokenUtilities. Addresses issue #947. (#963)
- Update the
addressablegem to address CVE-2026-35611. Addresses issue #958. (#965)