---
# System prepended metadata

title: Ready for Swift 6 Page on Swift Package Index

---

# Ready for Swift 6 Page on Swift Package Index

The Swift 6 language mode prevents data-races at compile time. When you opt into Swift 6 mode, the compiler will produce errors when your code has a risk of concurrent access, turning hard-to-debug runtime failures into compiler errors.

To track the progress of the Swift package ecosystem, the Swift Package Index is running regular package compatibility checks across all packages in the index.

For help migrating your code, see the [Swift 6 language mode migration guide](https://example.com) or the [Swift 6 release blog post](https://example.com).

## Total packages compatible with Swift 6

"Compatible" means the package has zero data-race safety compiler diagnostics.

[chart]

## Total Swift 6 concurrency errors

A count of all data-race safety diagnostics across all packages.

[chart]

## FAQ

Why is compatibility with the Swift 6 language mode tested with `-strict-concurrency=complete` instead of `-swift-version 6`?

Data-race safety diagnostics are determined in different stages of the compiler. For example, type checking produces some data-race safety errors, and others are diagnosed during control-flow analysis after code generation. If type checking produces errors, the compiler will not proceed to code generation, so testing with `-swift-version 6` would show fewer errors than really exist across the package ecosystem.