Releases: wix/Detox
20.14.1
What's Changed
This is a technical and boring release where one particular log message in the detox.trace.json
artifact is fixed (conflict-free property name, pid
-> cpid
).
Full Changelog: 20.14.0...20.14.1
20.14.0
First release in a while! 🙏🏻
What's Changed
Android improvements
-
Reimplement Android lunch sequence in a more stable, supervised way + React markers logging - by @d4vidi in #4293
⚠️ Due to the nature of this change, it can potentially intensify preexisting flakiness problems in Detox tests (RN apps on Android), related to app launch arguments, which stem from this React Native issue; Problem details, here: iamolegga/react-native-launch-arguments#44. To mitigate, apply one of the following practices:- If you've been using
react-native-launch-arguments
in order to extract launch arguments, upgrade to the latest release (v4 or newer). - If you've otherwise been using React Native Navigation's
getLaunchArgs()
API,please wait for this fix.you are safe as long as it used only after theAppLaunched
event if fired (i.e. from within a listener passed toNavigation.events().registerAppLaunchedListener()
).
Any other solution is discouraged; Please resort to one of the two previous options.
- If you've been using
CLI
Docs Website
- Various improvements by @IrbisKronos in #4246 #4268, @MattFoley in #4283
New Contributors ❤️
- @MattFoley made their first contribution in #4283
Full Changelog: 20.13.5...20.14.0
20.13.5
What's Changed
iOS Fix
- Fix race condition with Reanimated library (by @asafkorem in #4261).
Full Changelog: 20.13.4...20.13.5
20.13.4
What's Changed
- fix(android): Android Gradle Plugin 8 support by @noomorph in #4254
- fix(iOS): update DetoxSync, fix sync issue. by @asafkorem in #4258
- Taps on a View with RNGH do not work as expected when the app is started with Detox (#4194)
New Contributors
- 🎉 @dyvapandhu made their first contribution in #4256 🎉
- docs(website): fix outdated sdk and avd manager directories by @dyvapandhu in #4256
Full Changelog: 20.13.3...20.13.4
20.13.3
What's Changed
- fix(android): add namespace to build.gradle for android gradle plugin 8 compatibility by @mikehardy in #4229
- refactor(types): extract globals.d.ts by @noomorph in #4243
- fix(android-web): throw a correct error on invalid arguments by @noomorph in #4243
Full Changelog: 20.13.2...20.13.3
20.13.2
What's Changed
Android fixes
- Open app via URL - Error Due to Unescaped "&" in Command Param (#4196) by @noomorph via #4241
- Scrolling issue (#2787) on Android API 33+ by @patriksletmo via #4225
although this is only a partial fix, huge and cordial thanks to Patrik !! ❤️ 👏 👏
New contributors
Full Changelog: 20.13.1...20.13.2
20.13.1
What's Changed
Android
-
💥 "Android API 32, 33 (v12): .tap() acts like tap+hold" (#3762) by @ericschaal via #4216
⬆️ This fixes an issue with Detox taps mistakenly registered as tap+hold on newer Android API levels (32+).
Note: While the tapping issue might be resolved with the patch, there's a known issue with scrolling not working as intended on the new Android API. We're looking for the contributors. -
⚙️ "Something is odd about
runScriptWithArgs
signature" (#4127) by @noomorph via #4221Technically, this fix is a breaking change – it removes the
runScriptWithArgs
API, but since it never has worked, this should not be an issue. Now, you can userunScript
to pass your arguments to the web elements and also get results (provided your function is synchronous):const isDisabled = await myWebButton.runScript(btn => btn.disabled); await myWebButton.runScript((btn, text) => { btn.textContent = text }, ['New text']);
iOS
-
Preserve logs after
device.resetContentAndSettings()
by @noomorph via #4215Fixes a rare condition where the artifacts manager breaks down in the subsequent test after using
device.resetContentAndSettings()
in the previous one.
New Contributors
Thanks, @ericschaal, for your first (and very valuable! 🏆 ) contribution in #4216
Thanks, @IrbisKronos, for your second contribution this year, the new social networks ribbon on the website.
Thanks, @monholm, for a tip on how to list available device specs.
Full Changelog: 20.13.0...20.13.1
20.13.0
What's Changed
This release brings a new device allocation lifecycle (#4173, @noomorph) – the device management moved to the parent process (as opposed to every child (worker) process before). This is a backwards-compatible change for most of the users, but we recommend custom Detox driver maintainers to check for any issues (cc @awinograd).
- Fixed
-u, --cleanup
option. For example, in Jest, devices used to shut down prematurely after each test file. Now they will only shut down after the entire test session (#2894) - [Genymotion SaaS] The
-R, --retries
option functions correctly after initial boot failures (#3655). - Fixed race conditions when running multiple
detox test...
commands at once (#3573)
Technical changes
detox reset-lock-file
command is no longer needed for 99.9% of cases- All the device registries (lock files) have been reduce to a single one
- The cookie object issued by the allocation driver must be a plain serializable object (NB @awinograd), not an instance of a class
Full Changelog: 20.12.2...20.13.0
20.12.2
What's Changed
Fixes
General
- Address jest reporter issue (reported on #4121) and redundant summary printing (#4199, @noomorph).
- Enhance integration of Jest's
--bail
, Detox's--retries
and related callbacks (#4115, @noomorph).
Android
- Resolve
ClassNotFoundException
error (reported on #2846) for Material Slider class when callinggetAttributes
(#4203, @asafkorem).
Internal
Full Changelog: 20.12.1...20.12.2
20.12.1
What's Changed
- fix: typings for device.setStatusBar by @kirillzyusko in #4192
New Contributors
- @kirillzyusko made their first contribution in #4192
Full Changelog: 20.12.0...20.12.1