·
118 commits
to main
since this release
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
CGImage
s. by @grynspan in #827 - Fix DocC warnings and errors, including those from SPI by @stmontgomery in #836
- Make
Attachment
conform toCustomStringConvertible
. 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 toAttachable
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 ofVoid
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 useCustomTestStringConvertible
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 splitExitCondition
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 thanpackage
. 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 hasSymbolLinkageMarkers
. 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()
toAttachment.record()
andAttachable.withUnsafeBufferPointer()
toAttachable.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 toExitTest.Condition
andStatusAtExit
. 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 clearFD_CLOEXEC
. by @grynspan in #1147 - Synthesize display names for de facto suites with raw identifiers. by @grynspan in #1105
- Have
DiscoverableAsTestContent
enumeration producesome Sequence
instead ofAnySequence
. 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 thanProcess
. 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
- @heckj made their first contribution in #853
- @michael-yuji made their first contribution in #865
- @lamtrinhdev made their first contribution in #877
- @al45tair made their first contribution in #921
- @hrayatnia made their first contribution in #972
- @ZevEisenberg made their first contribution in #1001
- @plemarquand made their first contribution in #1003
- @weliveindetail made their first contribution in #1009
- @Uncommon made their first contribution in #909
- @aroben made their first contribution in #1014
- @drodriguez made their first contribution in #1117
- @Wouter01 made their first contribution in #1142
Full Changelog: swift-6.1.3-RELEASE...swift-6.2-RELEASE