# Zabbix Version Policy ## Current Support | Zabbix | Status | Directory | |---|---|---| | 7.0 LTS | Primary | `7.0/` | | 8.0 LTS | Supported (tested with 8.0.0) | `8.0/` | The `8.0/` export was imported into Zabbix 8.0.0 and linked to a test host. ## Principles - For each package, create only the directory for the minimum supported version. - A YAML export from Zabbix 7.0 can normally be imported into 7.0 and later versions. - Add an `8.0/` directory only when the template uses features specific to 8.0 or the 8.0 export differs from the 7.0 export. - If the same export also works on 8.0, keep only the existing directory and add `"8.0"` to `zabbix.tested` in `manifest.yaml`. To scaffold a package that supports 8.0 only, run `ZABBIX_MIN=8.0 make new ...`. ## Adding Zabbix 8.0 LTS The `8.0/` export is already included. The steps below describe how it was added and how to add future versions. 1. Import the template into an 8.0 test environment. 2. Check whether the 7.0 export still works. 3. If it works without changes: - Add `"8.0"` to `zabbix.tested` in `manifest.yaml`. - Leave `zabbix.max` as `null`. 4. If 8.0 requires changes: - Create `templates///8.0/` and place the export from 8.0 there. - Document any 8.0-specific notes in `README.md`. - Leave `zabbix.max` as `null` and add `"8.0"` to `tested`. ### Testing a specific version `scripts/import_test.sh` detects the server version from `apiinfo.version` and imports only the matching version directory. Use environment variables to select the image tags: ```bash ZBX_SERVER_IMAGE=alpine-8.0-latest \ ZBX_WEB_IMAGE=alpine-8.0-latest \ ZBX_TEST_PROJECT=zabbix-templates-test-8 \ make import-test ``` ## Choosing a Version Directory Consumers use the newest directory that is less than or equal to their Zabbix version. | Consumer Zabbix | When `7.0/` and `8.0/` exist | |---|---| | 7.0 | `7.0/` | | 7.4 | `7.0/` | | 8.0 | `8.0/` | ## Template Versions The `version` field in `manifest.yaml` follows SemVer. - MAJOR: Template rename, macro removal, or another incompatible change - MINOR: New items, triggers, or LLD rules - PATCH: Threshold, description, or bug fixes ## Git Tags Tag each template independently. ```bash git tag app-apache-v1.2.0 git push origin app-apache-v1.2.0 ``` Use a collection-wide tag such as `v2026.11.0` only when a repository-level release is needed. ## End of Support - To drop 7.0 support, remove `7.0/`, update `zabbix.min` to `"8.0"`, and increment the MAJOR version because the change is breaking.