La versione semantica usa la numerazione basata su zero?

1

1.0.0 rappresenta la prima patch della prima versione secondaria della seconda versione principale? O rappresenta la prima versione principale, senza versioni minori o patch? Ho sempre pensato che fosse quest'ultimo, e sembra che ne abbiano molti altri. Di solito vedo i nuovi pacchetti in vari sistemi di gestione dei pacchetti a partire da 0.1.0 , che ho sempre considerato il primo rilascio minore.

Sono rimasto sorpreso nel vedere che questo non era esplicito nelle specifiche. Può essere implicito dai punti 4, 7 e 8, ma non viene mai dichiarato. Sicuramente ci deve essere una risposta giusta o sbagliata qui? Se c'è una risposta semplice a questa domanda non dovrebbe essere dichiarata da qualche parte nelle specifiche?

    
posta Stratus3D 20.06.2017 - 00:30
fonte

1 risposta

4

Versione semantica 2.0.0 chiarisce esplicitamente questo punto:

La versione principale è 0 per lo sviluppo iniziale instabile, prima della pubblicazione della prima versione API stabile:

4. Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

Dichiara inoltre chiaramente che la prima versione pubblica inizia alla 1.0.0:

5. Version 1.0.0 defines the public API. The way in which the version number is incremented after this release is dependent on this public API and how it changes.

La formulazione della clausola 8 non è esplicita, apposta:

8. Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced

La dicitura chiarisce che qualsiasi versione principale deve essere rigorosamente maggiore di 0 e che deve essere incrementata in caso di modifiche importanti. Ma la dicitura lascia aperta una versione 0 per cui il vincolo non regge, perché per la versione 0, qualsiasi modifica può avvenire in qualsiasi momento, senza necessità di incrementi formali.

Semver usa la logica di induzione matematica : se provi qualcosa per una iniziale iterazione iniziale e dimostri se la proprietà è vera ad una iterazione, è vera per la successiva, quindi è vera per tutte le iterazioni che iniziano con quella iniziale.

Questi principi non sono nuovi ed erano già veri per le versioni precedenti (es. semver 1.0.0 ) sebbene con alcune differenze nella numerazione dei paragrafi.

    
risposta data 20.06.2017 - 01:07
fonte

Leggi altre domande sui tag