¿Qué representan típicamente los números en una versión (es decir, v1.9.0.1)?


Tal vez esta sea una pregunta tonta, pero siempre asumí que cada número delineado por un período representaba un solo componente del software. Si eso es cierto, ¿alguna vez representan algo diferente? Me gustaría comenzar a asignar versiones a las diferentes compilaciones de mi software, pero no estoy muy seguro de cómo debería estructurarse. Mi software tiene cinco componentes distintos.

 102
Author: Vertexwahn, 2008-09-15

28 answers

En la versión 1.9.0.1:

  • 1: Revisión importante (nueva interfaz de usuario, muchas características nuevas, cambio conceptual, etc.)

  • 9: Revisión menor (tal vez un cambio en un cuadro de búsqueda, 1 característica añadida, colección de correcciones de errores)

  • 0: Corrección de error release

  • 1: Número de compilación (si se usa): es por eso que ve que. NET framework usa algo como 2.0.4.2709

No encontrarás muchas aplicaciones bajando a cuatro niveles, 3 suele ser suficiente.

 146
Author: Dillie-O,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-29 07:20:43

Existe la especificación de Versionado semántico

Este es el resumen de la versión 2.0:

Dado un número de versión MAYOR.MENOR.PATCH, incrementa el:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

Las etiquetas adicionales para los metadatos de pre-lanzamiento y compilación están disponibles como extensiones al MAYOR.MENOR.Formato de PARCHE.

 13
Author: magyk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-29 09:03:05

Puede ser muy arbitrario, y difiere de un producto a otro. Por ejemplo, con la distribución Ubuntu, 8.04 se refiere a 2008.Abril

Normalmente los números más (mayores) de la izquierda indican una liberación mayor, y cuanto más se vaya a la derecha, menor será el cambio involucrado.

 12
Author: rkabir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:03:11

Mayor.menor[.mantenimiento[.construir]]

Http://en.wikipedia.org/wiki/Software_versioning#Numeric

 10
Author: Søren Spelling Lund,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:04:19

Los números pueden ser útiles como se describe en otras respuestas, pero considere cómo también pueden ser bastante sin sentido... Sol, ya sabes SOL, java: 1.2, 1.3, 1.4 1.5 o 5 luego 6. En la buena versión de Apple II los números Significaban Algo. Hoy en día, la gente está renunciando a los números de versión y va con nombres tontos como "Feisty fig" (o algo así) y "hardy heron" y "europa" y "ganímedes". Por supuesto, esto es mucho menos útil porque, te vas a quedar sin lunas de Júpiter antes de que deje de cambiar el programa, y como no hay un pedido obvio, no puede saber cuál es más nuevo.

 8
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 20:05:07

Cuantos más puntos, menor será la liberación. No hay un estándar sólido real más allá de eso-puede significar diferentes cosas según lo que decidan los mantenedores del proyecto.

WordPress, por ejemplo, sigue estas líneas:

1.6 -> 2.0 -> 2.0.1 -> 2.0.2 -> 2.1 -> 2.1.1 -> 2.2 ...

1.6 a 2.0 sería una gran versión: características, cambios en la interfaz, cambios importantes en las API, rotura de algunas plantillas y complementos 1.6, etc. 2.0 2.0.1 sería una versión menor - tal vez arreglando un error de seguridad. 2.0.2 a 2.1 sería una versión significativa-nuevas características, en general.

 7
Author: ceejayoz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:05:57

Los números pueden significar cualquier cosa que desee, aunque generalmente no están relacionados con componentes individuales, sino con cambios mayores vs.menores vs. de mantenimiento en su versión.

Echa un vistazo a estos resources:
http://www.netbeans.org/community/guidelines/process.html
http://en.wikipedia.org/wiki/Release_engineering
http://www.freebsd.org/releases/6.0R/schedule.html

Salud

 4
Author: Alvaro Rodriguez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:04:24

Los números de versión no suelen representar componentes separados. Para algunas personas / software los números son bastante arbitrarios. Para otros, diferentes partes de la cadena de número de versión representan cosas diferentes. Por ejemplo, algunos sistemas aumentan partes del número de versión cuando cambia el formato de un archivo. So V 1.2.1 es el formato de archivo compatible con todas las otras versiones V 1.2 (1.2.2, 1.2.3, etc.), pero no con V 1.3. En última instancia, depende de usted qué esquema desea utilizar.

 3
