Build Information
Successful build of SwiftUPnP, reference v1.1.0 (ca29e2), with Swift 6.4 for macOS (SPM) on 20 Sep 2026 00:11:13 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/katoemba/SwiftUPnP.git
Reference: v1.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/katoemba/SwiftUPnP
* tag v1.1.0 -> FETCH_HEAD
HEAD is now at ca29e25 Updated to swift tools version 5.9.
Cloned https://github.com/katoemba/SwiftUPnP.git
Revision (git rev-parse @):
ca29e25e0604c87009768d73a8e8490796054831
SUCCESS checkout https://github.com/katoemba/SwiftUPnP.git at v1.1.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/katoemba/SwiftUPnP.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Provisioning 2 / 10]
[Pre-planning 1 / 186]
[Planning deferred tasks]
[40 / 77]
[44 / 79] CocoaAsyncSocket
[51 / 111] Swifter
[61 / 166]
[66 / 166]
[73 / 166]
[77 / 166]
[78 / 166]
[82 / 166]
[88 / 166]
[91 / 166]
[96 / 166]
[102 / 166]
[105 / 166]
[106 / 166]
[108 / 166]
[110 / 166] CocoaAsyncSocket
[112 / 166]
[123 / 166] XMLCoder
[124 / 166] Swifter
[136 / 166] XMLCoder-product
[137 / 166] XMLCoder-product
[148 / 166] Swifter-product
[151 / 167] XMLCoder
[152 / 168] UPnPCodeGenerator-product
[156 / 172] Swifter
[157 / 172] UPnPCodeGenerator-product
[161 / 172] SwiftUPnP
[175 / 214]
[186 / 214]
[187 / 214]
[189 / 214]
[191 / 214]
[194 / 214]
[205 / 214] SwiftUPnP
[211 / 214] SwiftUPnP
[213 / 214] SwiftUPnP
Build complete! (14.61 sec)
Fetching https://github.com/httpswift/swifter
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter (1.85s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket
[1/6440] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket (1.57s)
Fetching https://github.com/CoreOffice/XMLCoder.git
[1/10129] Fetching xmlcoder
Fetched https://github.com/CoreOffice/XMLCoder.git (1.34s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.18.2 (2.02s)
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.18.2
Creating working copy for https://github.com/httpswift/swifter
Working copy of https://github.com/httpswift/swifter resolved at stable (1e4f51c)
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket resolved at master (5ddba5e)
warning: /Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117 keyword 'repeat' does not need to be escaped in argument list: FixIt(sourceRange: XCBuild.SwiftBuildMessage.DiagnosticInfo.SourceRange(path: "/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift", startLine: 176, startColumn: 117, endLine: 176, endColumn: 118), textToInsert: ""), FixIt(sourceRange: XCBuild.SwiftBuildMessage.DiagnosticInfo.SourceRange(path: "/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift", startLine: 176, startColumn: 124, endLine: 176, endColumn: 125), textToInsert: "")
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:86:9: [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m84 |[0;0m
[0;36m85 |[0;0m public func startDiscovery() throws {
[0;36m86 |[0;0m Task {
[0;36m|[0;0m |- [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mto silence this warning, handle the error inside the task, or store/discard the task value explicitly[0;0m
[0;36m87 |[0;0m await startHTTPServerIfNotRunning()
[0;36m88 |[0;0m try discoveryEngine.startDiscovery(forTypes: types)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:260:31: [1;33mwarning: [1;39mcapture of 'self' with non-Sendable type 'UPnPService?' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m30 |[0;0m import os.log
[0;36m31 |[0;0m
[0;36m32 |[0;0m public class UPnPService: Equatable, Identifiable, Hashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mclass 'UPnPService' does not conform to the 'Sendable' protocol[0;0m
[0;36m33 |[0;0m public enum SubscriptionStatus {
[0;36m34 |[0;0m case unsubscribed
[0;36m:[0;0m
[0;36m258 |[0;0m Logger.swiftUPnP.debug("Will renew sid: \(subscriptionId) at: \(Date(timeIntervalSinceNow: Double(timeout - 10)))")
[0;36m259 |[0;0m DispatchQueue.main.asyncAfter(deadline: DispatchTime.now().advanced(by: .seconds(timeout - 10))) { [weak self] in
[0;36m260 |[0;0m guard let self else { return }
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of 'self' with non-Sendable type 'UPnPService?' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m261 |[0;0m Task {
[0;36m262 |[0;0m await self.renewSubscriptionToEvents()
[#NoUseUnstructuredThrowingTask]: <https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117: [1;33mwarning: [1;39mkeyword 'repeat' does not need to be escaped in argument list[0;0m
[0;36m174 |[0;0m var action: SoapAction
[0;36m175 |[0;0m }
[0;36m176 |[0;0m try await post(action: "SetRepeat", envelope: Envelope(body: Body(action: SoapAction(urn: Attribute(serviceType), `repeat`: `repeat`))), log: log)
[0;36m|[0;0m `- [1;33mwarning: [1;39mkeyword 'repeat' does not need to be escaped in argument list[0;0m
[0;36m177 |[0;0m }
[0;36m178 |[0;0m
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:200:16: [1;33mwarning: [1;39mstored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode[0;0m
[0;36m198 |[0;0m
[0;36m199 |[0;0m public let res: [DIDLRes]
[0;36m200 |[0;0m public let desc: [DIDLDescription]
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode[0;0m
[0;36m201 |[0;0m
[0;36m202 |[0;0m public let `class`: String
[0;36m:[0;0m
[0;36m234 |[0;0m }
[0;36m235 |[0;0m
[0;36m236 |[0;0m public struct DIDLDescription: Codable, DynamicNodeDecoding {
[0;36m|[0;0m `- [1;39mnote: [1;39mconsider making struct 'DIDLDescription' conform to the 'Sendable' protocol[0;0m
[0;36m237 |[0;0m enum CodingKeys: String, CodingKey {
[0;36m238 |[0;0m case id
/Users/admin/builder/spi-builder-workspace/Source/Profiles/OpenHome Profile/OpenHomeTransport1Service.swift:176:117: [1;33mwarning: [1;39mkeyword 'repeat' does not need to be escaped in argument list[0;0m
[0;36m174 |[0;0m var action: SoapAction
[0;36m175 |[0;0m }
[0;36m176 |[0;0m try await post(action: "SetRepeat", envelope: Envelope(body: Body(action: SoapAction(urn: Attribute(serviceType), `repeat`: `repeat`))), log: log)
[0;36m|[0;0m `- [1;33mwarning: [1;39mkeyword 'repeat' does not need to be escaped in argument list[0;0m
[0;36m177 |[0;0m }
[0;36m178 |[0;0m
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:200:16: [1;33mwarning: [1;39mstored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode[0;0m
[0;36m198 |[0;0m
[0;36m199 |[0;0m public let res: [DIDLRes]
[0;36m200 |[0;0m public let desc: [DIDLDescription]
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' contains non-Sendable type 'DIDLDescription'; this is an error in the Swift 6 language mode[0;0m
[0;36m201 |[0;0m
[0;36m202 |[0;0m public let `class`: String
[0;36m:[0;0m
[0;36m234 |[0;0m }
[0;36m235 |[0;0m
[0;36m236 |[0;0m public struct DIDLDescription: Codable, DynamicNodeDecoding {
[0;36m|[0;0m `- [1;39mnote: [1;39mconsider making struct 'DIDLDescription' conform to the 'Sendable' protocol[0;0m
[0;36m237 |[0;0m enum CodingKeys: String, CodingKey {
[0;36m238 |[0;0m case id
Build complete.
{
"dependencies" : [
{
"identity" : "xmlcoder",
"requirement" : {
"range" : [
{
"lower_bound" : "0.13.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/CoreOffice/XMLCoder.git"
},
{
"identity" : "swifter",
"requirement" : {
"branch" : [
"stable"
]
},
"type" : "sourceControl",
"url" : "https://github.com/httpswift/swifter"
},
{
"identity" : "cocoaasyncsocket",
"requirement" : {
"branch" : [
"master"
]
},
"type" : "sourceControl",
"url" : "https://github.com/robbiehanson/CocoaAsyncSocket"
}
],
"manifest_display_name" : "SwiftUPnP",
"name" : "SwiftUPnP",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "10.0"
}
],
"products" : [
{
"name" : "SwiftUPnP",
"targets" : [
"SwiftUPnP"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "UPnPCodeGenerator",
"targets" : [
"UPnPCodeGenerator"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "UPnPCodeGenerator",
"module_type" : "SwiftTarget",
"name" : "UPnPCodeGenerator",
"path" : "CodeGenerator",
"product_dependencies" : [
"XMLCoder"
],
"product_memberships" : [
"UPnPCodeGenerator"
],
"sources" : [
"ServiceDefinition.swift",
"SourceGenerator.swift",
"main.swift"
],
"type" : "executable"
},
{
"c99name" : "SwiftUPnP",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnP",
"path" : "Source",
"product_dependencies" : [
"XMLCoder",
"Swifter",
"CocoaAsyncSocket"
],
"product_memberships" : [
"SwiftUPnP"
],
"sources" : [
"Profiles/AV Profile/AVTransport1Service.swift",
"Profiles/AV Profile/ConnectionManager1Service.swift",
"Profiles/AV Profile/ContentDirectory1Service+DIDL.swift",
"Profiles/AV Profile/ContentDirectory1Service.swift",
"Profiles/AV Profile/RenderingControl1Service.swift",
"Profiles/OpenHome Profile/OpenHomeConfig1Service.swift",
"Profiles/OpenHome Profile/OpenHomeCredentials1Service.swift",
"Profiles/OpenHome Profile/OpenHomeInfo1Service.swift",
"Profiles/OpenHome Profile/OpenHomePins1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service+DIDL.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylistManager1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct2Service.swift",
"Profiles/OpenHome Profile/OpenHomeRadio1Service.swift",
"Profiles/OpenHome Profile/OpenHomeReceiver1Service.swift",
"Profiles/OpenHome Profile/OpenHomeSender1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTime1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTransport1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume2Service.swift",
"SSDP/SSDPCocoaAsyncSocketDiscovery.swift",
"SSDP/SSDPDiscovery.swift",
"SSDP/SSDPNetworkDiscovery.swift",
"SSDP/UserAgentGenerator.swift",
"Support/IPHelper.swift",
"Support/XMLParserSupport.swift",
"UPnP/UPnPDevice.swift",
"UPnP/UPnPDeviceDefinition.swift",
"UPnP/UPnPRegistry.swift",
"UPnP/UPnPService.swift",
"UPnP/UPnPServiceDefinition.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.