You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

10 Upgrade notes for 7.0.0

These notes are for upgrading from Zabbix 6.4.x to Zabbix 7.0.0. All notes are grouped into:

  • Critical - the most critical information related to the upgrade process and the changes in Zabbix functionality
  • Informational - all remaining information describing the changes in Zabbix functionality

It is possible to upgrade to Zabbix 7.0.0 from versions before Zabbix 6.4.0. See the upgrade procedure section for all relevant information about upgrading from previous Zabbix versions.

See also upgrade instructions for servers in a high-availability (HA) cluster.


To complete successful Zabbix server upgrade on MySQL and MariaDB, you may require to set GLOBAL log_bin_trust_function_creators = 1 in MySQL if binary logging is enabled, there are no superuser privileges and log_bin_trust_function_creators = 1 is not set in MySQL configuration file.

To set the variable using the MySQL console, run:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Once the upgrade has been successfully completed, log_bin_trust_function_creators can be disabled:

mysql> SET GLOBAL log_bin_trust_function_creators = 0;
API changes

See the list of API changes in Zabbix 7.0.0.


Configuration parameters

Default value of the BufferSize configuration parameter for Zabbix agent 2 has been increased from 100 to 1000. This change does not affect installations where BufferSize is explicitly set.

Aggregate calculations

Several aggregate functions have been updated. Now:

  • Aggregate functions now also support non-numeric types for calculation. This may be useful, for example, with the count and count_foreach functions.
  • The count and count_foreach aggregate functions support optional parameters operator and pattern, which can be used to fine-tune item filtering and only count values that match given criteria.
  • All foreach functions no longer include unsupported items in the count.
  • The function last_foreach, previously configured to ignore the time period argument, accepts it as an optional parameter.
Old numeric (float) value type dropped

Since Zabbix 5.0.0, numeric (float) data type supports precision of approximately 15 digits and range from approximately -1.79E+308 to 1.79E+308. This is implemented by default in new installations. Whereas for upgrading existing installations that had been created before Zabbix 5.0 a database upgrade patch is applied automatically.

The patch will alter data columns of history and trends tables, which usually contain lots of data, therefore it is expected to take some time to complete. Since the exact estimate depends on server performance, database management system configuration and version, and it cannot be predicted, it is recommended to first test the patch outside the production environment, even though with MySQL 8.0 and MariaDB 10.5 configured by default the patch is known to be executed instantly for large tables due to efficient algorithm and the fact that previously the same double type was used but with limited precision, meaning that data itself does not need to be modified.

If you use Oracle database or older version of MySQL database, as well as in case of large installations, the patch execution can take a lot of time, and therefore it is recommended to update the data type manually before starting the upgrade.

Please execute the appropriate patch (SQL file) for your database; you may find these scripts in the Zabbix Git repository for:

Important! Run these scripts for the server database only.

To apply a patch:

  • Stop Zabbix server.
  • Run the script for your database.
  • Start Zabbix server again.

Note that with TimescaleDB the compression support must only be turned on after applying this patch.

Updated items

The wmi.get and wmi.getall used with Zabbix agent 2 now return JSON with boolean values represented as strings (for example, "RealTimeProtectionEnabled": "True" instead of "RealTimeProtectionEnabled": true returned previously) to match the output format of these items on Zabbix agent.

For the list of item changes that do no break compatibility, see What's new in Zabbix 7.0.0.