Software versioning
Softwareversioning ist der Prozess der Zuweisung eines einzigartigen Versionsnamen oder einzigartig Versionsnummern zu einzigartigen Zuständen der Computersoftware. Innerhalb einer bestimmten Versionsnummer -Kategorie (z. B. Haupt- oder Moll) werden diese Zahlen allgemein in zunehmender Reihenfolge zugeordnet und entsprechen neuen Entwicklungen in der Software. Auf feinkörniger Ebene, Revisionskontrolle wird häufig verwendet, um inkrementell differenzierende Informationen von Informationen zu verfolgen, unabhängig davon, ob diese Informationen Computersoftware sind oder nicht.
Moderne Computersoftware wird häufig mit zwei verschiedenen Softwareversionsschemata verfolgt: ein interne Versionsnummer Das kann an einem einzigen Tag viele Male erhöht werden, wie z. B. eine Revisionskontrollnummer und a Release-Version das ändert sich normalerweise weit weniger oft, wie z. Semantische Versionierung[1] oder ein Projekt Code Name.
Geschichte
Dateizahlen wurden insbesondere in der öffentlichen Verwaltung sowie in Unternehmen verwendet, um Dateien oder Fälle einzigartig zu identifizieren. Für Computerdateien wurde diese Praxis zum ersten Mal mit dem Mits sein Dateisystem eingeführt, später das TEXEX-Dateisystem für die PDP-10 1972.[2]
Spätere Listen von Dateien, einschließlich ihrer Versionen, wurden hinzugefügt, und unter ihnen sind Abhängigkeiten hinzugefügt. Linux -Verteilungen wie Debian mit seiner dpkgfrühzeitig erstellte Paketverwaltungssoftware, die Abhängigkeiten zwischen seinen Paketen beheben könnte. Debians war zuerst, dass ein Paket andere Pakete kannte, die davon abhängen. Ab 1994 wurde diese Idee zurückverkehrt, so dass ein Paket die Pakete kannte, die es benötigte. Bei der Installation eines Pakets wurde die abhängige Auflösung verwendet, um die erforderlichen Pakete automatisch zu berechnen und mit dem gewünschten Paket zu installieren. Um Upgrades zu erleichtern, wurden Mindestpaketversionen eingeführt. Somit war das Nummerierungsschema erforderlich, um festzustellen, welche Version neuer als die erforderliche.[3][4][5]
Pläne
Es wurde eine Vielzahl von Versionsnummerierungsschemata erstellt, um verschiedene Versionen einer Software im Auge zu behalten. Die Allgegenwart von Computern hat auch dazu geführt, dass diese Schemata in Kontexten außerhalb des Computers verwendet wurden.
Sequenzbasierte Identifikatoren

In sequenzbasierten Softwareversionsschemata jeweils Softwareveröffentlichung wird eine eindeutige Kennung zugewiesen, die aus einer oder mehreren Sequenzen von Zahlen oder Buchstaben besteht. Dies ist das Ausmaß der Gemeinsamkeit; Die Schemata variieren stark in Bereichen wie der Anzahl der Sequenzen, der Zuordnung der Bedeutung für einzelne Sequenzen und den Mitteln zur Inkrementierung der Sequenzen.
Änderung von Bedeutung
In einigen Schemata werden sequenzbasierte Identifikatoren verwendet, um die Bedeutung von Veränderungen zwischen Freisetzungen zu vermitteln. Änderungen werden nach Signifikanzniveau klassifiziert, und die Entscheidung, welche Sequenz zu Veränderungen zwischen den Freisetzungen ist Veränderungen der abnehmenden Bedeutung.
Abhängig vom Schema kann die Signifikanz durch geänderte Codezeilen bewertet werden, Funktionspunkte hinzugefügt oder entfernt, die potenziellen Auswirkungen auf die Kunden in Bezug auf Arbeiten, die zur Einführung einer neuen Version, des Risikos von Fehler oder nicht deklarierten Veränderungen, Änderungen des Visuals erforderlich sind Layout, die Anzahl der neuen Funktionen oder fast alles, was die Produktentwickler oder Vermarkter als signifikant ansehen, einschließlich des Marketing -Wunsches, die "relative Güte" der neuen Version zu betonen.
Semantische Versionierung

