Snyk CLI: presentamos el versionado semántico y los canales de lanzamiento
30 de abril de 2024
0 minutos de lecturaNos complace presentar el versionado semántico y los canales de lanzamiento en Snyk CLI a partir de v.1.1291.0. En esta publicación, explicaremos por qué implementamos estos cambios, qué problemas resuelven para nuestros clientes y cómo pueden suscribirse según sus necesidades.
¿Qué problema estamos resolviendo y por qué?
Snyk CLI llegó a la World Wide Web y a los entusiastas de la seguridad el 2 de octubre de 2015 como la versión v0.0.0-pre-alpha. En los últimos ocho años, lanzamos Snyk CLI casi dos mil veces, y más de mil cien de esos lanzamientos ocurrieron en los últimos tres años. Eso equivale a un lanzamiento cada treinta y dos horas, lo que refleja tanto las crecientes necesidades de nuestros clientes como el ritmo al que trabajamos para satisfacerlas a escala empresarial. A medida que aumentó la demanda, también lo hicieron la complejidad, el alcance y el impacto de nuestros rápidos cambios de código.
Por un lado, entregar correcciones y cambios rápidamente garantiza que cada usuario de Snyk tenga acceso a nuestras capacidades más recientes. Por otro, nuestra investigación con clientes empresariales destacó que recibir lanzamientos frecuentes de Snyk CLI generaba una carga adicional de gobernanza y cumplimiento. Al observar estas señales recurrentes, reconocimos la necesidad de un cambio que mejore la experiencia con Snyk CLI para nuestros clientes y usuarios finales, desde desarrolladores hasta profesionales de DevSecOps.
Como barrera de seguridad, Snyk CLI es una pieza clave de nuestro ecosistema de desarrollo y del de nuestros clientes. Una interrupción de Snyk CLI afecta directamente las canalizaciones de compilación de nuestros clientes, así como el cumplimiento de sus compromisos comerciales y la experiencia de sus usuarios. Snyk reconoce con absoluta sinceridad la confianza que nuestros clientes depositan en nosotros, y creemos que hay una necesidad aún no satisfecha: la flexibilidad para elegir un ritmo sostenible.
Por eso, a partir de la versión v.1291.0, presentamos los siguientes cambios en Snyk CLI:
Versionado semántico para los lanzamientos de Snyk CLI
Distintos canales para que nuestros clientes elijan según sus preferencias y necesidades
¿Qué significan estos cambios para nuestros clientes?
Lanzamientos
Snyk CLI sigue la notación estándar de tres partes del sector para el versionado semántico, como se muestra a continuación.
Dado un número de versión MAJOR.MINOR.PATCH, incrementa:
La versión MAJOR cuando hagas cambios [incompatibles]
La versión MINOR cuando agregues funcionalidades de manera compatible con versiones anteriores
La versión PATCH cuando hagas correcciones de errores compatibles con versiones anteriores
Según sea necesario, se agregan etiquetas adicionales a los lanzamientos de CLI, de acuerdo con el estándar.
En el contexto de Snyk CLI, definimos un cambio incompatible como aquel que podría interrumpir los flujos de trabajo automatizados y provocar fallas en tu configuración actual, como las integraciones de CI/CD. Los cambios incompatibles se indicarán incrementando MAJOR y se mencionarán en las notas de la versión.
Algunos ejemplos de cambios incompatibles:
Retirar o modificar campos de salida, nombres de campos o variables de entorno
Introducir cambios obligatorios en la configuración
Cambios en los códigos de error o de salida
En ocasiones, según la naturaleza y el impacto del problema, también lanzaremos correcciones urgentes, lo que incrementará PATCH.
Canales
Presentamos distintos canales para que nuestros clientes puedan elegir el que mejor se adapte a sus necesidades y preferencias.
Para los clientes, elegir un canal significa elegir el nivel de estabilidad y el ritmo de los cambios de código que quieren usar:
previewLas compilaciones de «pre-release» se implementan con regularidad, hasta varias veces al día, e incluyen los cambios más recientes
Patrón de versión:
v{MAJOR}.{MINOR}.{PATCH}-previewFrecuencia: variable
Disponibilidad:
rcLas versiones preliminares «release candidate» se implementan en momentos específicos e incluyen una versión de CLI que se espera promover a estable después de realizar pruebas adicionales.
Patrón de versión:
v{MAJOR}.{MINOR}.{PATCH}-rcFrecuencia: cada 8 semanas, 2 semanas antes de un lanzamiento estable (es posible que haya lanzamientos de correcciones urgentes)
Disponibilidad:
stableLas compilaciones estables se implementan en momentos específicos, después de someterse a pruebas adicionales y considerarse estables.
Patrón de versión:
v{MAJOR}.{MINOR}.{PATCH}Frecuencia: cada 8 semanas (es posible que haya lanzamientos de correcciones urgentes)
Disponibilidad:
Snyk recomienda elegir el canal stable por los siguientes motivos:
Una compilación estable se prueba exhaustivamente durante 8 semanas. Durante ese período, los equipos de desarrollo de Snyk usan la CLI en el proceso de desarrollo de software (SDLC).
Las notas de la versión que la acompañan te ayudan a decidir qué versión se adapta mejor a tus necesidades.
Sin embargo, los clientes que quieran recibir los cambios de código tan pronto como se integren pueden elegir el canal preview. Ten en cuenta que Snyk no ofrece soporte para este canal y que es posible que incluya problemas conocidos.
Consejo: Los clientes actuales que elijan el canal latest, conocido anteriormente con ese nombre, pasarán automáticamente al canal stable. Para evitar afectar a nuestros usuarios actuales, en segundo plano replicamos la versión estable más reciente. Sin embargo, como se muestra en la siguiente sección, te recomendamos cambiar a los nuevos canales de lanzamiento.
Seleccionar un canal desde el IDE
Elige un canal de lanzamiento de CLI en el menú desplegable que se muestra en la captura de pantalla a continuación. Nuestros usuarios pueden cambiar de canal de lanzamiento; por ejemplo, pueden cambiar a release candidate (rc) para recibir una corrección urgente. Esta funcionalidad está disponible en IntelliJ IDE. Pronto ampliaremos esta capacidad a otros IDE compatibles. El canal predeterminado para todos los IDE es stable.

Conclusión
Después de casi dos mil lanzamientos, ayudar a nuestros clientes y desarrolladores a entregar código seguro sigue siendo una experiencia gratificante para el equipo de Snyk. Seguimos comprometidos con enriquecer Snyk CLI para ofrecer una experiencia de desarrollo excepcional que permita a los desarrolladores hacer bien su trabajo a un ritmo sostenible.
Si quieres compartir tus comentarios o participar en nuestra investigación con usuarios, comunícate con nuestro equipo de soporte, tu gerente de cuenta o el gerente de producto de Snyk CLI. Esperamos colaborar contigo para definir el futuro de Snyk CLI.
