Versioning semantico a partire da Ruby 2.1.0

Inserito da zzak il 2013-12-21
Tradotto da Alessandro Lepore

Abbiamo deciso di passare ad una policy di Versioning Semantico a partire dal rilascio di Ruby 2.1.0.

Per fornire uno schema di versioning meglio definito e utilizzato per Ruby abbiamo deciso di cambiare gradualmente verso la policy seguente.

Modifiche alla Policy

La policy è basata sulla proposta del system administrator di ruby-lang.org Hiroshi Shibata (@hsbt).

Version Schema

  • MAJOR: incrementato nel caso di modifiche incompatibili che non possono essere rilasciate in MINOR.
    • Riservata ad eventi speciali.
  • MINOR: incrementato ogni Natale, l’API potrebbe essere incompatibile.
  • TEENY: security o bug fix che mantengono la compatibilità API.
    • Può superare 10 (come 2.1.11) e sarà rilasciato ogni 2-3 mesi.
  • PATCH: numero di commits dall’ultima MINOR release (sarà riportato a 0 al rilascio della MINOR).

Branching Schema

Manterremo i seguenti branches:

  • trunk
  • ruby_{MAJOR}_{MINOR}

Il branch ruby_{MAJOR}_{MINOR} sarà mantenuto tra le release TEENY. Useremo dei tags per ogni release.

Compatibilità API

Le seguenti caratteristiche possono essere marcate come modifica incompatibile, richiedendo un incremento nella versione MINOR:

  • Rimozione di features api C-level.
  • Modifiche o aggiunte non retrocompatibili.

Compatibilità ABI

L’ABI si atterrà al seguente schema: {MAJOR}.{MINOR}.0

Faremo il possibile per mantenere la compatibilità ABI nelle release con lo stesso livello MINOR, così che TEENY resterà fisso a 0.

Riferimenti

Per documentarsi meglio su questa proposta si prega di vedere i seguenti link:

Grazie!

Vorrei ringraziare personalmente tutti quelli che hanno contribuito a questa discussione. Ogni passo che facciamo ci porta ad un Ruby più stabile ed efficace.

Notizie Recenti

Rilasciato Ruby 2.4.2

Siamo lieti di annunciare il rilascio di Ruby 2.4.2. Questa release include alcuni fix di sicurezza.

Inserito da nagachika il 2017-09-14

Ulteriori Notizie...