Saltar al contenido
AchaduDevelopers
Achadu/Developers/Versionado

Evolución compatible, migraciones explícitas.

La versión principal está en la URL. Los cambios adicionales entran en la versión 1 sin afectar a los clientes; Los cambios incompatibles requieren una nueva versión y una ventana de migración.

¿Qué podría cambiar en la v1?

Nuevos puntos finales

Es posible que se publiquen operaciones y funciones adicionales.

Nuevos campos opcionales

Los clientes deben ignorar las propiedades desconocidas en las respuestas.

Nuevos eventos

Las suscripciones con * pueden tener tipos agregados al catálogo.

Nuevos valores

Las enumeraciones abiertas pueden obtener estados o proveedores documentados.

¿Qué requiere una nueva versión?

Eliminar o cambiar el nombre

El punto final, campo o valor existente no desaparece silenciosamente.

Cambiar significado

La semántica, unidad o formato incompatible requiere un nuevo contrato.

Hazlo obligatorio

Un campo opcional no pasa a ser obligatorio dentro de una misma versión.

Cambiar autenticación

Los cambios de autorización incompatibles reciben su propia migración.

Ciclo de depreciación

1
Anuncio

El cambio entra en la historia con reemplazo e impacto.

2
Migración

Las dos formas coexisten durante la ventana informada.

3
Aviso en producción

La documentación y las respuestas identifican el contrato discontinuado.

4
Cierre

La retirada sólo se realizará en la fecha anunciada.

Cómo escribir un cliente resiliente

Ignore los campos de respuesta desconocidos.
Trate las enumeraciones desconocidas como estados válidos no admitidos.
No dependa del orden de las propiedades JSON.
Utilice la versión de la URL, no una versión inferida del SDK.
Realice un seguimiento del historial antes de actualizar un cliente generado.