Releases: DataDog/dd-sdk-swift-testing
Releases · DataDog/dd-sdk-swift-testing
2.1.2
This is version 2.1.1 relabeled as 2.1.2 to solve an issues in SPM
2.1.1
Bug fixes
- Tests that included multiple benchmarks (12 or more) were failing to be reported. Now a maximum of 16 benchmarks are supported, will show an error if the limit is exceeded, and wont drop the test.
2.1.0
New Features
- Added Xcode Cloud as a supported CI for reporting tests. Check documentation for details on environment variables to configure.
- Added new environment variables for CircleCI, Jenkins, GitLab, GitHub and Buildkite. Check documentation for details.
- Unit tests now also report
ui.localization
, it was previously only reported for UI tests. It helps identifying unit tests run in different languages. Note: Some flaky tests can appear duplicated temporarily because of this change
Bug fixes
- Tests that included multiple benchmarks (more than 3) could miss some tags, including name or test suite
- Crash symbolication failed when the line was included in a module with more than a space in its name
Improvements
- Updated tags included with Logs, now CI-generated logs can be filtered with tag
datadog.product
Changes
- Breaking Manual API:
DDTestSession
has been renamed toDDTestModule
in preparation for new features.
2.0.1
New Features
- Added support for user defined XCTMetrics in benchmark tests.
Bug fixes
- Some configuration of the test instrumentation was not correctly being set in UI test (e.g. logs in the app were not being reported when correctly enabled, only on the test code)
Improvements
- Test process fails if test instrumentation is configured but
DD_API_KEY
is not set
2.0.0
Breaking change
Only API keys are supported now for sending results to the backend. Please confirm that you are using DD_API_KEY
in your environment variables and not DATADOG_CLIENT_TOKEN
. You can create an API key here
New Features
- New integration with RUM for your UI Tests. If the app has RUM configured, RUM sessions will be shown in a new tab in the test results. Also RUM sessions initiated from a test will be identified as such.
- Added support for crash symbolication, source code location and code owners in tvOS simulator
Bug fixes
- It now correctly finds Codeowners file when it is located inside
.gitlab
folder - Bitbucket repository could include user and password in the URL
- Fixes using the library with swift tools < 5.3
Improvements
- Added support for Gitlab sections in Codeowners file
- Tests and spans generated during testing wont be included in APM results
1.1.1
New Features
- Show multiple test assertion errors. Error type will be set to the first failure, but all error messages are now included.
Improvements
- Add more information to network requests, including thread, execution queue, and task information, and improve
call_stack
information format. - Add
language
tag to the first level for compatibility with other tracers,ci_library
tag group will be removed in the future - Framework is now built with Xcode 13.2.1
1.1.0
New Features
- Breaking change Stdout and Stderr capturing are not enabled by default anymore, because they can incur small costs to Datadog's Log product. Use
DD_ENABLE_STDOUT_INSTRUMENTATION
andDD_ENABLE_STDERR_INSTRUMENTATION
to enable them. - Full support to swift
Concurrency
in app or tests. Needs Xcode 13.2 or newer - Add
call_stack
tag to all network request spans by default, this call stack only shows classes and methods. Fully symbolicated call stacks with file and line are possible ( for macOS or simulator running tests) settingDD_ENABLE_NETWORK_CALL_STACK_SYMBOLICATED
, but they are quite time consuming. - Add support to
us5
inDD_SITE
Bug fixes
DD_DISABLE_SDKIOS_INTEGRATION
configuration in UITests was also blocking other opentelemetry spans to be correctly reported ( e.g. network spans)- Symbolication of line crashes failed when the app or the library included space characters in the name.
- Fix a potential thread race condition while symbolicating crashes
Improvements
- When a test crashes, crashed thread is shown in
error.stack
at the top. Full crash log is available inerror.crashLog
tag. - Symbolicated crashes now show the relative paths instead of the absolute path in the machine where tests were run
- The name of the span representing the application in a UI test has been renamed to
ApplicationUnderTest
- It uses opentelemetry-swift version 1.1.2
1.0.2
New Features
- Report UI settings in tags:
ui.appearance
,ui.localization
andui.orientation
(this last one only on iOS). These settings are reported on UI tests when running on simulator - Programmatic Test API modifications:
setAttribute()
renamed tosetTag()
, andaddBenchmark()
was removed (Breaking change) - Adds NTP clock synchronisation to improve end to end test representation spans
Bug fixes
- Github Actions pipeline URL now equals the one reported in pipeline monitoring ( new environment variables needed, check documentation)
Improvements
Xcode 13.1
is used for building the xcframework- It uses opentelemetry-swift version 1.1.1
1.0.1
Bug fixes
- Concurrent network requests could fail to be reported
- Some stderr output might not appear
Improvements
- It uses opentelemetry-swift 1.1.0 version
- Removed some dependencies that are not needed
1.0.0
New Features
- Add support for reporting also tests programmatically (besides automatic XCTest instrumentation). It is done by using new public classes
DDTestSession
DDTestSuite
andDDTest
when importing the framework, both in Swift and ObjectiveC. (Official documentation pending, but some information can be found here). - Add support for reporting tests with DD_API_KEY besides DATADOG_CLIENT_TOKEN
- Add support for all types of measure metrics supported by Xcode 13 to benchmark tests
Bug fixes
- Fix a potential thread race condition when symbolicating crashes
- Opentelemetry tracer can be now accessed at
DDInstrumentationControl.openTelemetryTracer
as documentation specifies
Improvements
- Reports
DatadogSDKTesting
version inci.library.version
tag, defaultversion
tag now reports app or framework under testing version - Add DD_TRACE_DEBUG environment variable to print some debugging info to standard output
- Add normalisation to user supplied Git branch and tag
- It uses
opentelemetry-swift
1.0.7 version