Skip to content

Environment management

Nicholas K. Dionysopoulos edited this page May 26, 2021 · 2 revisions

ARS uses Environments to convey compatibility information to users and to automated update clients.

An Environment consists of two fields.

Environment Title is the human-readable label shown to the user. We recommend using simple, short strings such as "Joomla 4.0", "PHP 7.3" and so on.

XML update stream platfomr is a machine readable version of the compatibility information. It consists of a prefix, a forward slash and a version number. For example joomla/4.0 means that the software is compatible with Joomla 4.0 whereas php/7.4 means that the software is compatible with PHP 7.4.

Only the joomla and php prefixes carry special meaning. They will be used to generate the corresponding compatibility fields in the Joomla XML update stream, one XML field per environment.

You can but shouldn't use complex patterns such as joomla/(3\.9)|(3\.10)|(4\.0) for Joomla 3.9, 3.10 and 4.0 compatibility. The resulting XML will be valid but you are undermining yourself in the long term. If you think about it you'll see why (hint: how do you handle Joomla 4.1 being released or dropping Joomla 3.9 support?). Moreover, this kind of complex pattern is incompatible with our Version Compatibility component.

We recommend using the following prefixes:

  • joomla/ for Joomla! version numbers.
  • php/ for PHP version numbers.
  • wordpress/ for WordPress version numbers.
  • windows/ for Windows version numbers.
  • linux/ for Linux. Things are murkier here since there's no versioning besides the kernel. You could instead target individual distributions by using prefixes such as ubuntu/, debian/, fedora/ etc.
  • macos/ for Mac OS X and macOS. Note that macOS Big Sur onwards the major version number was bumped from 10 to 11.
  • pdf/ for PDF files. It's best to use the PDF version used by your document, e.g. PDF/1.4a.