Search by

jamesrezo / supported-versions

James

SPIP Supported Versions

Package info

gitlab.com/JamesRezo/supported-versions

Issues

Type:spip-plugin

pkg:composer/jamesrezo/supported-versions

Statistics

Installs: 16

Dependents: 0

Suggesters: 0

Stars: 2

0.7.0 2022-01-08 12:33 UTC

README

SPIP Plugin backport of PHP Supported Versions

pipeline status

coverage report

Models

  • <supportedversions|table> : a table of actively supported versions
  • <supportedversions|calendar> : a calendar view of the table above
  • <supportedversions|legend> : colors and style explanations
  • <supportedversions|releases> : list of releases in JSON
  • <supportedversions|latest>: list of the latest releases of active branches
  • <supportedversions|eol>: list of the end of life branches
  • <supportedversions|compatibility>: table matrix of SPIP/PHP Compatibility
  • <supportedversions|release_notes>: list of releases by date
    Options (off by default): checksums=oui, packages=oui (partial / rollback)
  • <supportedversions|pre_releases> : list of pre-releases in JSON
  • <supportedversions|stable> : Gives informations of the last stable version released with info parameter (version, date or url)
  • <supportedversions|spiploaderlist_X> : JSON for spip_loader.php where X is the API version.
  • <supportedversions|configuration> : list of required, suggested and provided technologies

Filters

  • |SupportedVersions::getBranchValues : Array of branch data for a given release string
  • |SupportedVersions::getBranchesFromState Array of branch data for a given state string
  • |SupportedVersions::branchesByState Arrray of branch data for a given list of states
  • |SupportedVersions::configuration Converts a list of elements in a string like element1, element2 v1
  • |SupportedVersions::mergeDigest : builds digests map for spip_loader API v2 (sha1 only, BC)
  • |SupportedVersions::withLoaderExtras : optional sha256 / packages / checksums for spip_loader API ≥ 3

Schéma release (champs optionnels)

Chaque entrée de data/releases.jsonreleases[] peut inclure, en plus de version, released_at, announce, download :

{
  "version": "4.4.23",
  "released_at": "2026-09-02 14:00:09",
  "announce": [{ "lang": "fr", "url": "https://blog.spip.net/…" }],
  "download": [{
    "url": "https://files.spip.net/spip/archives/spip-v4.4.23.zip",
    "size": 9779745,
    "sha1": "…",
    "sha256": "…"
  }],
  "packages": {
    "partial": {
      "4.4.22": { "url": "https://files.spip.net/spip/archives/patches/spip-v4.4.23-partial-22.zip", "sha256": "…" }
    },
    "rollback": {
      "4.4.22": { "url": "https://files.spip.net/spip/archives/patches/spip-v4.4.23-rollback-22.zip", "sha256": "…" }
    }
  },
  "checksums": {
    "url": "https://files.spip.net/spip/archives/spip-v4.4.23.checksums.json",
    "sha256": "…"
  }
}
  • Rétrocompat : absents sur les releases historiques ; APIs spip_loader v1/v2 inchangées (digests[].sha1 conservé).
  • API v3 : expose sha256, packages, checksums seulement s’ils sont présents.
  • announce reste manuel (URL blog) ; le reste est produit par spip-archives (release:metadata).

Other usage

Calling /spip.php?page=supported-versions.svg renders a calendar in svg format.

Calling /spip.php?page=releases.json renders a JSON formatted of releases.

Calling /spip.php?page=pre_releases.json renders a JSON formatted of alpha, beta and RC pre-releases.

Calling /spip_loader.api or /spip_loader.api/1 for apache httpd server with rewrite mode and .htaccess default file exposes the spip_loader_list.json JSON. First argument, like /1 is the api parameter.

.htaccess

RewriteRule ^supported-versions\.svg$ spip.php?page=supported-versions.svg [QSA,L]

and call : /supported-versions.svg

RewriteRule ^releases\.json$ spip.php?page=releases.json [QSA,L]

and call : /releases.json

RewriteRule ^pre_releases\.json$ spip.php?page=pre_releases.json [QSA,L]

and call : /pre_releases.json

RewriteRule ^spip-dev/INSTALL/spip_loader_list.json$ spip_loader.api [QSA,L]
# Compatibility with spip_loader.php v5.0.1
RewriteRule ^spip-dev/INSTALL/(.*).php.txt$ spip-dev/INSTALL/$1.php [L]

and call : /spip-dev/INSTALL/spip_loader_list.json

Thanks

  • Hanjo for the Dutch translation
  • George for the Arabic translation
  • Nicod_ for BEM and so much
  • b_b & marcimat for their support
  • lspeciale for the Spanish translation
  • Ricardo Porto for the Portugese translation