Skip to main content
Docs
Blog Status Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

2025-11-07

Emulators

Four new outgoing IP addresses have been added:

  • 65.109.17.177
  • 65.109.17.164
  • 116.202.238.239
  • 168.119.95.36

If you rely on outgoing IP addresses we recommend automating them - we publish all the outgoing IP addresses both as JSON and as DNS records. Read more here.

2025-10-21

Breaking changes in v1.0.0-rc01

We’ve made a bunch of breaking changes in v1.0.0. Read more about the 1.0.0 release and breaking changes.

ew-cli 1.0.0-rc01

  • New: summary.json output from ew-cli now includes test counts and first failing test information.
  • New: comma-separated ew-cli arguments can now use an alternative separator by prefixing the value with ^SEP^, i.e. --environment-variables '^;^foo=ab,cd;bar=baz' splits into foo=ab,cd and bar=baz. This can be used with all comma-separated arguments like --test-targets, --directories-to-pull, etc.
  • Breaking: ew-cli no longer supports GitHub Tokenless authentication via passing GITHUB_TOKEN as the token. Please switch to OIDC authentication instead, read more here.
  • Breaking: video recording is now enabled by default.
  • Breaking: the default device is now Pixel7 30.
  • Breaking: GPU acceleration is now turned on by default.
  • Breaking: fixed pulled directories containing the root folder name twice.
  • Breaking: switched to a more consistent test target parsing algorithm in both --test-targets and --test-targets-for-shard.

gradle-plugin 1.0.0-rc01

  • New: Added support for Gradle-managed devices.
  • New: Added support for generating baseline profiles via the baselineprofile plugin when using Gradle-managed devices.
  • Breaking: GitHub Tokenless authentication via passing GITHUB_TOKEN as the token is no longer supported. Please switch to OIDC authentication instead, read more here.
  • Breaking: video recording is now enabled by default.
  • Breaking: the default device is now Pixel7 30.
  • Breaking: GPU acceleration is now turned on by default.
  • Breaking: fixed pulled directories containing the root folder name twice.
  • Breaking: minimum supported Android Gradle Plugin version is now 8.1.
  • Breaking: minimum supported Gradle version is now 8.0.
  • Breaking: emulator.wtf Gradle plugin only works on JDK 17 and later.
  • Breaking: specifying devices has changed. Instead of devices you can now specify devices to run tests on with repeated device {} blocks.
  • Breaking: flakyTestRepeatMode argument now takes a FlakyRepeatMode enum value instead of a string.
  • Breaking: targeting tests uses now a targets {} block. Example usage to target a specific class:
    emulatorwtf {
      targets {
        testClass("com.example.MyTestClass")
      }
    }
    
  • Breaking: when applied to Android projects the emulator.wtf Gradle plugin now automatically adds the wtf.emulator:test-runtime-android dependency to the androidTestImplementation configuration to enable per-test video captures. You can disable this by adding wtf.emulator.addruntimedependency=false to your gradle.properties file.
  • Maintenance: ew-cli version bumped to 1.0.0-rc01.

GitHub action emulator-wtf/run-tests@v1.0.0-rc01

  • Breaking: GitHub Tokenless authentication via passing GITHUB_TOKEN as the token is no longer supported. Please switch to OIDC authentication instead, read more here.
  • Breaking: video recording is now enabled by default.
  • Breaking: the default device is now Pixel7 30.
  • Breaking: GPU acceleration is now turned on by default.
  • Breaking: fixed pulled directories containing the root folder name twice.
  • Maintenance: default ew-cli version has been bumped to 1.0.0-rc01.

2025-10-17

emulator.wtf

  • Deprecated: Tokenless invoke using the GITHUB_TOKEN is now deprecated, please switch over to OIDC instead.
  • New: emulator.wtf now supports OIDC token authentication when used in GitHub.
    Head over to the OIDC configurations page in the emulator.wtf web app to get started.

OIDC configuration screenshot

gradle-plugin 0.19.4

  • New: the plugin now supports hardcoding DNS resolves via the dnsOverrides property.
  • Maintenance: bumped default ew-cli to 0.12.6.

GitHub action emulator-wtf/configure-credentials@v1.0.0

  • New: use OIDC authentication in GitHub Actions, read more here.

GitHub action emulator-wtf/run-tests@v0.9.11

  • New: api-token input is no longer required, for instance when using the emulator-wtf/configure-credentials@v1 GitHub action.
  • New: added inputs for test-runner-class, secret-environment-variables, dns-server, dns-override, egress-tunnel and egress-localhost-fwd-ip. Read more about these here.
  • Maintenance: bumped default ew-cli to 0.12.6.

2025-10-09

ew-cli 0.12.6

  • New: emulator sessions can now capture video recordings similar to test runs, use --record-video to start recording videos.
  • Fixed: improved stability of the egress tunnel feature by updating the dependencies within the exit node binary.

2025-09-12

Test execution

  • Fixed: using the egress tunnel with ew-cli 0.12.5 or later added a 20-second delay when running tests.

2025-09-02

Test execution

  • Fixed: timing out test cases were not properly reported as timeouts if orchestrator, coverage and test storage service were all enabled.
  • Fixed: specifying more shards than test cases caused empty shards to run all available test cases instead of none.

2025-08-04

