Skip to content

Release 2.0.1 - #241

Merged
AlexNachbaur merged 9 commits into
masterfrom
release/2.0.1
Jul 4, 2025
Merged

Release 2.0.1#241
AlexNachbaur merged 9 commits into
masterfrom
release/2.0.1

Conversation

@AlexNachbaur

Copy link
Copy Markdown
Contributor

Note: This cherry-picks commits from master, avoiding any feature development that's targeted for 2.1.0 (e.g. IDX WebAuthn / Passkey support)

* Updates to JSON and AnyJSON
* Include the HTTP response body Data within `APIResponse`
* When `DebugAPIRequestObserver` is enabled, it now uses the response body, or the CustomDebugStringConvertible value of the `APIResponse.result`
* Support Xcode 26 Beta and Swift 6.2
* Improve test matrix to include more Xcode and Swift versions
  * Swift Package Manager tests across macOS and Linux:
    * Swift 5.10 _(macOS only)_
    * Swift 6.0
    * Swift 6.1
    * Swift 6.2
  * Xcode tests include:
    * iPhone: 16.4, 18.2, 18.5
    * tvOS: 18.5
    * watchOS: 11.5
    * visionOS: 1.0, 2.5
    * macOS: 15
* Update README
* Only imports `swift-docc-plugin` when run in CI (or the `ENABLE_DOC_GENERATION` environment variable is set) to improve dependency resolution performance
* Test and CI workflow improvements
  * Update swift language version detection script
  * Reduce parallel iteration count for async tests to avoid flaky CI race conditions
  * Do not parallelize Swift tests, due to limited CI runner speed
  * Resolve inadequate test timings for CI
  * Resolve unit test URLResponse race conditions
  * Ensure logs can be preserved from failed swift tests
  * Fix a collision in log output naming
  * Ensure xcbeautify is installed on Linux
  * Update to the newer CircleCI runner for UI tests
Copilot AI review requested due to automatic review settings July 4, 2025 16:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR prepares release 2.0.1 by cherry-picking backward-compatible fixes and updates across tests, utilities, CI, documentation, and version registrations.

  • Refactor async test helper and URLSessionMock with new matching APIs
  • Enhance JSON utilities (throwing accessors, improved descriptions) and add responseBody to APIClient
  • Bump all module versions to 2.0.1, update docs badges and CI workflows

Reviewed Changes

Copilot reviewed 44 out of 44 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Tests/TestCommon/XCTestCase+Extensions.swift Refactored perform helper to async/await with task groups
Tests/TestCommon/URLSessionMock.swift Added request(matching:) overloads for URL and body matching
Tests/**/*.swift Switched literal timeouts to .standard and simplified request lookups
Sources/*/Version+*.swift Registered SDK versions bumped from 2.0.0 to 2.0.1
Sources/BrowserSignin/Providers/AuthenticationServicesProvider.swift Added Sendable to protocol
Sources/BrowserSignin/BrowserSignin+Deprecations.swift Added platform availability on deprecated aliases
Sources/AuthFoundation/Utilities/String+Extensions.swift Conditional base64URLDecoded access levels and extracted conversion
Sources/AuthFoundation/Utilities/JSONValue.swift Introduced throwing value(at:)/value(forKey:), new JSONError cases, refined description APIs
Sources/AuthFoundation/Network/APIResponse.swift & APIClient.swift Added responseBody to APIResponse and populated it in APIClient
.github/workflows/*.yaml Updated macOS runners, CI logging, swift-docc plugin flags
Podspecs & Package.swift files Bumped CocoaPods specs and Swift package versions to 2.0.1
.spi.yml Added SPI config for experimental documentation generation
.circleci/config.yml Updated CircleCI resource class
Comments suppressed due to low confidence (3)

Tests/TestCommon/URLSessionMock.swift:27

  • [nitpick] Match is a very generic enum name; consider renaming to RequestMatch or URLSessionRequestMatch to improve clarity and avoid collisions.
    enum Match {

Sources/AuthFoundation/Utilities/JSONValue.swift:240

  • Changing this subscript to always return a JSON (defaulting to .null) differs from the previous optional behavior; consider documenting this breaking change or providing an alternate optional API if callers rely on nil.
    public subscript(index: Int) -> JSON {

Sources/AuthFoundation/Network/APIResponse.swift:26

  • The new responseBody property is undocumented; consider adding a doc comment explaining its purpose and usage.
    public let responseBody: Data?

Comment thread Tests/TestCommon/XCTestCase+Extensions.swift
Comment thread Tests/OAuth2AuthTests/SessionLogoutFlowSuccessTests.swift
Comment thread Sources/AuthFoundation/Utilities/JSONValue.swift
Comment thread Sources/BrowserSignin/BrowserSignin+Deprecations.swift
* Update version numbers
* Update README and include a link to the migration guide
* Fix documentation output directory path
@AlexNachbaur
AlexNachbaur merged commit dc9b796 into master Jul 4, 2025
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants