What's Changed
- Fix a miscompile when a test function has a raw identifier parameter label. by @grynspan in #1168
- Lower the "ambiguous display name" diagnostic to a warning for some names. by @grynspan in #1175
- Revert portion of workaround landed in #1139 which disabled the mandatory perf optimization pass by @stmontgomery in #1172
- Add (hidden) synchronous overloads of
#expect(throws:). by @grynspan in #1178 - Remove redundant word from console output for test case started events in verbose mode by @stmontgomery in #1180
- Provide additional explanation for the Windows signal handling stuff. by @grynspan in #1182
- Ensure that when .serialized is applied to a parameterized @test func, its test cases are serialized by @stmontgomery in #1188
- order limits.h before stdlib.h to workaround for glibc _FORTIFY_SOURCE by @lhoward in #1184
- FreeBSD: Gate GNU-only API by @etcwilde in #1183
- Require
UTTypefor image attachments. by @grynspan in #1192 - Add a cross-import overlay with AppKit to allow attaching
NSImages. by @grynspan in #869 - Fixes to the AppKit/
NSImageoverlay. by @grynspan in #1196 - Add a temporary package product that builds our cross-import overlays. by @grynspan in #1197
- Apply the 'traitRelated' tag to more tests and suites by @stmontgomery in #1199
- Adopt
SuspendingClock.systemEpoch. by @grynspan in #1202 - Disallow the
@Testattribute on operator declarations. by @grynspan in #1205 - Add isFailure to ABI.EncodedIssue by @suzannaratcliff in #1211
- Bump the required compiler version for
systemEpochto 6.3. by @grynspan in #1213 - Clarify the number of supported argument collections in article which discusses combinatoric parameterized testing by @stmontgomery in #1210
- Reset the working directory of child processes we spawn on Windows. by @grynspan in #1212
- Use a custom
AttachableImageFormattype instead of directly relying onUTType. by @grynspan in #1203 - Remove a number of checks for compilers < 6.1. by @grynspan in #1214
- Add a cross-import overlay with CoreImage to allow attaching
CIImages. by @grynspan in #1195 - Add a cross-import overlay with UIKit to allow attaching
UIImages. by @grynspan in #1216 - Simplify
NSImageRep-checking logic to useBundle. by @grynspan in #1217 - Use a consistent definition for unreachable code in macro expansions. by @grynspan in #1166
- Make
ExitTest._currentimmutable. by @grynspan in #1218 - Emit "barriers" into the stdout/stderr streams of an exit test. by @grynspan in #1049
- Add missing links to
UIImagedocumentation. by @grynspan in #1223 - Clarify the outcome of applying a timeLimit trait to a suite. by @iamleeg in #1225
- Only clear exit test ID env var upon successful lookup by @stmontgomery in #1226
- Promote Issue Handling Traits to public API by @stmontgomery in #1198
- Validate format of event stream version CLI argument when passed by @stmontgomery in #1231
- Update docs for decoding stdout and stderr from exit tests by @simonjbeaumont in #1230
- Mention module name and presence in toolchain in README by @stmontgomery in #1233
- Revert "Work around a compiler regression affecting exit test value capturing. (#1171)" by @grynspan in #1208
- Enable exit test value capturing by @grynspan in #1165
- Add FreeBSD and OpenBSD as experimentally supported in the readme. by @grynspan in #1236
- Don't use
_getSuperclass()from the Swift runtime. by @grynspan in #1237 - Use the prefix
swift_testing_for future exported symbols. by @grynspan in #1238 - Remove
swt_copyABIEntryPoint_v0(). by @grynspan in #1240 - Silence a warning on FreeBSD/OpenBSD when calling
pthread_set_name_np(). by @grynspan in #1241 - Rename
"SWT_EXPERIMENTAL_CAPTURED_VALUES". by @grynspan in #1242 - Introduce a new
ABI.VersionNumbertype. by @grynspan in #1239 - Add additional
canImportchecks to AttachmentTests.swift by @grynspan in #1244 - Revert remaining workaround preventing the use of SymbolLinkageMarkers by @stmontgomery in #1234
- Windows image attachments by @grynspan in #1245
- Fix two broken Forum category links in this project's New Issue template chooser by @stmontgomery in #1248
- Remove experimental spi from issue severity by @suzannaratcliff in #1247
- Fix test: issueCountSummingAtRunEnd which was broken by #1247 by @suzannaratcliff in #1250
- Declare Xcode 26 availability for IssueHandlingTrait by @stmontgomery in #1251
- Various
VersionNumberchanges of merit. by @grynspan in #1246 - Rewrite Windows image attachments to use WIC instead of GDI+. by @grynspan in #1254
- Update docc comments for Issue.record by @suzannaratcliff in #1257
- Remove optionality from
_AttachableImageWrapper.wrappedValueon Windows. by @grynspan in #1258 - Harmonize
_AttachableImageWrapperandAttachableAs___across Darwin and Windows. by @grynspan in #1261 - Remove a workaround for a
URL.pathbug on Windows. by @grynspan in #1263 - Enhance documentation for URL attachments. by @grynspan in #1262
- Emit a diagnostic if a display name string is empty by @stmontgomery in #1256
- Test that the fixups are generated if display name is empty by @jerryjrchen in #1267
- Allow attaching an
IWICBitmapSourceinstance directly. by @grynspan in #1266 - Add experimental AdvancedConsoleOutputRecorder skeleton framework by @tienquocbui in #1253
- Revise Windows image attachments to match the draft API proposal. by @grynspan in #1268
- Propagate issue severity from exit test bodies. by @grynspan in #1272
- Add @jerryjrchen as a code owner. by @grynspan in #1273
- Reduce duplicated code between Darwin's and Windows' image attachments. by @grynspan in #1270
- Update README.md to point to 6.2 jobs. by @grynspan in #1275
- Refactor AdvancedConsoleOutputRecorder to use ABI.EncodedEvent architecture by @tienquocbui in #1281
- Tests link with libutil for openpty on OpenBSD. by @3405691582 in #1285
- Include severity and isFailure for Issues in the published JSON event stream by @jerryjrchen in #1279
- Update swift-syntax package dependency to 603 by @stmontgomery in #1286
- Ensure attachments created in exit tests are forwarded to the parent. by @grynspan in #1282
- Promote Darwin image attachments to API. by @grynspan in #1274
- Add experimental SPI to cancel a running test. by @grynspan in #1284
- Clarify note about supported target types in "Defining test functions" article by @stmontgomery in #1291
- Silence warnings about CMakeList.txt when building the package. by @grynspan in #1293
- Rename
clsidtoencoderCLSIDand add label to correspondinginit(). by @grynspan in #1295 - Extend test/task cancellation support to test case evaluation. by @grynspan in #1297
- Propagate
SkipInfoto child tasks when a test is cancelled. by @grynspan in #1298 - Define an experimental event stream version and use it to conditionalize relevant content by @stmontgomery in #1287
- Add a document describing our environment variable usage. by @grynspan in #1300
- Lower more experimental JSON fields. by @grynspan in #1301
- Improve
ExitStatus.descriptionfor signals. by @grynspan in #1302 - Add CMake directions for the WinSDK overlay by @grynspan in #1296
- Work around a compile-time error on the 6.2 toolchain (Windows only). by @grynspan in #1306
- Add task names to structured tasks we create. by @grynspan in #1305
- [CI] Add support for GitHub Actions by @shahmishal in #1308
- Disable the API breakage check in GitHub Actions. by @grynspan in #1311
- Factor out the commit hash from the library version. by @grynspan in #1310
- Enable license header soundness check by @stmontgomery in #1312
- Move the package version to VERSION.txt. by @grynspan in #1304
- Enable the unacceptable language soundness check and resolve identified issues by @stmontgomery in #1313
- Avoid eagerly serializing move-only attachments. by @grynspan in #1317
- OpenBSD needs execinfo as well. by @3405691582 in #1318
- [CI] Add Amazon Linux 2 in PR testing by @shahmishal in #1322
- Enable the Docs soundness check by @stmontgomery in #1314
- Revert "[CI] Add Amazon Linux 2 in PR testing (#1322)" by @grynspan in #1324
- Work around lack of embed in clang on OpenBSD and Amazon Linux 2. by @3405691582 in #1320
- Fix the path to VERSION.txt used in CMake. by @grynspan in #1327
- Remove a workaround for varargs not compiling on WASI. by @grynspan in #1323
- Add Amazon Linux 2 in PR testing (take 2) by @grynspan in #1326
- Drop remaining Swift 6.1 compiler support. by @grynspan in #1328
- Implement hierarchical console output with comprehensive test result display by @tienquocbui in #1290
- Exclude Xcode 16.4 from GitHub Actions. by @grynspan in #1331
- Merge more of the image attachments codebase duplicated between Darwin and Windows. by @grynspan in #1329
- Change the semantics of
Test.cancel(). by @grynspan in #1332 - Mark image attachments as unavailable on non-Darwin/non-Windows. by @grynspan in #1330
- Promote
SourceLocation._filePathto proper, non-underscored SPI. by @grynspan in #1334 - Fix a symbol marked
@_spithat's needed for exit test value capturing. by @grynspan in #1335 - Remove
@_spi(Experimental)fromExitTest.CapturedValue. by @grynspan in #1337 - Use generics to declare suite types in macro expansions. by @grynspan in #1338
- Disable backtrace capturing in Embedded Swift. by @grynspan in #1339
- Mark exit tests unavailable in Embedded Swift. by @grynspan in #1341
- Remove a stray
throwsin the declaration of__requiringUnsafe(). by @grynspan in #1340 - Adopt
_CFErrorCopyCallStackReturnAddresses(). by @grynspan in #1344 - Treat
@_unavailableInEmbeddedlike other availability attributes during macro expansion. by @grynspan in #1342 - Provide opt-out condition for
sys_signame[]. by @grynspan in #1345 - AdvancedConsoleOutputRecorderTests is missing an import of Foundation by @stmontgomery in #1346
- Normalize the order in which we specify our Linux/FreeBSD/OpenBSD checks. by @grynspan in #1349
- Get exit tests functioning on OpenBSD. by @grynspan in #1352
- Adopt
Mutex. by @grynspan in #1351 - Revert "Adopt
Mutex." by @hamishknight in #1353 - Refactor AdvancedConsoleOutputRecorder to remove fallback recorder dependency by @tienquocbui in #1354
- Remove some uses of
@unchecked SendableandAnySequence. by @grynspan in #1358 - Attachment lifetimes by @grynspan in #1319
- Support command-line arguments specified as
--foo=bar. by @grynspan in #1357 - Add support for experimental "custom availability domains" feature. by @grynspan in #1362
- Add GitHub Action workflows which build main branch (post-merge) by @stmontgomery in #1361
- Promote Windows image attachments to API. by @grynspan in #1333
- Adjust README to show status badges from GitHub Actions workflows by @stmontgomery in #1364
- chore: restrict GitHub workflow permissions - future-proof by @incertum in #1365
- Adopt
Mutex(take 2) by @grynspan in #1363 - Dynamically look up
backtrace(3)on Android. by @grynspan in #1356 - Fix accidentally dropping image encoding quality on the floor on Windows. by @grynspan in #1368
- Make
Attachmentalways conform toCustomStringConvertible. by @grynspan in #1367 - Create fallback event handler library for Swift Testing and XCTest interop by @jerryjrchen in #1369
- Enable iOS GitHub Actions workflow. by @grynspan in #1376
- Add
@_preInverseGenericstoAttachment: CustomStringConvertible. by @grynspan in #1378 - Enable Android build in CI (no tests, only build). by @grynspan in #1382
- Ensure
NonisolatedNonsendingByDefaultdoesn't break exit tests. by @grynspan in #1383 - Avoid
unsafeBitCast()in the new interop target. by @grynspan in #1384 - Disfavor overloads of
__checkFunctionCall()with variadic generics. by @grynspan in #1389 - Update the comment and bug ID explaining why a workaround in ConfirmationTests is still needed by @stmontgomery in #1391
- Update CODEOWNERS file by @stmontgomery in #1393
- Apply changes from ST-0017. by @grynspan in #1359
- Capture the current working directory early on OpenBSD. by @grynspan in #1388
- Mark
earlyCWD(OpenBSD-only)constinitand fix some comments/style. by @grynspan in #1396 - Avoid a potential race condition and use-after-free when calling
Test.cancel(). by @grynspan in #1395 - Remove VERSION.txt workaround for OpenBSD 7.7. by @grynspan in #1397
- Remove non-functional
swt_getWASIVersion(). by @grynspan in #1398 - Fix a regression that prevents saving attachments. by @grynspan in #1400
- Use
AtomicLazyReferenceto store the fallback event handler. by @grynspan in #1401 - Handle image types derived from the base types. by @grynspan in #1399
- Keep libtool from complaining about ExecutablePath.cpp being empty. by @grynspan in #1402
- Avoid
PATH_MAXwhen getting the executable path on Linux and OpenBSD. by @grynspan in #1403 - When saving a
Stringas an attachment, assume".txt"as a path extension. by @grynspan in #1404 - Add more availability annotations for image attachment symbols. by @grynspan in #1409
- Mark
Issue.Severitycases with availability. by @grynspan in #1410 - Fix a typo in exit tests documentation. by @grynspan in #1414
- Replace
wchar_twithCWideChar. by @grynspan in #1412 - Add an upper bound on the number of test cases we run in parallel. by @grynspan in #1390
- Use
trylockto eliminate the remaining race condition inTest.cancel(). by @grynspan in #1415 - Fix up a few build failures in environments with constrained concurrency. by @grynspan in #1417
- [REVERTED] Set the version for release/6.3. by @grynspan in #1422
- [6.3] Set the version for release/6.3. by @grynspan in #1423
- Add qualification status for supported platforms in the README by @jerryjrchen in #1424
- Enable
Test.cancel()as API. by @grynspan in #1385 - Merge 'main' branch to 'release/6.3' by @stmontgomery in #1425
- Add auto-merger workflow to periodically merge main into release branch by @stmontgomery in #1428
- Expose Attachment.sourceLocation as tools integration SPI by @stmontgomery in #1426
- Enable
encoderCLSIDAPI on Windows'AttachableImageFormat. by @grynspan in #1419 - Provide prose documentation for attachments. by @grynspan in #1413
- Fix a typo in the attachments documentation. by @grynspan in #1434
- Remove
@_spionencoderCLSID(take 2) by @grynspan in #1435 - Merge
mainintorelease/6.3by @github-actions[bot] in #1437 - Ignore ExpectationFailedError when thrown by the body closure passed to withKnownIssue by @stmontgomery in #1441
- Add Dependabot configuration for GitHub Actions by @shahmishal in #1442
- Add nightly-6.3 to our PR CI workflow and pin all workflows to a specific tag by @stmontgomery in #1443
- Avoid ObjC runtime warnings about duplicate class definitions for Serializer type by @stmontgomery in #1444
- Bump
ABI.CurrentVersionto 6.3 and ensure minor variances in JSON version numbers are permitted. by @grynspan in #1438 - Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.2 to 0.0.3 by @dependabot[bot] in #1447
- Bump swiftlang/github-workflows/.github/workflows/create_automerge_pr.yml from 0.0.2 to 0.0.3 by @dependabot[bot] in #1448
- Merge
mainintorelease/6.3by @github-actions[bot] in #1449 - Add prose documentation for file/directory attachments. by @grynspan in #1440
- Merge
mainintorelease/6.3by @github-actions[bot] in #1454 - Move
CODEOWNERSto.github/CODEOWNERSby @ahoppen in #1457 - Use
String(describingForTest:)to stringify most errors. by @grynspan in #1461 - Merge
mainintorelease/6.3by @github-actions[bot] in #1469 - Bump swiftlang/github-workflows/.github/workflows/create_automerge_pr.yml from 0.0.3 to 0.0.4 by @dependabot[bot] in #1460
- Replace -require-explicit-sendable with 'ExplicitSendable' warning diagnostic group by @stmontgomery in #1445
- Include the API level in the Android OS version. by @grynspan in #1463
- Remove
_SelfRemoveras obsolete. by @grynspan in #1467 - Work around Swift compiler change on main. by @grynspan in #1466
- Remove
@_spi(Experimental)fromABI.v6_3. by @grynspan in #1451 - Add
BitwiseCopyableconformance to test discovery types. by @grynspan in #1462 - Avoid hashtable overhead during Mach-O section discovery. by @grynspan in #1464
- Adopt
@c. by @grynspan in #1377 - Correctly block
@Suiteand@TestonXCTest.XCTestandXCTestSuite. by @grynspan in #1456 - Conditionalize 'ExplicitSendable' warning group to 6.3 compilers by @stmontgomery in #1473
- Add a GitHub workflow running OpenBSD. by @3405691582 in #1405
- Need to initialize os_unfair_lock guarding the fallback event handler by @jerryjrchen in #1478
- Merge
mainintorelease/6.3by @github-actions[bot] in #1479 - Update the main-branch version number to 6.4-dev. by @grynspan in #1480
- Add revision notes to JSON.md. by @grynspan in #1475
- Fix incorrect discovery of effectful keywords in the lexical context. by @grynspan in #1482
- Avoid runtime collisions when multiple copies of the testing library are loaded by @stmontgomery in #1471
- Allow non-escapable types as suites. by @grynspan in #1468
- Adjust compiler version checks around
WinSDK.GUID.Wrapper. by @grynspan in #1483 - Make
IWICBitmapSourceProtocolpublic (underscored) to suppress new compiler warning. by @grynspan in #1484 - Explicitly forbid tests/suites/exit tests in extensions to
InlineArray. by @grynspan in #1485 - Move the check for
SWT_EXPERIMENTAL_MAXIMUM_PARALLELIZATION_WIDTH. by @grynspan in #1486 - Merge
mainintorelease/6.3by @github-actions[bot] in #1487 - Adopt
@sectionand@used. by @grynspan in #1408 - Avoid passive voice and clarify macro in exit test docs. by @iamleeg in #1243
- Adopt
objectFormat(). by @grynspan in #1470 - [CI] Update the github-workflows tag to 0.0.6 to support macOS Tahoe by @shahmishal in #1494
Selfis broken when used within@Suite(e.g. in traits). by @grynspan in #1495- Diagnose more unsupported generic type patterns for suites. by @grynspan in #1496
- Merge
mainintorelease/6.3by @github-actions[bot] in #1497 - [6.3] Interop: send events to fallback event handler if active configuration not present by @jerryjrchen in #1503
- [6.3] Fix mangling of
__TestContentRecordContainer. by @grynspan in #1510 - [6.3] Don't set
SWT_NO_INTEROPon WASI. by @grynspan in #1513 - [6.3] CMake: Add autolink entry for TestingInterop library by @kateinoigakukun in #1517
- [6.3] Ensure issues with warning severity are delivered to Xcode. by @grynspan in #1532
- [6.3] [ST-0020] Promote
SourceLocation.filePathto API. by @grynspan in #1538 - [6.3] Fix a diagnostic logged by ImageIO on Darwin when attaching an image. by @grynspan in #1540
- [6.3] Check the XCTest fallback handler after checking for other configurations. by @grynspan in #1543
- [6.3] Declare availability for
SourceLocation.filePath. by @grynspan in #1545 - [6.3] Make
#expect()∞% faster. by @grynspan in #1561 - [6.3] Only enable 'ExplicitSendable' warnings when building for development by @stmontgomery in #1563
- [6.3] Add availability annotations for Xcode 26.4. by @grynspan in #1569
- [6.3] Ensure the old overload of
Issue.record()is still documented. by @grynspan in #1568 - [6.3] Fix
--experimental-event-stream-versionnot accepting99. by @grynspan in #1576 - [6.3] Ensure
experimentalVersionIsAccepted()builds on iOS/etc. by @grynspan in #1579 - [6.3] Fix up some ABI/JSON errata. by @grynspan in #1580
- [6.3] Use a different symbol for failure with known issues. by @grynspan in #1586
- [6.3] Disable package customization of module ABI name by @stmontgomery in #1602
New Contributors
- @lhoward made their first contribution in #1184
- @simonjbeaumont made their first contribution in #1230
- @tienquocbui made their first contribution in #1253
- @hamishknight made their first contribution in #1353
- @incertum made their first contribution in #1365
- @github-actions[bot] made their first contribution in #1437
Full Changelog: swift-6.2.4-RELEASE...swift-6.3-RELEASE