Semantische Versionierung (AKA Semver)[1] ist ein weit verbreitetes Versionsschema[6] Dadurch wird eine dreiteilige Versionsnummer (major.minor.patch), ein optionales Pre-Release-Tag und ein optionales Build-Meta-Tag verwendet. In diesem Schema sind Risiken und Funktionen die Signifikanzmaße. Bruchänderungen werden durch Erhöhen der Hauptzahl (hohes Risiko) angezeigt. Neue, nicht sprechende Funktionen erhöhen die geringfügige Zahl (mittleres Risiko); und alle anderen nicht brechensänderungen erhöhen die Patch-Nummer (niedrigstes Risiko). Das Vorhandensein eines Pre-Release-Tags (-Alpha, -beta) zeigt ein erhebliches Risiko an, ebenso wie eine Hauptzahl von Null (0.y.z), die verwendet wird, um einen Arbeitsplatz anzuzeigen, der möglicherweise einen potenziellen Grad enthalten kann Veränderungen brechen (höchstes Risiko). Als Beispiel für die Abschließung der Kompatibilität aus einer SEMVER -Version ist Software, die auf Version 2.1.5 einer API angewiesen ist, mit Version 2.2.3 kompatibel, jedoch nicht unbedingt mit 3.2.4.
Entwickler können sich entscheiden, mehrere Moll -Versionen gleichzeitig zu springen, um anzuzeigen, dass erhebliche Funktionen hinzugefügt wurden, aber nicht ausreichen, um die Inkrementierung einer Hauptversionsnummer zu rechtfertigen. zum Beispiel Internet Explorer 5 von 5.1 bis 5,5 oder Adobe Photoshop 5 bis 5,5. Dies kann getan werden, um den Wert des Upgrades auf den Software -Benutzer oder wie in Adobe's Fall eine Veröffentlichung zwischen den wichtigsten Versionen darzustellen (obwohl die sequenzbasierten Versionen nicht unbedingt auf eine einzelne Ziffer beschränkt sind, wie in Mixer Version 2.91 oder Minecraft Java Edition ab 1.10).
Ein anderer Ansatz ist die Verwendung des Haupt und unerheblich Zahlen, zusammen mit einer alphanumerischen Zeichenfolge, die den Freisetzungsart kennzeichnet, z. "Alpha" (A), "Beta" (B) oder "Release -Kandidat" (RC). EIN Software -Release -Zug Die Verwendung dieses Ansatzes könnte wie 0,5, 0,6, 0,7, 0,8, 0,9 → 1,0B1, 1,0B2 (mit einigen Korrekturen), 1,0b3 (mit mehr Korrekturen) → 1,0RC1 (was, falls fest genügend), 1.0RC2 (wenn mehr Fehler gefunden werden) → 1.0. In diesem Schema ist es eine übliche Praxis, neue Funktionen und Veränderungen während der Release -Kandidatenphasen auszuschließen, und für einige Teams sind sogar Betas nur auf Fehlerbehebungen gesperrt, um die Konvergenz für die Zielveröffentlichung sicherzustellen.
Andere Schemata vermitteln einzelne Sequenzen eine Bedeutung:
- major.minor [.build [.revision]] (Beispiel: 1.2.12.102)
- Major.minor [.Main Warting [.build]] (Beispiel: 1.4.3.5249)
In diesen Beispielen ist die Definition dessen, was ein "Haupt" im Gegensatz zu einer "geringfügigen" Veränderung ausmacht "kleine Veränderung.
Gemeinsame Bibliotheken in Solaris und Linux kann das verwenden current.revision.age Format wo:[7][8]
- aktuell: Die neueste Schnittstellennummer, die die Bibliothek impliziert.
- Revision: Die Implementierungsnummer der aktuellen Schnittstelle.
- das Alter: Der Unterschied zwischen den neuesten und ältesten Schnittstellen, die die Bibliothek impliziert. Diese Verwendung des dritten Feldes ist spezifisch für libtool: Andere können eine andere Bedeutung verwenden oder sie einfach ignorieren.
Ein ähnliches Problem der relativen Veränderung von Bedeutung und der Versioning -Nomenklatur besteht im Buchverlag, wo Editionsnummern oder Namen kann basierend auf unterschiedlichen Kriterien ausgewählt werden.
In der meisten proprietären Software hat die erste veröffentlichte Version eines Softwareprodukts Version 1.
Grad der Kompatibilität
Einige Projekte verwenden die Hauptversionsnummer, um inkompatible Releases anzuzeigen. Zwei Beispiele sind Apache tragbare Laufzeit (Apr)[9] und das Farcry CMS.[10]
Oft schreiben Programmierer neue Software zu sein rückwärtskompatibel, d. H. Die neue Software ist so konzipiert, dass sie mit älteren Versionen der Software (unter Verwendung alter Protokolle und Dateiformate) und der neuesten Version (unter Verwendung der neuesten Protokolle und Dateiformate) korrekt interagiert. Zum Beispiel IBM Z/OS ist so konzipiert, dass sie ordnungsgemäß mit 3 aufeinanderfolgenden Hauptversionen des Betriebssystems im selben Sysplex funktioniert. Dies ermöglicht Leuten, die a laufen hohe Verfügbarkeit Computercluster, um die meisten Computer in Betrieb zu halten, während jeweils eine Maschine heruntergefahren, aktualisiert und wiederhergestellt wird.[11]
Häufig Paketkopfzeile und Datei Format Fügen Sie eine Versionsnummer hinzu - manchmal die gleiche Version der Software, die sie geschrieben hat; In anderen Fällen eine "Protokollversionsnummer" unabhängig von der Softwareversionsnummer. Der Code zum alten Umgang mit veraltet Protokolle und Dateiformate werden oft als als angesehen Kräfte.
Bezeichnung der Entwicklungsphase
Software in der experimentellen Phase (Alpha oder Beta) verwendet häufig eine Null in der ersten ("Major") Position der Sequenz, um ihren Status zu bezeichnen. Dieses Schema ist jedoch nur für die frühen Stadien nützlich, nicht für bevorstehende Veröffentlichungen mit etablierter Software, bei der die Versionsnummer bereits über 0 hinausging.[1]
Eine Reihe von Schemata wird verwendet, um den Status einer neueren Veröffentlichung zu bezeichnen:
- Alphanumerisches Suffix ist ein gemeinsames Schema, das von semantischer Versioning übernommen wurde.[1] In diesem Schema haben Versionen einen Dash plus einige alphanumerische Zeichen angeboten, um den Status anzuzeigen.
- Numerischer Status ist ein Schema, das Zahlen verwendet, um den Status so anzuzeigen, als wäre es Teil der Sequenz. Eine typische Wahl ist die dritte Position für die Vier-Positionen-Versioning.
- Numerisches 90+ ist ein weiteres Schema, das Zahlen verwendet, aber anscheinend unter einer Reihe einer früheren Version. Eine große Anzahl in der letzten Position, typischerweise 90 oder höher, wird verwendet. Dies wird häufig von älteren Open-Source-Projekten wie verwendet Fontconfig.
Bühne | Semver | Num. Status | Num 90+ |
---|---|---|---|
Alpha | 1.2.0-a.1 | 1.2.0.1 | 1.1.90 |
Beta | 1.2.0-b.2 | 1.2.1.2 | 1.1.93 |
Kandidat freigeben | 1.2.0-rc.3 | 1.2.2.3 | 1.1.97 |
Veröffentlichung | 1.2.0 | 1.2.3.0 | 1.2.0 |
Korrekturen nach der Freisetzung | 1.2.5 | 1.2.3.5 | 1.2.5 |
Die beiden rein numerischen Formen beseitigen die spezielle Logik, die erforderlich ist, um den Vergleich von "Alpha <Beta <rc <kein Präfix" zu verarbeiten, wie in semantischer Versioning auf Kosten der Klarheit zu finden. (Die semantische Versionierung gibt tatsächlich keine spezifischen Begriffe für Entwicklungsphasen an. Der Vergleich ist einfach in Lexikografische Ordnung.))
Inkrementierungsequenzen
Es gibt zwei Gedankenschulen darüber, wie numerische Versionsnummern erhöht werden. Die meisten Kostenlose und Open-Source-Software Pakete, einschließlich Mediawiki, behandeln Sie Versionen als eine Reihe einzelner Zahlen, die durch Perioden getrennt sind, mit einem Fortschritt wie 1,7.0, 1.8.0, 1.8.1, 1.9.0, 1.10.0, 1.11.0, 1.11.1, 1.11.2 , usw.
Auf der anderen Seite identifizieren einige Softwarepakete Veröffentlichungen nach Dezimalzahlen: 1,7, 1,8, 1,81, 1,82, 1,9 usw. Dezimalversionen waren in den 1980er Jahren häufig miteinander, zum Beispiel mit Netware, DOS, und Microsoft Windows, aber selbst in den 2000er Jahren wurden zum Beispiel von verwendet von Oper[12] und Beweglicher Typ.[13] Im Dezimalschema ist 1.81 die Nebenversion nach 1.8, während die Wartungsfreisetzungen (d. H. Nur Fehlerbehebungen) mit einem alphabetischen Suffix wie 1,81A oder 1,81B bezeichnet werden können.
Der Standard GNU Versionsnummerierungsschema ist major.minor.revision,[14] aber EMACs ist ein bemerkenswertes Beispiel unter Verwendung eines anderen Schemas, bei dem die Hauptnummer (1) fallen gelassen wurde und a Benutzerseite Die Revision wurde hinzugefügt, die in Original -EMACS -Paketen immer Null ist, aber durch Händler erhöht wurde.[15] Ähnlich, Debian Paketnummern werden mit einer optionalen "Epoche" vorangestellt, mit der das Versionsversionsschema geändert werden kann.[16]
Zurücksetzen
In einigen Fällen können Entwickler entscheiden, die Hauptversionsnummer zurückzusetzen. Dies wird manchmal verwendet, um eine neue Entwicklungsphase zu bezeichnen. Zum Beispiel, Minecraft Alpha lief von Version 1.0.0 auf 1.2.6 und als die Beta veröffentlicht wurde, setzte es die Hauptversionsnummer zurück und lief von 1.0 auf 1.8. Sobald das Spiel vollständig veröffentlicht wurde, setzte die Hauptversionsnummer erneut auf 1.0.0 zurück.[17]
Sequenzen trennen
Beim Druck können die Sequenzen mit Zeichen getrennt werden. Die Auswahl der Charaktere und deren Verwendung variiert je nach Schema. Die folgende Liste zeigt hypothetische Beispiele für Trennungsschemata für dieselbe Veröffentlichung (die dreizehnte Überarbeitung der dritten Ebene bis zur vierten Revision der zweiten Stufe bis zur zweiten Revision der ersten Ebene):[Originalforschung?]
- Ein Schema kann das gleiche Zeichen zwischen allen Sequenzen verwenden: 2.4.13, 2/4/13, 2-4-13
- Eine Schemaauswahl, welche Sequenzen zu getrennt sind, kann inkonsistent sein und einige Sequenzen, aber nicht andere trennen: 2.413
- Die Auswahl der Zeichen eines Schemas kann innerhalb derselben Kennung inkonsistent sein: 2.4_13
Wenn eine Periode verwendet wird, um Sequenzen zu trennen kann oder nicht dürfen einen Dezimalpunkt darstellen - siehe ""Inkrementierungsequenzen"Abschnitt für verschiedene Interpretationsstile.
Anzahl der Sequenzen
Es gibt manchmal eine vierte, unveröffentlichte Zahl, die die bezeichnet Software Build (wie verwendet von Microsoft). Adobe Flash ist ein bemerkenswerter Fall, in dem eine vierteilige Versionsnummer öffentlich angezeigt wird, wie in 10.1.53.64. Einige Unternehmen enthalten auch das Baudatum. Versionsnummern können auch Buchstaben und andere Zeichen enthalten, wie z. Lotus 1-2-3 Release 1A.
Negative Zahlen
Einige Projekte verwenden negative Versionsnummern. Ein Beispiel ist das SmartEiffel Compiler, der von –1,0 begann und auf 0,0 zählte.[15]
Datum der Veröffentlichung

