Since the adoption of the four-sequence versioning scheme by X-Cart, in which the first two sequences of digits in the version identifier represent the major version, the third sequence - the minor version, and the fourth sequence - the build version (bugfix release), we had to change X-Cart’s upgrade system a little bit to accomodate the changes.

As a result, X-Cart now uses two types of version upgrades:

  • major upgrade - an upgrade resulting in the increase of the first three sequences of digits in the version number (major/minor version numbers); e.g. an upgrade from 5.0.13 to 5.1.3, or from 5.2.16 to 5.2.20, or from to

  • minor update - an update resulting in the increase of the fourth sequence (build version number); for example, an update involving the change of the version number from to

The type of upgrade reflects the significance of changes that the upgrade implements. A major upgrade provides both new features and bugfixes. A minor update provides only bugfixes.

The new features implemented by a major upgrade rely on major changes of the core, which means that the interfaces of classes and the signatures of methods change. It does not happen during a minor update. Consequently, a minor update does not require any change in the modules, whereas a major upgrade does require module compatibility changes.

4th digit increases to
3d digit increases to
2nd digit increases to
Bugfixes only Bugfixes
New features
Minor API changes
New features
Major API changes
Free anytime Free with active
upgrade subscription
Free with active
upgrade subscription

If a major upgrade and a minor update are available to a store at the same time, the store administrator can choose which upgrade they want to apply. As a result of a minor update, the store will be upgraded to get all the fixes of the latest available bugfix release within the store’s version branch. As a result of a major upgrade, the store will be upgraded to the latest version with all the new features and bugfixes available to the store’s license.

In this section :