Author: user9385,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:05:32

Depende, pero la representación típica es la de mayor.menor.lanzar.build .

Donde:

  • major es la versión de lanzamiento principal de su software, piense en.NET 3.x
  • menor es la versión de lanzamiento menor de su software, piense. NET x. 5
  • release es el lanzamiento de esa versión, normalmente las correcciones de errores incrementarán esto
  • build es un número que denota el número de compilaciones que tiene realizar.

Así que, por ejemplo, 1.9.0.1, significa que es la versión 1.9 de su software, después de 1.8 y 1.7, etc. donde 1.7, 1.8 y 1.9 todos de alguna manera típicamente agregan pequeñas cantidades de nuevas características junto con correcciones de errores. Ya que es x. x. 0.x, es la versión inicial de 1.9, y es la primera compilación de esa versión.

También puedes encontrar buena información en el artículo de Wikipedia sobre el tema.

 2
Author: Lasse Vågsæther Karlsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:06:04

Mayor.Menor.Errores

(O alguna variación sobre eso)

Bugs suele ser corrección de errores sin ninguna funcionalidad nueva.

Menor es algún cambio que añade nueva funcionalidad pero no cambia el programa de ninguna manera importante.

Mayor es un cambio en el programa que rompe la funcionalidad antigua o es tan grande que de alguna manera cambia la forma en que los usuarios deben usar el programa.

 2
Author: emeryc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:06:19

Del AssemblyInfo de C#.archivo cs puede ver lo siguiente:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
/ You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
 2
Author: Thomas Jespersen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:11:07

Liberación.principal.menor.revisión sería mi conjetura.
Pero puede variar mucho entre productos.

 2
Author: Fire Lancer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-16 08:37:44

Mayor.menor.punto.construir por lo general. Major y minor se explican por sí mismos, point es una versión para algunas correcciones de errores menores, y build es solo un identificador de build.

 1
Author: Cody Brocious,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:04:33

Normalmente es:

Versión mayor.MinorVersion.Revision.Build

 1
Author: Jason Punyon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:04:46

Sí. Las versiones principales agregan características grandes y nuevas, pueden romper la compatibilidad o tener dependencias significativamente diferentes, etc.

Las versiones menores también agregan características, pero son versiones más pequeñas, a veces despojadas de versiones portadas de la versión principal beta.

Si hay un tercer componente de número de versión, generalmente es para correcciones de errores importantes y correcciones de seguridad. Si hay más, realmente depende tanto del producto que es difícil dar una respuesta general.

 1
Author: Paweł Hajdan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:05:50

Todos eligen lo que quieren hacer con estos números. He estado tentado de llamar a releases A. B. c ya que es bastante tonto de todos modos. Dicho esto, lo que he visto en los últimos 25 años de desarrollo tiende a funcionar de esta manera. Digamos que su número de versión es 1.2.3.

El "1" indica una revisión "mayor". Por lo general, esta es una versión inicial, un gran cambio de conjunto de características o una reescritura de porciones significativas del código. Una vez determinado el conjunto de características y al menos parcialmente implementado ir al siguiente número.

El "2" indica un lanzamiento dentro de una serie. A menudo usamos esta posición para quedar atrapados en las características que no lo hicieron en la última versión principal. Esta posición (2) casi siempre indica una característica añadida, generalmente con correcciones de errores.

El "3" en la mayoría de las tiendas indica un lanzamiento de parche/corrección de errores. Casi nunca, al menos en el lado comercial, esto indica una característica significativa agregar. Si las características aparecen en la posición 3, entonces es probable porque alguien comprobó algo antes de que supiéramos que teníamos que hacer un lanzamiento de corrección de errores.

Más allá de la posición "3"? No tengo ni idea de por qué la gente hace ese tipo de cosas, simplemente se vuelve más confuso.

Notablemente algunos de los OSS por ahí tiran todo esto fuera de control. Por ejemplo, la versión 10 del Trac es en realidad 0.10.X. X. Creo que muchas personas en el mundo de OSS o bien carecen de confianza o simplemente no quieren anunciar que tienen un lanzamiento importante hecho.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:10:55

