Back to Blog Posts

How our releases work and what you need to know

By Robert / October 9th, 2015


We are posting this today because we wanted to take a moment to clarify how our releases work and the different types of releases we make.

At WHMCS we use semantic versioning and perform three types of releases; major, minor, and maintenance releases:
  • Major releases include core changes to the codebase and major new functionality which at times may break backwards compatibility.
  • Minor releases introduce new behaviors and features, and can include schema changes and upstream dependency updates as well as introduce deprecation of functionality for future removal.
  • Maintenance releases focus on bug fixes (i.e. places where the observed behavior does not match the intended behavior of the product). These comprise the majority of our releases and can be expected roughly every six to eight weeks, sometimes sooner after major upgrades.

These releases are done with you, the customer in mind. We strive to keep our product cutting edge by providing regular updates and we are working hard to release updates on a more frequent basis than in recent years. As such, you can expect to see 3 non-maintenance version releases every 12 months (most of the time they'll be what we call minor versions, with major versions periodically).

If you are interested in learning more about semantic versioning and how it works, check out this article: https://www.sitepoint.com/semantic-versioning-why-you-should-using/ or view our Appendix 1 below.

Release Types

Our releases are offered up in two different types of distribution package. Full Releases and Incremental Patch Sets. Let's take a closer look at the differences and why sometimes an incremental patch set isn't made available.

Full Releases - A full release distribution contains all the files of a WHMCS product installation. It can be used to perform a new install or update an existing installation (regardless of previous version). Customizations you have made, providing they are done in the recommended way such as creating a custom template directory, or using language file overrides, will not be overwritten by uploading a full release.
Incremental Releases - An incremental release contains only the files that have changed between the immediate, previous version and the latest version, (ie. a patch set for version 1.1.2 is valid for a 1.1.1 installation and nothing else). We provide these to make updating quicker for those who stay current by containing less files to upload.
  • They're great for maintenance releases because they focus on bug fixes (no major changes or database updates)
  • There is less to upload (so it's quicker for you!).
  • No installer/upgrade process.

And that's why for maintenance updates, incremental releases are made available, but for larger major or minor version upgrades, why they are not suitable and only a full release is provided. However, apart from having a little more to upload, it's no more difficult and exactly the same changes.

Here are a few of our most frequently asked questions:

Without an incremental update will I have to remove files from the old installation?

No, you don’t need to remove any files. The install/upgrade process will take care of removing any files that are no longer required.

I’ve highly customized my WHMCS will I lose it in the upgrade?

Absolutely not. Providing you have done your customizations in the correct way, by creating a custom template directory for template customizations, using language overrides for language customizations, and using hooks/modules, then upgrading using the Full Release distribution will not affect those.

What happens to my custom modules and hooks when I upgrade?

In minor and maintenance releases, we go to great efforts to ensure that the changes we make are backwards compatible. Indeed we do in major releases too, but sometimes it is unavoidable. However, for the most part, custom modules, addons and hooks will not require any changes for compatibility between versions.

How do I upgrade if I'm running an older version?

Simply download the latest Full Release version (which today is 6.1.1) and follow the steps for performing an upgrade using the Full Release at https://docs.whmcs.com/Upgrading

And don't worry. All your data, settings and customizations will remain in place. We typically always recommend upgrading using the Full Release download package whenever possible as it helps to ensure all your files are fully current and up-to-date.

Does upgrading affect my customizations to my template?

The template(s) that will need updating are listed in our release notes which can be found at: https://docs.whmcs.com/Version_6.1...te_Changes

If you have any further questions, please don't hesitate to contact us.

Appendix 1
Here is an example of how the numbers work:

  • 6.0.0 - New Major Version (Major Update with Backwards Incompatible Changes and Database Changes)
  • 6.0.1 - Maintenance Release (Incremental Patch Set Provided)
  • 6.0.2 - Maintenance Release (Incremental Patch Set Provided)
  • 6.1.0 - New Minor Version (Minor Update with Database Changes) - Maintenance number reverts to zero
  • 6.1.1 - Maintenance Release (Incremental Patch Set Provided)

Liked this article? Share it