Build Information
Successful build of CircularProgress, reference v3.0.1 (8bb9dd), with Swift 6.4 for macOS (SPM) on 18 Sep 2026 20:26:00 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sindresorhus/CircularProgress.git
Reference: v3.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sindresorhus/CircularProgress
* tag v3.0.1 -> FETCH_HEAD
HEAD is now at 8bb9dd2 3.0.1
Cloned https://github.com/sindresorhus/CircularProgress.git
Revision (git rev-parse @):
8bb9dd2820b1cc123f2629c86c569c9f6e5edb66
SUCCESS checkout https://github.com/sindresorhus/CircularProgress.git at v3.0.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/sindresorhus/CircularProgress.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[19 / 28]
[20 / 29] CircularProgress
[30 / 98]
[33 / 98]
[41 / 98]
[43 / 98]
[44 / 98]
[49 / 98]
[52 / 98]
[55 / 98]
[60 / 98]
[63 / 98]
[65 / 98]
[66 / 98]
[75 / 98]
[77 / 98]
[78 / 98]
[80 / 98]
[82 / 98]
[89 / 98] CircularProgress
[95 / 98] CircularProgress
Build complete! (9.64 sec)
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:158:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m155 |[0;0m // TODO: Use `AsyncStream` for all these listeners.
[0;36m156 |[0;0m if let progressInstance {
[0;36m157 |[0;0m progressObserver = progressInstance.observe(\.fractionCompleted) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m158 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m159 |[0;0m guard
[0;36m160 |[0;0m let self,
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:172:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m169 |[0;0m }
[0;36m170 |[0;0m
[0;36m171 |[0;0m finishedObserver = progressInstance.observe(\.isFinished) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m172 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m173 |[0;0m guard
[0;36m174 |[0;0m let self,
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:186:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m183 |[0;0m }
[0;36m184 |[0;0m
[0;36m185 |[0;0m cancelledObserver = progressInstance.observe(\.isCancelled) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m186 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m187 |[0;0m guard let self else {
[0;36m188 |[0;0m return
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:196:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m193 |[0;0m }
[0;36m194 |[0;0m
[0;36m195 |[0;0m indeterminateObserver = progressInstance.observe(\.isIndeterminate) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m196 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m197 |[0;0m guard let self else {
[0;36m198 |[0;0m return
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/Vendored/CustomButton.swift:109:52: [1;33mwarning: [1;39m'controlShadowColor' was deprecated in macOS 11.0: Use a color that matches the semantics being used, such as `separatorColor`[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m107 |[0;0m }
[0;36m108 |[0;0m
[0;36m109 |[0;0m @IBInspectable public var shadowColor: NSColor = .controlShadowColor {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'controlShadowColor' was deprecated in macOS 11.0: Use a color that matches the semantics being used, such as `separatorColor`[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m110 |[0;0m didSet {
[0;36m111 |[0;0m needsDisplay = true
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/Utilities.swift:308:4: [1;33mwarning: [1;39mswitch must be exhaustive[0;0m
[0;36m306 |[0;0m for index in 0..<elementCount {
[0;36m307 |[0;0m let type = element(at: index, associatedPoints: &points)
[0;36m308 |[0;0m switch type {
[0;36m|[0;0m |- [1;33mwarning: [1;39mswitch must be exhaustive[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.cubicCurveTo'[0;0m
[0;36m|[0;0m |- [1;39mnote: [1;39madd missing case: '.quadraticCurveTo'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd missing cases[0;0m
[0;36m309 |[0;0m case .moveTo:
[0;36m310 |[0;0m path.move(to: points[0])
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/Vendored/CustomButton.swift:109:52: [1;33mwarning: [1;39m'controlShadowColor' was deprecated in macOS 11.0: Use a color that matches the semantics being used, such as `separatorColor`[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m107 |[0;0m }
[0;36m108 |[0;0m
[0;36m109 |[0;0m @IBInspectable public var shadowColor: NSColor = .controlShadowColor {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'controlShadowColor' was deprecated in macOS 11.0: Use a color that matches the semantics being used, such as `separatorColor`[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m110 |[0;0m didSet {
[0;36m111 |[0;0m needsDisplay = true
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:158:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m155 |[0;0m // TODO: Use `AsyncStream` for all these listeners.
[0;36m156 |[0;0m if let progressInstance {
[0;36m157 |[0;0m progressObserver = progressInstance.observe(\.fractionCompleted) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m158 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m159 |[0;0m guard
[0;36m160 |[0;0m let self,
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:172:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m169 |[0;0m }
[0;36m170 |[0;0m
[0;36m171 |[0;0m finishedObserver = progressInstance.observe(\.isFinished) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m172 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m173 |[0;0m guard
[0;36m174 |[0;0m let self,
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:186:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m183 |[0;0m }
[0;36m184 |[0;0m
[0;36m185 |[0;0m cancelledObserver = progressInstance.observe(\.isCancelled) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m186 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m187 |[0;0m guard let self else {
[0;36m188 |[0;0m return
/Users/admin/builder/spi-builder-workspace/Sources/CircularProgress/CircularProgress.swift:196:30: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m193 |[0;0m }
[0;36m194 |[0;0m
[0;36m195 |[0;0m indeterminateObserver = progressInstance.observe(\.isIndeterminate) { sender, _ in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m196 |[0;0m Task { @MainActor [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m197 |[0;0m guard let self else {
[0;36m198 |[0;0m return
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "CircularProgress",
"name" : "CircularProgress",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "CircularProgress",
"targets" : [
"CircularProgress"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CircularProgress",
"module_type" : "SwiftTarget",
"name" : "CircularProgress",
"path" : "Sources/CircularProgress",
"product_memberships" : [
"CircularProgress"
],
"sources" : [
"CheckmarkView.swift",
"CircularProgress.swift",
"Utilities.swift",
"Vendored/CustomButton+Utilities.swift",
"Vendored/CustomButton.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.