Swift 6.0 Release
·
992 commits
to main
since this release
What's Changed
- tests: repair
BuildPlanTests.testSnippetson Windows by @compnerd in #7082 - Set
file-systemasdevice-agnosticin 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 testby @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_awaitwithawaitin 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-pathwork withswift-testingby @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
DependencyResolverprotocol 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
fileSystemfromGraphLoadingNodeby @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
PackageConditionProtocolwithPackageConditionby @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_awaitinPackageRegistryToolTests.swiftby @MaxDesiatov in #7015 - Revert "Avoid use of
temp_awaitinPackageRegistryToolTests.swift" by @neonichu in #7169 - build: remove
USE_CMAKE_INSTALLoption by @compnerd in #7168 - A fix for incorrectly overriding environment variables rdar://118814900 by @pusukuri in #7144
- Pass
-disable-sandboxto 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/awaitin 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_awaitinSwiftTestTool.swiftby @MaxDesiatov in #7016 - Mark global var as constant in
ConcurrencyHelpers.swiftby @MaxDesiatov in #7191 - Avoid using
temp_awaitonloadRootPackageby @MaxDesiatov in #7009 - Move PackageRegistryTool to async/await by @AndrewHoos in #7190
- Allow specifying testing libraries for
swift package initby @grynspan in #7186 - Revert "Avoid using
temp_awaitinSwiftTestTool.swift" by @MaxDesiatov in #7196 - build: clean up some CMake usage by @compnerd in #7193
- [NFC] Remove
SupportedPlatforms, addPlatformVersionProviderby @MaxDesiatov in #7161 - Delete
Sources/swift-package-collection/CMakeLists.txtby @MaxDesiatov in #7198 - Replace custom path type with URL in plugin API by @neonichu in #7184
- Make
Resolved*inPackageGraphvalue types by @MaxDesiatov in #7160 - Adjust
testURLBasedPluginAPIlogging checks by @neonichu in #7205 - Bifurcate SwiftPM library locations by @neonichu in #7212
- Move the
SourceKitLSPAPItarget to theSwiftPMproduct by @neonichu in #7209 - Use
topologicalSortwithIdentifiableonResolvedTargetby @MaxDesiatov in #7211 - [NFC] Fix some of the new Swift
mainsnapshots warnings by @MaxDesiatov in #7214 - Verify product dependencies w/ target platform, vs. hardcoded
macOSby @peterkos in #6963 - Add
subsetDescriptorto completion message by @neonichu in #7208 - Run build commands without declared outputs by @neonichu in #7203
- Automatically enable swift-testing support in
swift testwhen 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 #7187
- Add
swift test --no-parallelby @grynspan in #7231 - Automatically enable swift-testing support when building swift-testing by @grynspan in #7235
- Emit a deprecation warning for
--skip-updateby @neonichu in #7229 - Add WWDR G8 intermediate certificate by @yim-lee in #7238
- Cache SwiftPM library deployment targets by @neonichu in #7230
- Allow tools-versions to be specified later in the manifest by @neonichu in #7201
- Include out-of-target resources by @neonichu in #7232
- Verify that the pinned version is still available by @neonichu in #7242
- Add git information to PD context by @neonichu in #7202
- Sort results of
TargetSourcesBuilderby @neonichu in #7228 - Vend generated files to plugins by @neonichu in #7226
- Bump swift-tools-version to 5.9 by @MaxDesiatov in #7244
- Start using
packagefor some APIs by @MaxDesiatov in #7240 - Bump test timeout by @neonichu in #7247
- Linux packages fail to build with LLVM 18 and Apple 2023 versions of clang by @ian-twilightcoder in #7241
- Revert "Start using
packagefor some APIs" by @DougGregor in #7249 - Tests: Exercise output and diagnostic messages from command plugins by @euanh in #7254
- Add a CMake build for the
SourceKitLSPAPImodule by @ahoppen in #7246 - Fix
PackageGraphtraversal performance regressions by @MaxDesiatov in #7248 - Replace uses of
packagewith@_spi(SwiftPMInternal)by @MaxDesiatov in #7265 - Some C++ packages fail to build on Apple platforms by @ian-twilightcoder in #7267
- Lower
swift-tools-versionto 5.8 to prevent use ofpackageby @MaxDesiatov in #7266 - command plugins: Inherit SwiftPM's --configuration flag in packageManager.build by @euanh in #7262
- track SDK dependencies (rdar://115777026) by @pusukuri in #7172
- Add
SSH_AUTH_SOCKtoEnvironmentVariables.nonCachableKeysby @MaxDesiatov in #7272 - Fix overlapping plugins/products build database access by @MaxDesiatov in #7273
- Fix
./Utilities/soundness.shregressions by @MaxDesiatov in #7260 - command plugin Xcode extension name fixed by @carlynorama in #7277
- Lock scratch directory during tool execution by @neonichu in #7269
- Exercise bootstrapping with the XCBuild codepath in
build-using-selfby @MaxDesiatov in #7253 - Revert of "Lock scratch directory during tool execution" by @neonichu in #7286
- Fix warning for
CMakeLists.txtby @neonichu in #7282 - Fix macro template by @neonichu in #7281
- command plugins: Build command plugin dependencies for the host, not the target by @euanh in #7280
- Add mermaid charts support to
swift package describeby @MaxDesiatov in #7289 - Derive dynamic libraries explicitly to avoid linker errors for "release" builds by @pusukuri in #7284
- Revert "Skip tests which need
-suppress-warningsto work if it doesn't work" by @neonichu in #7294 - Filter
codesignmessages by @neonichu in #7285 - Fix swiftc selection for the case no swiftc found in Swift SDK by @kateinoigakukun in #7296
- command plugins: Add a 'progress' diagnostic message at default verbosity by @euanh in #7256
- Inherit host Swift SDK's toolset paths to fallback to host tools by @kateinoigakukun in #7297
- command plugins: Optionally print build logs during packageManager.build by @euanh in #7255
- Clean up product dependency API by @neonichu in #7298
- Gate new tests on
supportsSDKDependentTests()by @neonichu in #7305 - [GH] Add bnbarham to codeowners by @bnbarham in #7307
- Fix logging of "Running..." for plugins by @ktoso in #7303
- Update minimum deployment target to macOS 13 by @neonichu in #7313
- Fix non-tarballed SDK installation with remote URL by @kateinoigakukun in #7312
- Fix typos in comments and symbols naming by @rex4539 in #7318
- Show progress bar while downloading Swift SDK bundles by @kateinoigakukun in #7315
- Move
swiftpm-project-settings.elsettings to.dir-locals.elby @judemille in #7314 - Build: avoid unnecessary warnings for build tool inputs by @pusukuri in #7300
- Enable index store based on Clang feature detection by @neonichu in #7287
- Revert "Filter superfluous diagnostics" by @neonichu in #7293
- Reduce use of raw
\nto improve cross-platform compatibility by @neonichu in #7322 - Bring back "Lock scratch directory during tool execution" by @neonichu in #7291
- Don't lock if we don't have a package root by @neonichu in #7335
- Move and refactor
ProgressAnimationcode from TSC by @rauhul in #7328 - Add hidden
--ignore-lockescape hatch by @neonichu in #7338 - Bump swift-syntax version in the macro template by @neonichu in #7339
- Remove myself from CODEOWNERS by @neonichu in #7342
- Add option to allow HTTP (not HTTPS) registries by @Footpad in #7204
- Fix test runner build on WASI by @kateinoigakukun in #7341
- Support for prebuilt packages in the SDK by @neonichu in #7337
- Set correct minimum OS targets for new packages using swift-testing by @grynspan in #7333
- Support macros when cross-compiling by @MaxDesiatov in #7118
- Make
PackageModelresources optional by @MaxDesiatov in #7348 - Build direct dependencies of tests for target triple by @MaxDesiatov in #7350
- Revert "Support macros when cross-compiling (#7118)" by @MaxDesiatov in #7352
- Build: pass through
Embeddedflag to link jobs by @MaxDesiatov in #7304 - Fix
.wasmproduct paths forwasm32-unknown-nonetriple by @MaxDesiatov in #7355 - Enable
--gc-sectionsfor WebAssembly targets by @kateinoigakukun in #7356 - Clarify that Xcode issues are not tracked in
BUG_REPORT.ymlby @MaxDesiatov in #7324 - Allow reading
Package.swiftwith the executable bit set by @bnbarham in #7360 - Exclude
XCBuildSupportwhen building with CMake by @MaxDesiatov in #7358 - Use structured concurrency in
PackageLoadingTestsby @MaxDesiatov in #7359 - Don't link libc++ or libstd++ for Embedded Swift by @MaxDesiatov in #7357
- Replace 5.11 version with 6.0 in the code base by @MaxDesiatov in #7361
- Rename
PackageGraphtype toModulesGraphby @MaxDesiatov in #7363 - Fix
packageaccess modifier in XCBuild support by @MaxDesiatov in #7258 - Generalize test to handle the compiler's new diagnostic printing style by @DougGregor in #7368
- Rename
Swift*TooltoSwift*Commandby @MaxDesiatov in #7336 - Allow
swift-buildto haveasyncentrypoint by @MaxDesiatov in #7369 - Benchmarks: add
PackageGraphBenchmarkstarget by @MaxDesiatov in #7283 - Revert "Revert "Start using
packagefor some APIs"" by @MaxDesiatov in #7344 - Clean up
mainfunction signature inSwiftPM.swiftby @MaxDesiatov in #7370 - Revert "Exclude
XCBuildSupportwhen building with CMake (#7358)" by @bnbarham in #7371 - Hide build system internals with
@_spiby @MaxDesiatov in #7365 - Adopt
packagein the test support module by @MaxDesiatov in #7372 - Enable
AccessLevelOnImportinSourceKitLSPAPIby @MaxDesiatov in #7366 - Don’t include compiler in the command line arguments by @ahoppen in #7379
- Add swift-testing support to
swift build --build-testsby @grynspan in #7377 - Hide CLI commands API with
packageaccess control by @MaxDesiatov in #7381 - Make ignore-lock a flag by @rauhul in #7384
- Remove uses of
temp_awaitfromSwiftTestCommandby @MaxDesiatov in #7382 - Add XDG Base Directory Specification support by @lordzsolt in #7386
- Hide more llbuild-specific APIs by @MaxDesiatov in #7387
- Replace
ProcessEnv.varswithblockw/o API breakage by @MaxDesiatov in #7390 - Remove previously deprecated
--enable-test-discoveryby @MaxDesiatov in #7391 - Revert "Remove previously deprecated
--enable-test-discovery" by @bnbarham in #7395 - Pass all arguments when initing testing parameters in
swift buildby @grynspan in #7396 - Fix remove
to letfrom parameter description by @NakaokaRei in #7401 - Replace getdtablesize() on Android by @finagolfin in #7402
- Fix XCTest entrypoint for WASI by making it async by @kateinoigakukun in #7400
- [6.0] Change
relatedDependenciesBranchtorelease/6.0by @ahoppen in #7407 - [6.0] Suppress redundant linkage warnings by @pusukuri in #7414
- [6.0] Write output-file-map.json atomically by @ahoppen in #7415
- [6.0] Fix a memory leak in
DownloadTaskManagerandDataTaskManagerby @ahoppen in #7416 - Use
argumentsinstead ofargumentListin the macro template by @ahoppen in #7424 - [6.0] On Darwin, allow XCTest to be missing if we're only building swift-testing tests. by @grynspan in #7430
- 🍒[cxx-interop] Propagate interop flag to the test entry point target by @egorzhdan in #7429
- [6.0] Bump
swift-syntaxin template to600.0.0-latestby @MaxDesiatov in #7445 - [6.0][PubGrub] Avoid resolving package versions twice in presence of prebu… by @xedin in #7457
- [6.0] Suppress warnings for remote Clang targets by @xedin in #7456
- [6.0] pkgconfig: Apply PKG_CONFIG_SYSROOTDIR when generating paths by @euanh in #7472
- 6.0: [SE-0301] Implement package manifest editing command-line options by @DougGregor in #7494
- [6.0] NFC: Add
Sendableannotations to PackageDescription APIs by @xedin in #7488 - [6.0] Handle Swift versions unsupported by XCBuild by @neonichu in #7504
- [6.0] Set environment variable to disable building swift-syntax in Swift 6 mode by @ahoppen in #7500
- [6.0] plugins: Pass correct dependency origin information to plugins by @euanh in #7511
- [6.0] Make
SwiftSDK.initavailable via@_spiby @MaxDesiatov in #7487 - [6.0] Make
supportedTriplesoptional in artifactbundle metadata by @MaxDesiatov in #7516 - [6.0] Deprecate
experimentalSwift SDK CLI in favor of unprefixed counterparts by @MaxDesiatov in #7515 - Cherry-picks to
release/6.0for sourcekit-lsp update by @ahoppen in #7520 - [6.0] Remove the addition of external-plugin-path for dev toolchains by @bnbarham in #7526
- [6.0] Teach swift package add-target --type test about swift-testing (#7481) by @DougGregor in #7537
- [6.0]
swift sdk: print warnings on stderr instead of stdout by @MaxDesiatov in #7533 - [6.0] Align
swift sdkconfiguration subcommand with proposal text by @MaxDesiatov in #7538 - [6.0] Mark
buildSettingsDescriptionas@_spiinTarget.swiftby @MaxDesiatov in #7543 - Don’t disable Swift 6 mode in swift-syntax by @ahoppen in #7558
- package -> @_spi public due to package exportability rule updates by @ahoppen in #7561
- Add API needed for background indexing in SourceKit-LSP by @ahoppen in #7562
- [6.0] Pass through experimental swift-testing flags by @grynspan in #7564
- [6.0] Add
--enable-code-coveragetoswift buildby @grynspan in #7565 - Add two Sendable annotations to enable building SourceKit-LSP in Swift 6 mode by @ahoppen in #7559
- [6.0] Generated code for XCTest on non-Darwin needs to be actor-isolated. by @grynspan in #7569
- [6.0][SE-0435] Implement per target swift version selection by @xedin in #7567
- [6.0] Restore visibility of APIs that have been made
packageby @xedin in #7570 - [6.0] NFC: Rename
ResolvedTargettoResolvedModuleby @xedin in #7571 - [6.0] Set an environment variable in
swift testto indicate which testing library is in use. by @grynspan in #7577 - [6.0] Update diagnostics for duplicated product/target names by @neonichu in #7575
- [6.0] Various low-risk cherry-picks by @bnbarham in #7578
- [6.0] Update -swift-version to default to 6 for swift-tools-version 6 by @bnbarham in #7531
- [6.0] Rename back to
swift package completion-toolby @kateinoigakukun in #7602 - [6.0] Enable
-user-module-versionfor 6.0 by @MaxDesiatov in #7606 - [6.0][Package/ModuleGraph] Allow cyclic package dependencies if they don't introduce a cycle in a build graph by @xedin in #7541
- [6.0] Add support for swift-collections 1.1 by @jmschonfeld in #7614
- [6.0][PackageGraph] Allow package-level cyclic dependency only for >= 6.0 … by @xedin in #7617
- [6.0] Partially revert #7566 to fix amazon linux 2 crash by @bnbarham in #7624
- Update release/6.0 CODEOWNERS to branch managers only by @bnbarham in #7625
- [6.0] Fix incremental builds for
embedInCoderesources by @kateinoigakukun in #7618 - [6.0] Add
swift package add-target-dependencycommand to edit the manifest by @DougGregor in #7628 - [6.0][Basics] Switch
IdentifiableSetto useOrderedDictionaryby @xedin in #7634 - [6.0] Support macros when cross-compiling by @MaxDesiatov in #7640
- [6.0] Relax version ranges for dependencies in
Package.swiftby @finestructure in #7657 - [6.0] Add prepare for index experimental build argument by @bnbarham in #7638
- [6.0] Symbol graph cherry picks by @rauhul in #7659
- [6.0] Remove
Sendableconformance onBundlefrom SwiftPM by @MaxDesiatov in #7653 - [6.0] Fix
–-toolchainvalue shadowed by local executables by @MaxDesiatov in #7485 - [6.0][Build/PackageGraph] Switch
BuildSubset.{product, target}and `Modu… by @xedin in #7668 - [6.0][Test-only] Don't use invalid module to satisfy
canImportcheck (#7647) by @cachemeifyoucan in #7678 - [6.0] Provide deprecation messages for
PackagePlugin.Pathby @MaxDesiatov in #7683 - [6.0] Fix cache not cleaned up if download fails by @MaxDesiatov in #7671
- [6.0] Update
CODEOWNERSafterswiftlangtransfer by @MaxDesiatov in #7714 - Update links for repositories moved to the swiftlang org on GitHub by @ahoppen in #7711
- [6.0] Improvements to prebuilt/provided library handling by @MaxDesiatov in #7713
- [6.0] Implement
fileAffectsSwiftOrClangBuildSettingswith the logic fromLLBuildManifestBuilderby @ahoppen in #7709 - [6.0/Prepare] Don't skip non-exportable-decls when enable-testing (#7675) by @dschaefer2 in #7686
- [6.0] Cherry-pick recent NFC changes to reduce merge conflicts by @MaxDesiatov in #7721
- [6.0] Remove unused options from
add-productsubcommand by @taji-taji in #7697 - [6.0] Fix host/target products with
--static-swift-stdlibby @MaxDesiatov in #7743 - [6.0] Improve cross-compilation for experimental XCBuild support by @jakepetroules in #7736
- [6.0] Fix checksum computation for Swift SDK bundles by @MaxDesiatov in #7749
- [6.0] Work around
swift-bootstrapinability to handle plugins by @MaxDesiatov in #7751 - [6.0] Add a
--experimental-prepare-for-indexing-no-skippingcommand line option to prepare a target without function body skipping by @ahoppen in #7747 - [6.0] Use
releasebuild configuration inexperimental-installby @MaxDesiatov in #7745 - [6.0] Invalidate manifest cache when
-Xbuild-tools-swiftcchanges by @kateinoigakukun in #7762 - [6.0] Add support for new Bionic module from Android overlay (
import Bionic) (#7615) by @finagolfin in #7752 - [6.0] Add the formalized Swift Testing event stream arguments to
swift test. by @grynspan in #7770 - [6.0] Add a helper tool for swift-testing by @xedin in #7779
- [6.0] NFC: Make 'FileRuleDescription.Rule' conform to
Sendableby @MaxDesiatov in #7781 - [6.0] Fix warning in
OSSignpost.swiftw/@preconcurrency importby @MaxDesiatov in #7786 - [6.0] NFC: Expose
Environmentwith@_spiby @MaxDesiatov in #7793 - [6.0] Build one test product for both Swift Testing and XCTest (with Swift Testing enabled by default.) by @grynspan in #7794
- [6.0] Don't log "no matching tests" diagnostic when running XCTest only. by @grynspan in #7804
- [6.0] Revert all of the functionality related to provided libraries by @xedin in #7800
- [6.0] Move the 'GitRepositoryProvider' to compare urls using their canonical representation, correctly accepting results where repositories only differ by '.git' by @francescomikulis in #7809
- [6.0][PubGrub] Narrow down cases when pre-release decisions are marked inv… by @xedin in #7808
- [6.0][PackageDescription] SE-0441: Rename
swiftLanguageVersionto `swift… by @xedin in #7813 - [6.0] Handle
.xcprivacyfiles inTargetSourcesBuilder.swiftby @MaxDesiatov in #7816 - [6.0] Add back
--enable-experimental-swift-testingtoswift buildas a no-op. by @grynspan in #7818 - 6.0: [NFC] Expose
platformVersionProviderwith@_spi(SwiftPMInternal)by @MaxDesiatov in #7820 - [6.0][PackageDescription] Deprecated
swiftLanguageVersionshould result … by @xedin in #7826 - [6.0][PackageLoading] Support deserialization of manifests that used `swif… by @xedin in #7828
- [6.0] Implement
--checksumoption onswift sdk installby @MaxDesiatov in #7723 - [6.0] Properly handle swift-testing installations in toolchain/SDK by @xedin in #7856
- [6.0.0][PackageModel] Toolchain: Split SwiftTesting flags between swift… by @xedin in #7908
- [6.0.0] Disable part of a test that fails with Swift Testing in the too… by @xedin in #7914
- [6.0.0][PackageModel] Inject swift-testing flags only if toolchain is target… by @xedin in #7922
- [6.0.0] Update package templates to use Swift Testing in the toolchain rather than as a package dependency. by @grynspan in #7911
New Contributors
- @ashokm made their first contribution in #7107
- @peterkos made their first contribution in #6963
- @carlynorama made their first contribution in #7277
- @ktoso made their first contribution in #7303
- @rex4539 made their first contribution in #7318
- @judemille made their first contribution in #7314
- @lordzsolt made their first contribution in #7386
Full Changelog: swift-5.10.1-RELEASE...swift-6.0-RELEASE