Skip to content

Swift 6.2 Release

Latest
Compare
Choose a tag to compare
@grynspan grynspan released this 18 Sep 02:32
· 118 commits to main since this release
3fdabe5

What's Changed

  • Fix a non-portable target reference in CMake helper function by @stmontgomery in #829
  • Expand the 'Known Issues' documentation article by @stmontgomery in #823
  • [6.1] Remove '-dev' from package version by @grynspan in #831
  • Configure CMake to build and install the Foundation cross-import overlay by @stmontgomery in #825
  • Document the steps for building & installing the project for macOS using CMake by @stmontgomery in #835
  • Revert "[6.1] Remove '-dev' from package version" by @grynspan in #838
  • Bump the Swift version to 6.2 by @shahmishal in #833
  • Don't install the binary Swift module when building for Apple platforms by @stmontgomery in #837
  • Change archive format for directories to .zip and add iOS/etc. support. by @grynspan in #826
  • Add a CoreGraphics cross-import overlay with support for attaching CGImages. by @grynspan in #827
  • Fix DocC warnings and errors, including those from SPI by @stmontgomery in #836
  • Make Attachment conform to CustomStringConvertible. by @grynspan in #849
  • Adopt prerelease tags of swift-syntax-601. by @grynspan in #847
  • Simplify the logic for parsing and handling test arguments in the @test macro by @stmontgomery in #834
  • Fix multiline comments not rendering correctly at CLI. by @grynspan in #850
  • Fix posix_spawn() error handling. by @grynspan in #855
  • Add a preferredName(for:basedOn:) member to Attachable to allow customizing filenames. by @grynspan in #854
  • build: tweak for portability with exceptions by @compnerd in #856
  • Add example for how to test any error is thrown in the error testing documentation article by @heckj in #853
  • [SWT-0006] Return the thrown error from #expect(throws:) and #require(throws:). by @grynspan in #780
  • Change default behavior of exit tests to always succeed. by @grynspan in #858
  • Remove an import of UniformTypeIdentifiers from the Foundation overlay. by @grynspan in #864
  • Additional FreeBSD fixes by @michael-yuji in #865
  • Fix more things on FreeBSD by @michael-yuji in #867
  • Fix some typos in the new FreeBSD-specific code. by @grynspan in #871
  • Add @_spi annotations to reexport decls in cross-import overlays. by @grynspan in #870
  • Remove the workaround for swift-package-manager-#8111. by @grynspan in #872
  • Don't use @_semantics, use our own attribute instead. by @grynspan in #874
  • Mark #expect(_:throws:) and #require(_:throws:) as to-be-deprecated. by @grynspan in #875
  • [docs] Correct the link of Proposal SWT-0006 by @lamtrinhdev in #877
  • Remove the introduced: 6.0 argument from the to-be-deprecated attributes on #expect(performing:throws:) and #require(performing:throws:). by @grynspan in #881
  • Add speculative support for OpenBSD. by @grynspan in #890
  • Revert "Work around a crash importing FoundationXML. (#786)" by @grynspan in #882
  • Use the Toolhelp32 API to enumerate loaded Win32 modules. by @grynspan in #892
  • Discover test content stored in the test content section of loaded images. by @grynspan in #893
  • Add an attribute that emits a warning. by @grynspan in #895
  • Add a missing #if !SWT_NO_EXIT_TESTS. by @grynspan in #896
  • [SWT-NNNN] Introduce API allowing traits to customize test execution by @stmontgomery in #733
  • Fix statically-linked platforms building new test content discovery code. by @grynspan in #897
  • Use Never instead of Void as the fallback lock/mutex type. by @grynspan in #898
  • Assign "Test Scoping Traits" proposal a number by @stmontgomery in #900
  • Fix several compile-time warnings that have snuck in. by @grynspan in #899
  • Add support for raw identifiers. by @grynspan in #887
  • Remove SPIAwareTrait and adopt TestScoping in its place by @stmontgomery in #901
  • Remove C++-based section discovery logic. by @grynspan in #902
  • Remove some remnants of the C++ section discovery code that we no longer need. by @grynspan in #905
  • Update .spi.yml by @finestructure in #908
  • Remove @dennisweissmann from CODEOWNERS by @stmontgomery in #910
  • Update README.md's note about development toolchain requirements. by @grynspan in #911
  • Don't capture arguments to #expect(exitsWith:) during macro expansion. by @grynspan in #912
  • Refactor test content discovery to produce a sequence. by @grynspan in #914
  • Fix the build for WASI by @tshortli in #916
  • Revert #916 and apply a slightly different change. by @grynspan in #917
  • Limit the amount of value reflection data expectation checking collects by default by @stmontgomery in #915
  • Don't allocate a buffer on the heap when enumerating type metadata. by @grynspan in #918
  • Remove arm64e ptrauth resigning from test content discovery. by @grynspan in #919
  • [TestingMacros] Remove reference to implicit backtracing import. by @al45tair in #921
  • Make all test content types directly conform to TestContent. by @grynspan in #920
  • Use swift_getErrorValue() unless Objective-C is available. by @grynspan in #922
  • Remove Stubs.cpp and reimplement what it has in Swift. by @grynspan in #929
  • Declare Swift 6.1 availability for TestScoping-related APIs by @stmontgomery in #927
  • Update Documentation/README.md to cover more files. by @grynspan in #928
  • Missing an explicit include of <mach-o/dyld.h> on Apple platforms. by @grynspan in #932
  • Ensure the ObjectiveC module is visible to Discovery.swift by @grynspan in #933
  • Fix building on FreeBSD via cmake by @michael-yuji in #925
  • Implement CommandLine.executablePath on all Apple platforms. by @grynspan in #934
  • [Code style] Require explicitly specified types for public properties by @stmontgomery in #926
  • Avoid using String while holding an internal libobjc lock. by @grynspan in #938
  • Update Comment to use CustomTestStringConvertible during string interpolation. by @grynspan in #936
  • Add a type argument to the ABI accessor function signature. by @grynspan in #939
  • Simplify statically-linked section discovery. by @grynspan in #940
  • Use os_unfair_lock on Darwin when available. by @grynspan in #942
  • Introduce a severity level for issues, and a 'warning' severity by @stmontgomery in #931
  • Suppress warning about #require(nonOptional) in some cases. by @grynspan in #947
  • Add a (internal-only) CustomIssueRepresentable protocol. by @grynspan in #945
  • Revert "Introduce a severity level for issues, and a 'warning' severity (#931)" by @stmontgomery in #950
  • Introduce a severity level for issues, and a 'warning' severity (un-revert #931) by @stmontgomery in #952
  • Some fixes/cleanup to TestContent.md by @grynspan in #948
  • Move JSON ABI source files to prepare for v1. by @grynspan in #953
  • Require sendable userInfo values in JSON.withEncoding(of:userInfo:_:) by @stmontgomery in #955
  • Enable Library Evolution in package builds for public library targets by @stmontgomery in #951
  • Declare a package name for CMake builds and remove @_spi(ForSwiftTestingOnly) by @stmontgomery in #954
  • Revert "Require sendable userInfo values in JSON.withEncoding(of:userInfo:_:)" by @bnbarham in #957
  • Cleaning recently changed docs by @iamleeg in #924
  • Require sendable userInfo values in JSON.withEncoding(of:userInfo:_:) by @bnbarham in #959
  • Update proposals to reflect implementation status, Swift version, and forum discussion links by @stmontgomery in #961
  • Improve the project's GitHub Issue templates by @stmontgomery in #962
  • Add an overview of test serialization to the XCTest migration guide by @iamleeg in #960
  • Corrects use of XCTAssertEqual macro in parallelization examples. by @iamleeg in #963
  • Plumb the schema version through the JSON ABI layers. by @grynspan in #956
  • Remove references to Xcode 16 Beta 1 (just Xcode 16, please.) by @grynspan in #966
  • Avoid calling unsafeBitCast(_:to:) to cast C function pointers. by @grynspan in #967
  • Don't hard-code numeric representations of ABI versions. by @grynspan in #968
  • Silence a warning on the latest 6.2-dev toolchain when building a test. by @grynspan in #969
  • Restrict use of a new overload of contains() to Apple platforms that have it. by @grynspan in #970
  • Show the number of test cases that ran at the end of a test by @hrayatnia in #972
  • Change the return types of test content accessors and add ExitTest.current. by @grynspan in #974
  • Delete sidecar DocC files. by @grynspan in #979
  • Note in documentation when #expect(throws:) started returning a value. by @grynspan in #980
  • Rename ExitTestArtifacts and split ExitCondition in twain. by @grynspan in #975
  • Use more distinct characters for 'skip' and 'pass w/known issues' symbols by @stmontgomery in #983
  • Add a utility tool for previewing event symbol rendering by @stmontgomery in #984
  • JUnit XML recorder should ignore warning issues by @stmontgomery in #986
  • Diagnose when using a non-escapable type as suite. by @grynspan in #988
  • Suppress .unsafeFlags() in Package.swift when tagging for release. by @grynspan in #991
  • Relocate the proposal template to swift-evolution and update documentation accordingly by @stmontgomery in #976
  • Disable snapshot types on Android. by @grynspan in #994
  • Begin installing textual .swiftinterface instead of binary .swiftmodule in toolchain builds for non-Apple platforms by @stmontgomery in #982
  • Add a new _TestDiscovery library/target. by @grynspan in #981
  • build: restructure the installation location by @compnerd in #971
  • build: update missed callsites of get_swift_testing_install_lib_dir by @compnerd in #999
  • [CMake] Fix quote in a generator expression by @rintaro in #1002
  • Fix link to Swift Forums by @ZevEisenberg in #1001
  • Fix some broken links in Documentation by @plemarquand in #1003
  • Raise types(withNamesContaining:) to SPI rather than package. by @grynspan in #1004
  • Remove the "Result" section of this project's Pull Request template by @stmontgomery in #1005
  • [CMake] Set CMP0157 to OLD when targeting Android with the Windows toolchain by @weliveindetail in #1009
  • Refine type-based test discovery mechanism to use test content records. by @grynspan in #1010
  • Add ConditionTraitTests to cover the Swift 6.0 compiler issue for custom trait + closure + macro by @Kyle-Ye in #1008
  • Store test content in a custom metadata section. by @grynspan in #880
  • Fix crash when loading test content records from the type metadata section. by @grynspan in #1015
  • Enable upcoming feature 'MemberImportVisibility' and fix issues it reveals by @stmontgomery in #1020
  • Don't emit @_section attributes unless the macro target has SymbolLinkageMarkers. by @grynspan in #1018
  • Add a dedicated TestContentKind type to _TestDiscovery. by @grynspan in #1019
  • Add a reserved argument to the test content record accessor signature. by @grynspan in #1017
  • Enable 'MemberImportVisibility' upcoming feature in CMake rules by @stmontgomery in #1022
  • Continue encoding value for deprecated property in runner plan snapshot to avoid decoding error in clients by @stmontgomery in #1023
  • build: avoid doubly nesting the swift module by @compnerd in #1025
  • Represent non-encodable test argument values in Test.Case.ID by @stmontgomery in #1000
  • Adjust a timing-sensitive TimeLimitTrait test to avoid flakiness in CI by @stmontgomery in #1029
  • Rewrite static section bounds discovery in Swift. by @grynspan in #1012
  • build: account for spaces in the toolchain by @compnerd in #1030
  • Change Attachment.attach() to Attachment.record() and Attachable.withUnsafeBufferPointer() to Attachable.withUnsafeBytes(). by @grynspan in #1032
  • Work around a compiler crash building Attachment.record(). by @grynspan in #1033
  • Ensure Locked+Platform.swift is not stripped when statically linking. by @grynspan in #1035
  • Remove unused "override comment" from ConditionTrait implementation by @stmontgomery in #1036
  • Qualify @__testing(warning:) usage in macro expansion with module name and enhance a related unit test by @stmontgomery in #1038
  • Add ConditionTrait.evaluate() by @Uncommon in #909
  • Erase environment variables set by exit tests after reading them. by @grynspan in #1044
  • Pause child processes on spawn. by @grynspan in #1042
  • Emit a diagnostic if an exit test's body closure includes a capture list. by @grynspan in #1046
  • Replace CRC-32 with SHA-256 in our macro target by @grynspan in #1047
  • Revert "Ensure Locked+Platform.swift is not stripped when statically linking. (#1035)" by @grynspan in #1050
  • [6.2] Update version to 6.2. by @grynspan in #1051
  • Update the build version to 6.3-dev. by @grynspan in #1052
  • Miscellaneous bookkeeping/cleanup of _TestDiscovery. by @grynspan in #1055
  • Use the entire SHA-256 hash as an exit test ID. by @grynspan in #1053
  • Add signal handler for SIGABRT_COMPAT on Windows. by @grynspan in #1056
  • [6.2] Miscellaneous bookkeeping/cleanup of _TestDiscovery. by @grynspan in #1057
  • [6.2] Use the entire SHA-256 hash as an exit test ID. by @grynspan in #1058
  • [6.2] Add signal handler for SIGABRT_COMPAT on Windows. by @grynspan in #1059
  • [Experimental] Add Embedded Swift support to the _TestDiscovery target. by @grynspan in #1043
  • Don't use a class to store the current exit test. by @grynspan in #1065
  • [6.2] Don't use a class to store the current exit test. by @grynspan in #1066
  • Fully-qualify reference to Swift's Actor protocol in macro expansion code for synchronous test functions by @stmontgomery in #1067
  • Promote attachments to API by @grynspan in #973
  • Introduce a severity level when recording issues by @suzannaratcliff in #1070
  • Add support for the --attachments-path CLI argument. by @grynspan in #1074
  • Add CustomStringConvertible conformance to ExitTest.Condition and StatusAtExit. by @grynspan in #1073
  • Add isFailure to Issue by @suzannaratcliff in #1078
  • Add unsafe keyword handling to macro expansions. by @grynspan in #1069
  • [Experimental] Capturing values in exit tests by @grynspan in #1040
  • Ensure the .whenEmbedded() build setting condition evaluates to false when building for non-Embedded without a fallback condition by @stmontgomery in #1081
  • Relax the alignment requirement for DiscoverableAsTestContent.Context. by @grynspan in #1076
  • Enable Library Evolution for package-based builds of the _TestDiscovery target by @stmontgomery in #1082
  • Update README to reference 6.1 CI jobs instead of 6.0 and add Windows job by @stmontgomery in #1083
  • Enable experimental 'AllowUnsafeAttribute' feature to continue supporting 6.1 development snapshot toolchains by @stmontgomery in #1084
  • Reserve the 'play' content kind in _TestDiscovery by @stmontgomery in #1090
  • Update CODEOWNERS file by @stmontgomery in #1094
  • Fix crash in ConsoleOutputRecorder when an issue has a comment with an empty string by @stmontgomery in #1091
  • Fix build failure when building with pre-6.2 toolchain due to unrecognized unsafe keyword by @stmontgomery in #1093
  • Merge 'main' branch to 'release/6.2' by @stmontgomery in #1088
  • Include code comments before expectations which are preceded by try/await in recorded issues by @stmontgomery in #1092
  • Merge 'main' branch to 'release/6.2' by @stmontgomery in #1095
  • Fix image URL for Swift 6.1 Windows CI badge in README by @stmontgomery in #1096
  • Add withKnownIssue comments to known Issues by @aroben in #1014
  • Introduce issue handling trait (as SPI) by @stmontgomery in #1080
  • Remove experimental status for evaluate() and add metadata by @Uncommon in #1097
  • Promote exit tests to API by @grynspan in #324
  • Work around a macOS CI failure by @stmontgomery in #1100
  • Merge 'main' branch to 'release/6.2' by @stmontgomery in #1101
  • Restore DocC @Comment blocks to documentation line comments by @stmontgomery in #1103
  • Work around compiler bug affecting macro decls with #if-guarded availability when building w/legacy driver by @stmontgomery in #1106
  • Simplify usages of withTaskGroup to infer ChildTaskResult type where possible by @stmontgomery in #1102
  • Add missing Foundation imports to fix test build errors on iOS with MemberImportVisibility enabled by @stmontgomery in #1108
  • Merge 'main' branch to 'release/6.2' by @stmontgomery in #1109
  • Documentation: Update CMake.md to use the ABI entry point by @ADKaster in #828
  • [CMake] Fix usage of lowercase or in condition by @drodriguez in #1117
  • Include total number of suites in "run ended" console message by @stmontgomery in #1116
  • Refinements to IssueHandlingTrait SPI by @stmontgomery in #1121
  • Remove the 'triage-needed' label from New Issue templates by @stmontgomery in #1124
  • Output console message for test case ended events in verbose mode, with status and issue counts by @stmontgomery in #1125
  • Enable upcoming feature 'InferIsolatedConformances' and fix issues it reveals by @stmontgomery in #1126
  • Merge 'main' branch to 'release/6.2' by @stmontgomery in #1127
  • Revert "Work around a macOS CI failure (#1100)" by @stmontgomery in #1129
  • Expand parameterized testing documentation to mention try/await support and showcase helper pattern by @stmontgomery in #1133
  • Acknowledge unsafe API usages in code expanded from testing library macros by @stmontgomery in #1134
  • Work around macOS build failures affecting test targets by @stmontgomery in #1139
  • IssueHandlingTrait refinements: Rename to 'compactMapIssues' and special-case system issues by @stmontgomery in #1136
  • Merge 'main' branch to 'release/6.2' by @stmontgomery in #1141
  • Update outdated Suite macro documentation by @Wouter01 in #1142
  • Disable inheritance of file descriptors created by Swift Testing by default. by @grynspan in #1145
  • Declare Xcode 26 availability for all Swift 6.2 APIs by @stmontgomery in #1148
  • Use posix_spawn_file_actions_adddup2() to clear FD_CLOEXEC. by @grynspan in #1147
  • Synthesize display names for de facto suites with raw identifiers. by @grynspan in #1105
  • Have DiscoverableAsTestContent enumeration produce some Sequence instead of AnySequence. by @grynspan in #1122
  • Improve the diagnostics for a bad exit test capture. by @grynspan in #1146
  • Use our posix_spawn() wrapper in the Foundation CIO rather than Process. by @grynspan in #1114
  • Add an unreachable marker function. by @grynspan in #1150
  • Remove @convention(thin) from exit test macro declarations. by @grynspan in #1153
  • Infer the types of function/closure arguments when captured by an exit test. by @grynspan in #1130
  • Fix some typos in documentation. by @grynspan in #1156
  • Revert "Update outdated Suite macro documentation" by @grynspan in #1159
  • Suppress the complex expansion of expectations when we see effects in the lexical context. by @grynspan in #1161
  • Improve type inference for exit test value captures. by @grynspan in #1163
  • Diagnose when we incorrectly infer the type of a capture list item in an exit test. by @grynspan in #1152
  • Work around a compiler regression affecting exit test value capturing. by @grynspan in #1171
  • Merge 'main' branch to 'release/6.2' by @stmontgomery in #1170
  • [6.2] Fix a miscompile when a test function has a raw identifier parameter label. by @grynspan in #1173
  • [6.2] Add (hidden) synchronous overloads of #expect(throws:). by @grynspan in #1179
  • [6.2] Remove redundant word from console output for test case started events in verbose mode by @stmontgomery in #1181
  • [6.2] Ensure that when .serialized is applied to a parameterized @test func, its test cases are serialized by @stmontgomery in #1190
  • [6.2] FreeBSD: Gate GNU-only API by @etcwilde in #1194
  • [6.2] Disallow the @Test attribute on operator declarations. by @grynspan in #1207
  • [6.2] Emit "barriers" into the stdout/stderr streams of an exit test. by @grynspan in #1220
  • [6.2] Reset the working directory of child processes we spawn on Windows. by @grynspan in #1219
  • [6.2] Only clear exit test ID env var upon successful lookup by @stmontgomery in #1227
  • [6.2] Promote Issue Handling Traits to public API by @stmontgomery in #1228
  • [6.2] Clarify the outcome of applying a timeLimit trait to a suite. (#1225) by @iamleeg in #1229
  • [6.2] Declare Xcode 26 availability for IssueHandlingTrait by @stmontgomery in #1252

New Contributors

Full Changelog: swift-6.1.3-RELEASE...swift-6.2-RELEASE