Skip to content

Swift 6.0 Release

Compare
Choose a tag to compare
@MaxDesiatov MaxDesiatov released this 16 Oct 10:08
· 405 commits to main since this release
5bd155f

What's Changed

  • tests: repair BuildPlanTests.testSnippets on Windows by @compnerd in #7082
  • Set file-system as device-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 with await 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 with swift-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 from GraphLoadingNode 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 with PackageCondition 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 in PackageRegistryToolTests.swift by @MaxDesiatov in #7015
  • Revert "Avoid use of temp_await in PackageRegistryToolTests.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 in SwiftTestTool.swift by @MaxDesiatov in #7016
  • Mark global var as constant in ConcurrencyHelpers.swift by @MaxDesiatov in #7191
  • Avoid using temp_await on loadRootPackage 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 in SwiftTestTool.swift" by @MaxDesiatov in #7196
  • build: clean up some CMake usage by @compnerd in #7193
  • [NFC] Remove SupportedPlatforms, add PlatformVersionProvider 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* in PackageGraph 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 the SwiftPM product by @neonichu in #7209
  • Use topologicalSort with Identifiable on ResolvedTarget 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 #7187
  • Add swift test --no-parallel by @grynspan in #7231
  • Automatically enable swift-testing support when building swift-testing by @grynspan in #7235
  • Emit a deprecation warning for --skip-update by @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 TargetSourcesBuilder by @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 package for 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 package for 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 SourceKitLSPAPI module by @ahoppen in #7246
  • Fix PackageGraph traversal performance regressions by @MaxDesiatov in #7248
  • Replace uses of package with @_spi(SwiftPMInternal) by @MaxDesiatov in #7265
  • Some C++ packages fail to build on Apple platforms by @ian-twilightcoder in #7267
  • Lower swift-tools-version to 5.8 to prevent use of package by @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_SOCK to EnvironmentVariables.nonCachableKeys by @MaxDesiatov in #7272
  • Fix overlapping plugins/products build database access by @MaxDesiatov in #7273
  • Fix ./Utilities/soundness.sh regressions 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-self by @MaxDesiatov in #7253
  • Revert of "Lock scratch directory during tool execution" by @neonichu in #7286
  • Fix warning for CMakeLists.txt by @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 describe by @MaxDesiatov in #7289
  • Derive dynamic libraries explicitly to avoid linker errors for "release" builds by @pusukuri in #7284
  • Revert "Skip tests which need -suppress-warnings to work if it doesn't work" by @neonichu in #7294
  • Filter codesign messages 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.el settings to .dir-locals.el by @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 \n to 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 ProgressAnimation code from TSC by @rauhul in #7328
  • Add hidden --ignore-lock escape 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 PackageModel resources 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 Embedded flag to link jobs by @MaxDesiatov in #7304
  • Fix .wasm product paths for wasm32-unknown-none triple by @MaxDesiatov in #7355
  • Enable --gc-sections for WebAssembly targets by @kateinoigakukun in #7356
  • Clarify that Xcode issues are not tracked in BUG_REPORT.yml by @MaxDesiatov in #7324
  • Allow reading Package.swift with the executable bit set by @bnbarham in #7360
  • Exclude XCBuildSupport when building with CMake by @MaxDesiatov in #7358
  • Use structured concurrency in PackageLoadingTests by @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 PackageGraph type to ModulesGraph by @MaxDesiatov in #7363
  • Fix package access 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*Tool to Swift*Command by @MaxDesiatov in #7336
  • Allow swift-build to have async entrypoint by @MaxDesiatov in #7369
  • Benchmarks: add PackageGraphBenchmarks target by @MaxDesiatov in #7283
  • Revert "Revert "Start using package for some APIs"" by @MaxDesiatov in #7344
  • Clean up main function signature in SwiftPM.swift by @MaxDesiatov in #7370
  • Revert "Exclude XCBuildSupport when building with CMake (#7358)" by @bnbarham in #7371
  • Hide build system internals with @_spi by @MaxDesiatov in #7365
  • Adopt package in the test support module by @MaxDesiatov in #7372
  • Enable AccessLevelOnImport in SourceKitLSPAPI by @MaxDesiatov in #7366
  • Don’t include compiler in the command line arguments by @ahoppen in #7379
  • Add swift-testing support to swift build --build-tests by @grynspan in #7377
  • Hide CLI commands API with package access control by @MaxDesiatov in #7381
  • Make ignore-lock a flag by @rauhul in #7384
  • Remove uses of temp_await from SwiftTestCommand by @MaxDesiatov in #7382
  • Add XDG Base Directory Specification support by @lordzsolt in #7386
  • Hide more llbuild-specific APIs by @MaxDesiatov in #7387
  • Replace ProcessEnv.vars with block w/o API breakage by @MaxDesiatov in #7390
  • Remove previously deprecated --enable-test-discovery by @MaxDesiatov in #7391
  • Revert "Remove previously deprecated --enable-test-discovery" by @bnbarham in #7395
  • Pass all arguments when initing testing parameters in swift build by @grynspan in #7396
  • Fix remove to let from 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 relatedDependenciesBranch to release/6.0 by @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 DownloadTaskManager and DataTaskManager by @ahoppen in #7416
  • Use arguments instead of argumentList in 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-syntax in template to 600.0.0-latest by @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 Sendable annotations 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.init available via @_spi by @MaxDesiatov in #7487
  • [6.0] Make supportedTriples optional in artifactbundle metadata by @MaxDesiatov in #7516
  • [6.0] Deprecate experimental Swift SDK CLI in favor of unprefixed counterparts by @MaxDesiatov in #7515
  • Cherry-picks to release/6.0 for 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 sdk configuration subcommand with proposal text by @MaxDesiatov in #7538
  • [6.0] Mark buildSettingsDescription as @_spi in Target.swift by @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-coverage to swift build by @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 package by @xedin in #7570
  • [6.0] NFC: Rename ResolvedTarget to ResolvedModule by @xedin in #7571
  • [6.0] Set an environment variable in swift test to 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-tool by @kateinoigakukun in #7602
  • [6.0] Enable -user-module-version for 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 embedInCode resources by @kateinoigakukun in #7618
  • [6.0] Add swift package add-target-dependency command to edit the manifest by @DougGregor in #7628
  • [6.0][Basics] Switch IdentifiableSet to use OrderedDictionary by @xedin in #7634
  • [6.0] Support macros when cross-compiling by @MaxDesiatov in #7640
  • [6.0] Relax version ranges for dependencies in Package.swift by @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 Sendable conformance on Bundle from SwiftPM by @MaxDesiatov in #7653
  • [6.0] Fix –-toolchain value 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 canImport check (#7647) by @cachemeifyoucan in #7678
  • [6.0] Provide deprecation messages for PackagePlugin.Path by @MaxDesiatov in #7683
  • [6.0] Fix cache not cleaned up if download fails by @MaxDesiatov in #7671
  • [6.0] Update CODEOWNERS after swiftlang transfer 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 fileAffectsSwiftOrClangBuildSettings with the logic from LLBuildManifestBuilder by @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-product subcommand by @taji-taji in #7697
  • [6.0] Fix host/target products with --static-swift-stdlib by @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-bootstrap inability to handle plugins by @MaxDesiatov in #7751
  • [6.0] Add a --experimental-prepare-for-indexing-no-skipping command line option to prepare a target without function body skipping by @ahoppen in #7747
  • [6.0] Use release build configuration in experimental-install by @MaxDesiatov in #7745
  • [6.0] Invalidate manifest cache when -Xbuild-tools-swiftc changes 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 Sendable by @MaxDesiatov in #7781
  • [6.0] Fix warning in OSSignpost.swift w/ @preconcurrency import by @MaxDesiatov in #7786
  • [6.0] NFC: Expose Environment with @_spi by @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 swiftLanguageVersion to `swift… by @xedin in #7813
  • [6.0] Handle .xcprivacy files in TargetSourcesBuilder.swift by @MaxDesiatov in #7816
  • [6.0] Add back --enable-experimental-swift-testing to swift build as a no-op. by @grynspan in #7818
  • 6.0: [NFC] Expose platformVersionProvider with @_spi(SwiftPMInternal) by @MaxDesiatov in #7820
  • [6.0][PackageDescription] Deprecated swiftLanguageVersion should result … by @xedin in #7826
  • [6.0][PackageLoading] Support deserialization of manifests that used `swif… by @xedin in #7828
  • [6.0] Implement --checksum option on swift sdk install by @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

Full Changelog: swift-5.10.1-RELEASE...swift-6.0-RELEASE