Releases: DataDog/dd-sdk-swift-testing
Releases · DataDog/dd-sdk-swift-testing
0.9.5
New Features
- Added support for async/await tests and async/await network instrumentation when using Xcode 13
- Identify UI tests by setting the tag
test.is_ui_test
Bug Fixes
- Fixed a crash when initializing the test instrumentation
- Fixed Gitlab branch name when testing PR's
Improvements
- Framework is built with
Xcode 13 beta 5(Xcode 13 RCdoes not support concurrency in macOS) - It uses
opentelemetry-swift1.0.5
0.9.4
New Features
- Added support for Cocoapods, testing framework can now be installed by adding:
pod 'DatadogSDKTesting'to your Podfile. It is distributed in binary form for all platforms using XCFramework format. - Allow configuration values to be provided in the
Info.plistfile of the Test bundle (not in the App bundle) in addition to the environment variables of the test action. The configuration keys use the same identifiers than the environment variables (e.g. DD_TEST_RUNNER or DD_ENABLE_RECORD_PAYLOAD). - Reduce minimum iOS and tvOS supported versions to 11.0.
Improvements
- Updated
PLCrashReporterto version 1.9.0
0.9.3
New Features
- User can provide or overwrite Git information using environment variables. Check documentation for specifics.
Bug Fixes
error.stacktag could show only partial content instead of full crash log.- Network request were not propagating proper span identifiers in the headers (
x-datadog-parent-id), and remote spans would appear as child of the test span instead of as a child of the request span.
Improvements
device.modeltag shows model number when running on simulator, instead of generic platform name- Add support for
CI_COMMIT_AUTHORandCI_COMMIT_TIMESTAMPin Gitlab - Add support for
SYSTEM_JOBDISPLAYNAMEandSYSTEM_STAGEDISPLAYNAMEin Azure pipelines - Uses
opentelemetry-swiftversion 1.0.4 - Network requests in iOS show the network interface used for them (wifi, 3G, ...)
0.9.2
New Features
- Allow instrumenting tests when using
swift testinstead ofxcodebuild testin a Swift Package Manager project. All environment variables documented for Xcode must also be passed to theswift testcommand
Bug Fixes
- Bitrise CI: Replace
BITRISE_APP_TITLEwithBITRISE_TRIGGERED_WORKFLOW_IDin the environment variables. It will report the executed workflow instead of the name of the project in theci.pipeline.nametag. Existing users must replace in CI environment variables.
Improvements
- Add a warning message when necessary git information cannot be read
- Jenkins CI: Add extra environment variable for detecting repositories in PR's:
GIT_URL_1. Existing Jenkins users must add in their CI environment variables.
0.9.1
New Features
- Replace
DD_ENDPOINTenvironment variable withDD_SITE, to be consistent with the name and values of Agent Global option
Bug Fixes
LICENSEfile is not included in the distributedDatadogSDKTesting.zip, fixing some SPM random errors.
0.9.0
New Features
- Report codeowners per test. It uses
CODEOWNERSfile, when exists, to report which test belongs to which user. - Swift Package Manager distribution now uses binary
xcframeworkfor Xcode 12 and up. It avoids downloading and compiling all the dependencies each time.
Bug Fixes
- Applications under UITesting can now properly link with the framework when using Swift Package Manager and XCode 12+. (XCode 11 users must still link the app with the compiled .xcframework).
- Symbolicating crashes could fail when the bundle had spaces in the name.
- Some configuration flags were not being properly set when running UI tests.
Improvements
- Try to read Git information when
SRCROOTis not set, by using CI workspace path. - Test source location is also available now when running optimised builds (it may include lines from functions that are inlined by the compiler though)
- Use complete model number for
device.model. - Auto loading of the library now uses
__attribute__((constructor)). It avoids dependences on Objective-C runtime.
0.8.2
Bug Fixes
- Fixed CircleCI pipeline URL
- Fix git branch name when using a detached
HEAD
Improvements
- Added support for
US3endpoint using theDD_ENDPOINTenv variable - The framework now logs in standard output when is loaded
- Will use repository name as default test service name if none is added
- Added some environment variables for commit information in some CI's
0.8.1
Bug Fixes
- Sometimes test spans could appear as child of another test span
- Branch reporting was incorrect when reporting a PR on Bitrise
0.8.0
New Features
- Test source location: it reports the
source.file,source.startline, andsource.endline in test tags. - Support for
euandgovendpoints, usingDD_ENDPOINT - Report git information for non CI workflows, use environment
noneby default in those situations - Spans and logs originated during testing are identified now by the backend
- Add
execution.orderandexecution.processIdto the test tags, when running tests in parallel this number is relative to the Test Class
Bug Fixes
- Fixes a problem when reading git info from big
.packfiles or from a tag. - Symbolication for crashes could be incomplete in some situations.
- Span Id was not correctly injected in the network headers, it was injecting the parent Id
- Headers where not being properly injected when running UI Tests.
- Some logs from UI tests could fail to appear
- Changed environment variables for Circle CI (check documentation)
Improvements
- Network instrumentation is now based on top of Opentelemetry network instrumentation
- Symbolication of crashes is faster now (runs in parallel)
- Don't try to read Git info for on device testing
0.7.0
New Features
- Automatically extracts git metadata when running on macOS or simulator (iOS and tvOS). Needs
SRCROOTenvironment variable. - Reports Xcode version in
runtime.versiontag - Supports adding custom tags by adding
DD_TAGSenvironment variable - Allows disabling crash handling for very specific cases (check documentation)
Bug Fixes
- Fixes a thread race condition that could show in Thread Sanitizer
Improvements
- Improves error messages from test failures, it now uses
XCTIssueinformation - Improves crash symbol information for system libraries
- Report version of the testing framework
- Uses
opentelemetry-swiftversion 0.6.0