Versions
Deprecations
The lifecycle status of each A8 version, how much notice a retirement gets and how to watch for one.
This page as Markdown: https://u22a8.ai/docs/deprecations.md. The index of every docs page: https://u22a8.ai/llms.txt.
Every A8 version carries a lifecycle status. It says whether the version serves, whether its interface can change and when it retires. This page defines each status, states the notice a retirement gets and lists every version with its status.
§1Lifecycle statuses
| Status | Means |
|---|---|
| Preview | Available, with an interface that can change between versions |
| Beta | A feature available to use, with an interface that can change |
| Deprecated | Available, with a retirement date set |
| Retired | Past its retirement date and out of service |
The lifecycle statuses. Every page that names a status means it as defined here.
A status shows as a badge beside a page title or a sidebar entry, with one sentence on what it means for you. A8 is in preview: a pinned version holds what it learned, and a new version can change how a request is read.
A horizon belongs to the version that fitted it, so it shares that version’s status and retires with it. See Model identifiers.
§2Notice
We announce a deprecation at least TBD (notice period) before the retirement date. Each announcement appears in three places on the same day:
- Release notes, as a Deprecation entry
- The history on this page
GET /models, on every entry of the deprecated version
From the announcement to the retirement date, the version answers as it did, pinned horizons included.
§3Versions
| Version | Status | Released | Retirement date | Replacement |
|---|---|---|---|---|
a8-1 | Preview | TBD (launch date) | None set | n/a |
Every A8 version and its lifecycle status.
§4History
Each deprecation is an entry here, newest first. An entry is a heading with its date and title, one sentence that names the version, its retirement date and its replacement, and a table:
### 2027-01-15: a8-1 deprecated
On 2027-01-15 we deprecated `a8-1`. It retires on 2027-07-15. Use `a8-2`.
| Retirement date | Model | Replacement |
| --- | --- | --- |
| 2027-07-15 | `a8-1` | `a8-2` |
The dates in this template are examples. The history starts with the first deprecation.
§5Watching for a retirement
GET /models carries each version’s lifecycle on every one of its entries, so a script reads the same status this page shows:
curl https://api.u22a8.ai/eval/v1/models \
-H "Authorization: Bearer $U22A8_API_KEY"
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.u22a8.ai/eval/v1",
api_key=os.environ["U22A8_API_KEY"],
)
for model in client.models.list():
extra = model.model_extra or {}
if extra.get("shutdown_date"):
print(model.id, "retires on", extra["shutdown_date"])
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.u22a8.ai/eval/v1",
apiKey: process.env.U22A8_API_KEY,
});
for await (const model of client.models.list()) {
const { shutdown_date } = model as typeof model & {
shutdown_date: string | null;
};
if (shutdown_date) console.log(model.id, "retires on", shutdown_date);
}
// annotated, trimmed: one entry of the list
{
"id": "a8-1-1@20260715t140322z",
"object": "model",
"status": "ready",
"active": true,
"lifecycle": "preview", // a status from Table 1, lowercase
"shutdown_date": null // an ISO date once the version is deprecated
}
| Field | Type | Meaning |
|---|---|---|
lifecycle | "preview", "beta", "deprecated" or "retired" | The version’s lifecycle status |
shutdown_date | string or null | The retirement date as YYYY-MM-DD, set when the version is deprecated |
The lifecycle fields on each GET /models entry.
See Horizons for status and active, the fields that say which horizon is in service.