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:
DDTestSessionhas been renamed toDDTestModulein 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_KEYis 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
.gitlabfolder - 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_stackinformation format. - Add
languagetag to the first level for compatibility with other tracers,ci_librarytag 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_INSTRUMENTATIONandDD_ENABLE_STDERR_INSTRUMENTATIONto enable them. - Full support to swift
Concurrencyin app or tests. Needs Xcode 13.2 or newer - Add
call_stacktag 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
us5inDD_SITE
Bug fixes
DD_DISABLE_SDKIOS_INTEGRATIONconfiguration 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.stackat the top. Full crash log is available inerror.crashLogtag. - 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.localizationandui.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.1is 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
DDTestSessionDDTestSuiteandDDTestwhen 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.openTelemetryTraceras documentation specifies
Improvements
- Reports
DatadogSDKTestingversion inci.library.versiontag, defaultversiontag 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-swift1.0.7 version