Capgo Verificador de Semver
Verifique la compatibilidad de versiones semánticas para las actualizaciones de su aplicación Capacitor
La versión que su aplicación instalada informa a Capgo, desde la configuración o los metadatos nativos de la aplicación.
¿Qué significa "Versión Local"?
La Versión Local es la versión que ya está en el dispositivo cuando solicita al servidor de actualizaciones un paquete. En una aplicación Capacitor, ese valor puede provenir de
CapacitorUpdater.version en capacitor.config.*Si ese ajuste no está presente, el plugin recae en la versión de la aplicación nativa de iOS o Android. No asuma que es su package.json
versión a menos que copie su construcción que valga la pena en la configuración o metadatos nativos.
Capacitor configuración
Configuración CapacitorUpdater.version cuando desee una versión explícita enviada por la aplicación.
Ventaja: fácil de mantener el mismo en iOS y Android.
Desventaja: la configuración desactualizada puede informar la versión incorrecta si se olvida de actualizar antes de una liberación nativa.
Versión de la aplicación nativa
Utilice la versión de la plataforma, como iOS CFBundleShortVersionString o Android
versionName.
Ventaja: coincide con la versión binaria que los usuarios instalaron desde TestFlight, App Store, Play Store o pruebas internas.
Contra: cambiarlo requiere una compilación nativa y puede diferir por plataforma si los ajustes de lanzamiento varían.
Diseño de paquete
Comparelo con versiones remotas de paquetes, reglas de semántica de versión de canal o restricciones de carga como --native-version.
Pros: evita enviar JavaScript que necesita una versión nativa más nueva de code a binarios de aplicaciones antiguas.
Contra: las reglas demasiado estrictas pueden bloquear actualizaciones válidas hasta que se ajusta el canal o el metadato del paquete.
Para este tester, ingresa la versión que el dispositivo informaría como local, y compárala con la versión remota del paquete que deseas Capgo entregar.
¿Por qué Capgo utiliza Semántica de Versión?
Semántica de Versión es el estándar de versionado más ampliamente adoptado en el desarrollo de software. Al utilizar semver, Capgo garantiza la compatibilidad y la seguridad al entregar actualizaciones en vivo a sus Capacitor aplicaciones.
El estándar semver permite a Capgo comprender exactamente qué cambios se incluyen en cada actualización:
- Actualizaciones de parche (1.0.0 → 1.0.1): Correcciones de errores, seguras de aplicar automáticamente
- Actualizaciones menores (1.0.0 → 1.1.0): Nuevas características, compatibles con retroceso
- Actualizaciones mayores (1.0.0 → 2.0.0): Cambios disruptivos, requieren lanzamiento de la aplicación nativa en la tienda
Esto impide que Capgo envíe nunca una actualización incompatible a su aplicación nativa code, protegiendo a sus usuarios de errores y garantizando que la aplicación permanezca estable.
Estrategias de Semver Flexibles: Más Allá de la Versionado Básico
Mientras que semver es estricto sobre su formato básico, puede extenderlo para las necesidades de su equipo utilizando identificadores de pre-lanzamiento y metadatos de compilación:
🏷️ Metadatos de compilación (+) - La capa "cosmética"
Importante: Los metadatos de compilación se ignoran en la precedencia de versión -
1.2.0+anything igual que 1.2.0 para la lógica de actualización de Capgo.
🔧 Identificadores de pre-lanzamiento (-) - Canales de desarrollo
Nota: Las versiones de pre-lanzamiento tienen una precedencia menor -
1.3.0-beta.1 < 1.3.0
🎯 Enfoque híbrido - Lo mejor de ambos mundos
Uso de Casos de Semver en el Mundo Real & Estrategias de Equipo
🚀 Desarrollo Rápido / Startup
0.1.0 - Primer lanzamiento de MVP0.2.0-beta.1 - Pruebas de nuevas características0.2.0+ui.v2 - Metadatos de diseño de interfaz de usuario1.0.0 - Listo para producciónUtilice 0.x.x para el desarrollo pre-1.0, metadatos para el seguimiento de diseño
🏢 Empresa / Regulada
2.1.0 → Lanzamiento cuartal2.1.1+sec.patch.cve2024 → Parche de seguridad con seguimiento2.2.0-rc.1+audit.ready → Candidato a la auditoría previaSemver estricto con metadatos de cumplimiento
🎮 Aplicaciones de entretenimiento / creativas
1.0.0+season.winter.2024 → Contenido estacional1.1.0+event.halloween → Características impulsadas por eventos1.2.0+assets.hd.remaster → Actualizaciones de activosMetadatos creativos para el seguimiento de contenido
⚡ Estrategia de parches de emergencia
1.2.0 → Producción actual1.2.1-hotfix.payment → Corrección de bug crítico1.2.1+urgent.20240315.1430 → Lanzado con marca de tiempoPre-lanzamiento para pruebas, metadatos para el seguimiento de la implementación
🌍 Estrategia de múltiples plataformas
1.3.0+ios.optimized → Optimizaciones específicas de iOS1.3.0+android.material3 → Actualizaciones de diseño para Android1.3.0+web.pwa.ready → Capacidad de PWAMisma versión, metadatos específicos de plataforma
🔄 Integración de CI/CD
1.4.0-alpha.1+build.123 → Actualizaciones automáticas de prelanzamiento1.4.0+deploy.staging.456 → Despliegue de etapa1.4.0+prod.final.789 → Despliegue de producciónVersión automática con metadatos de despliegue
- Utilice metadatos de compilación (+) para rastrear, fechas y hora o información cosmética que no afecta la compatibilidad
- Utilice identificadores de prelanzamiento (-) para canales de desarrollo que necesitan diferentes prioridades de actualización
- Combine ambos para la máxima flexibilidad:
1.2.0-beta.1+ui.dark.theme.20240315 - Recuerde: Capgo respeta las reglas de precedencia de semver, por lo que planifique su estrategia de canal según corresponda
Importante: Capgo utiliza una versión semántica estricta
Diferente de la implementación de semver de npm, Capgo sigue estrictamente la especificación de SemVer. npm tiene node-semver con conocidas desviaciones de la especificación, lo que puede causar un comportamiento inesperado.
Por ejemplo, npm trata versiones como 1.0.0-alpha.1
diferentemente de lo que requiere la especificación. Consulte nuestro
informe de problema y
intentos de solución que nunca se fusionaron.
Versiones Semánticas Válidas
1.0.0 ✓ Lanzamiento estándar 2.1.3-alpha ✓ Pre-lanzamiento 1.0.0-beta.1 ✓ Versión prelanzada con número 1.0.0+build.1 ✓ Información de compilación 1.0.0-rc.1+build.1 ✓ Versión completa Versión semántica inválida
v1.0.0 ✗ No se permite el 'v' al principio 1.0 ✗ Falta la versión de parche 1.0.0.0 ✗ Demasiados partes de versión 1.0.0- ✗ Pre- versión vacía 1.0.0+ ✗ Información de compilación vacía Capgo Comportamiento de actualización
Esta herramienta sigue la especificación de Versionamiento Semántico oficial a diferencia de la implementación de npm.