Politica di versionamento e deprecazione delle API

Questa pagina spiega come KeenAuth gestisce le versioni delle sue API, come viene annunciata una rimozione e per quanto tempo gli SDK, la CLI, il provider Terraform/OpenTofu e il server MCP ricevono correzioni di sicurezza. Ogni annuncio viene pubblicato nel registro delle modifiche.

Versioni dell'API

L'API di gestione riporta la versione principale nel percorso (/v1). All'interno di v1 vengono apportate solo modifiche additive:

Scrivi la tua integrazione in modo che accetti queste aggiunte.

Una modifica incompatibile viene apportata solo in una nuova versione principale (/v2). Le modifiche incompatibili sono: rimuovere o rinominare un campo, cambiare un tipo, aggiungere un campo obbligatorio, cambiare il comportamento predefinito e cambiare la paginazione, l'ordinamento o il valore predefinito di limit. v1 resta disponibile per almeno 24 mesi dopo la disponibilità generale di v2.

KeenAuth non usa intestazioni di versione basate sulla data; la versione principale nel percorso e la regola delle sole modifiche additive costituiscono l'intero contratto.

Operazioni beta e GA

Ogni operazione è contrassegnata con x-idp-stability: beta o x-idp-stability: ga nel documento OpenAPI. Un'operazione beta può cambiare durante una beta privata o pubblica e non è soggetta alle regole di deprecazione riportate sotto; le sue risposte includono l'intestazione Idp-Stability: beta. Un'operazione ga è congelata: cambia solo secondo le regole di questa pagina.

Eventi e claim del token

Deprecazione e rimozione

La rimozione di un endpoint, un parametro, un claim, uno scope, un tipo di evento, un algoritmo di firma o un'altra superficie viene annunciata nel registro delle modifiche almeno 365 giorni prima della data di rimozione. Ogni deprecazione ha un identificatore nella forma dep-<YYYY>-<NN>, una data di deprecazione, una data di rimozione (sunset), un sostituto se esiste e una guida alla migrazione.

Eccezione di sicurezza: per chiudere una vulnerabilità di sicurezza, il comportamento all'interno di v1 può cambiare senza il preavviso di 365 giorni. Una modifica di questo tipo viene pubblicata nel registro delle modifiche con il tag security e gli ambienti interessati vengono avvisati via e-mail.

Segnali nelle risposte dell'API

La risposta di un'operazione in fase di rimozione contiene:

Dopo la data di rimozione l'operazione risponde 410 con il codice di problema endpoint_sunset. Le rimozioni del protocollo OAuth e OpenID Connect (un algoritmo di firma, un metodo di autenticazione del client, un parametro) non possono includere intestazioni; vengono conteggiate per client e passano per le stesse notifiche.

Dove vedere il tuo utilizzo

Gli SDK ufficiali, la CLI, il provider e il server MCP inviano Idp-Client: <package>/<version> (<runtime>/<version>) con ogni richiesta. L'intestazione non è un'autenticazione; serve solo al conteggio e un valore malformato viene ignorato. I conteggi di utilizzo non memorizzano indirizzi IP, User-Agent né identificatori degli utenti finali.

Politica di supporto per SDK e strumenti

Gli SDK, la CLI, il provider Terraform/OpenTofu e il server MCP seguono il versionamento semantico. Una versione principale aumenta solo con una modifica incompatibile del linguaggio stesso o con una nuova versione principale dell'API.

Supporto degli ambienti di esecuzione

Gli SDK supportano le versioni degli ambienti di esecuzione che i rispettivi fornitori supportano ancora con correzioni di sicurezza: Node.js LTS, Python secondo il calendario di supporto upstream, le ultime due release di Go, Java 17 e 21, .NET LTS, PHP 8.2 e successive, Ruby 3.2 e successive, iOS 16 e successive, Android API 26 e successive. La matrice minima degli ambienti di esecuzione viene pubblicata con ogni versione principale. Un ambiente di esecuzione che perde il supporto del fornitore viene abbandonato in una versione minore, annunciata nel registro delle modifiche con 90 giorni di anticipo.