Swift 6.2 уже вышел, и вместе с ним подтянулся Swift Package Manager (SPM).
На первый взгляд апдейт тихий, но внутри есть несколько полезных штук, особенно если вы активно работаете с пакетами, CI и макросами.
🧠 1. Новый SwiftSetting.strictMemorySafety
Теперь в Package.swift можно включить строгую проверку безопасности памяти, добавленную в Swift по предложению SE-0458.
.swiftSettings([
.strictMemorySafety(.complete)
])
💡 Это позволит SPM-проектам компилироваться с включённой защитой от “грязных” указателей и нарушений изоляции памяти.
Полезно для системного и серверного Swift - где безопасность важнее производительности.
⚡️ 2. Ускоренные сборки макросов
SPM теперь умеет использовать prebuilt swift-syntax зависимости, не пересобирая их каждый раз.
💬 Для тех, кто пишет или использует макросы (@Observable, @AutoMockable, @Equatable и т.п.), — компиляция стала ощутимо быстрее.
Теперь этот шаг больше не пересобирает swift-syntax из исходников, если система уже имеет готовый бинарный артефакт.
💾 3. Кеширование бинарных артефактов
Бинарные зависимости теперь кешируются рядом с checkout-ами репозиториев, чтобы SPM не скачивал их заново при пересборке в других проектах.
📈 Это особенно приятно, если вы работаете с монорепами, CI/CD или несколькими пакетами с общими зависимостями.
🧩 4. Управление предупреждениями прямо из Package.swift
Теперь можно управлять диагностикой - превращать предупреждения в ошибки или отключать их на уровне конкретного таргета,
используя SwiftSetting в манифесте пакета.
💬 Вывод
Swift Package Manager 6.2 становится быстрее, безопаснее и дружелюбнее к большим проектам.
🧠 Главное новшество - строгая память, кеширование артефактов и ускорение макросов.
📦 Если вы используете Swift 6.2 в продакшне - обновляться стоит.
