Here is some data around upgrade/downgrade rules: A bit developer terminology but should give better clarity:
ZD upgrade and downgrade rules are as following:
1. About ZD upgrade:
a. ZD didn’t support any version upgrade to any version, ZD only support upgrade to some version from other version which is defined in “controller/ac/REQUIRE_VERSIONS” in this new branch.
(Generally, ZD support two version upgrade. For example, 9.1/9.2 can upgrade to 9.3, 9.2/9.3 can upgrade to 9.4, 9.3/9.4 can upgrade to 9.5. but some small version can’t support. )
For example in 220.127.116.11, it define: 18.104.22.168 22.214.171.124 126.96.36.199 188.8.131.52 184.108.40.206 220.127.116.11 in “controller/ac/REQUIRE_VERSIONS”, so only those version can supported to upgrade to 18.104.22.168.
b. When upgrade, ZD will do the migration process.
If ZD can match the whole old version to current version in ZD’s etc/migration. It will do the process in it. Otherwise, it will match the front two version number.
For example, if we upgrade 22.214.171.124 to 126.96.36.199, ZD will do migration in 188.8.131.52-184.108.40.206/db_upg, if we didn’t build 220.127.116.11-18.104.22.168 in ZD’s image, ZD will do migration in 22.214.171.124-126.96.36.199/db_upg.
2. About ZD downgrade:
a. If ZD upgrade from one old version to new version, then downgrade to the old version, ZD can use the old version’s configuration or set factory.
b. If ZD downgrade to other version, ZD only can chose set factory, and now ZD can downgrade to any version, and no limit.