{
  "id": 10229273,
  "title": "Swift 6.4 Brings Subprocess 1.0, Improved Interoperability, Faster Wasm, and More",
  "url": "https://urgent.news/2026/09/27/swift-6-4-brings-subprocess-1-0-improved-interoperability-faster-wasm",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-27T14:00:00.000Z",
  "source": {
    "name": "InfoQ",
    "slug": "infoq",
    "url": "https://www.infoq.com/news/2026/09/swift-6-4-released/"
  },
  "original_language": "en",
  "account": "Swift 6.4, the latest release of the Swift programming language, introduces numerous enhancements across its language features and tooling. Among these improvements are the introduction of Subprocess 1.0, a cross-platform API for managing external processes; enhanced interoperability with C++, Java, and other languages; faster WebAssembly (Wasm) code generation; and several performance optimizations.\n\nThe release simplifies Swift's syntax, allowing developers to write more concise code. For instance, the type syntax can now be simplified to AType? without the need for extra parentheses, making code easier to read and write. New language features include the @diagnose attribute, which allows developers to control compiler diagnostics and warnings, and the defer statement, which now directly supports the await keyword in concurrent code, eliminating the need to wrap asynchronous calls in a separate Task.\n\nSwift Concurrency improvements in Swift 6.4 have been particularly noteworthy, with contributions from Swift Concurrency expert Antoine van der Lee. These improvements aim to make adopting strict concurrency patterns more straightforward. Features such as the defer statement supporting the await keyword, and new types like UniqueArray, UniqueBox, Ref/MutableRef, and Iterable, help reduce unnecessary copying and allocations in common array operations.\n\nThe IDE experience also sees enhancements, with Swift 6.4 offering more robust debugging support for modules and a unified build toolchain across supported platforms. These improvements are expected to significantly ease the debugging process, especially when viewing variables within the debugger.\n\nSubprocess 1.0, now stable, provides a cross-platform API for launching and interacting with external subprocesses. An example of its usage is shown below:\n\n```swift\nlet process = Process()\nlet outputPipe = Pipe()\nprocess.standardOutput = outputPipe\ntry process.run()\noutputPipe.fileHandleForReading.readDataToEndOfFile()\n```\n\nIn terms of interoperability, Swift 6.4 has improved its integration with supported languages. The @c and @implementation attributes allow the direct inclusion of a C header's implementation within Swift, removing the need for separate C declarations. Swift's existing support for bridging with C++20's std::span and Java has been expanded, providing more seamless interaction between these languages and Swift.\n\nWebAssembly (Wasm) bridging through JavaScriptKit in Swift 6.4 has seen a significant performance boost, being up to 40 times faster than dynamic bridging. These performance improvements underscore Swift's ongoing commitment to delivering high-performance applications.\n\nSwift 6.4 encompasses numerous other changes, providing developers with a range of enhancements to streamline their coding experience. For a complete list of updates, readers are encouraged to consult the official release announcement.",
  "summary": "The latest release of Swift, Swift 6.4, introduces a range of language and tooling improvements, including better performance through expanded support for non-copyable values, up to 40 times faster Wasm generated code, improved interoperability with C++20 and Java, and a new Subprocess library that provides a cross-platform API for launching and interacting with external processes. By Sergio De…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}