# Versionado

Qué cambia sin aviso y qué rompe.

Dentro de `v1` sólo entran cambios aditivos. Lo incompatible sale en una versión nueva, con 30 días de aviso mínimo.

## Cambios que no rompen

Una ruta nueva, un campo opcional nuevo, un evento nuevo o un valor nuevo en una lista de estados. Tu código debe ignorar lo que no conoce: los enums son extensibles.

## Cambios que rompen

Quitar un campo o una ruta, cambiar un tipo, volver obligatorio algo opcional. Sólo salen en una versión nueva.

## Avisos

| Cambio | Aviso mínimo |
|---|---|
| Incompatible | 30 días |
| IP de salida | 15 días |

La única excepción a estos plazos es un arreglo urgente de seguridad, que se publica de inmediato con su nota. Los avisos salen en [Cambios](/docs/cambios/), en el RSS y en el panel.

## Rutas obsoletas

Una ruta en retiro responde con `Deprecation` y `Sunset`, más el enlace a su nota. Vigila esos encabezados.

## Errores comunes

- Fallar ante un campo desconocido. Ignóralo.
- Hacer `switch` sin rama por omisión sobre un estado.

## Qué sigue

[Cambios](/docs/cambios/).