El paradigma de la liberación mayor.liberación menor.la corrección de errores es bastante común, creo.

En algunos contratos de soporte empresarial hay $ $ $ (o incumplimiento de responsabilidad contractual) asociado con la forma en que se designa una liberación en particular. Un contrato, por ejemplo, podría dar derecho a un cliente a cierto número de versiones principales en un período de tiempo, o prometer que habrá menos de x número de versiones menores en un período, o que el soporte seguirá estando disponible para tantas versiones. De por supuesto, no importa cuántas palabras se ponen en el contrato para explicar lo que es una versión mayor frente a una versión menor, siempre es subjetivo y siempre habrá áreas grises – lo que lleva a la posibilidad de que el proveedor de software puede jugar el sistema para superar tales disposiciones contractuales.

 1
Author: Will M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:59:29

En el caso de una biblioteca, el número de versión le informa sobre el nivel de compatibilidad entre dos versiones, y por lo tanto lo difícil que será una actualización.

Una versión de corrección de errores necesita preservar la compatibilidad binaria, de origen y de serialización.

Las versiones menores significan cosas diferentes para diferentes proyectos, pero generalmente no necesitan preservar la compatibilidad de fuentes.

Los números de versión principales pueden romper las tres formas.

Escribí más sobre el rationale here .

 1
Author: Craig P. Motlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-28 16:34:27

Una combinación de mayor, menor, parche, compilación, parche de seguridad, etc.

Los dos primeros son mayores y menores the el resto dependerá del proyecto, la empresa y a veces la comunidad. En sistemas operativos como FreeBSD, tendrá 1.9.0. 1_number para representar un parche de seguridad.

 0
Author: Loren Segal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:04:50

Depende un poco del lenguaje, Delphi y C# por ejemplo tienen diferentes significados.

Por lo general, los dos primeros números representan una versión mayor y una menor, es decir, 1.0 para la primera versión real, 1.1 para algunas correcciones de errores importantes y nuevas características menores, 2.0 para una gran nueva versión de características.

El tercer número puede referirse a una versión o revisión "realmente menor". 1.0.1 es solo una pequeña corrección de error a 1.0.0 por ejemplo. Pero también puede llevar el número de revisión de su Fuente Sistema de control, o un número cada vez mayor que se incrementa con cada compilación. O un Datestamp.

Un poco más de detalle aquí. "oficialmente", en. net, los 4 números son " Major.Menor.Construir.Revision", mientras que en Delphi hay " Major.Menor.Lanzar.Construir". Yo uso "Mayor".Menor.Realmente minor.SubversionRev " para mi control de versiones.

 0
Author: Michael Stum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:07

Generalmente entonces el número está en el formato de la versión.principal.menor.revisión, no componentes internos individuales. Así que v1. 9.0.1 sería la versión 1, la versión principal 9 (de v1), la versión menor (de v1.9) 0, hot fix 1 de (v1.9.0).

 0
Author: Scott Bevington,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:07:36

El primer número se conoce típicamente como el número de versión principal. Básicamente se usa para indicar cambios significativos entre compilaciones (es decir, cuando agregas muchas características nuevas, incrementas la versión principal). Los componentes con diferentes versiones principales del mismo producto probablemente no son compatibles.

El siguiente número es el número de versión menor. Puede representar algunas características nuevas, o una serie de correcciones de errores o pequeños cambios en la arquitectura. Componentes del mismo producto que different by the minor version number may or may not work together and probably shouldn't.

El siguiente normalmente se llama el número de compilación. Esto puede incrementarse diariamente, o con cada compilación "liberada", o con cada compilación en absoluto. Puede haber solo pequeñas diferencias entre dos componentes que difieren solo por el número de construcción y, por lo general, pueden funcionar bien juntos.

El número final suele ser el número de revisión. Muchas veces esto es utilizado por un proceso de compilación automático, o cuando hacer compilaciones desechables "únicas" para pruebas.

Cuando incrementas tus números de versión depende de ti, pero siempre deben incrementar o permanecer igual. Puede hacer que todos los componentes compartan el mismo número de versión o solo incrementar el número de versión en los componentes modificados.

 0
