Understanding changes to system requirements

Here we have outlined our policy for making changes to Totara's system requirements, and when you can expect changes to occur.

Changes to minimum supported versions

This section applies to the following products:

  • PHP
  • Databases and versions
  • Web servers and versions

After each major release, we review the minimum supported versions for the next major release. For example, after releasing Totara 17 we started to consider the minimum supported versions for Totara 18.

While this process starts shortly after a major release, any final decisions may depend on factors such as our anticipated release schedule, future features we aim to implement, and the state of commonly used operating system environments.

We take numerous considerations into account when deciding on changes to minimum supported versions, which are outlined below.

Version life cycle

Each product that Totara is dependent upon has its own unique life cycle. Each vendor decides how long they provide support for, and how they facilitate migration from one version to the next. These vendor life cycle decisions influence our choice of minimum supported version as well as which versions are supported at the time of our next major release.

Once we have set an initial minimum supported version, that may also move forwards or backwards based upon the following considerations:

  • Vendors will remove older versions from official support, which may impact our decisions.
  • Operating system vendors may also artificially extend product life cycles within their own products. We take any artificially extended support into account. 
Operating system support

Totara system requirements focus on the individual products required for it to run, and they do not get as granular as the operating system.

However, acknowledging that an operating system is also a requirement, we give strong consideration to the commonly used operating systems. This is particularly relevant where the operating system provides one or more repositories that can be considered official and supported.

We focus on the following operating systems and distributions:

  • RedHat / CentOS
  • Ubuntu
  • Debian
  • Windows

For these operating systems, we take the following key considerations into account:

  • Availability: Linux distributions typically provide either a single version, or very limited number of versions of each product that are either installed by default, or are readily available through official repositories. Using these repositories has numerous advantages, such as ease of installation and support.
  • Stability: Operating systems and products each move forward independently. Product performance and stability may be compromised when running in certain environments.
  • Extended support: Products may have a longer life cycle, one that better matches the expected life cycle of the operating system when deployed in product. It is important to note that, like ourselves, operating system vendors typically have several supported versions. Using PHP as the example, for our next version we reviewed the minimum supported product version available per operating system and the expected long-term supported version to be available at the anticipated time of the Totara release.
Development enhancements

There are a number of reasons why developers want to move minimum supported versions forward. All such reasons must be accompanied by sound purpose and justification before being accepted. Typically those that are accepted for consideration fall into one of the following categories:

  • New functionality within a product version would be beneficial to the development of new features and improvements in Totara.
  • Language improvements that would benefit the quality of the product. This includes both tangible benefits, such as return type hinting facilitating better API contracts, and intangible benefits, such as cleaner code thanks to the likes of null coalescing.
  • Security enhancements such as the availability of better hashing algorithms.
  • Performance improvements as experienced and benchmarked within Totara.
Breadth of supported versions and support effort

Totara supports each product version, from and including the minimum supported version, through to the current stable release or the maximum version if one has been specified.

We include each supported version of a product in our testing. Given the number of supported Totara versions, products, and product versions this can form a large matrix of possible testing scenarios.

The following are just some of the testing requirements for a wide range of supported products:

  • We run automated tests that include unit tests, acceptance tests, installation and upgrade, database schema and migration tests on the matrix of supported products.
  • At release times we expand upon this by manually running matrix segments that are not covered by automatic tests.
  • During the development of new features and improvements where we anticipate scalability being a concern we also perform targeted performance testing in all supported databases and versions.
  • While working on reported issues, the development team often test in environments as close to the subscriber's environment as possible.

The wider the range of supported versions, the more effort is needed to provide support. This has a direct impact on our time required to deliver new releases.

Known issues and incompatibilities

Due to all the above mentioned considerations, we typically narrow our review of the minimum supported product version to a Totara product's major release. This initial review is then further refined by reviewing security fixes, bug fixes, and performance improvements of the products made after the major Totara release.

We review product changelogs to assess what we believe would be suitable as a minimum supported version.

The above considerations will all need to be reapplied when we believe we have a point release to fix on as a final check.

Partner interest and concerns

We understand that any change to system requirements can have a direct impact on Partners’ hosting arrangements, and as such we often express our intentions and seek feedback through the Partner community forums prior to making any final decisions.

Making the decision

Once we review all considerations and formulate a plan to introduce system requirement changes, this proposal is taken to the senior management team and CEO for the final decision.

Changes to maximum supported versions

This section applies to the following products:

  • PHP
  • Databases and versions
  • Web servers and versions

At the time of a Totara major release we rarely indicate a maximum supported product version. As new releases of required products are made available we expand our test coverage to encompass them. If they pass testing we continue with the status quo. If they fail testing then we complete the work required to support them for the next major release. Once complete, we assess the viability of backporting support to the stable branches. If it is viable and we consider it safe to do so then support will be backported.

Should we identify problems or risks then we will hold back, at which point we will introduce a maximum supported version for that product as of the last working required product release. This is done for all stable branches to which the fix will not be backported, and which do not already have a maximum supported version.

This is the only circumstance in which system requirements will change following the major release of Totara.

Changes to PHP extensions

On occasion there may be PHP extension requirement changes. These will predominantly only occur at the time of a Totara major release and will be coupled with new functionality being introduced within the release.

Where possible we try to make these requirements optional, either toggled by a setting that can only be enabled when the extension is loaded, or by otherwise degrading functionality.

Changes to supported browsers

We review browser support after every major Totara release and update as necessary.

At the time of writing, Internet Explorer 11 is the only supported browser with a fixed supported version, due to it being the last IE release. 

For all other supported browsers we support the latest stable release, and one release older.

More information about system requirements

The authoritative source for Totara system requirements is within the source code itself. See the INSTALL.txt file included with the Totara version that you want to run.

System requirements are republished in the Totara Help documentation on the Server system requirements page.

Última modificación: Thursday, 6 de July de 2023, 07:34