model-eol 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -1
- package/SPEC.md +1 -0
- package/bot/bot.mjs +60 -4
- package/bot/lib/common.mjs +10 -2
- package/bot/lib/eval.mjs +4 -1
- package/check.mjs +2 -1
- package/feeds/anthropic.json +90 -34
- package/feeds/cohere.json +23 -23
- package/feeds/mistral.json +52 -52
- package/feeds/openai.json +236 -84
- package/lib/feeds.mjs +23 -0
- package/lib/reports.mjs +10 -1
- package/package.json +1 -1
- package/schema/model-eol.bot-config.schema.json +1 -1
package/feeds/openai.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"spec": "model-eol/0.1",
|
|
3
3
|
"publisher": "openai",
|
|
4
|
-
"generated": "2026-09-
|
|
4
|
+
"generated": "2026-09-09T15:04:52.530Z",
|
|
5
5
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
6
6
|
"note": "Community-maintained seed dataset, compiled 2026-07-25 from the provider's deprecations page. Verify against the source before acting; this file demonstrates the format.",
|
|
7
7
|
"models": [
|
|
@@ -74,9 +74,6 @@
|
|
|
74
74
|
"o1"
|
|
75
75
|
],
|
|
76
76
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
77
|
-
"announced": "2026-04-22",
|
|
78
|
-
"shutdown": "2026-10-23",
|
|
79
|
-
"replacement": "gpt-5.6-sol",
|
|
80
77
|
"distributions": [
|
|
81
78
|
{
|
|
82
79
|
"via": "azure-ai-foundry",
|
|
@@ -84,7 +81,10 @@
|
|
|
84
81
|
"status": "legacy",
|
|
85
82
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
86
83
|
}
|
|
87
|
-
]
|
|
84
|
+
],
|
|
85
|
+
"announced": "2026-04-22",
|
|
86
|
+
"shutdown": "2026-10-23",
|
|
87
|
+
"replacement": "gpt-5.6-sol"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"id": "o3-mini-2025-01-31",
|
|
@@ -92,9 +92,6 @@
|
|
|
92
92
|
"o3-mini"
|
|
93
93
|
],
|
|
94
94
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
95
|
-
"announced": "2026-04-22",
|
|
96
|
-
"shutdown": "2026-10-23",
|
|
97
|
-
"replacement": "gpt-5.6-sol",
|
|
98
95
|
"distributions": [
|
|
99
96
|
{
|
|
100
97
|
"via": "azure-ai-foundry",
|
|
@@ -102,14 +99,14 @@
|
|
|
102
99
|
"status": "legacy",
|
|
103
100
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
104
101
|
}
|
|
105
|
-
]
|
|
102
|
+
],
|
|
103
|
+
"announced": "2026-04-22",
|
|
104
|
+
"shutdown": "2026-10-23",
|
|
105
|
+
"replacement": "gpt-5.6-sol"
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
"id": "gpt-5-2025-08-07",
|
|
109
109
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
110
|
-
"announced": "2026-06-11",
|
|
111
|
-
"shutdown": "2026-12-11",
|
|
112
|
-
"replacement": "gpt-5.6-sol",
|
|
113
110
|
"distributions": [
|
|
114
111
|
{
|
|
115
112
|
"via": "azure-ai-foundry",
|
|
@@ -117,7 +114,10 @@
|
|
|
117
114
|
"status": "active",
|
|
118
115
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
119
116
|
}
|
|
120
|
-
]
|
|
117
|
+
],
|
|
118
|
+
"announced": "2026-06-11",
|
|
119
|
+
"shutdown": "2026-12-11",
|
|
120
|
+
"replacement": "gpt-5.6-sol"
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
123
|
"id": "o3-2025-04-16",
|
|
@@ -125,9 +125,6 @@
|
|
|
125
125
|
"o3"
|
|
126
126
|
],
|
|
127
127
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
128
|
-
"announced": "2026-06-11",
|
|
129
|
-
"shutdown": "2026-12-11",
|
|
130
|
-
"replacement": "gpt-5.6-sol",
|
|
131
128
|
"distributions": [
|
|
132
129
|
{
|
|
133
130
|
"via": "azure-ai-foundry",
|
|
@@ -135,7 +132,10 @@
|
|
|
135
132
|
"status": "active",
|
|
136
133
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
137
134
|
}
|
|
138
|
-
]
|
|
135
|
+
],
|
|
136
|
+
"announced": "2026-06-11",
|
|
137
|
+
"shutdown": "2026-12-11",
|
|
138
|
+
"replacement": "gpt-5.6-sol"
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
"id": "o3-pro-2025-06-10",
|
|
@@ -143,10 +143,6 @@
|
|
|
143
143
|
"o3-pro"
|
|
144
144
|
],
|
|
145
145
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
146
|
-
"announced": "2026-06-11",
|
|
147
|
-
"shutdown": "2026-12-11",
|
|
148
|
-
"replacement": "gpt-5.6-sol",
|
|
149
|
-
"replacement_note": "reasoning.mode: pro",
|
|
150
146
|
"distributions": [
|
|
151
147
|
{
|
|
152
148
|
"via": "azure-ai-foundry",
|
|
@@ -154,7 +150,11 @@
|
|
|
154
150
|
"status": "active",
|
|
155
151
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
156
152
|
}
|
|
157
|
-
]
|
|
153
|
+
],
|
|
154
|
+
"announced": "2026-06-11",
|
|
155
|
+
"shutdown": "2026-12-11",
|
|
156
|
+
"replacement": "gpt-5.6-sol",
|
|
157
|
+
"replacement_note": "reasoning.mode: pro"
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
"id": "gpt-5.6-sol",
|
|
@@ -165,6 +165,12 @@
|
|
|
165
165
|
"date_precision": "tentative",
|
|
166
166
|
"status": "active",
|
|
167
167
|
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-openai-gpt-56-sol.html"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"via": "azure-ai-foundry",
|
|
171
|
+
"shutdown": "2028-01-11",
|
|
172
|
+
"status": "active",
|
|
173
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
168
174
|
}
|
|
169
175
|
]
|
|
170
176
|
},
|
|
@@ -177,6 +183,12 @@
|
|
|
177
183
|
"date_precision": "tentative",
|
|
178
184
|
"status": "active",
|
|
179
185
|
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-openai-gpt-56-terra.html"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"via": "azure-ai-foundry",
|
|
189
|
+
"shutdown": "2028-01-11",
|
|
190
|
+
"status": "active",
|
|
191
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
180
192
|
}
|
|
181
193
|
]
|
|
182
194
|
},
|
|
@@ -189,6 +201,12 @@
|
|
|
189
201
|
"date_precision": "tentative",
|
|
190
202
|
"status": "active",
|
|
191
203
|
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-openai-gpt-56-luna.html"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"via": "azure-ai-foundry",
|
|
207
|
+
"shutdown": "2028-01-11",
|
|
208
|
+
"status": "active",
|
|
209
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
192
210
|
}
|
|
193
211
|
]
|
|
194
212
|
},
|
|
@@ -251,9 +269,6 @@
|
|
|
251
269
|
{
|
|
252
270
|
"id": "gpt-4o-mini-transcribe-2025-03-20",
|
|
253
271
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
254
|
-
"announced": "2026-07-20",
|
|
255
|
-
"shutdown": "2027-01-20",
|
|
256
|
-
"replacement": "gpt-4o-mini-transcribe-2025-12-15",
|
|
257
272
|
"distributions": [
|
|
258
273
|
{
|
|
259
274
|
"via": "azure-ai-foundry",
|
|
@@ -261,14 +276,14 @@
|
|
|
261
276
|
"status": "active",
|
|
262
277
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
263
278
|
}
|
|
264
|
-
]
|
|
279
|
+
],
|
|
280
|
+
"announced": "2026-07-20",
|
|
281
|
+
"shutdown": "2027-01-20",
|
|
282
|
+
"replacement": "gpt-4o-mini-transcribe-2025-12-15"
|
|
265
283
|
},
|
|
266
284
|
{
|
|
267
285
|
"id": "gpt-5-mini-2025-08-07",
|
|
268
286
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
269
|
-
"announced": "2026-06-11",
|
|
270
|
-
"shutdown": "2026-12-11",
|
|
271
|
-
"replacement": "gpt-5.6-terra",
|
|
272
287
|
"distributions": [
|
|
273
288
|
{
|
|
274
289
|
"via": "azure-ai-foundry",
|
|
@@ -276,14 +291,14 @@
|
|
|
276
291
|
"status": "active",
|
|
277
292
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
278
293
|
}
|
|
279
|
-
]
|
|
294
|
+
],
|
|
295
|
+
"announced": "2026-06-11",
|
|
296
|
+
"shutdown": "2026-12-11",
|
|
297
|
+
"replacement": "gpt-5.6-terra"
|
|
280
298
|
},
|
|
281
299
|
{
|
|
282
300
|
"id": "gpt-5-nano-2025-08-07",
|
|
283
301
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
284
|
-
"announced": "2026-06-11",
|
|
285
|
-
"shutdown": "2026-12-11",
|
|
286
|
-
"replacement": "gpt-5.6-luna",
|
|
287
302
|
"distributions": [
|
|
288
303
|
{
|
|
289
304
|
"via": "azure-ai-foundry",
|
|
@@ -291,15 +306,14 @@
|
|
|
291
306
|
"status": "active",
|
|
292
307
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
293
308
|
}
|
|
294
|
-
]
|
|
309
|
+
],
|
|
310
|
+
"announced": "2026-06-11",
|
|
311
|
+
"shutdown": "2026-12-11",
|
|
312
|
+
"replacement": "gpt-5.6-luna"
|
|
295
313
|
},
|
|
296
314
|
{
|
|
297
315
|
"id": "gpt-5-pro-2025-10-06",
|
|
298
316
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
299
|
-
"announced": "2026-06-11",
|
|
300
|
-
"shutdown": "2026-12-11",
|
|
301
|
-
"replacement": "gpt-5.6-sol",
|
|
302
|
-
"replacement_note": "reasoning.mode: pro",
|
|
303
317
|
"distributions": [
|
|
304
318
|
{
|
|
305
319
|
"via": "azure-ai-foundry",
|
|
@@ -307,21 +321,41 @@
|
|
|
307
321
|
"status": "active",
|
|
308
322
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
309
323
|
}
|
|
310
|
-
]
|
|
324
|
+
],
|
|
325
|
+
"announced": "2026-06-11",
|
|
326
|
+
"shutdown": "2026-12-11",
|
|
327
|
+
"replacement": "gpt-5.6-sol",
|
|
328
|
+
"replacement_note": "reasoning.mode: pro"
|
|
311
329
|
},
|
|
312
330
|
{
|
|
313
331
|
"id": "gpt-image-1-mini",
|
|
314
332
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
315
333
|
"announced": "2026-06-02",
|
|
316
334
|
"shutdown": "2026-12-01",
|
|
317
|
-
"replacement": "gpt-image-2"
|
|
335
|
+
"replacement": "gpt-image-2",
|
|
336
|
+
"distributions": [
|
|
337
|
+
{
|
|
338
|
+
"via": "azure-ai-foundry",
|
|
339
|
+
"shutdown": "2027-04-07",
|
|
340
|
+
"status": "active",
|
|
341
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
342
|
+
}
|
|
343
|
+
]
|
|
318
344
|
},
|
|
319
345
|
{
|
|
320
346
|
"id": "gpt-image-1.5",
|
|
321
347
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
322
348
|
"announced": "2026-06-02",
|
|
323
349
|
"shutdown": "2026-12-01",
|
|
324
|
-
"replacement": "gpt-image-2"
|
|
350
|
+
"replacement": "gpt-image-2",
|
|
351
|
+
"distributions": [
|
|
352
|
+
{
|
|
353
|
+
"via": "azure-ai-foundry",
|
|
354
|
+
"shutdown": "2027-06-16",
|
|
355
|
+
"status": "active",
|
|
356
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
357
|
+
}
|
|
358
|
+
]
|
|
325
359
|
},
|
|
326
360
|
{
|
|
327
361
|
"id": "chatgpt-image-latest",
|
|
@@ -357,9 +391,6 @@
|
|
|
357
391
|
"aliases": [
|
|
358
392
|
"gpt-4.1-nano"
|
|
359
393
|
],
|
|
360
|
-
"announced": "2026-04-22",
|
|
361
|
-
"shutdown": "2026-10-23",
|
|
362
|
-
"replacement": "gpt-5.6-luna",
|
|
363
394
|
"distributions": [
|
|
364
395
|
{
|
|
365
396
|
"via": "azure-ai-foundry",
|
|
@@ -367,14 +398,14 @@
|
|
|
367
398
|
"status": "active",
|
|
368
399
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
369
400
|
}
|
|
370
|
-
]
|
|
401
|
+
],
|
|
402
|
+
"announced": "2026-04-22",
|
|
403
|
+
"shutdown": "2026-10-23",
|
|
404
|
+
"replacement": "gpt-5.6-luna"
|
|
371
405
|
},
|
|
372
406
|
{
|
|
373
407
|
"id": "gpt-4o-2024-05-13",
|
|
374
408
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
375
|
-
"announced": "2026-04-22",
|
|
376
|
-
"shutdown": "2026-10-23",
|
|
377
|
-
"replacement": "gpt-5.6-sol",
|
|
378
409
|
"distributions": [
|
|
379
410
|
{
|
|
380
411
|
"via": "azure-ai-foundry",
|
|
@@ -382,14 +413,25 @@
|
|
|
382
413
|
"status": "legacy",
|
|
383
414
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
384
415
|
}
|
|
385
|
-
]
|
|
416
|
+
],
|
|
417
|
+
"announced": "2026-04-22",
|
|
418
|
+
"shutdown": "2026-10-23",
|
|
419
|
+
"replacement": "gpt-5.6-sol"
|
|
386
420
|
},
|
|
387
421
|
{
|
|
388
422
|
"id": "gpt-image-1",
|
|
389
423
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
390
424
|
"announced": "2026-04-22",
|
|
391
425
|
"shutdown": "2026-10-23",
|
|
392
|
-
"replacement": "gpt-image-2"
|
|
426
|
+
"replacement": "gpt-image-2",
|
|
427
|
+
"distributions": [
|
|
428
|
+
{
|
|
429
|
+
"via": "azure-ai-foundry",
|
|
430
|
+
"shutdown": "2026-10-23",
|
|
431
|
+
"status": "active",
|
|
432
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
433
|
+
}
|
|
434
|
+
]
|
|
393
435
|
},
|
|
394
436
|
{
|
|
395
437
|
"id": "o1-pro-2025-03-19",
|
|
@@ -397,10 +439,6 @@
|
|
|
397
439
|
"aliases": [
|
|
398
440
|
"o1-pro"
|
|
399
441
|
],
|
|
400
|
-
"announced": "2026-04-22",
|
|
401
|
-
"shutdown": "2026-10-23",
|
|
402
|
-
"replacement": "gpt-5.6-sol",
|
|
403
|
-
"replacement_note": "reasoning.mode: pro",
|
|
404
442
|
"distributions": [
|
|
405
443
|
{
|
|
406
444
|
"via": "azure-ai-foundry",
|
|
@@ -408,7 +446,11 @@
|
|
|
408
446
|
"status": "active",
|
|
409
447
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
410
448
|
}
|
|
411
|
-
]
|
|
449
|
+
],
|
|
450
|
+
"announced": "2026-04-22",
|
|
451
|
+
"shutdown": "2026-10-23",
|
|
452
|
+
"replacement": "gpt-5.6-sol",
|
|
453
|
+
"replacement_note": "reasoning.mode: pro"
|
|
412
454
|
},
|
|
413
455
|
{
|
|
414
456
|
"id": "ft-o4-mini-2025-04-16",
|
|
@@ -423,9 +465,6 @@
|
|
|
423
465
|
"aliases": [
|
|
424
466
|
"o4-mini"
|
|
425
467
|
],
|
|
426
|
-
"announced": "2026-04-22",
|
|
427
|
-
"shutdown": "2026-10-23",
|
|
428
|
-
"replacement": "gpt-5.6-terra",
|
|
429
468
|
"distributions": [
|
|
430
469
|
{
|
|
431
470
|
"via": "azure-ai-foundry",
|
|
@@ -433,7 +472,10 @@
|
|
|
433
472
|
"status": "legacy",
|
|
434
473
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
435
474
|
}
|
|
436
|
-
]
|
|
475
|
+
],
|
|
476
|
+
"announced": "2026-04-22",
|
|
477
|
+
"shutdown": "2026-10-23",
|
|
478
|
+
"replacement": "gpt-5.6-terra"
|
|
437
479
|
},
|
|
438
480
|
{
|
|
439
481
|
"id": "ft-gpt-3.5-turbo",
|
|
@@ -485,8 +527,6 @@
|
|
|
485
527
|
{
|
|
486
528
|
"id": "sora-2-2025-10-06",
|
|
487
529
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
488
|
-
"announced": "2026-03-24",
|
|
489
|
-
"shutdown": "2026-09-24",
|
|
490
530
|
"distributions": [
|
|
491
531
|
{
|
|
492
532
|
"via": "azure-ai-foundry",
|
|
@@ -494,13 +534,13 @@
|
|
|
494
534
|
"status": "active",
|
|
495
535
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
496
536
|
}
|
|
497
|
-
]
|
|
537
|
+
],
|
|
538
|
+
"announced": "2026-03-24",
|
|
539
|
+
"shutdown": "2026-09-24"
|
|
498
540
|
},
|
|
499
541
|
{
|
|
500
542
|
"id": "sora-2-2025-12-08",
|
|
501
543
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
502
|
-
"announced": "2026-03-24",
|
|
503
|
-
"shutdown": "2026-09-24",
|
|
504
544
|
"distributions": [
|
|
505
545
|
{
|
|
506
546
|
"via": "azure-ai-foundry",
|
|
@@ -508,7 +548,9 @@
|
|
|
508
548
|
"status": "active",
|
|
509
549
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
510
550
|
}
|
|
511
|
-
]
|
|
551
|
+
],
|
|
552
|
+
"announced": "2026-03-24",
|
|
553
|
+
"shutdown": "2026-09-24"
|
|
512
554
|
},
|
|
513
555
|
{
|
|
514
556
|
"id": "sora-2-pro-2025-10-06",
|
|
@@ -592,7 +634,15 @@
|
|
|
592
634
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
593
635
|
"announced": "2026-04-22",
|
|
594
636
|
"shutdown": "2026-07-23",
|
|
595
|
-
"replacement": "gpt-5.6-sol"
|
|
637
|
+
"replacement": "gpt-5.6-sol",
|
|
638
|
+
"distributions": [
|
|
639
|
+
{
|
|
640
|
+
"via": "azure-ai-foundry",
|
|
641
|
+
"shutdown": "2027-03-17",
|
|
642
|
+
"status": "active",
|
|
643
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
644
|
+
}
|
|
645
|
+
]
|
|
596
646
|
},
|
|
597
647
|
{
|
|
598
648
|
"id": "gpt-5.1-chat-latest",
|
|
@@ -606,28 +656,49 @@
|
|
|
606
656
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
607
657
|
"announced": "2026-04-22",
|
|
608
658
|
"shutdown": "2026-07-23",
|
|
609
|
-
"replacement": "gpt-5.6-sol"
|
|
659
|
+
"replacement": "gpt-5.6-sol",
|
|
660
|
+
"distributions": [
|
|
661
|
+
{
|
|
662
|
+
"via": "azure-ai-foundry",
|
|
663
|
+
"shutdown": "2027-05-15",
|
|
664
|
+
"status": "active",
|
|
665
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
666
|
+
}
|
|
667
|
+
]
|
|
610
668
|
},
|
|
611
669
|
{
|
|
612
670
|
"id": "gpt-5.1-codex-max",
|
|
613
671
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
614
672
|
"announced": "2026-04-22",
|
|
615
673
|
"shutdown": "2026-07-23",
|
|
616
|
-
"replacement": "gpt-5.6-sol"
|
|
674
|
+
"replacement": "gpt-5.6-sol",
|
|
675
|
+
"distributions": [
|
|
676
|
+
{
|
|
677
|
+
"via": "azure-ai-foundry",
|
|
678
|
+
"shutdown": "2027-05-18",
|
|
679
|
+
"status": "active",
|
|
680
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
681
|
+
}
|
|
682
|
+
]
|
|
617
683
|
},
|
|
618
684
|
{
|
|
619
685
|
"id": "gpt-5.1-codex-mini",
|
|
620
686
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
621
687
|
"announced": "2026-04-22",
|
|
622
688
|
"shutdown": "2026-07-23",
|
|
623
|
-
"replacement": "gpt-5.6-terra"
|
|
689
|
+
"replacement": "gpt-5.6-terra",
|
|
690
|
+
"distributions": [
|
|
691
|
+
{
|
|
692
|
+
"via": "azure-ai-foundry",
|
|
693
|
+
"shutdown": "2027-05-15",
|
|
694
|
+
"status": "active",
|
|
695
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
696
|
+
}
|
|
697
|
+
]
|
|
624
698
|
},
|
|
625
699
|
{
|
|
626
700
|
"id": "gpt-audio-mini-2025-10-06",
|
|
627
701
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
628
|
-
"announced": "2026-04-22",
|
|
629
|
-
"shutdown": "2026-07-23",
|
|
630
|
-
"replacement": "gpt-audio-1.5",
|
|
631
702
|
"distributions": [
|
|
632
703
|
{
|
|
633
704
|
"via": "azure-ai-foundry",
|
|
@@ -635,14 +706,14 @@
|
|
|
635
706
|
"status": "active",
|
|
636
707
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
637
708
|
}
|
|
638
|
-
]
|
|
709
|
+
],
|
|
710
|
+
"announced": "2026-04-22",
|
|
711
|
+
"shutdown": "2026-07-23",
|
|
712
|
+
"replacement": "gpt-audio-1.5"
|
|
639
713
|
},
|
|
640
714
|
{
|
|
641
715
|
"id": "gpt-realtime-mini-2025-10-06",
|
|
642
716
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
643
|
-
"announced": "2026-04-22",
|
|
644
|
-
"shutdown": "2026-07-23",
|
|
645
|
-
"replacement": "gpt-realtime-2.1-mini",
|
|
646
717
|
"distributions": [
|
|
647
718
|
{
|
|
648
719
|
"via": "azure-ai-foundry",
|
|
@@ -650,14 +721,25 @@
|
|
|
650
721
|
"status": "active",
|
|
651
722
|
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
652
723
|
}
|
|
653
|
-
]
|
|
724
|
+
],
|
|
725
|
+
"announced": "2026-04-22",
|
|
726
|
+
"shutdown": "2026-07-23",
|
|
727
|
+
"replacement": "gpt-realtime-2.1-mini"
|
|
654
728
|
},
|
|
655
729
|
{
|
|
656
730
|
"id": "gpt-5.2-codex",
|
|
657
731
|
"source": "https://developers.openai.com/api/docs/deprecations",
|
|
658
732
|
"announced": "2026-04-22",
|
|
659
733
|
"shutdown": "2026-07-23",
|
|
660
|
-
"replacement": "gpt-5.6-sol"
|
|
734
|
+
"replacement": "gpt-5.6-sol",
|
|
735
|
+
"distributions": [
|
|
736
|
+
{
|
|
737
|
+
"via": "azure-ai-foundry",
|
|
738
|
+
"shutdown": "2027-07-13",
|
|
739
|
+
"status": "active",
|
|
740
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
741
|
+
}
|
|
742
|
+
]
|
|
661
743
|
},
|
|
662
744
|
{
|
|
663
745
|
"id": "chatgpt-4o-latest",
|
|
@@ -1222,6 +1304,14 @@
|
|
|
1222
1304
|
"replacement_options": [
|
|
1223
1305
|
"gpt-live-transcribe",
|
|
1224
1306
|
"gpt-transcribe"
|
|
1307
|
+
],
|
|
1308
|
+
"distributions": [
|
|
1309
|
+
{
|
|
1310
|
+
"via": "azure-ai-foundry",
|
|
1311
|
+
"shutdown": "2026-10-15",
|
|
1312
|
+
"status": "active",
|
|
1313
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1314
|
+
}
|
|
1225
1315
|
]
|
|
1226
1316
|
},
|
|
1227
1317
|
{
|
|
@@ -1273,6 +1363,14 @@
|
|
|
1273
1363
|
"replacement_options": [
|
|
1274
1364
|
"gpt-live-transcribe",
|
|
1275
1365
|
"gpt-transcribe"
|
|
1366
|
+
],
|
|
1367
|
+
"distributions": [
|
|
1368
|
+
{
|
|
1369
|
+
"via": "azure-ai-foundry",
|
|
1370
|
+
"shutdown": "2027-04-15",
|
|
1371
|
+
"status": "active",
|
|
1372
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1373
|
+
}
|
|
1276
1374
|
]
|
|
1277
1375
|
},
|
|
1278
1376
|
{
|
|
@@ -1394,13 +1492,37 @@
|
|
|
1394
1492
|
]
|
|
1395
1493
|
},
|
|
1396
1494
|
{
|
|
1397
|
-
"id": "gpt-5.3-codex"
|
|
1495
|
+
"id": "gpt-5.3-codex",
|
|
1496
|
+
"distributions": [
|
|
1497
|
+
{
|
|
1498
|
+
"via": "azure-ai-foundry",
|
|
1499
|
+
"shutdown": "2027-08-24",
|
|
1500
|
+
"status": "active",
|
|
1501
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1502
|
+
}
|
|
1503
|
+
]
|
|
1398
1504
|
},
|
|
1399
1505
|
{
|
|
1400
|
-
"id": "gpt-realtime-1.5"
|
|
1506
|
+
"id": "gpt-realtime-1.5",
|
|
1507
|
+
"distributions": [
|
|
1508
|
+
{
|
|
1509
|
+
"via": "azure-ai-foundry",
|
|
1510
|
+
"shutdown": "2027-08-24",
|
|
1511
|
+
"status": "active",
|
|
1512
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1513
|
+
}
|
|
1514
|
+
]
|
|
1401
1515
|
},
|
|
1402
1516
|
{
|
|
1403
|
-
"id": "gpt-audio-1.5"
|
|
1517
|
+
"id": "gpt-audio-1.5",
|
|
1518
|
+
"distributions": [
|
|
1519
|
+
{
|
|
1520
|
+
"via": "azure-ai-foundry",
|
|
1521
|
+
"shutdown": "2027-08-24",
|
|
1522
|
+
"status": "active",
|
|
1523
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1524
|
+
}
|
|
1525
|
+
]
|
|
1404
1526
|
},
|
|
1405
1527
|
{
|
|
1406
1528
|
"id": "gpt-4o-search-preview"
|
|
@@ -1493,6 +1615,12 @@
|
|
|
1493
1615
|
"date_precision": "tentative",
|
|
1494
1616
|
"status": "active",
|
|
1495
1617
|
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-openai-gpt-55.html"
|
|
1618
|
+
},
|
|
1619
|
+
{
|
|
1620
|
+
"via": "azure-ai-foundry",
|
|
1621
|
+
"shutdown": "2027-10-26",
|
|
1622
|
+
"status": "active",
|
|
1623
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1496
1624
|
}
|
|
1497
1625
|
]
|
|
1498
1626
|
},
|
|
@@ -1512,16 +1640,40 @@
|
|
|
1512
1640
|
"id": "gpt-realtime-translate"
|
|
1513
1641
|
},
|
|
1514
1642
|
{
|
|
1515
|
-
"id": "gpt-realtime-2"
|
|
1643
|
+
"id": "gpt-realtime-2",
|
|
1644
|
+
"distributions": [
|
|
1645
|
+
{
|
|
1646
|
+
"via": "azure-ai-foundry",
|
|
1647
|
+
"shutdown": "2026-08-31",
|
|
1648
|
+
"status": "active",
|
|
1649
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1650
|
+
}
|
|
1651
|
+
]
|
|
1516
1652
|
},
|
|
1517
1653
|
{
|
|
1518
1654
|
"id": "gpt-realtime-whisper"
|
|
1519
1655
|
},
|
|
1520
1656
|
{
|
|
1521
|
-
"id": "gpt-realtime-2.1"
|
|
1657
|
+
"id": "gpt-realtime-2.1",
|
|
1658
|
+
"distributions": [
|
|
1659
|
+
{
|
|
1660
|
+
"via": "azure-ai-foundry",
|
|
1661
|
+
"shutdown": "2027-06-25",
|
|
1662
|
+
"status": "active",
|
|
1663
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1664
|
+
}
|
|
1665
|
+
]
|
|
1522
1666
|
},
|
|
1523
1667
|
{
|
|
1524
|
-
"id": "gpt-realtime-2.1-mini"
|
|
1668
|
+
"id": "gpt-realtime-2.1-mini",
|
|
1669
|
+
"distributions": [
|
|
1670
|
+
{
|
|
1671
|
+
"via": "azure-ai-foundry",
|
|
1672
|
+
"shutdown": "2027-06-25",
|
|
1673
|
+
"status": "active",
|
|
1674
|
+
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
|
|
1675
|
+
}
|
|
1676
|
+
]
|
|
1525
1677
|
},
|
|
1526
1678
|
{
|
|
1527
1679
|
"id": "gpt-transcribe"
|
package/lib/feeds.mjs
CHANGED
|
@@ -195,6 +195,28 @@ export const lifecycleFor = (entry, options) => {
|
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
export const captureWindowFor = (entry, lifecycle, { today = new Date() } = {}) => {
|
|
199
|
+
if (!['retiring', 'retired', 'scheduled'].includes(lifecycle.status)) return null
|
|
200
|
+
const todayDate = today.toISOString().slice(0, 10)
|
|
201
|
+
const futureDate = shutdown => typeof shutdown === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(shutdown) && shutdown > todayDate
|
|
202
|
+
const publisherClock = lifecycle.via === 'publisher' || lifecycle.via === 'publisher-fallback'
|
|
203
|
+
const alternatives = (entry.distributions ?? [])
|
|
204
|
+
.filter(row => (publisherClock || row.via !== lifecycle.via) && row.status !== 'retired' && futureDate(row.shutdown))
|
|
205
|
+
.map(row => ({ via: row.via, until: row.shutdown, date_precision: row.date_precision ?? null, status: row.status ?? null }))
|
|
206
|
+
if (!publisherClock && futureDate(entry.shutdown)) {
|
|
207
|
+
alternatives.push({ via: 'publisher', until: entry.shutdown, date_precision: entry.date_precision ?? null, status: null })
|
|
208
|
+
}
|
|
209
|
+
const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0
|
|
210
|
+
alternatives.sort((a, b) => compare(a.until, b.until) || compare(a.via, b.via))
|
|
211
|
+
const until = lifecycle.status === 'retired' ? null : lifecycle.shutdown
|
|
212
|
+
return {
|
|
213
|
+
until,
|
|
214
|
+
date_precision: until !== null ? lifecycle.date_precision ?? null : null,
|
|
215
|
+
via: lifecycle.via,
|
|
216
|
+
alternatives,
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
198
220
|
export const findingFromRef = (ref, options) => {
|
|
199
221
|
const {
|
|
200
222
|
days,
|
|
@@ -243,6 +265,7 @@ export const findingFromRef = (ref, options) => {
|
|
|
243
265
|
replacement_options: ref.entry.replacement_options ?? null,
|
|
244
266
|
replacement_note: ref.entry.replacement_note ?? null,
|
|
245
267
|
threshold_days: days,
|
|
268
|
+
capture: captureWindowFor(ref.entry, lifecycle, { today }),
|
|
246
269
|
...(waiver ? { waiver } : {}),
|
|
247
270
|
}
|
|
248
271
|
return finding
|