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.