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 RC
does not support concurrency in macOS) - It uses
opentelemetry-swift
1.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.plist
file 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
PLCrashReporter
to 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.stack
tag 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.model
tag shows model number when running on simulator, instead of generic platform name- Add support for
CI_COMMIT_AUTHOR
andCI_COMMIT_TIMESTAMP
in Gitlab - Add support for
SYSTEM_JOBDISPLAYNAME
andSYSTEM_STAGEDISPLAYNAME
in Azure pipelines - Uses
opentelemetry-swift
version 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 test
instead ofxcodebuild test
in a Swift Package Manager project. All environment variables documented for Xcode must also be passed to theswift test
command
Bug Fixes
- Bitrise CI: Replace
BITRISE_APP_TITLE
withBITRISE_TRIGGERED_WORKFLOW_ID
in the environment variables. It will report the executed workflow instead of the name of the project in theci.pipeline.name
tag. 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_ENDPOINT
environment variable withDD_SITE
, to be consistent with the name and values of Agent Global option
Bug Fixes
LICENSE
file is not included in the distributedDatadogSDKTesting.zip
, fixing some SPM random errors.
0.9.0
New Features
- Report codeowners per test. It uses
CODEOWNERS
file, when exists, to report which test belongs to which user. - Swift Package Manager distribution now uses binary
xcframework
for 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
SRCROOT
is 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
US3
endpoint using theDD_ENDPOINT
env 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.start
line, andsource.end
line in test tags. - Support for
eu
andgov
endpoints, usingDD_ENDPOINT
- Report git information for non CI workflows, use environment
none
by default in those situations - Spans and logs originated during testing are identified now by the backend
- Add
execution.order
andexecution.processId
to 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
.pack
files 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
SRCROOT
environment variable. - Reports Xcode version in
runtime.version
tag - Supports adding custom tags by adding
DD_TAGS
environment 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
XCTIssue
information - Improves crash symbol information for system libraries
- Report version of the testing framework
- Uses
opentelemetry-swift
version 0.6.0