Versions sémantiques
L'endpoint /semver analyse, incrémente et compare des versions sémantiques selon la spécification semver.org.
Comment ça marche ?
Une version doit respecter la grammaire officielle MAJOR.MINOR.PATCH, suivie éventuellement de -prerelease et +build. Les zéros initiaux sont refusés, donc 01.2.3 est invalide.
La comparaison suit la précédence semver : les parties numériques d'abord, puis la prerelease. Une version portant une prerelease est classée sous la même version sans prerelease, les identifiants numériques de prerelease sont comparés comme des nombres (alpha.2 est inférieur à alpha.10), et les métadonnées de build sont entièrement ignorées.
Une incrémentation remet les parties inférieures à zéro et supprime la prerelease ainsi que les métadonnées de build : 1.0.0-alpha+build.1 incrémenté sur patch donne 1.0.1.
Le signe + est décodé comme une espace dans une chaîne de requête, l'API le restaure donc avant l'analyse — les métadonnées de build peuvent être envoyées telles quelles ou encodées en pourcentage.
curl -X GET \ "https://api.moxon.dev/v5/semver"Envoyez la requête pour voir la réponse ici.
versionstringrequisVersion à traiter (ex.
1.2.3-beta.1+build.42)action"parse" | "bump" | "compare"optionnelAction à effectuer :
parse,bumpoucompare. Par défaut :parsepart"major" | "minor" | "patch"optionnelbumpuniquement : partie à incrémenter,major,minoroupatch. Par défaut :patchotherstringconditionnelSeconde version à comparer (requis pour
compare)
| Action | Description |
|---|---|
parse | Décompose la version en ses composants |
bump | Incrémente part et remet les parties inférieures à zéro |
compare | Compare version à other selon la précédence semver |
Action parse :
versionstringLa version d'entrée originale
majornumberNuméro majeur
minornumberNuméro mineur
patchnumberNuméro de correctif
prereleasestring|nullIdentifiants de prerelease sans le
-initial,nullsi absentsbuildstring|nullMétadonnées de build sans le
+initial,nullsi absentes
Action bump :
versionstringLa version d'entrée originale
actionstringbumppartstringPartie qui a été incrémentée
resultstringLa version incrémentée
Action compare :
versionstringLa version d'entrée originale
actionstringcompareotherstringLa version à laquelle la comparaison est faite
resultnumber-1siversionest inférieure,0si égale,1si supérieuredescriptionstringComparaison lisible (ex.
1.2.3 < 1.3.0)
Si les paramètres sont manquants ou invalides, l'API retournera une erreur :
- 400
Please provide a version (?version={version})Le paramètreversionest manquant - 400
Action must be one of: parse, bump, compareLa valeur deactionn'est pas valide - 400
Version must be 256 characters or fewerLa valeurversionouotherdépasse la longueur maximale - 400
Invalid semver versionLa valeurversionouotherne respecte pas la grammaire semver - 400
Part must be one of: major, minor, patchLa valeur departn'est pas valide pourbump - 400
Please provide a second version (&other={version})Le paramètreotherest manquant pourcompare
Mis à jour le 7 septembre 2026