Capgo Verificador de Semver
Verifique la compatibilidad de la versión semántica para 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 a un 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 nativa de la aplicación de iOS o Android. No asuma que es tu package.json
versión a menos que tu compilación copie ese valor en la configuración o metadatos nativos.
Configuración de Capacitor
Establecer CapacitorUpdater.version cuando desee enviar una versión explícita por parte de la aplicación
Ventaja: fácil de mantener igual en compilaciones de iOS y Android.
Desventaja: una configuración desactualizada puede informar la versión incorrecta si se olvida de actualizarla 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.
Desventaja: cambiarlo requiere una compilación nativa y puede diferir por plataforma si los ajustes de liberación varían.
Diseño de paquete
Compare it with remote bundle versions, channel semver rules, or upload constraints such as --native-version.
Pro: evita enviar JavaScript que necesita una versión nativa más nueva de code a binarios de aplicaciones antiguas.
Con: las reglas demasiado estrictas pueden bloquear actualizaciones válidas hasta que se ajuste el canal o el metadato del paquete.
Para este tester, ingresa la versión que el dispositivo informaría como local, y luego compara con la versión de paquete remoto que deseas que Capgo entregue.
¿Por qué Capgo utiliza la Semántica de la Versión?
Semántica de la 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 tus aplicaciones Capacitor.
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 para aplicar automáticamente
- Actualizaciones menores (1.0.0 → 1.1.0): Nuevas características, compatible con versiones anteriores
- Actualizaciones importantes (1.0.0 → 2.0.0): Cambios significativos, requiere lanzamiento de la tienda de aplicaciones nativas
Esto evita que Capgo envíe nunca una actualización incompatible a su code nativo, protegiendo a sus usuarios de errores y asegurando que su aplicación permanezca estable.
Estrategias de Semver flexibles: Más allá de la versión básica
Si bien semver es estricto sobre su formato básico, puede extenderlo para las necesidades de su equipo utilizando identificadores de pre-lanzamiento y metadatos de construcción:
🏷️ Metadatos de construcción (+) - La capa "cosmética"
Importante: La información de compilación se ignora en la precedencia de versión -
1.2.0+anything igual 1.2.0 para Capgo's lógica de actualización.
🔧 Identificadores de versión preliminar (-) - Canales de desarrollo
Nota: Las versiones de prelanzamiento tienen menor precedencia -
1.3.0-beta.1 < 1.3.0
Enfoque híbrido - Mejor de ambos mundos
Casos de uso semántico del mundo real y estrategias de equipo
🚀 Desarrollo rápido / Inicio de una empresa
0.1.0 - Primer lanzamiento MVP0.2.0-beta.1 - Prueba de nueva característica0.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 trimestral2.1.1+sec.patch.cve2024 → Corrección de seguridad con seguimiento2.2.0-rc.1+audit.ready → Candidato a la revisión previa a la auditoríaSemver estricto con metadatos de cumplimiento
🎮 Aplicaciones de juegos / 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 parche rápido
1.2.0 → Producción actual1.2.1-hotfix.payment → Corrección crítica de errores1.2.1+urgent.20240315.1430 → Publicado con fecha de timestampPre-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 aplicaciones progresivasMisma versión, metadatos específicos de plataforma
🔄 Integración de CI/CD
1.4.0-alpha.1+build.123 → Despliegue automático 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 construcció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 versionamiento semántico estricto
Diferente a la implementación de semver de npm, Capgo sigue estrictamente la especificación de SemVer oficial. npm's node-semver tiene conocidas desviaciones de la especificación, lo que puede causar comportamiento inesperado.
Por ejemplo, npm trata versiones como 1.0.0-alpha.1
de manera diferente a lo que requiere la especificación. Consulte nuestro
issue reportado y
solución intentada que nunca se fusionó.
Versiones Semánticas Válidas
1.0.0 ✓ Lanzamiento estándar 2.1.3-alpha ✓ Pre-lanzamiento 1.0.0-beta.1 ✓ Pre-lanzamiento con número 1.0.0+build.1 ✓ Metadatos de compilación 1.0.0-rc.1+build.1 ✓ Versión completa Versiones Semánticas Inválidas
v1.0.0 ✗ No se permite el 'v' al principio 1.0 ✗ Falta la versión de parche 1.0.0.0 ✗ Hay demasiados partes de versión 1.0.0- ✗ La versión pre-estable no está vacía 1.0.0+ ✗ La información de build no está vacía Capgo Comportamiento de actualización
Esta herramienta sigue la especificación de Semantic Versioning a diferencia de la implementación de npm.