1.0.5

- Support version of Google Home App from `3.1.1.14` to `v3.32.126.2`, plus v3.32.192.0-dog-food.
- Support account switching in Google Home App via the `--google_account` flag.

1.0.4

- Support UI automation for new Google Home App UI.
- Support version of Google Home App from `3.1.1.14` to `3.24.1.4`.

1.0.3

- Support UI automation for new Google Home App UI.
- Support version of Google Home App from `3.1.1.14` to `3.22.1.4`.

1.0.2

- Align with public version.
- Support running Google Home App of version from `3.1.1.14` to `3.19.1.3`.
- Improved regression test reliability.

0.3.0

- Support generating regression test reports.

0.2.2

- Support running Google Home App of version `3.13.46.1`.

0.2.1

- Support running Google Home App of version `3.12.4.1`.

0.2.0

- Support for removing Matter devices on Google Home App

0.1.0

- Improve the reliability of commissioning functionality

0.0.0: Initial release

- Support for commissioning Matter devices on Google Home App
