← All stories
● Covered by 1 source · 1 reportMedium impact1 neutral

Swift 6.4 Released with Subprocess 1.0, Improved Interoperability, and Faster Wasm

🔄 Updated 7h ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • Subprocess 1.0 library added for cross-platform process interaction.
  • Wasm generated code is up to 40 times faster.
  • Improved interoperability with C++20 and Java.
  • Expanded support for non-copyable values reduces copying.
  • Concurrency updates include `await` in `defer` and `withTaskCancellationShield`.

Core Language and Tooling Improvements

Swift 6.4 has been released, bringing a range of language and tooling enhancements. Key updates include the introduction of Subprocess 1.0, a new cross-platform API for launching and interacting with external processes. The release also significantly boosts Wasm generated code performance, making it up to 40 times faster, and improves interoperability with C++20 and Java environments.

Syntax and Compiler Enhancements

The new Swift version simplifies syntax, allowing `AType?` instead of `(some AType)?` or `(any AType)?`. A new `@diagnose` attribute provides control over compiler diagnostics and warnings. Additionally, developers can now disambiguate identically named symbols imported from different modules using `AModuleName::`.

Concurrency Updates

Swift Concurrency receives practical improvements in 6.4. The `defer` statement now directly supports the `await` keyword, removing the need for separate `Task` wrappers for asynchronous calls. A new `withTaskCancellationShield` feature temporarily protects tasks from cancellation, ensuring critical cleanup code can complete.

Non-Copyable Values and Performance

The release expands support for non-copyable values, reducing unnecessary copying and allocations in array operations. New types and protocols like `UniqueArray`, `UniqueBox`, `Ref`/`MutableRef`, and `Iterable` are introduced. `UniqueBox` provides a non-reference counted smart pointer with unique ownership, while `UniqueArray` avoids copy-on-write allocations. The `Iterable` protocol enables iteration using borrowing semantics, further preventing copies.

Borrowing Semantics and Type Conformance

Further borrowing-related changes include `Ref` and `MutableRef` for storing borrowed or mutable individual values. Borrow and mutate accessors are now available for reading from or modifying `Span` or `InlineArray` through properties. Non-copyable types can now conform to `Equatable`, `Comparable`, and `Hashable` protocols.

✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →

The daily brief

One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.

One email a day. Unsubscribe in one click, any time.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~7 min · 6 stories · Sep 27

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Reporting from

Swift 6.4 introduces a new Subprocess library, improves interoperability with C++20 and Java, and delivers up to 40 times faster Wasm generated code. The update also includes expanded support for non-copyable values and enhancements to Swift Concurrency, aiming to simplify code and reduce friction in concurrency adoption.