Idioma: English Español
Este es un resumen orientado a developers de la política de versionado del schema. La decisión arquitectural completa está en ADR-0074.
El contrato cliente semántico está documentado en Contrato Semantico del Auth Graph. Es la ruta actual para consumidores externos que ya no deberían depender de GUIDs en el payload por defecto.
AuthorizationGraph lleva "schemaVersion": "MAJOR.MINOR.PATCH".>=1.0.0 <2.0.0) en metadata del paquete.AUTH_205).Casi nunca necesitas pensar en la versión. Bumpeas tu SDK en una cadencia normal; las reglas de arriba mantienen producción segura mientras tanto.
featureFlags[]Ante la duda, el owner del schema bumpea mayor. Falso-MAJOR es molesto; falso-MINOR es un incidente.
umsSchemaCompatibility. No amplíes el rango a menos que hayas probado contra un MAJOR nuevo.SchemaMinorMismatchEvent — el servidor emite un MINOR más nuevo. Considera actualizar pronto.SchemaServerOlderEvent — tu SDK es más nuevo que el servidor. Usualmente seguro pero rastrea upgrades del servidor UMS.UnknownFieldsObservedEvent — el servidor está enviando campos que no puedes usar. Actualiza en tu próxima oportunidad.DeprecatedFieldUsageEvent — tu código lee un campo marcado para remoción. Migra antes del próximo MAJOR.AUTH_205 — tu SDK no puede interpretar de forma segura lo que el servidor envió. O el servidor se actualizó (tú también deberías) o el servidor se degradó (habla con tu operador UMS).Cuando propones un cambio en el grafo, documenta la categoría del bump en la descripción del PR:
Impacto de schema: MINOR — agrega campo opcional
context.user.locale.
CI valida que el schemaVersion declarado del schema coincida con la categoría del cambio corriendo golden fixtures de la versión previa contra el schema nuevo.
Para cambios MAJOR:
compatibility-matrix.md.Para deprecaciones:
"deprecated": true y "x-deprecation-removed-in": "2.0.0".| Release | Acción |
|---|---|
| Schema 1.4.0 (MINOR) | Agregar context.tenant.legalName (nuevo). Marcar context.tenant.name como deprecated: true, reemplazo es legalName. |
| Schema 1.5.0 (MINOR) | SDKs leyendo name emiten DeprecatedFieldUsageEvent. |
| Schema 1.6.0 (MINOR) | Igual — último período de gracia. |
| Schema 2.0.0 (MAJOR) | context.tenant.name removido. SDKs viejos (compat <2.0.0) recibirán AUTH_205. Guía de migración publicada. |
Ventana mínima: dos MINORs o seis meses, lo que sea mayor.
src/libs/sdk/contracts/SCHEMA_VERSIONING.md — resumen operacional dentro del árbol de código