emulator.wtf web app

  • Fixed: test failure explanation did not work for test-cases with extremely long logs.
  • Fixed: Other sign in options link was broken in some login forms.
  • Fixed: logging in with GitHub would display an error in addition to logging in.

2025-07-30

Emulators

  • Fixed: the --models output included API versions that were not fully rolled out yet.

emulator.wtf web app

  • Fixed: videos did not display correctly on the results web page.

2025-07-21

Test execution

  • Fixed: if a class was annotated with an @Ignore annotation there was a small chance a shard would fail with the No tests! error.

2025-07-18

Test execution

  • Fixed: in a previous release on 2025-07-17 we made a change affecting test runtime order within shards. While ideally this would have no effect we’ve rolled the change back and kept the old test execution order.

2025-07-17

Test execution

  • Fixed: tests no longer fail with AndroidJUnitRunner ran more tests than expected error when using the test storage service and targeting specific test classes.

2025-07-15

ew-cli 0.12.5

  • Improved: better upload performance when testing large apk files containing native libraries.
  • Fixed: there was a race condition where internet networking was unavailable for a few seconds when using the egress tunnel feature.

gradle-plugin 0.19.3

  • Improved: better upload performance when testing large apk files containing native libraries.
  • Improved: bumped default ew-cli version to 0.12.5.

Test execution

  • Fixed: tests with large apk files sometimes failed with a non-descriptive timeout message.
  • Fixed: some skipped tests were erroneously reported as successful instead of ignored in the test results view.

2025-07-03

emulator.wtf web app

  • Our LLM-powered test failure analysis got a noticeable upgrade, and it should now give more actionable insights.

2025-06-17

emulator.wtf web app

  • Fixed per-test videos not rendering in the results page

2025-06-13

ew-cli 0.12.4

  • Emulator sessions: the CLI will now reconnect emulators to adb when the adb server dies while a session is active.

emulator.wtf web app

  • Test result page now loads faster, especially for large test runs containing multiple devices and/or shards.

Test execution

  • Fixed flaky test repeat attempts when the initial test run was incomplete due to an application crash. When the app crashes on an initial test run the whole shard will be retried to make sure that test coverage is not lost and all tests are executed.

2025-05-30

emulator.wtf web app

  • Enterprise organization owners can now configure the default role for new users logging in via SSO/SAML using just-in-time provisioning in the organization settings view, under the SSO/SAML settings section.

SSO/SAML settings screenshot

2025-05-21

ew-cli 0.12.3

  • Added: added an --dns-override $host=$ip option to ew-cli to override DNS resolution for a specific host
  • Fixed: JNA warnings printed to the console when running on JDK 24 or later
  • Fixed: ew-cli now passes proxy configuration to wireguard exit node, fixes ew-wg-exit-node timeout when using the egress tunnel feature

emulator.wtf web app

  • Added: emulator.wtf web app now supports specific testcase URLs in the form of https://emulator.wtf/o/<orgUuid>/r/<runUuid>/t/<className>/<methodName>. You can use the test details URL as a base to construct URLs like this for linking to specific testcase results directly.

2025-04-21

ew-cli 0.12.2

  • Infrastructure changes to support upcoming features

2025-04-17

Test execution

  • Updated JUnit report generation to include the timestamp attribute in <testsuite> elements.

2025-04-14

gradle-plugin 0.19.0

  • Bumped default ew-cli version to 0.12.1.
  • New: added support for passing secret runner arguments via secretEnvironmentVariables, for use with things like tokens, credentials, passwords, etc.
  • New: added support for tunneling emulator egress networking to the machine the Gradle build is running on. Read more about this feature here.
  • New: integrate with Gradle’s Test Reporting API (Gradle 8.13+) and Develocity’s JUnit importer.

gradle-plugin 0.19.1

  • Fixed: secretEnvironmentVariables were not passed to the emulator correctly and had no effect.

2025-04-10

ew-cli 0.12.1

  • Fixed a possible FileAlreadyExistsException wg-exit-node.edb0f9de race condition when using the egress tunnel.
  • Fixed ew-cli occasionally failing to read app or test apk when running on Java 24.

2025-04-08

ew-cli 0.12.0

  • Added the ability to pass secret runner arguments via --secret-environment-variables, for use with things like tokens, credentials, passwords, etc. These will be passed to the test runner in the same way as --environment-variables, but won’t be visible in the emulator.wtf UI. Alternatively, secrets can be passed in via environment variables having the EW_SECRET_ prefix, e.g. EW_SECRET_foo=bar.
  • You can now override the test instrumentation runner used with --test-runner-class.
  • Fixed formatting issues when displaying --help.
  • Added support for tunneling emulator egress networking access over to ew-cli. Read more about the egress tunnel here.

Test execution

  • Fixed a rare case where tests would fail with “Invalid test apk” with certain incrementally built apks emitted by the Android Gradle Plugin.

emulator.wtf web app

  • Test classes and methods can now be sorted in the test results page.
  • Added indicators to class names to reflect their expanded/collapsed state.

2025-04-02

emulator.wtf web app

  • The test results page now shows test runtimes for all classes and methods

2025-04-01

emulator.wtf web app

  • The test results page now has a light mode available
  • Improved how the test runs list is rendered on narrower screens
Older changes »