Skip to content

feat(models): add deprecation notices for legacy Qwen and Gemini models - #3288

Merged
steebchen merged 3 commits into
theopenco:mainfrom
vicovaro:feat/deprecation-notices
Jul 29, 2026
Merged

steebchen merged 3 commits into
theopenco:mainfrom
vicovaro:feat/deprecation-notices

Conversation

@vicovaro

@vicovaro vicovaro commented Jul 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds deactivatedAt notices for models scheduled for retirement.

Qwen Models (Alibaba Cloud)

Scheduled for retirement October 10, 2026.

Model Provider Successor
qwen3-vl-flash alibaba qwen3.6-flash
qwen3-coder-plus alibaba qwen3.7-plus
qwen3-max alibaba qwen3.7-max
qwen3.6-max-preview alibaba qwen3.7-max

Reference: Alibaba Cloud Service Notice

Gemini Models (Google AI)

Scheduled for retirement October 16, 2026.

Model Successor
gemini-2.5-pro gemini-3.1-pro-preview
gemini-2.5-flash gemini-3.6-flash
gemini-2.5-flash-lite gemini-3.1-flash-lite

Reference: Gemini API Deprecation Schedule

Novita AI Models

Scheduled for retirement July 1, 2026. Three Novita-hosted Qwen models had their deactivatedAt corrected to match the official date.

Model Provider Successor
qwen3-vl-8b-instruct novita qwen3.6-27b
qwen3-next-80b-a3b-thinking novita qwen3.6-35b-a3b
qwen3-vl-30b-a3b-thinking novita qwen3.6-35b-a3b

11 additional models in Novita's deprecation notice either lack Novita mappings in the catalogue or already had earlier deactivatedAt dates from prior migrations.

Reference: Novita AI Changelog

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Updates
    • Updated availability schedules for several Alibaba-hosted models.
    • Updated availability schedules for Gemini 2.5 Pro, Flash, and Flash-Lite models across supported Google providers.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a8ecf57d-eda3-4a70-9aed-c463792cc638

📥 Commits

Reviewing files that changed from the base of the PR and between d515918 and 1b56e29.

📒 Files selected for processing (2)
  • packages/models/src/models/alibaba.ts
  • packages/models/src/models/google.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/models/src/models/google.ts

Walkthrough

Alibaba and Google model-provider catalog entries now include updated deactivatedAt timestamps for selected Qwen and Gemini models.

Changes

Model provider metadata

