[Post-review Update] SF-0023 ProgressManager

Hello all,

The author of SF-0023 ProgressManager: Progress Reporting in Swift Concurrency, Chloe, wants to propose a minor post-review update for SF-0023. Reviews for these updates begin now and run through Monday, October 6th, 2025.

Pitch Thread

First Review

Second Pitch Thread

Second Review

Here's a summary of changes:

  • Replaced withProperties method with setCounts

  • Removed ProgressManager.Values struct

  • Made ProgressManager conform to @dynamicMemberLookup and moved subscript(dynamicMember:) methods from ProgressManager.Values to ProgressManager

  • Changed behavior of API so that additional properties are restricted to either Int, Double, String?, URL?, UInt64 or Duration types instead of any Sendable types

  • Added overloads for subscript(dynamicMember:) to account for currently-allowed types

  • Added requirements to ProgressManager.Property protocol to define summarization and termination (deinit) behavior

  • Replaced total(of:) with overloads for summary(of:) to account for all available types and removed values(of:) method

Reviews are an important part of the Swift-Foundation evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to me as the review manager by email or DM. When contacting the review manager directly, please include proposal name in the subject line.

Trying it out

Checkout the implementation PR here

More information about Swift-Foundation review process is available at

swift-foundation/CONTRIBUTING.md at main · swiftlang/swift-foundation · GitHub

Thank you,

Charles Hu

Review Manager

1 Like

Is this scheduled for release in Swift 6.3?

1 Like

As seen in the source file this is merged with availability of 6.4

1 Like