Releases: MarathonLabs/marathon
0.6.3
Features:
- support testing multiple applications in one run on Android (#523)
- fragmentation filter. This test filter is similar to sharded test execution that AOSP provides and facilitates testing via multiple build runs (#520)
- add snapcraft.yaml, developer mode only for now (#534)
- test filtering revamp: add FQTN filter and values list, support reading values from file for most of the filters (#519)
- Support for ANDROID_SDK_ROOT (#518)
Bug fixes:
- add afterTestRun hook to fix tests on devices that do not produce test run termination events (#524)
- incomplete tests should fail the result aggregation (#535)
- parameterized test merge should add expected tests to progress reporter (#538)
- cut long class names for report files (#528)
- Fixed test variant message (#529)
Other:
0.6.2
Breaking changes:
Due to differences in AOSP implementations, external storage mount can be different on devices (e.g. /sdcard
or /storage
). Because of this configuration for allure report has been reworked to use relative paths instead of absolute paths.
Features:
- pulling folders after a test run (#444)
- created annotation data filter for filtering by value in annotation (#459)
- code coverage on Android (#466)
- adam socketIdleTimeout config option (#463)
- support android.support.test.filters.Suppress and android.test.suitebuilder.annotation.Suppress (#473)
- faster IO with adam (#498)
- test retry artifacts (#499)
- uncompleted test batch recording if the device is responsive (#508)
Bug fixes:
- fix screen recorder selection type (#455)
- Annotations for MarathonRunTask (#479, #487)
- fix remote file path on Windows for adam (#472)
- file sync debug log should not use println (#495)
- unify handling for testBatchTimeout and testOutputTimeout (#501)
- always system exit (#508)
- always close vert.x socket pool (#508)
Other:
- Upgrade to kramdown 2.3.1, adam to 0.3.0
- Allure from maven central (#491)
- Migrate sample apps to Gradle 7.0 (#489)
- Create ADOPTERS.md
- Remove deprecated experimentalWarning Gradle KTS flag (#509)
0.6.1
New:
- Expose vendor-adam granular timeout configuration (#443)
- Add failed test list + CLI report for failed and incomplete tests (#452)
Bug fixes:
- Uncompleted tests should fail after uncompletedRetryQuota is depleted (#439)
- Fix ddmlib test output timeout logic (#451)
- Fix adb daemon kill after test run (#438)
- Stabilise adam vendor (#426)
- Rotate screen capture based on initial device rotation
- Proper timeout handling for test (defaults to 5 minutes now) (#451)
- Proper timeout handling for test batch (30 minutes now) (#451)
- allure-kotlin with Android API 29 permissions fix
Other:
0.6.0
New:
- adam: new Android stack implementation. See docs (#352)
- Add Graphite support as an alternative to InfluxDB for storing test metrics (#406, #408)
- Allure-kotlin integration (#418)
- Update ddmlib to 27.0.0 to enable ANDROID_ADB_USER_MANAGED_MODE support and AGP 4.0 (#377)
- Make adb serialNumber second option after marathonserialprop (#395)
Bug fixes:
- Add configs for device initialization timeouts (#389)
- Add finally block to stop koin once started (#351)
- Allow configuring screenRecordingPolicy in gradle plugin (#361)
- Refactor screen recording configuration (#374)
- Bugsnag (#368, #385, #394, #415)
Deprecations:
- Replace blacklist and whitelist with blocklist and allowlist (#407, #409)
- ddmlib vendor is deprecated and will be disabled in 0.8.0 (#421)
Other:
0.5.2
Configuration:
Introduce ScreenRecordingPolicy
Fix SerialStrategy configuration for YAML and Gradle configuration
Explicitly specify retention policy in queries
Optimizations:
Check if batch fully ignored before clean and execution to reduce overhead for empty batches
Bug fixes:
Support both xTest and xTests as default class name
Close Bugsnag at the end to prevent hanging due to internal thread pool
Fix synchronization problem in the state machine and LogCat listeners
Fail build if a test failed in strict mode
Gradle plugin:
Fix fox 3.6.X Android Gradle Plugin
0.5.1
0.5.0
Improvements:
- Ignored test results from DdmLib with null method name #200
- Increase max video duration from 60 to 180 seconds #204
- Use DdmLib API to obtain external storage directory #205
- Screenrecord workaround #207
- InfluxMetricsProvider cache multiple sets of data #216
- Skip installing/uninstalling APK if there are no tests after filters #221
- AndroidDeviceTestRunner now checks if test contains the
@Ignore
#226 - Basic
@Parameterized
support for Android #230 - Always fail execution when no devices are connected #237
- Fix wrong time and timestamp for ignored tests #240
- Add uncompleted tests retry quota enhancement #247
- Uncompleted tests should be reported in any case #267
- Multiple health improvements #269
Configuration:
- Add install options configuration #191
- Feature/Add preferable recorder type config #190
- Add support for configurable serial provider for Android #231
- Add strict mode #236
- Disallow custom flakiness + sharding #241
- Allow to disable HostKey verification for iOS #265
- Support include/exclude serial regex #246
- Fix retention policy configuration in YAML #249
Gradle plugin improvements:
- Ignore failures configuration fix #211 #256
- Gradle plugin should mark output folder as Gradle task output enhancement #217
Docs:
- Docs redesign #188
Other:
0.4.1: Add install options configuration (#191)
0.4.0
Features:
#178 Add support for clearing package data between batches for Android
#176 Reverse probability sorting
#125 Add visually device initialization time and device not healthy to timeline
#149 Print simple report in CLI
#137 Add Allure report
Bugfixes:
#134 Progress report is broken (shows more than 100%)
#170 CLI progress report is broken 0.3.5
#153 Marathon has to continue work if InfluxDB isn't available
#143 #144 CLI stuck
Improvements:
#157 Use lazy variants API from Android Gradle Plugin 3.3
0.3.5: Merge pull request #151 from Malinskiy/feature/ssh-stderr
xcodebuild output handling