Layer / File(s) Summary
Add provider deactivation dates
packages/models/src/models/alibaba.ts, packages/models/src/models/google.ts
Selected Alibaba providers are marked for deactivation on October 10, 2026, three Novita dates change to July 1, 2026, and selected Google providers are marked for October 16, 2026.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested reviewers: steebchen, smakosh

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding deprecation notices for legacy Qwen and Gemini models.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vicovaro
vicovaro marked this pull request as ready for review July 28, 2026 16:20

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/models/src/models/alibaba.ts`:
- Line 2770: Remove the deactivatedAt property from the qwen3.6-plus model
definition, leaving its supported routing configuration unchanged; do not alter
the October 10, 2026 date for qwen3.6-max-preview.
- Line 1357: Remove the deactivatedAt metadata from both Novita mappings for
qwen/qwen3-max and qwen/qwen3-vl-235b-a22b-instruct at
packages/models/src/models/alibaba.ts lines 1357-1357 and 2433-2433; retain
retirement metadata only on the Alibaba Cloud Model Studio mappings.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7a3e91e8-2022-45ce-8574-13376ce7caf5

📥 Commits

Reviewing files that changed from the base of the PR and between 99a9e45 and ed55423.

📒 Files selected for processing (2)
  • packages/models/src/models/alibaba.ts
  • packages/models/src/models/google.ts

Comment thread packages/models/src/models/alibaba.ts Outdated
Comment thread packages/models/src/models/alibaba.ts Outdated
@vicovaro
vicovaro force-pushed the feat/deprecation-notices branch from ed55423 to d515918 Compare July 28, 2026 16:31
@vicovaro
vicovaro marked this pull request as draft July 28, 2026 16:39
@vicovaro
vicovaro force-pushed the feat/deprecation-notices branch from 4279d2e to e9775b3 Compare July 28, 2026 17:07
@vicovaro
vicovaro marked this pull request as ready for review July 28, 2026 17:21
@vicovaro
vicovaro force-pushed the feat/deprecation-notices branch from e9775b3 to f83611a Compare July 28, 2026 17:27
vicovaro and others added 3 commits July 28, 2026 13:32
Deprecates qwen3-vl-flash, qwen3-coder-plus, qwen3-max, and qwen3.6-max-preview
with deactivatedAt set to October 10, 2026 per Alibaba Cloud Service Notice
https://www.alibabacloud.com/en/notice/detail?_p_lc=1&id=1950

Co-Authored-By: Claude <noreply@anthropic.com>
Deprecates gemini-2.5-pro, gemini-2.5-flash, and gemini-2.5-flash-lite
with deactivatedAt set to October 16, 2026 per Google AI deprecation schedule
https://ai.google.dev/gemini-api/docs/deprecations

Co-Authored-By: Claude <noreply@anthropic.com>
Align deactivatedAt with Novita's official deprecation date (2026-07-01)
for qwen3-vl-8b-instruct, qwen3-next-80b-a3b-thinking, and
qwen3-vl-30b-a3b-thinking. The other 11 models in Novita's notice
either lack Novita mappings in the catalogue or already had earlier
deactivatedAt dates from prior migrations.

Reference: https://novita.ai/docs/changelog/25-06-26#jun-25-2026-model-deprecation-notice

Co-Authored-By: Claude <noreply@anthropic.com>
@vicovaro
vicovaro force-pushed the feat/deprecation-notices branch from f83611a to 1b56e29 Compare July 28, 2026 17:33
@vicovaro

Copy link
Copy Markdown
Contributor Author

For the successor of Qwen3-VL-Flash, it's Qwen3.6 Flash but currently it is not vision supported on LLMGateway, which is false. I have made a parallel PR to fix it #3291

@steebchen

Copy link
Copy Markdown
Member

E2E results — all green ✅

Ran the full gateway e2e suite scoped to every still-active mapping this PR touches:

TEST_MODELS="alibaba/qwen3-coder-plus,alibaba/qwen3-max,alibaba/qwen3-vl-flash,alibaba/qwen3.6-max-preview,google-ai-studio/gemini-2.5-pro,google-ai-studio/gemini-2.5-flash,google-ai-studio/gemini-2.5-flash-lite,google-vertex/gemini-2.5-pro,google-vertex/gemini-2.5-flash,google-vertex/gemini-2.5-flash-lite" FULL_MODE=true pnpm test:e2e

All six Gemini mappings (2.5-pro, 2.5-flash, 2.5-flash-lite × google-ai-studio / google-vertex) and alibaba/qwen3-coder-plus, qwen3-max, qwen3.6-max-preview pass every applicable test — basic, streaming, JSON, JSON schema, reasoning, reasoning effort tiers, tool calls, streaming tool calls, tool-call results, empty-response handling. qwen3-vl-flash:singapore passes too.

All 21 failures were alibaba/qwen3-vl-flash on :us-virginia / :cn-beijing (and the unpinned variant, which cheapest-region-routes to one of them): 42 × upstream invalid_api_key because the seeded e2e BYOK key has keyRegion: "singapore". Pre-existing env limitation, unrelated to this PR.

Since deactivatedAt is date-compared everywhere (resolve-model-info.ts, realtime/catalog.ts, mcp.ts, videos.ts, isMappingDeactivated), the future-dated 2026-10-10 / 2026-10-16 stamps are inert until those dates — confirmed by the mappings still routing normally above. The three Novita corrections (2026-07-11 → 2026-07-01) move a date that was already in the past, so no behaviour change there either.

Both retirement dates check out: Alibaba's model-depreciation page gives Oct 10 2026 00:00:00 for qwen3.6-max-preview / qwen3-max / qwen3-vl-flash / qwen3-coder-plus, and ai.google.dev/gemini-api/docs/deprecations gives Oct 16 2026 for the three Gemini 2.5 models. One note: the alibabacloud.com/en/notice/detail?id=1950 link in the description doesn't render any content server-side — help.aliyun.com/en/model-studio/model-depreciation is the fetchable source if you want to swap it.

Enabling auto-merge.

@steebchen
steebchen added this pull request to the merge queue Jul 29, 2026
Merged via the queue into theopenco:main with commit 2262df1 Jul 29, 2026
11 checks passed
RATCHAW pushed a commit to RATCHAW/llmgateway that referenced this pull request Jul 29, 2026
## Summary

Follow-up to the Google deprecation notice for the Gemini 2.5 endpoints
on Vertex AI (now "Gemini Enterprise Agent Platform").

**The catalogue already handles the shutdown correctly** — PR theopenco#3288 set
`deactivatedAt: 2026-10-16` on both the `google-ai-studio` and
`google-vertex` mappings for `gemini-2.5-pro`, `gemini-2.5-flash` and
`gemini-2.5-flash-lite`, and `gemini-2.5-flash-image` already carries
`2026-10-02`. No `packages/models` changes are needed.

What was *not* handled: live docs, guides and a few code-level defaults
still recommend Gemini 2.5 as *the* Google model. Those go stale the day
the endpoints die. This PR sweeps them to the successors Google names.

## Changes

| Area | Before | After |
| --- | --- | --- |
| `docs/features/{anthropic-endpoint,service-tiers,documents}` |
`gemini-2.5-pro` / `gemini-2.5-flash` | `gemini-3.1-pro-preview` /
`gemini-3.6-flash` |
| `docs/guides/{claude-code,autohand,openclaw}` + `apps/ui` mirrors |
same | same |
| `token-cost-calculator` popular models | `gemini-2.5-pro`,
`gemini-2.5-flash` | `gemini-3.1-pro-preview`, `gemini-3.6-flash` |
| models-directory `translation` category | `gemini-2.5-flash`,
`gemini-2.5-flash-lite` | `gemini-3.6-flash`, `gemini-3.1-flash-lite` |
| `get-provider-endpoint` Vertex fallback model |
`gemini-2.5-flash-lite` | `gemini-3.1-flash-lite` |
| `/v1/images/generations` OpenAPI example + no-image error hint |
`gemini-2.5-flash-image` (retires 2026-10-02) |
`gemini-3.1-flash-image-preview` |

Also fixes a real bug in the openclaw guide: it advertised the model id
`gemini-3-1-pro-preview`, which does not exist in the catalogue (the id
is `gemini-3.1-pro-preview`), so anyone copy-pasting that config got a
model-not-found.

Blog and changelog entries are point-in-time records and were
deliberately left untouched.

## Note on the date in the notice

The customer email says **October 20, 2026** for the Vertex endpoints.
Google's own published lifecycle docs say **October 16, 2026** for these
three models on *both* Vertex and the Gemini API, confirmed by the
Vertex release note of April 2, 2026 ("The retirement dates for Gemini
2.5 Pro, Gemini 2.5 Flash-Lite, and Gemini 2.5 Flash have been updated
to October 16, 2026"). No Google page carries an October 20 date.

Our `deactivatedAt` stays at 2026-10-16 deliberately — if the true date
is later, we lose four days of availability; if we moved to the 20th and
the docs are right, we'd route to a dead endpoint for four days and
serve user-facing errors. Conservative wins.

## Test plan

- `pnpm format` ✅
- `pnpm build` ✅ (17/17 tasks)
- `pnpm test:unit` ✅ (3389 passed, 2 skipped)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated Gemini model examples and recommendations across integration,
document-reading, service-tier, and model-selection guides.
* Corrected Gemini model identifiers in OpenClaw configuration and
available-model references.

* **Improvements**
* Updated popular and categorized model lists to feature newer Gemini
models.
  * Updated default Google Vertex-compatible model selection.
  * Refreshed image-related model guidance and error messaging.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude <noreply@anthropic.com>
@vicovaro
vicovaro deleted the feat/deprecation-notices branch August 5, 2026 18:38
steebchen added a commit that referenced this pull request Sep 16, 2026
## Problem

Alibaba Cloud Model Studio retires a batch of legacy models on
**2026-10-10**. After that date every public token-pool call to a
retired model id fails. Four Alibaba mappings were already marked in
#3288; the rest of the batch is still listed as live in our catalogue,
and the MCP `generate-image` tool defaults to one of the retiring
models.

## Approach

Cross-checked the catalogue against the four official Model Studio
notices (mainline, snapshot, historical mainline, long-tail, plus the
consolidated postponement notice that lists every batch) rather than a
summary list, and set `deactivatedAt: new Date("2026-10-10")` on the
eight Alibaba mappings that are still active and appear on those lists:

| Model | Alibaba's recommended replacement |
| --- | --- |
| `qwen-omni-turbo` | `qwen3.5-omni-plus` |
| `qwen-coder-plus` | Qwen3.6/Qwen3.7 series |
| `qwen-image` | `qwen-image-2.0` |
| `qwen-image-plus` | `qwen-image-2.0` |
| `qwen-image-max` | `qwen-image-2.0` |
| `qwen-image-max-2025-12-30` | `qwen-image-2.0` |
| `qwen-image-edit-plus` | `qwen-image-2.0` |
| `qwen-image-edit-max` | `qwen-image-2.0` |

`deactivatedAt` is evaluated against the current time everywhere it is
read, so these mappings keep serving until the cutover and then drop out
of routing, `/models`, the playground and the cost tools on their own.

The remaining retired ids in the notices are either already deactivated
in the catalogue (the `2026-07-08` / `2026-07-13` batch, which covers
the retired DeepSeek, Kimi and GLM mappings on Model Studio) or not
mapped here at all.

Because the whole Qwen image-generation line retires, the follow-on
edits point at `qwen-image-3.0`:

- MCP `generate-image` default model and its example payloads
(`apps/gateway/src/mcp/mcp.ts`), plus the matching docs and dashboard
copy.
- The Alibaba section of the image-generation docs, which is one of the
documented exceptions where listing specific models is preferred.

## Notes for the reviewer

- The internal announcement's model list is looser than the official
notices. Mainline `qwen-max`, `qwen-plus`, `qwen-flash`, `qwen3-vl-plus`
and `qwen3.6-plus` do **not** appear on any of the published retirement
tables — only their dated snapshots and `-us` variants do, and we do not
map those — so they are deliberately left active. Worth a second look if
the notice is amended.
- After the cutover the catalogue has no active `imageInputRequired`
**image** mapping on any provider (the xAI ones are video). Three specs
pin models from this batch and will need repointing on or before
2026-10-10: `packages/actions/src/validate-provider-key.spec.ts`
(`qwen-image-edit-plus`), `apps/api/src/routes/airside.spec.ts`
(`qwen-image-plus`), `apps/gateway/src/chat/managed-credentials.spec.ts`
(`qwen-omni-turbo`). They pass today; repointing them now would need a
live equivalent that does not exist for the image-edit case, so it is
left as a follow-up rather than guessed at.

## Verification

`pnpm format`, `pnpm build`, and the `packages/models`,
`packages/shared` image-config and `packages/actions`
validate-provider-key specs all pass.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Updated image-generation defaults to `qwen-image-3.0`, with
`qwen-image-3.0-pro` shown as an available option.

- **Bug Fixes**
- Updated MCP tool examples, parameter descriptions, and generated usage
guidance to reflect current image-generation model names.

- **Documentation**
- Refreshed image-generation and MCP reference materials with the latest
Alibaba model examples and availability information.

- **Deprecations**
- The following Alibaba models will no longer accept new requests after
October 10, 2026: `qwen-omni-turbo`, legacy Qwen image and image-edit
models, and `qwen-coder-plus`.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants