<!--
{
  "documentType" : "article",
  "framework" : "Updates",
  "identifier" : "/documentation/Updates/Swift",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Swift updates"
}
-->

# Swift updates

Learn about important changes to Swift.

## Overview

Browse notable changes in <doc://com.apple.documentation/documentation/Swift>.
For information about Swift language changes,
refer to [The Swift Programming Language](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/revisionhistory).

## June 2025

### Swift standard library

- Safely access contiguous regions of memory,
  like a container’s underlying storage,
  using <doc://com.apple.documentation/documentation/Swift/Span>
  and <doc://com.apple.documentation/documentation/Swift/RawSpan>.
  Safely modify that memory
  using <doc://com.apple.documentation/documentation/Swift/MutableSpan>
  and <doc://com.apple.documentation/documentation/Swift/MutableRawSpan>.
  
  <!-- SE-0447 -->
  
  <!-- SE-0467 -->
  
  Many collections in the standard library now have a `span` property
  that provides access to their underlying storage.
  `Span` has a <doc://com.apple.documentation/documentation/Swift/Span/bytes-8rxg>
  property to access the raw storage when the element type supports it.
  
  <!-- SE-0456 -->
- Process Unicode strings efficiently and safely,
  using <doc://com.apple.documentation/documentation/Swift/UTF8Span>
  to access a contiguous region of memory.
  
  <!-- SE-0464 -->
- Create fixed-size arrays that have contiguous underlying storage
  using <doc://com.apple.documentation/documentation/Swift/InlineArray>.
  
  <!-- SE-0453 -->
- To identify a task during debugging,
  you can set a name for a detached task
  using <doc://com.apple.documentation/documentation/Swift/Task/init(name:priority:operation:)-43wmk>,
  and for a task in a task group
  using <doc://com.apple.documentation/documentation/Swift/TaskGroup/addTask(name:priority:operation:)>.
  Access the current task’s name
  using <doc://com.apple.documentation/documentation/Swift/Task/name-swift.property>.
  
  <!-- SE-0469 -->
- Start a task immediately
  using <doc://com.apple.documentation/documentation/Swift/Task/immediate(name:priority:executorPreference:operation:)-9bghc>.
  
  <!-- SE-0472 -->

## June 2024

### Swift standard library

- Operate on noncontiguous ranges in collections
  using <doc://com.apple.documentation/documentation/Swift/RangeSet>
  and <doc://com.apple.documentation/documentation/Swift/DiscontiguousSlice>.
  
  <!-- SE-0270 -->
- Control which executor runs a task using
  <doc://com.apple.documentation/documentation/Swift/TaskExecutor>.
  
  <!-- SE-0417 -->
- Validate that C strings contain well-formed Unicode text
  when converting to them to `String`
  with <doc://com.apple.documentation/documentation/Swift/String/init(validatingCString:)-992vo>
  and <doc://com.apple.documentation/documentation/Swift/String/init(validating:as:)-84qr9>.
  
  <!-- SE-0405 -->
- Preserve more information about thrown errors
  from <doc://com.apple.documentation/documentation/Swift/AsyncSequence>
  and <doc://com.apple.documentation/documentation/Swift/AsyncIteratorProtocol>
  using their `Failure` associated type.
  
  <!-- SE-0421 -->

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)