Webinar: Mastering Patrol & AI: Next-Level E2E Testing. Register now

Compatibility table

The following table describes which versions of patrol and patrol_cli are compatible with each other. The simplest way to ensure that both packages are compatible is by always using the latest version. However, if for some reason that isn't possible, you can refer to the table below to assess which version you should use.

This table shows the compatible versions between patrol_cli and patrol packages.

patrol_cli versionpatrol versionMinimum Flutter version
4.7.0+4.9.0+3.32.0
4.5.0 - 4.6.14.7.0 - 4.8.03.32.0
4.4.04.6.0 - 4.6.13.32.0
4.3.0 - 4.3.14.5.03.32.0
4.2.04.2.0 - 4.4.03.32.0
4.0.2 - 4.1.04.1.0 - 4.1.13.32.0
4.0.0 - 4.0.14.0.0 - 4.0.13.32.0
3.11.03.20.03.32.0
3.9.0 - 3.10.03.18.0 - 3.19.03.32.0
3.7.0 - 3.8.03.16.0 - 3.17.03.32.0
3.5.0 - 3.6.03.14.0 - 3.15.23.24.0
3.4.13.13.1 - 3.13.23.24.0
3.4.03.13.03.24.0
3.3.03.12.03.24.0
3.2.13.11.23.24.0
3.2.03.11.0 - 3.11.13.22.0
3.1.0 - 3.1.13.10.03.22.0
2.6.5 - 3.0.13.6.0 - 3.10.03.16.0
2.6.0 - 2.6.43.4.0 - 3.5.23.16.0
2.3.0 - 2.5.03.0.0 - 3.3.03.16.0
2.2.0 - 2.2.22.3.0 - 2.3.23.3.0
2.0.1 - 2.1.52.0.1 - 2.2.53.3.0
2.0.02.0.03.3.0
1.1.4 - 1.1.111.0.9 - 1.1.113.3.0

Notes

  • Versions marked with + indicate compatibility with all later versions
  • Ranges (e.g., 2.0.0 - 2.1.0) indicate compatibility with all versions in that range
  • The minimum Flutter version is required for both packages to work correctly

Opt-in features

The table above is about general compatibility — it's what patrol_cli checks before a run, and it covers the default, runtime-discovery flow.

Some features are opt-in and ship as a matching pair of patrol and patrol_cli changes, so they need a higher minimum than the table's open range. Enabling one on a version that doesn't have it fails the build (or silently does nothing) rather than failing the compatibility check, so those minimums are listed separately here:

FeatureMinimum patrol_cliMinimum patrol
Build-time test discovery — one native class per test file, PATROL_INTEGRATION_TEST_IOS_RUNNER_STATIC_BASE runner macro4.8.04.10.0
Build-time test discovery — first release, PATROL_INTEGRATION_TEST_IOS_RUNNER_STATIC_BEGIN/_END runner macro4.7.04.9.0
Native screenshotsscreenshot_on_failure, $.takeNativeScreenshot('tag')4.8.04.10.0

The two build-time discovery rows are alternatives, not a range: the runner macro changed in the second one, so patrol_cli 4.8.0 and newer no longer accept the STATIC_BEGIN/_END form. Use the newest pair.

On this page