To run the release process, you must have the following:

  • Running at least PHP 8.1. (This means php -v must run without an alias and must show php 8.1 or higher.) Here are guidelines for upgrading to PHP 8.1 on a Mac.

  • Maintainer access to the Zen Cart github repository.

  • A local copy of the VersionStamper application.

  • Admin access to the main Zen Cart website

  • Admin access to the Version/Ping server (

  • an up to date copy of both the branch that you are releasing (e.g. v158), and the main branch.

  • an up to date copy of the documentation repo.

Once you have these things, you’re almost ready to begin.

Final Steps Before Beginning

Update the versioning files:

NOTE: If you are setting up a pre-release, please see Pre-Release Notes.

  1. Edit the file includes/version.php and update the version.

  2. Edit the file zc_install/includes/version.php and update the version.

  3. Edit the file zc_install/sql/install/mysql_zencart.sql and update the version number in the project_version and project_version_history tables.

  4. Edit the file zc_install/sql/updates/mysql_upgrade_zencart_<current>.sql and update the version number in the project_version and project_version_history tables.

  5. Ensure the version number in zc_install/includes/systemChecks.yml is the current version.

  6. Ensure the new version number has been added to zc_install/ajaxLoadUpdatesSql.php.

  7. Ensure the new version number has been added to zc_install/includes/modules/pages/database_upgrade/header_php.php.

This can be confusing because sometimes the update letter is included and sometimes it isn’t. The thing to remember is that the database version does not include the letter, because the database doesn’t change just because of a patch release.

Here’s what should be in these files for version 1.5.8a:

File Version
includes/version.php define('PROJECT_VERSION_MINOR', '5.8a');
zc_install/includes/version.php define('PROJECT_VERSION_MINOR', '5.8a');
zc_install/sql/install/mysql_zencart.sql project_version_patch1 for the two Zen-Cart Main rows should be 5.8a
project_version_patch1 for the two Zen-Cart Database rows should be 5.8
zc_install/sql/updates/mysql_upgrade_zencart_158.sql Same two changes as install script above
zc_install/includes/systemChecks.yml Top checkDBVersion block should be version: '1.5.8'
zc_install/ajaxLoadUpdatesSql.php '1.5.8'=>array('required'=>'1.5.7'),
zc_install/includes/modules/pages/database_upgrade/header_php.php $versionArray[] = '1.5.8';

There are other version related updates to do, but they’re not part of the build, so they are detailed in post release tasks.

For Major Releases - set the highest PHP Supported

Update these places:

Code Files:

  • zc_install/includes/languages/en_us/main.php (set TEXT_ERROR_PHP_VERSION)
  • zc_install/includes/systemChecks.yml (set checkPhpVersion)

Documentation Files:

Do copyright updates in the following files:

  1. docs/INSTALL.TXT
  2. what’s new file for this release (Documentation site in /release/ folder.)
  3. changed files list for this release (Documentation site in /release/ folder.)

Check in!

You’ll want to check in all these changes so they get version stamped correctly.

Still have questions? Use the Search box in the upper right, or try the full list of FAQs. If you can't find it there, head over to the Zen Cart support forum and ask there in the appropriate subforum. In your post, please include your Zen Cart and PHP versions, and a link to your site.

Is there an error or omission on this page? Please post to General Questions on the support forum. Or, if you'd like to open a pull request, just review the guidelines and get started. You can even PR right here.
Last modified August 3, 2023 by Scott C Wilson (3aa0612).