Viele Projekte verwenden ein Datumsbasis-Versionungsschema namens Kalenderversioning (AKA Calver[18]).
Ubuntu Linux ist ein Beispiel für ein Projekt mit Kalenderversioning; Ubuntu 18.04 zum Beispiel wurde im April 2018 veröffentlicht. Dies hat den Vorteil, dass es sich leicht zu entwickelnden Zeitplänen und Unterstützungszeitplänen in Verbindung stellt. Einige Videospiele verwenden auch Datum als Versioning, zum Beispiel die Arcade -Spiel Street Fighter Ex. Beim Start wird die Versionsnummer als Datum plus ein Region Code angezeigt 961219 Asien.
Wenn Sie beispielsweise Dateinamen verwendet werden, können Sie die Verwendung der Dateinamen verwenden, die die Verwendung der Verwendung der Verwendung ISO 8601 planen[19] Yjyy-mm-dd, wie dies leicht sortiert wird, um die Reihenfolge zu erhöhen oder abzubauen. Die Bindestriche werden manchmal weggelassen. Das Wein Das Projekt verwendete früher ein Datumsversionsschema, bei dem das Jahr gefolgt von dem Monat des Tages der Veröffentlichung verwendet wurde. Zum Beispiel "Wine 20040505". Minecraft Hatte eine ähnliche Versionsformatierung, aber stattdessen ddmmhh, z.
Microsoft Office Buildnummern sind ein codiertes Datum:[20] Die ersten beiden Ziffern geben die Anzahl der Monate an, die aus dem Januar des Jahres vergangen sind, in dem das Projekt begann (wobei jede große Veröffentlichung des Büros ein anderes Projekt ist), während die letzten beiden Ziffern den Tag dieses Monats angeben. 3419 ist also der 19. Tag des 34. Monats nach dem Monat Januar des Jahres, das das Projekt begann.
Andere Beispiele, die Versionen nach Jahr identifizieren Adobe Illustrator 88 und Wordperfect Office 2003. Wenn ein Jahr zur Bezeichnung der Version verwendet wird, dient es im Allgemeinen für Marketingzwecke, und es gibt auch eine tatsächliche Versionsnummer. Zum Beispiel, Microsoft Windows 95 ist intern versioniert als MS-DOS 7.00 und Windows 4.00; gleichfalls, Microsoft Windows 2000 Server ist intern versioniert als Windows NT 5.0 ("Nt" als Verweis auf den ursprünglichen Produktnamen).[Originalforschung?]
Python
Das Python Software Foundation hat PEP 440 - Versionsidentifikation und Abhängigkeitsspezifikation, veröffentlicht,[21] Umrissen ihres eigenen flexiblen Schemas, das ein Epoch-Segment, ein Release-Segment, eine Pre-veröffentlichte und nach der Veröffentlichung und ein Entwicklungs-Release-Segment definiert.
Tex
Tex hat an eigenwillig Versionsnummerierungssystem. Seit Version 3 wurden Updates angezeigt, indem am Ende eine zusätzliche Ziffer hinzugefügt wird, damit die Versionsnummer asymptotisch Ansätze π; eine Form von Unary Numbering - Die Versionsnummer ist die Anzahl der Ziffern. Die aktuelle Version ist 3.141592653. Dies ist ein Spiegelbild davon, dass Tex sehr stabil ist und nur geringfügige Aktualisierungen erwartet werden. Tex -Entwickler Donald Knuth hat angegeben, dass die "Absolut letzte Änderung (nach seinem Tod vorgenommen werden)" wird sein, die Versionsnummer an zu ändern auf πAn diesem Punkt werden alle verbleibenden Fehler zu dauerhaften Funktionen.[22]
In ähnlicher Weise die Versionsnummer von Metafont asymptotisch nähert sich e.
Apfel
Während der Zeit der Zeit Klassischer Mac OS, kleinere Versionsnummern gingen selten darüber hinaus ".1". Als sie das taten, sprangen sie normalerweise direkt zu ".5", was darauf hindeutet, dass die Veröffentlichung "bedeutender" war.[a] Somit wurde "8.5" als eigene Veröffentlichung vermarktet, die "Mac OS 8 und eine halbe" darstellte und 8,6 effektiv "8.5.1" bedeutete.
Mac OS X Abgewiesen von diesem Trend, zum großen Teil, weil "x" (die römische Ziffer für 10) im Namen des Produkts lag. Infolgedessen begannen alle Versionen von OS X mit der Nummer 10. Die erste große Veröffentlichung von OS X erhielt die Versionsnummer 10.0, die nächste große Veröffentlichung betrug jedoch nicht 11,0. Stattdessen war es 10,1 nummeriert, gefolgt von 10,2, 10,3 usw. für jede nachfolgende Hauptveröffentlichung. Somit wurde die 11. Hauptversion von OS X als "10.10" bezeichnet. Obwohl das "x" aus dem Namen abgesetzt wurde macOS 10.12Dieses Nummerierungsschema wurde über macOS 10.15 fortgesetzt. Unter dem auf "X" basierenden Versioning-Schema bezeichnete die dritte Nummer (anstelle der zweiten) eine Nebenversion und zusätzliche Updates unterhalb dieses Levels sowie Aktualisierungen einer bestimmten Major-Version von OS X, die nach der Veröffentlichung eines Neuen kommt Die Major -Version wurde mit dem Titel ergänzende Updates.[23]
Die römische Ziffer X wurde gleichzeitig für Marketingzwecke über mehrere Produktlinien hinweg genutzt. Beide Schnelle Zeit und Final Cut Pro Von Version 7 direkt zu Version 10, QuickTime X und Final Cut Pro X gesprungen. Wie bei OS X erhöhten sich die Hauptveröffentlichungen für diese Programme die zweite Ziffer und kleinere Veröffentlichungen wurden mit einer dritten Ziffer bezeichnet. Das "X" wurde mit der Veröffentlichung von macOS 11.0 (siehe unten) aus dem Namen des Final Cut fallen gelassen, und das Branding von QuickTime wurde zu Moot, als das Framework 2011 zugunsten von AvFoundation veraltet war (das Programm für das Spielen von QuickTime -Video wurde nur mit QuickTime Player benannt der Anfang).
Apples nächste MacOS -Version, vorläufig nummeriert 10.16,[24] wurde im Juni 2020 offiziell als macOS 11.0 bei WWDC angekündigt.[25] Die folgende MacOS -Version, Macos Monterey wurde im WWDC 2021 veröffentlicht und stieß seine Hauptversionsnummer auf 12.[26]
Microsoft Windows
Das Microsoft Windows Das Betriebssystem wurde zuerst mit Standardversionsnummern für gekennzeichnet Windows 1.0 durch Windows 3.11. Danach hat Microsoft die Versionsnummer aus dem Produktnamen ausgeschlossen. Zum Windows 95 (Version 4.0), Windows 98 (4.10) und Windows 2000 (5.0), Jahr der Veröffentlichung wurde in den Produkttitel aufgenommen. Nach Windows 2000 hat Microsoft die erstellt Windows Server Familie, die den Jahresstil mit einem Unterschied fortsetzte: Für kleinere Veröffentlichungen wurde Microsoft-Suffel "R2" zum Titel, z. Windows Server 2008 R2 (Version 6.1). Dieser Stil war bis zu diesem Datum konsistent geblieben. Die Client -Versionen von Windows haben jedoch keinen konsistenten Stil angewendet. Zuerst erhielten sie Namen mit willkürlichen alphanumerischen Suffixen wie bei Fenster mich (4.90), Windows XP (5.1) und Windows Vista (6.0). Dann nahm Microsoft erneut inkrementelle Zahlen im Titel ein, aber diesmal waren sie keine Versionungsnummern; die Versionsnummern von Windows 7, Windows 8 und Windows 8.1 sind jeweils 6.1, 6.2 und 6.3. Im Windows 10Die Versionsnummer sprang auf 10.0[27] und Nachfolgende Aktualisierungen des Betriebssystems Nur inkrementierte Build -Nummer und Aktualisierung der UBR -Nummer (Build Revision).
Der Nachfolger von Windows 10, Windows 11, wurde am 5. Oktober 2021 veröffentlicht. Obwohl die neue Windows -Version als "11" ausgezeichnet wurde, stieg die Hauptversionsnummer nicht auf 11 an. Stattdessen blieb sie bei derselben Version von 10,0, die von Windows 10 verwendet wurde.[28]
Andere Programme
Einige Softwareproduzenten verwenden verschiedene Programme, um die Veröffentlichungen ihrer Software zu bezeichnen. Das Debian -Projekt verwendet ein Haupt-/Minor -Versionsschema für Veröffentlichungen seines Betriebssystems, verwendet jedoch Code -Namen aus dem Film Spielzeuggeschichte während der Entwicklung beziehen sich auf stabile, instabile und Testveröffentlichungen.[29]
Blag -Linux und GNU Features sehr große Versionszahlen: Hauptveröffentlichungen haben Zahlen wie 50000 und 60000, während geringfügige Veröffentlichungen die Anzahl um 1 erhöhen (z. B. 50001, 50002). Alpha- und Beta -Releases erhalten Dezimalversionsnummern etwas geringer als die Hauptveröffentlichungsnummer, wie z.[aktualisieren] ist 140000.[30][31][32]
Urbit Verwendet Kelvin Versioning (benannt nach dem Absoluten Kelvin Temperaturskala): Softwareversionen beginnen bei einer hohen Anzahl und zählen auf Version 0. An diesem Punkt wird die Software als fertig betrachtet und es werden keine weiteren Änderungen vorgenommen.[33][34]
Interne Versionsnummern
Die Software hat möglicherweise eine "interne" Versionsnummer, die sich von der im Produktnamen angezeigten Versionsnummer unterscheidet (und die normalerweise die Versionsnummerierungsregeln konsequenter folgt). Java se 5.0 hat beispielsweise die interne Versionsnummer von 1.5.0, und Versionen von Windows von NT 4 haben die Standardnumerikversionen intern fortgesetzt: Windows 2000 ist Nt 5.0, XP ist Windows NT 5.1, Windows Server 2003 und Windows XP Professional X64 Edition sind NT 5.2, Windows Server 2008 und Vista sind NT 6.0, Windows Server 2008 R2 und Windows 7 sind NT 6.1, Windows Server 2012 und Windows 8 sind NT 6.2 und Windows Server 2012 R2 und Windows 8.1 sind NT 6.3, die erste Version von Windows 10 betrug jedoch 10,0 (10.0.10240). Beachten Sie jedoch, dass Windows NT nur in seiner fünften Hauptrevision befindet, da die erste Version von 3.1 (um die damalige Windows-Release-Nummer zu entsprechen) nummerierte, und der Windows 10-Start machte einen Versionsprung von 6.3 auf 10,0.
Vorabversionversionen
In Verbindung mit den verschiedenen oben aufgeführten Versionungsschemata wird im Allgemeinen ein System zur Bezeichnung von Pre-Veröffentlichungsversionen verwendet, da das Programm den Weg durch die Phasen der Lebenszyklus für Softwarefreigabe.
Programme, die sich in einer frühen Phase befinden, werden nach dem ersten Brief im griechischen Alphabet oft als "Alpha" -Software bezeichnet. Nachdem sie reifen, aber noch nicht bereit für die Veröffentlichung sind, können sie nach dem zweiten Brief im griechischen Alphabet als "Beta" -Software bezeichnet werden. Im Allgemeinen wird Alpha -Software nur von Entwicklern getestet, während die Beta -Software für Community -Tests verteilt wird.
Einige Systeme verwenden numerische Versionen von weniger als 1 (z. B. 0,9), um ihren Ansatz für eine endgültige "1,0" -Freisetzung vorzuschlagen. Dies ist eine gemeinsame Konvention in Quelloffene Software.[35][36] Wenn die Pre-Release-Version jedoch für ein vorhandenes Softwarepaket (z. B. Version 2.5) bestimmt ist, kann ein "A" oder "Alpha" an die Versionsnummer angehängt werden. Die Alpha -Version der 2.5 -Version kann also als 2,5A oder 2.5.A identifiziert werden.
Eine Alternative besteht darin, Versionen vor der Veröffentlichung als "Release-Kandidaten" zu bezeichnen, damit Softwarepakete, die bald als bestimmte Version veröffentlicht werden sollen ; Wenn die endgültige Version veröffentlicht wird, wird das "RC" -Tag entfernt.
Befreiung des Zuges
A Software -Release -Zug ist eine Form des Software -Release -Zeitplans, in dem eine Reihe verschiedener Reihe von Versionen von Versionen für mehrere Produkte als eine Reihe verschiedener "Züge" in regelmäßigen Zeitplänen veröffentlicht werden. Im Allgemeinen fährt für jede Produktlinie verschiedene Release -Züge zu einem bestimmten Zeitpunkt, wobei jeder Zug von der ersten Veröffentlichung zur eventuellen Reife und Ruhestand auf einem geplanten Zeitplan bewegt wird. Benutzer können mit einem neueren Release -Zug experimentieren, bevor sie ihn zur Produktion übernehmen, sodass sie mit neuerem, "Raw" experimentieren können, frühzeitig veröffentlichen, während sie weiterhin dem vorherigen Zug folgen Point Releases Für ihre Produktionssysteme vor dem Umzug in den neuen Release -Zug, wie er reif wird.
Cisco's IOS Software -Bahnsteig nutzte einen Release -Zugplan für viele Jahre mit vielen unterschiedlichen Zügen. In jüngerer Zeit eine Reihe anderer Plattformen, einschließlich Feuerfuchs und Fenix für Android,[37] Finsternis,[38] Libreoffice,[39] Ubuntu,[40] Fedora,[41] Python,[42] Digikam[43] und VMware[44] haben das Release -Zugmodell übernommen.
Modifikationen am numerischen System
Ungerade Versionen für Entwicklungsveröffentlichungen
Zwischen der 1.0 und der 2.6.x -Serie, der Serie Linux Kernel Gebraucht seltsam Kleinere Versionsnummern zur Bezeichnung von Entwicklungsveröffentlichungen und eben Kleinere Versionsnummern zur Bezeichnung stabiler Veröffentlichungen; sehen Linux Kernel § Versionsnummerierung. Zum Beispiel war Linux 2.3 eine Entwicklungsfamilie des zweiten Hauptdesigns des Linux -Kernels, und Linux 2.4 war die stabile Freisetzungsfamilie, in die Linux 2.3 gereift war. Nach der Minor -Versionsnummer im Linux -Kernel ist die Freigabennummer in aufsteigender Reihenfolge; Zum Beispiel Linux 2.4.0 → Linux 2.4.22. Seit der Veröffentlichung des 2,6 -Kernels aus dem Jahr 2004 verwendet Linux dieses System nicht mehr und hat einen viel kürzeren Freisetzungszyklus.
Das gleiche seltsame System wird von einer anderen Software mit langen Release-Zyklen verwendet, wie z. Node.js bis zu Version 0.12 sowie Gnome und Winehq.[45]
Das bedeutendste Element fallen lassen
Sonne Java hat manchmal ein Hybridsystem gehabt, bei dem die interne Versionsnummer schon immer 1 war.x wurde aber durch Bezugnahme nur auf die vermarktet x:
- JDK 1.0.3
- JDK 1.1.2 bis 1.1.8
- J2SE 1.2.0 ("Java 2") bis 1.4.2
- Java 1.5.0, 1.6.0, 1.7,0, 1.8.0 ("Java 5, 6, 7, 8")
Sun ließ auch die erste Ziffer für Solaris fallen, wobei Solaris 2.8 (oder 2.9) in Marketingmaterialien als Solaris 8 (oder 9) bezeichnet wird.
Ein ähnlicher Sprung fand mit dem statt Sternchen Open-Source PBX Construction Kit in den frühen 2010er Jahren, dessen Projekt Leads bekannt gab, dass die aktuelle Version 1.8.x bald Version 10 folgen würde.[46]
Dieser Ansatz, der von vielen geplagt wurde, weil er die semantische Bedeutung der Abschnitte der Versionsnummer verstößt, wurde von immer mehr Anbietern einschließlich einer zunehmenden Anzahl von Anbietern übernommen Mozilla (zum Feuerfuchs).
Versionsnummer -Bestellsysteme
Die Versionsnummern entwickeln sich sehr schnell von einfachen Ganzzahlen (1, 2, ...) bis zu rationalen Zahlen (2.08, 2.09, 2.10) und dann zu nicht numerischen "Zahlen" wie 4: 3.4.3-2. Diese komplexen Versionszahlen werden daher besser als Zeichenketten behandelt. Betriebssysteme, die Paketverwaltungsanlagen enthalten (z. B. alle nicht trivialen Linux oder BSD Verteilungen) verwendet einen verteilungsspezifischen Algorithmus zum Vergleich der Versionsnummern verschiedener Softwarepakete. Zum Beispiel die Bestellalgorithmen von roter Hut und abgeleitete Verteilungen unterscheiden sich zu denen der debianähnlichen Verteilungen.
Als Beispiel für überraschende Versionsnummer -Bestellverhalten im Implementierungsverhalten von Debian werden führende Nullen in Stücken ignoriert, so dass 5.0005 und 5.5 als gleichwertig und 5,5 angesehen werden < 5.0006. Dies kann Benutzer verwirren. String-Matching-Tools finden möglicherweise keine bestimmte Versionsnummer. und dies kann subtile Insekten in verursachen Paketverwaltung Wenn die Programmierer String-Indexed-Datenstrukturen verwenden, z. B. die Versionsnummer indexiert Hash -Tische.
Um die Sortierung zu erleichtern, repräsentieren einige Softwarepakete jede Komponente der Major.minor.Release Schema mit einer festen Breite. Perl repräsentiert seine Versionsnummern als schwimmende Punktzahl; Zum Beispiel kann die 5.8.7 -Version von Perl auch als 5.008007 dargestellt werden. Auf diese Weise kann eine theoretische Version von 5.8.10 als 5.008010 dargestellt werden. Andere Softwarepakete packen jedes Segment in eine feste Bitbreite. Zum Beispiel würde auf Microsoft Windows die Version 6.3.9600.16384 als dargestellt als hexadezimal 0x0006000325804000. Das Floating-Punkt-Schema bricht zusammen, wenn ein Segment der Versionsnummer 999 überschreitet. Ein gepacktes binäres System, das je nach 65535 16 Bits pro Stück ausbricht.
Politische und kulturelle Bedeutung von Versionszahlen
Version 1.0 als Meilenstein
Das gratis Software und Open Source Gemeinschaften neigen dazu, Software zu veröffentlichen früh und oft. Erstversionen sind Zahlen weniger als 1, wobei diese 0 -x -Version verwendet wird, um zu vermitteln, dass die Software unvollständig und nicht zuverlässig genug für die allgemeine Freisetzung oder in ihrem aktuellen Zustand verwendet werden kann. Rückwärts-inkompatible Veränderungen sind bei 0.x-Versionen gemeinsam. Version 1.0 wird als Major verwendet Meilensteinund zeigt an, dass die Software mindestens alle wichtigen Funktionen und Funktionen hat, die die Entwickler in diese Version einsteigen wollten, und wird für die allgemeine Veröffentlichung als zuverlässig genug angesehen.[35][36] Ein gutes Beispiel hierfür ist der Linux -Kernel, der 1991 erstmals als Version 0.01 veröffentlicht wurde.[47] und dauerte bis 1994, um Version 1.0.0 zu erreichen.[48]
Die Entwickler der Arcade -Spiel Emulator Mame beabsichtigen nie, eine Version 1.0 des Programms zu veröffentlichen, da es immer mehr geben wird Arcade-Spiele zu emulieren und so kann das Projekt niemals wirklich abgeschlossen werden. Dementsprechend folgte Version 0.99 von Version 0.100.[49]
Da das Internet weit verbreitet ist, folgen die meisten kommerziellen Softwareanbieter nicht mehr der Maxime, dass eine Hauptversion "vollständig" sein sollte und sich stattdessen darauf verlassen sollte Patches Mit Bugfixes, um die bekannten Probleme zu sortieren, für die eine Lösung gefunden wurde und die behoben werden könnte.
Versionsnummern als Marketing
Eine relativ häufige Praxis besteht darin, aus Marketinggründen größere Sprünge in Versionszahlen zu machen. Manchmal umgehen Softwareanbieter nur die Veröffentlichung von 1.0 oder veröffentlichen eine Veröffentlichung schnell mit einer nachfolgenden Versionsnummer, da die 1.0 -Software von vielen Kunden zu unreif angesehen wird, um den Produktionsbereitstellungen zu vertrauen. Zum Beispiel wie im Fall von DBase IIEin Produkt wird mit einer Versionsnummer eingeführt, die impliziert, dass es reifer ist als es.
Andere Zeiten werden die Versionszahlen erhöht, um denen der Wettbewerber zu entsprechen. Dies ist in vielen Beispielen für die Produktversionsnummerierung von Microsoft zu sehen. Amerika online, Sonne Solaris, Java virtuelle Maschine, Sco Unix, WordPerfect. Microsoft Access sprang von Version 2.0 bis Version 7.0, um der Versionsnummer von zu entsprechen Microsoft Word.
Microsoft war auch das Ziel der "Aufhole" -Versioning mit dem Netscape Browser überspringen Version 5 bis 6 im Einklang mit Microsoft's Internet Explorer, aber auch, weil die Mozilla Application Suite Version 5 in ihrer geerbt wurde User-Agent Die String während der Entwicklung vor der 1.0 und Netscape 6.x wurde auf Mozillas Codebasis basiert.
Ein weiteres Beispiel für den Schritt mit den Wettbewerbern ist wann Slackware Linux sprang 1999 von Version 4 auf Version 7.[50]
Aberglaube
- Die Veröffentlichung von Microsoft Office 2007 2007 hatte eine interne Versionsnummer von 12. Die nächste Version, Office 2010 die Nummer 13.[51] Visual Studio 2013 ist Version Nr. 12.0 des Produkts, und die neue Version, Visual Studio 2015, hat die Versionsnummer 14.0 aus den gleichen Gründen.
- Roxio Toast ging von Version 12 auf Version 14, wahrscheinlich um den Aberglauben rund um die Nummer 13 zu überspringen.
- Corel's Wordperfect Office, Version 13 wird als "x3" vermarktet (Römische Nummer 10 und "3"). Das Verfahren wurde in die nächste Version, x4, fortgesetzt. Gleiches ist mit Corels Grafik Suite (d. H. Coreldraw, Corel Photo-Paint) und seine Videobearbeitungssoftware "Video Studio".
- Sybase Major -Versionen übersprungen 13 und 14 In seinem adaptiven Server Enterprise Relational Database Product von 12,5 auf 15,0.
- Abbyy Lingvo Dictionary verwendet die Nummerierung 12, x3 (14), x5 (15).
- SUSE Linux Enterprise hat die Version 13 und 14 nach Version 12 übersprungen und SLES 15 im Juli 2018 direkt veröffentlicht.
Geek -Kultur
- Das SUSE Linux Die Verteilung begann in Version 4.2, um zu referenzieren 42"Die Antwort auf die ultimative Frage des Lebens, des Universums und alles" erwähnt in Douglas Adams' Per Anhalter durch die Galaxis.
- Eine Slackware -Linux -Verteilung wurde 13.37 mit Referenzierung vermittelt Leet.
- Finnix Übersprungen von Version 93.0 auf 100, teilweise zur Erfüllung der Behauptung "Es wird kein Finnix '95", ein Verweis auf Windows 95.[52]
- Das Tagged Bilddateiformat Die Spezifikation wurde verwendet 42 wie interne Versionsnummer Seit seiner Gründung erwarten seine Designer nicht mehr, es während ihres (oder seiner) Lebensdauers zu ändern, da sie mit seinen Entwicklungsrichtlinien in Konflikt stehen.
Überwindung wahrgenommener Marketingschwierigkeiten überwinden
Mitte der neunziger Jahre wachsen das schnell wachsende Cmm, Maximo, wechselte von Maximo Series 3 direkt auf Serie 5, übersprungen Serie 4 aufgrund der wahrgenommenen Marketingschwierigkeiten dieser Zahl auf dem chinesischen Markt, wo die Nummer 4 mit "Tod" verbunden ist (siehe Tetraphobie). Dies wurde jedoch nicht gestoppt, dass die Maximo -Serie 5 Version 4.0 veröffentlicht wurde. (Die "Serie" -Versioning wurde seitdem fallen gelassen, wodurch die Versionsnummern nach der Veröffentlichung von Version 1.0 effektiv zurückgesetzt werden.)
Bedeutung
In Software Engineering
Versionsnummern werden vom Verbraucher oder praktisch verwendet, oder Klient, um ihre Kopie des Softwareprodukts mit einer anderen Kopie zu identifizieren oder zu vergleichen, z. B. die neueste Version, die vom Entwickler veröffentlicht wurde. Für den Programmierer oder Unternehmen wird die Versionierung häufig auf der Basis von Revisions-by-Revision verwendet, wobei einzelne Teile der Software verglichen und mit neueren oder älteren Überarbeitungen derselben Teile kontrastiert werden, häufig in einer kollaborativen Versionskontrollsystem.
Im 21. Jahrhundert begannen mehr Programmierer, eine formalisierte Versionspolitik wie die semantische Versionsrichtlinie zu verwenden.[1] Der Zweck solcher Richtlinien ist es, es anderen Programmierern zu erleichtern, zu wissen, wann Codeänderungen wahrscheinlich Dinge brechen, die sie geschrieben haben. Solche Richtlinien sind besonders wichtig für Software -Bibliotheken und Frameworks, aber es kann auch sehr nützlich sein, um Befehlszeilenanwendungen (die aus anderen Anwendungen bezeichnet werden können) und tatsächlich alle anderen Anwendungen (die von Dritten ausgeschrieben und/oder erweitert werden können).
Die Versionierung ist auch eine erforderliche Praxis, um viele Platschen- und Upgrade -Software zu ermöglichen, insbesondere automatisch zu entscheiden, was und wo sie aktualisieren sollen.
Im technischen Support
Versionsnummern ermöglichen es Personen, die Unterstützung ermöglichen, um zu ermitteln exakt Welchen Code ein Benutzer ausführt, damit er Fehler ausschließen kann, die bereits als Ursache für ein Problem und dergleichen behoben wurden. Dies ist besonders wichtig, wenn ein Programm über eine beträchtliche Benutzergemeinschaft verfügt, insbesondere wenn diese Community groß genug ist, damit die Menschen technische Unterstützung leisten nicht Die Leute, die den Code geschrieben haben. Die semantische Bedeutung[1] von Version.revision.Change Style -Nummerierung ist auch für Mitarbeiter des Informationstechnologie wichtig, die häufig feststellen, wie viel Aufmerksamkeit und Forschung sie für eine neue Version zahlen müssen, bevor sie sie in ihrer Einrichtung einsetzen. Als Faustregel, je größer die Änderungen, desto größer ist die Chancen, dass etwas brechen könnte (obwohl die Untersuchung des Changelogs, falls vorhanden, nur oberflächliche oder irrelevante Änderungen aufzeigen kann). Dies ist ein Grund für einige der Abneigungen, die im "Drop the Major Release" -Ansatz von Asterisk et alia ausgedrückt wurden: Jetzt müssen die Mitarbeiter für jedes Update einen vollständigen Regressionstest durchführen.
Verwenden Sie außerhalb der Software
Etwas Computerdateisysteme, so wie die OpenVMS -DateisystemHalten Sie auch Versionen für Dateien. Die Versionierung zwischen den Dokumenten ist relativ ähnlich der Routine, die mit Computern und Software -Engineering verwendet wird, wobei die Versionsnummer mit jeder geringen Änderung der Struktur, des Inhalts oder der Bedingungen je nach persönlich um 1 oder einen kleineren oder größeren Wert erhöht wird Präferenz des Autors und der Größe oder Bedeutung von Änderungen.
Versionsnummern im Software-Stil finden Sie in anderen Medien.
In einigen Fällen ist die Verwendung eine direkte Analogie (zum Beispiel: Jackass 2.5, eine Version von Jackass Nummer zwei mit zusätzlichen Sonderfunktionen; das zweite Album von Müll, mit dem Titel Version 2.0; oder Dungeons 3.5, wo die Regeln aus der dritten Ausgabe überarbeitet wurden, aber nicht so sehr, dass sie als viertes angesehen werden.
Häufiger wird es verwendet, um eine Assoziation mit Hochtechnologie zu spielen, und weist buchstäblich nicht auf eine „Version“ hin (z. B.,, Tron 2.0, ein Videospiel nach dem Film Tron, oder die Fernsehserie Die IT -Menge, was sich auf die zweite Staffel als Version 2.0 bezieht). Eine besonders bemerkenswerte Verwendung ist Web 2.0unter Bezugnahme auf Websites aus den frühen 2000er Jahren, die betonten Nutzergenerierte Inhalte, Benutzerfreundlichkeit und Interoperabilität.
Siehe auch
Anmerkungen
- ^ Die vollständige Folge klassischer Mac OS -Versionen (ohne Patches) lautet: 1,0, 1.1, 2,0, 2,1, 3,0, 3,2 (überspringen 3.1), 4,0, 4,1, 5,0, 5,1, 6,0, 7,0, 7,1, 7,5, 7,6, 8.0 , 8,1, 8,5 (sprang), 8,6, 9,0, 9,1, 9,2.
Verweise
- ^ a b c d e f Preston-Werer, Tom (2013).Semantische Versionierung 2.0.0. Creative Commons. Abgerufen von https://semver.org/spec/v2.0.0.html.
- ^ TEMEX, ein Zeit -Sharing -System für die PDP - 10, Bobrow, Burchfiel, Murphy, Tomlinson, März 1972, Kommunikation des ACM 15 (3): 135-143.
- ^ Verpackungsveränderungen, Robert Sanders, 1994-02-25.
- ^ [<<https://lists.debian.org/debian-devel/1995/07/msg00085.html Bug#1167: ELF-Entwicklungspakete scheitern oder haben fehlende Abhängigkeiten], Ian Jackson, 1995-07-30.
- ^ Eine kurze Geschichte von Debian, Javier Fernández-Sanguino et al., 2021-10-26.
- ^ Lam, Patrick; Dietrich, Jens; Pearce, David J. (16. August 2020). "Die Semantik in semantische Versionen einbeziehen". Arxiv:2008.07069 [cs.se].
- ^ "Bibliotheksschnittstellenversioning in Solaris und Linux".
- ^ "LIBTOOL -Versioning -System". LIBTOOL -Dokumentation.
- ^ "Versionungsnummerierungskonzepte - Das apache tragbare Laufzeitprojekt". Abgerufen 11. April, 2009.
- ^ "Dämonit: Die Wissenschaft der Versionsnummerierung". 14. September 2004. Abgerufen 11. April, 2009.
- ^ Frank Kyne, Bert de Beer, Luis Martinez, Harriet Morril, Miha Petric, David Viguers, Suzi Wendler."System Z Parallel Sysplex Best Practices". 2011. p. 6.
- ^ "Opera Changelogs für Windows". Opera -Software. 2014. Abgerufen 6. November, 2014.
- ^ "Heim". Bewegliche Typdokumentation Wiki. 25. Juni 2013. Abgerufen 6. November, 2014.
- ^ "GNU -Codierungsstandards: Veröffentlichungen". GNU -Projekt. 13. Mai 2014. Abgerufen 25. Mai, 2014.
Sie sollten jede Version mit einem Paar von Versionsnummern, einer Hauptversion und einer Moll identifizieren. Wir haben keine Einwände, mehr als zwei Zahlen zu verwenden, aber es ist sehr unwahrscheinlich, dass Sie sie wirklich brauchen.
- ^ a b "Advogato: Versionsnummerierungswahnsinn". 28. Februar 2000. Abgerufen 11. April, 2009.
- ^ Debian Policy Manual, Handbuch, 5.6.12 Version
- ^ "Java Edition Version History". Offizieller Minecraft Wiki. Abgerufen 6 März, 2019.
- ^ "Kalenderversioning - Calver". Calver.org. Abgerufen 10. Oktober, 2019.
- ^ Markus Kuhn (19. Dezember 2004). "Internationales Standard -Datum und Uhrzeitnotation". Universität von Cambridge. Abgerufen 11. April, 2009.
- ^ Jeff Atwood (15. Februar 2007). "Coding Horror: Was ist überhaupt in einer Versionsnummer?". Abgerufen 15. November, 2016.
- ^ "PEP 440 - Versionspflicht- und Abhängigkeitsspezifikation".
- ^ Donald E. Knuth. Die Zukunft von Tex und Metafont, NTG Journal Maps (1990), 489. Nachgedruckt als Kapitel 30 von Digitale Typografie, p. 571.
- ^ "Apple veröffentlicht MACOS 10.13.3 Ergänzendes Update mit Telugu Crash Fix". Abgerufen 26. März, 2018.
- ^ Gallagher, William (22. Juni 2020). "Apple dreht MacOS auf 11 - oder auf 10.16". Appleinsider.
- ^ Heizung, Brian. "Apple enthüllt MacOS 11.0 Big Sur". Techcrunch. Archiviert vom Original am 22. Juni 2020. Abgerufen 22. Juni, 2020.
- ^ De Looper, Christian (12. Oktober 2021). "Apple Macos Monterey: Alles, was wir bisher wissen". BGR. Archiviert von das Original am 12. Oktober 2021.
- ^ "Windows 10 ankündigen".
- ^ "Windows 11: Eine neue Ära für den PC beginnt heute". Windows -Blogs. 4. Oktober 2021.
- ^ "Debian FAQ: 6.2.2 Woher kommen diese Codenamen?". Archiviert von das Original am 2. Januar 2021. Abgerufen 2. Januar, 2021.
- ^ "Blag -Linux und GNU". Distrowatch.com. Abgerufen 29. September, 2011.
- ^ "Nachrichten und Updates: Blag". Distrowatch.com. Abgerufen 29. September, 2011.
- ^ "Blag -Download". Blaghe. Abgerufen 29. September, 2011.
- ^ "Kelvin Versioning · jtobin.io". Jtobin.io. Abgerufen 17. März, 2021.
- ^ Urbit.org. "Auf dem Weg zu einem gefrorenen Betriebssystem - Urbit". Urbit.org. Abgerufen 17. März, 2021.
- ^ a b "Toaruos 1.0 Open Source OS, das nach mehr als 6 Jahren Entwicklung veröffentlicht wurde". 13. Februar 2017. Abgerufen 23. Mai, 2017.
- ^ a b Gilbertson, Scott. "Wein auf dem Weg zu einer 1,0 -Veröffentlichung. Endlich". Verdrahtet. Abgerufen 23. Mai, 2017.
- ^ "Firefox Release Calender - Mozillawiki". Wiki.mozilla.org.
- ^ "Gleichzeitige Veröffentlichung - Eclipsepedia". wiki.eclipse.org.
- ^ "ReleaSeplan - Das Dokumentstiftung Wiki". Wiki.DocumentFoundation.org.
- ^ "Veröffentlichungen - Ubuntu Wiki". wiki.ubuntu.com.
- ^ "Veröffentlichungen - Fedora -Projekt Wiki". fedoraproject.org.
- ^ "PEP 0 - Index der Python -Verbesserung Vorschläge (PEPS)". Python.org.
- ^ "Veröffentlichungsplan". Digikam.org. 25. März 2018.
- ^ "VMware Product Release Tracker (Vtracker)". Virten.net. 13. Februar 2015.
- ^ "Node.js ist semver". Der Nodesource -Blog - node.js Tutorials, Führer und Updates. 15. September 2015. Eingeführter Knoten mit einem Odd/sogar-Versionsschema im Linux-Kernelstil. Abgerufen 26. März, 2018.
- ^ Kevin P. Fleming (21. Juli 2011). "Die Entwicklung von Sternchen (oder: Wie wir in Asterisk 10 angekommen sind) im Sternchen". Digium, Inc. Abgerufen 25. Mai, 2014.
- ^ Torvalds, Linus: Notizen für Linux Release 0.01 Kernel.org, 1991.
- ^ Calore, Michael (25. August 2009). "25. August 1991: Kid von Helsinki Foments Linux Revolution". VERDRAHTET. Abgerufen 8. Februar, 2018.
- ^ Trotzdem Michael;Smith, Stewart (15. Dezember 2007). Praktischer MythTV: Erstellen eines PVR- und Media Center -PCs.New York: Springer-Verlag New York, Inc. p.9. ISBN 978-1-59059-779-8. Abgerufen 15. April, 2018.
- ^ "Slackware FAQ".
- ^ Paul Thurrott (14. Mai 2009). "Büro 2010 FAQ". Archiviert von das Original am 19. April 2009. Abgerufen 30. Dezember, 2009.
- ^ Finnie, Ryan (23. Oktober 2010). "Es tut mir Leid". Abgerufen 9. Februar, 2012.