Trunk source branch in SVN still has old upgrade patches in upgrades/dbpatches/. Really old, starting with 1.1. Status of those is not clear, it seems to me that they have been abandoned for quite some time:
- 1.1 and 1.4 upgrade patches present in SVN checkout don't get included in source tarball when you make dist.
- Running upgrades/dbpatches/1.1/generate_patch produces mysql.sql file with unknown SVN status, so svn:ignore property is not set correctly.
- Current upgrade procedure documentation points to older documentation regarding upgrade from pre-2.0 versions. The oldest documentation on the topic I could find says:
Not a word about 1.1 and 1.4!
These scripts are only for upgrading Zabbix 1.8.x to 2.0! For upgrading from earlier versions first use upgrade scripts from Zabbix 1.6.x or Zabbix 1.8.x.
My point is that from developer's perspective it's not clear whether I should care about those old upgrades or not. At the moment versions up to and including 2.0 are not supported any more. In my understanding this should also mean that Zabbix 4.0 does not need to be able to upgrade directly from Zabbix 1.1, 1.4, ... and 2.0.
My suggestion is to regularly remove trunk's capabilities to upgrade from unsupported versions. Even when upgrade SQL scripts stay untouched and upgrade C code generates same statements we cannot guarantee that newer versions of DB engines will ensure 100% backward compatibility.