Joomla

Joomla:Manage the Joomla Core Update Server

From Joomla! Documentation

Which files exist and what they are about

We have two filetypes one is List/Collection and the other one is Extension. List/Collection files are the central XML file where the core updater points to and gets the initial set of newest versions from the Extension file has all the details like download URL etc.

All the files we are talking about can be found here: https://github.com/joomla/update.joomla.org

Stable & Testing Update Server

  • /www/core/list.xml
    • Default Update Server Collection
  • /www/core/sts/list_sts.xml
    • Joomla Next Update Server Collection
  • /www/core/test/list_test.xml
    • Test Update Server Collection
  • /www/core/extension.xml
    • Points to the latest Old stable Joomla Versions (2.5+)
  • /www/core/sts/extension_sts.xml
    • Points to the latest stable Joomla Versions
  • /www/core/test/extension_test.xml
    • Points to the latest testing Joomla Versions

Nightly Builds Update Server

  • /www/core/nightlies/next_major_list.xml
    • Nightly Builds Next Major Update Server Collection
  • /www/core/nightlies/next_major_extension.xml
    • Points to the latest Next Major Updates
  • /www/core/nightlies/next_minor_list.xml
    • Nightly Builds Next Minor Update Server Collection
  • /www/core/nightlies/next_minor_extension.xml
    • Points to the latest Next Minor Updates
  • /www/core/nightlies/next_patch_list.xml
    • Nightly Builds Next Patch Update Server Collection
  • /www/core/nightlies/next_patch_extension.xml
    • Points to the latest Next Patch Updates

Steps when we release a stable Patch Update

  • /www/core/list.xml
    • Change the entry for the latest stable version to the version that gets released
  • /www/core/sts/list_sts.xml
    • Change all entries pointing to the latest stable version to the version that gets now released
  • /www/core/sts/extension_sts.xml
    • Change all entries pointing to the latest stable version to the version that gets now released and add the data such as downloadurl, downloadsource, hashes and announcement links
  • /www/core/nightlies/next_patch_list.xml
    • Change the entries to the next patch version that is going to be released, usually it is the current release +1 including the -dev suffix so at the time we release 3.9.1 the version here would be 3.9.2-dev and it is the same version that get set in the version.php at the staging branch
  • /www/core/nightlies/next_patch_extension.xml
    • Change the entry version and download URL pointing to the next patch version as described above

Example of Pull Request: https://github.com/joomla/update.joomla.org/pull/117/files

Steps when we release a stable Minor Update

  • /www/core/list.xml
    • Change the entry for the latest stable version to the version that gets released
  • /www/core/sts/list_sts.xml
    • Change all entries pointing to the latest stable version to the version that gets now released
    • Make sure there is also a new entry with the new targetplatformversion so the new minor can get updates too
  • /www/core/sts/extension_sts.xml
    • Change all entries pointing to the latest stable version to the version that gets now released and add the data such as downloadurl, downloadsource, hashes and announcement links
  • /www/core/nightlies/next_patch_list.xml
    • Change the entries to the next patch version that is going to be released, usually it is the current release +1 including the -dev suffix so at the time we release 3.10.0 the version here would be 3.10.1-dev and it is the same version that get set in the version.php at the staging branch
  • /www/core/nightlies/next_patch_extension.xml
    • Change the entry version and download URL pointing to the next patch version as described above.
  • /www/core/nightlies/next_minor_list.xml (New)
    • Change all entries to the next minor version that is going to be released. When there is no additional minor version this file can be pointing to the latest dev versions using the next_patch_extension.xml as detail URL
  • /www/core/nightlies/next_minor_extension.xml (New)
    • Change all entries to the next minor version that is going to be released and branched in the GitHub Repo. When there is no additional minor version this file can be left as it is as the Collection Updater points directly to the next_patch_extension.xml file

Example of Pull Request: https://github.com/joomla/update.joomla.org/pull/116/files

Steps when we release a stable Major Update

  • /www/core/list.xml
    • Needs to be decided on. (!) When you update this file everyone pointing to the Default Update Server get an offer for this Major Update
    • Definitely this Update Server should point to the latest old stable version using the extension.xml Update Server
  • /www/core/extension.xml (New)
    • Copy the latest version of the old stable version and all its fallbacks to this file here too
  • /www/core/sts/list_sts.xml
    • Change all entries pointing to the latest stable version to the version that gets now released
    • Make sure there is also a new entry with the new targetplatformversion so the new major can get updates too
  • /www/core/sts/extension_sts.xml
    • Move all existing entries to the extension.xml as described above
    • Start here with a new structure including download URLs, hashes, announcements etc.
  • /www/core/nightlies/next_patch_list.xml
    • Change the entries to the next patch version that is going to be released, usually it is the current release +1 including the -dev suffix so at the time we release 4.0.0 the version here would be 4.0.1-dev and it is the same version that get set in the version.php at the staging branch
  • /www/core/nightlies/next_patch_extension.xml
    • Change the entry version and download URL pointing to the next patch version as described above
  • /www/core/nightlies/next_minor_list.xml
    • Change all entries to the next minor version that is going to be released. When there is no additional minor version this file can be pointing to the latest dev versions using the next_patch_extension.xml as detail URL
  • /www/core/nightlies/next_minor_extension.xml
    • Change all entries to the next minor version that is going to be released and branched in the GitHub Repo. When there is no additional minor version this file can be left as it is as the Collection Updater points directly to the next_patch_extension.xml file
  • /www/core/nightlies/next_major_list.xml (New)
    • Change all entries to the next major version that is going to be released. When there is no additional major version this file can be pointing to the latest dev versions using the next_patch_extension.xml as detail URL
  • /www/core/nightlies/next_minor_extension.xml (New)
    • Change all entries to the next major version that is going to be released and branched in the GitHub Repo. When there is no additional major version this file can be left as it is as the Collection Updater points directly to the next_patch_extension.xml file

Example of Pull Request: no examples yet.

Steps when we release a Test Update

  • /www/core/test/list_test.xml
    • Change the entry for the latest testing version to the version that gets released
  • /www/core/test/extension_test.xml
    • Change all entries pointing to the latest testing version to the version that gets now released and add the data such as downloadurl, downloadsource, hashes and announcement links
  • /www/core/nightlies/next_patch_list.xml
    • Change the entries to the next version that is going to be released, usually it is the current release increasing the RC could including the -dev suffix so at the time we release 3.10.0-rc the version here would be 3.10.0-rc2-dev. It is the same version that get set in the version.php at the staging branch
  • /www/core/nightlies/next_patch_extension.xml
    • Change the entry version and download URL pointing to the next patch version as described above
  • /www/core/nightlies/next_minor_list.xml
    • Depending on what kind of test version is released this file should be changed like described for the patch version
  • /www/core/nightlies/next_minor_extension.xml
    • Depending on what kind of test version is released this file should be changed like described for the patch version
  • /www/core/nightlies/next_major_list.xml (New)
    • Depending on what kind of test version is released this file should be changed like described for the patch version
  • /www/core/nightlies/next_minor_extension.xml (New)
    • Depending on what kind of test version is released this file should be changed like described for the patch version

Example of Pull Request: https://github.com/joomla/update.joomla.org/pull/115/files