When an integration developer makes improvements to an existing integration, they release a new integration version. However, modules that use the integration continue to use configurations of the old version. Meanwhile new modules and integration configurations may still refer to old versions of the integration. Modules can only use the new integration version after an admin has created a configuration for the new version.
The purpose of automatic upgrades is to automatically use new integration versions when possible. In general, automatic upgrades are only possible when the new version is compatible, so that an existing configuration can be used, and existing modules’ configured actions also work. In practice, automatic upgrades will apply in specific scenarios.
Why automatic upgrades are useful
Automatic upgrades reduce maintenance effort for authors and admins, who must otherwise manually upgrade modules and integration configurations, respectively. In addition to reducing effort, automating upgrades ensures that these upgrades are more likely to happen.
How it works
The integrations platform automatically publishes new versions of integrations, so that your admin can install them on your tenant and add configurations.
The integrations platform performs the following upgrades and clean-up for admins.
- Automatically upgrade a configuration that is not used by any modules, provided that the configuration does not include secrets and the new parameters list is compatible, when a newer version is published.
- Automatically delete an integration that is not installed on any tenant, when a newer version is published.
- Automatically uninstall an integration from a tenant, when it has no configurations and when a newer version of the integration is installed.
Automatic upgrades apply to minor and patch releases, as described by Semantic Versioning, but not major releases. For example:
- 1.1.1 → 1.1.2 is a patch release
- 1.1.1 → 1.2.0 is a minor release
- 1.1.1 → 2.0.0 is a major release
Major releases cannot be upgraded automatically because they include breaking changes: the updated integration is not compatible with the existing action or integration configuration.
The integrations platform cannot currently perform the following upgrades.
- Automatically upgrade an unused configuration that includes secrets.
- Automatically upgrade a used configuration to use a newer integration.
- Automatically upgrade a configuration to a version whose parameters or secrets lists are not compatible.
- Automatically upgrade an integration action in a module to use a newer configuration.