diff --git a/Firestore/CHANGELOG.md b/Firestore/CHANGELOG.md index d52debcd554..8f461086289 100644 --- a/Firestore/CHANGELOG.md +++ b/Firestore/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased - [feature] Add `Pipeline` support. +- [fixed] Fixed an issue where the returned object in transaction blocks could not + pass across actor boundaries in Swift 6 (#15467). # 12.4.0 - [fixed] Implemented an internal workaround to fix diff --git a/Firestore/Swift/Source/AsyncAwait/Firestore+AsyncAwait.swift b/Firestore/Swift/Source/AsyncAwait/Firestore+AsyncAwait.swift index e85ca9a9791..3e4be7a9ba2 100644 --- a/Firestore/Swift/Source/AsyncAwait/Firestore+AsyncAwait.swift +++ b/Firestore/Swift/Source/AsyncAwait/Firestore+AsyncAwait.swift @@ -102,7 +102,7 @@ public extension Firestore { /// explicitly specified in the `updateBlock` parameter. /// - Returns Returns the value returned in the `updateBlock` parameter if no errors occurred. func runTransaction(_ updateBlock: @escaping (Transaction, NSErrorPointer) - -> Any?) async throws -> Any? { + -> sending Any?) async throws -> sending Any? { // This needs to be wrapped in order to express a nullable return value upon success. // See https://github.com/firebase/firebase-ios-sdk/issues/9426 for more details. return try await withCheckedThrowingContinuation { continuation in diff --git a/Firestore/Swift/Source/Stages.swift b/Firestore/Swift/Source/Stages.swift index eab46bf60ff..42d01ef42bb 100644 --- a/Firestore/Swift/Source/Stages.swift +++ b/Firestore/Swift/Source/Stages.swift @@ -26,7 +26,8 @@ import Foundation protocol Stage { var name: String { get } var bridge: StageBridge { get } - /// The `errorMessage` defaults to `nil`. Errors during stage construction are captured and thrown later when `execute()` is called. + /// The `errorMessage` defaults to `nil`. Errors during stage construction are captured and thrown + /// later when `execute()` is called. var errorMessage: String? { get } }