Author: Bob King,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:09:34

El número de versión de una pieza compleja de software representa todo el paquete y es independiente de los números de versión de las partes. La versión 3.2.5 de Gizmo podría contener Foo versión 1.2.0 y Bar versión 9.5.4.

Al crear números de versión, utilícelos de la siguiente manera:

  1. El primer número es la versión principal. Si realiza cambios significativos en la interfaz de usuario o necesita romper las interfaces existentes( para que los usuarios tengan que cambiar su código de interfaz), debe ir a la nueva versión principal.

  2. El segundo número debe indicar que se han agregado nuevas características o que algo funciona de manera diferente internamente. (Por ejemplo, la base de datos Oracle podría decidir utilizar una estrategia diferente para recuperar datos, haciendo que la mayoría de las cosas sean más rápidas y algunas más lentas.) Las interfaces existentes deben seguir funcionando y la interfaz de usuario debe ser reconocible.

  3. La numeración de versiones depende de la persona que escribe el software - Oracle utiliza cinco (!) grupos, es decir. una versión de Oracle es algo así como 10.1.3.0.5. Desde el tercer grupo hacia abajo, solo debe introducir correcciones de errores o cambios menores en la funcionalidad.

 0
Author: Sten Vesterli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:11:36
 0
Author: Sijin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:13:36

Los que varían menos serían los dos primeros, para mayor.menor, después de eso puede ser cualquier cosa, desde compilación, revisión, lanzamiento, hasta cualquier algoritmo personalizado (como en algunos productos de MS)

 0
Author: BlackTigerX,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:14:54

Cada organización/grupo tiene su propio estándar. Lo importante es que se adhiera a cualquier notación que elija de lo contrario sus clientes se confundirán. Habiendo dicho que he utilizado normalmente 3 números:

X. yz.bbbbb. Donde: x: es la versión principal (principales nuevas características) y: es el número de versión menor (pequeñas características nuevas, pequeñas mejoras sin cambios en la interfaz de usuario) z: es el service pack (básicamente el mismo que x. y pero con algunas correcciones de errores bbbb: es el número de compilación y solo realmente visible desde el "acerca de la caja" con otros detalles para la atención al cliente. bbbb es de formato libre y cada producto puede usar su propio.

 0
Author: Vasco Duarte,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:26:53

Esto es lo que usamos:

  1. Primer número = Era general del sistema. Cambia cada dos años y, por lo general, representa un cambio fundamental en la tecnología, las características del cliente o ambos.
  2. Segundo número = revisión del esquema de base de datos. Un incremento en este número requiere una migración de la base de datos y por lo tanto es un cambio significativo (o sistemas replicar y por lo tanto cambiar la estructura de la base de datos requiere un cuidadoso proceso de actualización). Restablece a 0 si cambia el primer número.
  3. Tercero número = solo el software cambia. Esto generalmente se puede implementar cliente por cliente, ya que el esquema de la base de datos no cambia. Se restablece a cero si cambia el segundo número.
  4. Número de versión de Subversion. Rellenamos esto automáticamente en la compilación usando la herramienta TortoiseSVN. Este número nunca se restablece, sino que aumenta continuamente. Usando esto siempre podemos recrear cualquier versión.

Este sistema nos está sirviendo bien porque cada número tiene una función clara e importante. He visto otros equipos lidiando con la pregunta de número mayor / número menor (qué tan grande es un cambio mayor) y no veo el beneficio de eso. Si no necesita realizar un seguimiento de las revisiones de la base de datos, vaya a un número de versión de 3 o 2 dígitos y haga la vida más fácil.

 0
Author: Ewan Makepeace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 19:48:46

La gente no siempre reconoce la sutil diferencia entre los números de versión como 2.1, 2.0.1 o 2.10 - pregúntele a una persona de soporte técnico cuántas veces han tenido problemas con esto. Los desarrolladores están orientados a los detalles y están familiarizados con las estructuras jerárquicas, por lo que este es un punto ciego para nosotros.

Si es posible, exponga un número de versión más simple a sus clientes.

 0
Author: Mark Ransom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-25 17:20:26