Releases: swiftlang/swift-package-manager
Releases · swiftlang/swift-package-manager
Swift 6.1 Release
What's Changed
- Suppress redundant linkage warnings due to dependency linkage propagation by @pusukuri in #7404
- Write output-file-map.json atomically by @ahoppen in #7406
- Fix a memory leak in
DownloadTaskManager
andDataTaskManager
by @ahoppen in #7408 - Fix doc comment typo in
Sandbox.swift
by @MaxDesiatov in #7418 - PackageModelTests: fix warnings by @mnaruse in #7421
- Use
arguments
instead ofargumentList
in the macro template by @ahoppen in #7422 - On Darwin, allow XCTest to be missing if we're only building swift-testing tests. by @grynspan in #7426
- Fix indentation in
Product.swift
by @coffmark in #7427 - Add a
swift-corelibs-foundation
specific workaround by @xedin in #7425 - Suppress warnings for remote Clang targets by @xedin in #7423
- [cxx-interop] Propagate interop flag to the test entry point target by @egorzhdan in #7428
- Allow
swift-corelibs-foundation
to use unsafeFlags when used as a d… by @xedin in #7431 - Make
supportedTriples
optional in artifactbundle metadata by @kateinoigakukun in #7432 - Improve error message about the PackageGraphError.productDependencyNotFound by @k-kohey in #7419
- Improvements to prebuilt library configuration handling by @xedin in #7433
- Delete
Examples/package-info
directory as outdated by @MaxDesiatov in #7434 - Update Swift version to 5.9 in
.swiftformat
by @MaxDesiatov in #7438 - [PubGrub] Avoid resolving package versions twice in presence of prebuilt libraries by @xedin in #7436
- Fix sendability warnings in
URLSessionHTTPClient
by @MaxDesiatov in #7441 - NFC: Fix
@Sendable @escaping
order, symbol name typo by @MaxDesiatov in #7446 - Bump
swift-syntax
in template to600.0.0-latest
by @MaxDesiatov in #7443 - Update XCBuildSupport CODEOWNERS by @jakepetroules in #7449
- Add basic
QueryEngine
scaffolding w/Encodable
hashing by @MaxDesiatov in #7347 - Add
HashEncoder
andQueryEngineTests
by @MaxDesiatov in #7435 - Implement per target swift version selection by @xedin in #7439
- Expose
computeTestTargetsForExecutableTargets
via SPI by @MaxDesiatov in #7455 - Add VisionOS platform support to
PIF.PlatformFilter
by @Ryu0118 in #7448 - Rename
ResolvedTarget
toResolvedModule
by @MaxDesiatov in #7459 - Enable strict concurrency checks on
Basics
module by @MaxDesiatov in #7451 - Fix empty token on swift package-registry login (Issue #7453) by @pwallrich in #7454
- Add
UndirectedGraph
andDirectedGraph
data structures by @MaxDesiatov in #7460 - Remove outdated doc comment in
Workspace+State.swift
by @MaxDesiatov in #7463 - Add basic thresholds for
PackageGraphBenchmarks.swift
by @MaxDesiatov in #7462 - Remove use of
SWIFT_FORCE_*
build settings by @neonichu in #7464 - Revert "Revert "Support macros when cross-compiling (#7118)" (#7352)" by @MaxDesiatov in #7353
- Add simple synthetic modules graph benchmarks by @MaxDesiatov in #7465
- pkgconfig: Apply PKG_CONFIG_SYSROOTDIR when generating paths by @euanh in #7461
- Use new SPI for SourceKitLSPAPITests by @bnbarham in #7468
- Add synthetic modules-with-macros graph benchmarks by @MaxDesiatov in #7466
- [SE-0301] Updating a project and its manifest programmatically and from the command line by @DougGregor in #7467
- NFC: Add
Sendable
annotations to PackageDescription APIs by @xedin in #7475 - When adding a macro target to a package, create a dependency on swift-syntax by @DougGregor in #7476
- [SE-0301] Add swift package add-product command and supporting library by @DougGregor in #7477
- Make
SwiftSDK.init
available via@_spi
by @MaxDesiatov in #7482 - Only export required SwiftSyntax targets by @rintaro in #7489
- Include host triple test modules in
ResolvedPackage
by @MaxDesiatov in #7493 - build: remove the requirement to checkout swift-syntax by @compnerd in #7486
- Set environment variable to disable building swift-syntax in Swift 6 mode by @ahoppen in #7495
- Handle Swift versions unsupported by XCBuild by @neonichu in #7499
- Improvements to prebuilt or provided library handling by @xedin in #7496
- Remove
experimental
prefix from Swift SDK command by @MaxDesiatov in #7507 - Fix test targets that depend on macros and
swift-testing
by @grynspan in #7508 - Cleanup addition of swift-syntax by @bnbarham in #7505
- plugins: Pass correct dependency origin information to plugins by @euanh in #7506
- Bring back
experimental-sdk
as deprecated for compatibility by @MaxDesiatov in #7512 - NFC: Fix a typo in a label of
ModuleError.duplicateModulesScmAndRegistry
by @xedin in #7513 - Add end-to-end tests for
sdk
andexperimental-sdk
commands by @MaxDesiatov in #7517 - Add
swift build --enable-code-coverage
by @grynspan in #7518 - Fix incorrect paths for library products with explicit linkage by @MaxDesiatov in #7519
- Report whether a target is part of the root package in the sourcekit-lsp API by @ahoppen in #7492
- [ModulesGraph] Fix association between
.tools
targets and their pac… by @xedin in #7523 - Remove the addition of external-plugin-path for dev toolchains by @bnbarham in #7524
- package -> @_spi public due to package exportability rule updates by @elsh in #7525
- Add
Sendable
annotations to SwiftVersion by @coffmark in #7527 swift sdk
: print warnings on stderr instead of stdout by @MaxDesiatov in #7532- Teach swift package add-target --type test about swift-testing by @DougGregor in #7481
- Pass through swift-testing's experimental JSON streams from
swift test
by @grynspan in #7534 - [Package/ModuleGraph] Allow cyclic package dependencies if they don't introduce a cycle in a build graph by @xedin in #7530
- Align
swift sdk
configuration subcommand with proposal text by @MaxDesiatov in #7535 - Mark
buildSettingsDescription
as@_spi
inTarget.swift
by @MaxDesiatov in #7542 - Add API for background preparation in SourceKit-LSP by @ahoppen in #7540
- Update -swift-version to default to 6 for swift-tools-version 6 by @bnbarham in #7469
- [PackageModel] ...
Swift 6.0.3 Release
What's Changed
- [6.0] Disable part of a test that fails with Swift Testing in the toolchain. by @grynspan in #7901
- [6.0][PackageModel] Toolchain: Split SwiftTesting flags between swift compiler and linker by @xedin in #7907
- [6.0] Update package templates to use Swift Testing in the toolchain rather than as a package dependency. by @grynspan in #7910
- [6.0] Temporarily disable new Swift Testing tests by @bnbarham in #7917
- [6.0][PackageModel] Inject swift-testing flags only if toolchain is target… by @xedin in #7921
- [6.0] Add 2024 Darwin OS versions to
SupportedPlatforms
by @MaxDesiatov in #7972 - [6.0] Remove
@MainActor
from XCTest glue. by @grynspan in #7988 - Bump the Swift version to 6.0.3 by @shahmishal in #8017
- [6.0.3] Fix compiling test runners for Android by using the full overlay by @finagolfin in #8019
- [6.0][PackageModel] UserToolchain: Add -F when building with CommandLineTools by @bnbarham in #8035
- Disable SwiftVersion development mode by @bkhouri in #8074
Full Changelog: swift-6.0.2-RELEASE...swift-6.0.3-RELEASE
Swift 6.0.1 Release
What's Changed
- [6.0.0] Add 2024 Darwin OS versions to
SupportedPlatforms
by @MaxDesiatov in #7982 - Bump the Swift version to 6.0.1 by @shahmishal in #7989
Full Changelog: swift-6.0-RELEASE...swift-6.0.1-RELEASE
Swift 6.0 Release
What's Changed
- tests: repair
BuildPlanTests.testSnippets
on Windows by @compnerd in #7082 - Set
file-system
asdevice-agnostic
in build manifest by @pusukuri in #7052 - Ensure Xcode SDK paths are set when running test targets. by @grynspan in #7093
- SourceControl: add basic support for symlinks by @compnerd in #7092
- Disallow static linking core libraries in
swift test
by @MaxDesiatov in #7087 - Integration with swift-testing by @grynspan in #7047
- small cleanup after 7092 by @tomerd in #7096
- cache binary artifact globally by @tomerd in #7101
- PackagePlugin: silence a deprecation warning on Windows by @compnerd in #7109
- Fix broken link to 'Swift Package Registry Service Specification' by @ashokm in #7107
- Tests: clean up path representation for manifest checks by @compnerd in #7111
- Tests: adjust for sorting and path representation by @compnerd in #7112
- validate local repository has the correct remote by @tomerd in #7079
- Replace some uses of
temp_await
withawait
in tests by @AndrewHoos in #7102 - Remove usage of temp_await from WorkspaceTests by @AndrewHoos in #7124
- Revert "Disable CMake bootstrap by default" by @neonichu in #7108
- Make
swift test --show-code-cov-path
work withswift-testing
by @grynspan in #7094 - Revert "Only show command output in verbose mode (#7078)" by @MaxDesiatov in #7130
- improve handling of test output by @tomerd in #7126
- build: simplify the build rules with newer CMake by @compnerd in #7119
- Move PackageSigningTests to async/await by @AndrewHoos in #7132
- Skip unknown XCBuild message types by @jakepetroules in #7136
- Async package registry tests by @AndrewHoos in #7135
- Rename the swift-testing entry point. by @grynspan in #7137
- Remove some unused code by @neonichu in #7140
- Fix dump symbol graph target list by @neonichu in #7143
- [NFC] Remove redundant
DependencyResolver
protocol by @MaxDesiatov in #7127 - Update CHANGELOG.md by @tomerd in #7149
- Fix error handling for dump symbol graph by @neonichu in #7141
- Create an xunit results file even if no tests are run. by @grynspan in #7066
- add 5.9 release notes by @tomerd in #7148
- [NFC] Remove unused
fileSystem
fromGraphLoadingNode
by @MaxDesiatov in #7154 - adjust git call supported by older git clients by @tomerd in #7155
- Async package collections tests by @AndrewHoos in #7156
- Fix ignored symbol graph extraction exit code by @MaxDesiatov in #7159
- Remove discovery target in swift-testing case by @grynspan in #7123
- Use a different path extension for swift-testing builds by @grynspan in #7163
- build: allow building in Debug mode on Windows by @compnerd in #7152
- [NFC] Replace
PackageConditionProtocol
withPackageCondition
by @MaxDesiatov in #7117 - Add test fixture for experimental-lto-mode by @rauhul in #6891
- make it possible to specify permitted network port access at runtime by @tomerd in #7151
- Move .swiftmodule output directory by @neonichu in #7103
- Keep separate build parameters for host and target by @MaxDesiatov in #7164
- Avoid use of
temp_await
inPackageRegistryToolTests.swift
by @MaxDesiatov in #7015 - Revert "Avoid use of
temp_await
inPackageRegistryToolTests.swift
" by @neonichu in #7169 - build: remove
USE_CMAKE_INSTALL
option by @compnerd in #7168 - A fix for incorrectly overriding environment variables rdar://118814900 by @pusukuri in #7144
- Pass
-disable-sandbox
to Swift compiler if requested by @neonichu in #7167 - Public API for getting information about build targets by @neonichu in #6763
- [cxx-interop] Make test discovery compatible with C++ interop by @egorzhdan in #7165
- Fix modules path for XCBuild by @neonichu in #7180
- Re-revert "Avoid use of temp_await in
PackageRegistryToolTests.swift
" by @MaxDesiatov in #7176 - Adopt
async
/await
in more tests by @AndrewHoos in #7182 - [cxx-interop] Do not pass the C++ standard if C++ interop is not enabled by @egorzhdan in #7188
- Move SwiftPackageCollectionsTool to async/await by @AndrewHoos in #7183
- Avoid using
temp_await
inSwiftTestTool.swift
by @MaxDesiatov in #7016 - Mark global var as constant in
ConcurrencyHelpers.swift
by @MaxDesiatov in #7191 - Avoid using
temp_await
onloadRootPackage
by @MaxDesiatov in #7009 - Move PackageRegistryTool to async/await by @AndrewHoos in #7190
- Allow specifying testing libraries for
swift package init
by @grynspan in #7186 - Revert "Avoid using
temp_await
inSwiftTestTool.swift
" by @MaxDesiatov in #7196 - build: clean up some CMake usage by @compnerd in #7193
- [NFC] Remove
SupportedPlatforms
, addPlatformVersionProvider
by @MaxDesiatov in #7161 - Delete
Sources/swift-package-collection/CMakeLists.txt
by @MaxDesiatov in #7198 - Replace custom path type with URL in plugin API by @neonichu in #7184
- Make
Resolved*
inPackageGraph
value types by @MaxDesiatov in #7160 - Adjust
testURLBasedPluginAPI
logging checks by @neonichu in #7205 - Bifurcate SwiftPM library locations by @neonichu in #7212
- Move the
SourceKitLSPAPI
target to theSwiftPM
product by @neonichu in #7209 - Use
topologicalSort
withIdentifiable
onResolvedTarget
by @MaxDesiatov in #7211 - [NFC] Fix some of the new Swift
main
snapshots warnings by @MaxDesiatov in #7214 - Verify product dependencies w/ target platform, vs. hardcoded
macOS
by @peterkos in #6963 - Add
subsetDescriptor
to completion message by @neonichu in #7208 - Run build commands without declared outputs by @neonichu in #7203
- Automatically enable swift-testing support in
swift test
when it's a dependency. by @grynspan in #7220 - Limit cache directories by @neonichu in #7225
- Workaround in ZipArchiver when posix_spawn_file_actions_addchdir_np is unavailable by @yim-lee in http...
Swift 5.10.1 Release
What's Changed
- [5.10] Fix test runner build on WASI by @kateinoigakukun in #7351
- [5.10] Fix non-tarballed SDK installation with remote URL (#7312) by @kateinoigakukun in #7321
- Bump the Swift version to 5.10.1 by @shahmishal in #7636
Full Changelog: swift-5.10-RELEASE...swift-5.10.1-RELEASE
Swift 5.10 Release
Notable Changes
-
On macOS,
swift build
andswift run
now produce binaries that allow backtraces in debug builds. PassSWIFT_BACKTRACE=enable=yes
environment variable to enable backtraces on such binaries when running them. -
Binary artifacts are now cached alongside repository checkouts so they do not need to be re-downloaded across projects.
Merged Pull Requests
- Plugin import scanner isn't passing in the library directory, making
canImport
not work by @abertelrud in #6323 - Destinations: fix missing
remove
command message by @MaxDesiatov in #6319 - Mark types conforming to
FileSystem
asSendable
by @MaxDesiatov in #6318 - rdar://105991217 (Make macros testable) by @neonichu in #6312
- Rearrangement in preparation for 5.9 branching by @neonichu in #6309
- Use new shorthand syntax for unwrapping optionals by @sheikhbayazid in #6329
- Basics: clean up
DiagnosticsEngine
inObservability
by @MaxDesiatov in #6333 - better diagnostics when potentially duplicate packages are found by @tomerd in #6317
- improve diagnostics when registry configuration is broken by @tomerd in #6331
- better diagnostics for networking errors by @tomerd in #6330
- update docker compose with new swift versions by @tomerd in #6332
- Reduce errors from manifest signature validation by @yim-lee in #6325
- Fix compilation error in Swift 5.7.2 by @yim-lee in #6341
- cleanup mirror config command by @tomerd in #6339
- Destinations: throw error on duplicate artifact ID by @MaxDesiatov in #6343
- Package manifest checksum TOFU by @yim-lee in #6322
- Add 5.8 release notes by @tomerd in #6347
- Add templates for build tool plugins and command plugins by @neonichu in #6111
- PackageLoading: anchor relative paths for Windows by @compnerd in #6345
- change validation to throw instead of pre-condition to avoid crashes by @tomerd in #6354
- Fix deprecation warning in
PackageBuilder.swift
by @MaxDesiatov in #6360 - Do not pollute home directory with test data by @neonichu in #6364
- NFC: fix comment typo in
ZipArchiver
by @MaxDesiatov in #6366 - Expected signing entity verification by @neonichu in #6359
- Cross-compilation: fix bundles not unpacked on installation by @MaxDesiatov in #6361
- Support Target Grouping by @elsh in #6356
- Update registry service spec per SE-0391 by @yim-lee in #6275
- Include signing entity in version metadata by @neonichu in #6363
- rdar://107033737 (Expose
PackageVersionMetadata
fromPackageSearchClient
) by @neonichu in #6351 - [NFC] BuildOperation.swift: fix comment typo by @MaxDesiatov in #6379
- PackageModel, CoreCommands: fix build flags not passed by @MaxDesiatov in #6380
- Basics: add support for
.tar.gz
archives by @MaxDesiatov in #6368 - Fix product lookup by @neonichu in #6376
- Documentation on registry usage by @yim-lee in #6373
- Set a default value to the group param for a macro target by @elsh in #6384
- Basics: support multiple formats with a single archiver by @MaxDesiatov in #6369
- Fix symlinked
swift-experimental-destination
invocations by @MaxDesiatov in #6382 - Tests: use
FileManager
instead ofcp
by @compnerd in #4872 - PackageSigning: mark
SigningEntityType
asSendable
by @MaxDesiatov in #6390 - Basics: make
supportedExtensions
inUniversalArchiver
constant by @MaxDesiatov in #6388 - PackageModelTests: fix warnings in
DestinationBundleTests
by @MaxDesiatov in #6391 - sort identities from url lookup to make lookup result consistent by @tomerd in #6397
- Basics: allow reusing cancellator handlers from
SwiftTool
by @MaxDesiatov in #6396 - Package: adjust the package definition for Windows by @compnerd in #6394
- Add a minimal test for the PD macro API by @neonichu in #6399
- On ELF platforms, only add runpaths as needed by @finagolfin in #6321
- ManifestSourceGeneration incorrectly writes out
DriverKit
instead ofdriverKit
by @abertelrud in #6405 - Add author to collection package release metadata by @yim-lee in #6408
- Add publication time to registry package release metadata by @yim-lee in #6407
- Destinations: use
UniversalArchiver
ininstall
command by @MaxDesiatov in #6392 - Improve Swift Macro template by @ahoppen in #6410
- A few fixes for building SwiftPM for MacCatalyst by @neonichu in #6414
- Add author and signer to package collection models by @yim-lee in #6415
- Fix iOS buid by @neonichu in #6419
- Format test target in the macro package consistently with other targets by @ahoppen in #6421
- Bump SwiftPM's minimum deployment target to macOS 12 by @neonichu in #6138
- Use exact SwiftCrypto version to work around self-hosting failure by @MaxDesiatov in #6428
- Update CODEOWNERS by @neonichu in #6432
- Re-enable disabled tests by @neonichu in #6422
- Basics: remove
AsyncFileSystem
as unused by @MaxDesiatov in #6436 - Rename "CC Destination" to "Swift SDK" by @MaxDesiatov in #6424
- Update to swift-crypto 2.4.1 by @yim-lee in #6431
- Build: fix duplicate
case
ofswitch
inBuildPlan.swift
by @MaxDesiatov in #6389 - Expose
SigningEntity
via package metadata by @neonichu in #6442 - fix functional test by @tomerd in #6437
- Change
testPluginCanBeReferencedByProductName
by @neonichu in #6443 - refactor RelativePath to allow late stage canonicalization in support of windows by @tomerd in #5910
- bootstrap: fix use of deprecated
-Xmanifest
flag by @MaxDesiatov in #6435 - quiet down redundant warnings for binary targets with multiple info.plist by @tomerd in #6445
- Update BUG_REPORT.yml by @compnerd in #6449
- Newly created build tool and command plugin templates should have conditional support for XcodeProjectPlugin by @abertelrud in #6446
- Tests: adjust windows librarian test slightly by @compnerd in #6450
- NFC: 5.9 Documentation update. by @zkiraly in #6434
- Supplemental fix for XcodeProjectPlugin support in package init template by @abertelrud in #6451
- BuildTests: remove some likely debugging leftovers by @compnerd in #6457
- Update macro API by @neonichu in #6459
- WorkspaceTests: simplify constant cons...
swift-5.9.2-RELEASE
Bump the Swift version to 5.9.2 (#7175)
0.6.0
[Package.swift] Require swift-llbuild and swift-tools-support-core us…
swift-5.1.5-RELEASE: Merge pull request #2663 from aciidb0mb3r/fix-install-name
[bootstrap] Use the right install name for PackageDescription
Swift 5.2 Release
swift-5.2-RELEASE [PackageGraph] Fix package name validation for product target depende…