Integration versioning

Versioning allows developers to manage multiple versions of an integration at different stages of development.

On the Develop tab in the Google Home Developer Console, integrations are considered "unversioned". Once you begin the Test phase of development on the Test tab, integrations become versioned. An integration version is used from that point forward for every remaining step in the workflow, from Test to Launch.

For example, you might have one version of an integration undergoing certification for an imminent launch, while a newer version of the integration with different functionality is being tested for another launch a few months out.

Prerequisites

Integration versions are a snapshot of an unversioned integration. This means that when you create a test plan for certification, and thus an integration version, all branding metadata related to that integration must be the information you wish to use for the launched integration.

Before you create a certification test plan, make sure you have done the following:

  1. Created a company profile.
  2. Entered the production Vendor ID (VID) for the integration.
  3. Configured setup and branding.

If you have not completed all of these for your integration, an integration version created for certification testing cannot be certified. You will have to create a new version and start over from the Test step.

You will also have to create a new version and start over if you want to update your branding before an integration version is certified.

Create a new version

When you create a test plan for certification, a new version of the integration is created. This numbered version is listed in all integration lists in the Developer Console from the Test tab onwards.

New versions are never created from other numbered versions. For example, the first test plan you create for an integration will create version v.1 for that integration. Creating another test plan will create version v.2 for that integration, but this version will not be based on v.1. Instead, this version is based on the unversioned instance of the integration, same as v.1 was.

The N/A version of an integration represents the unversioned instance of the integration, which is managed on the Develop tab.

In other words, on Matter > Test in the Developer Console:

  • If you click Test for version N/A of the integration, a new version is created. The version number will be one higher than any existing numbered versions.
    • If no numbered versions exist, version v.1 is created.
    • If version v.1 exists, version v.2 is created. If version v.2 exists, version v.3 is created, and so on.
  • If you click Test for a numbered version of the integration (for example, v.1), a new version is not created. Instead, version v.1 is tested again.

Metadata

When a version is created, any metadata listed in the prerequisites that has been added for the unversioned integration is attached to the version. However, the metadata attached to a version cannot be viewed or changed.

Any change to an integration's metadata will not be reflected in existing versions. A new version must be created for the updated metadata to be used for Certification and Launch.

Delete a version

Integration versions cannot be deleted and are not designed to be deleted. They should be updated to reflect a state of the integration (new test plan or field trial) that can be certified and launched.

An integration version is only removed from the Developer Console when it has launched and is later replaced by the launch of a different version.