# What changed in @ai-sdk/deepseek

> 25 changes in @ai-sdk/deepseek 1 to 3 from its official release notes, upgrade guides and advisories: 12 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/@ai-sdk/deepseek/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @ai-sdk/deepseek 3

### New APIs and options

- Adds max as a portable reasoning level, with native provider mappings, compatibility coercions, and budget-based fallback support. (3.0.60) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.60)
- provider-utils adds deleteFromApi. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- FilesV4 call options now support abortSignal. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- FilesV4 gains an optional deleteFile operation. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- FilesV4 gains an optional streaming downloadFile operation. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- FilesV4 gains an optional getFileMetadata operation. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- FilesV4 call options now support headers. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- provider-utils adds postMultipartStreamToApi for streaming multipart uploads with deterministic part ordering and failure-path stream teardown. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- Upload data now accepts a { type: 'stream' } variant. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- Upload results now expose byteSize. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- Upload results now expose createdAt. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- Upload results now expose expiresAt. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)

### Behavior and default changes

- Preserves reasoning content on all assistant turns for future DeepSeek models, using current reasoning-enabled defaults; known pre-V4 versions and legacy chat/reasoner aliases retain previous handling. (1.0.63, 2.0.72, 3.0.64) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.64), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%402.0.72), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%401.0.63)

### Fixes and other changes

- Fixes cached input token reporting for OpenAI-compatible DeepSeek responses. (1.0.61, 2.0.70, 3.0.57) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.57), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%402.0.70), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%401.0.61)
- Uses a standards-compliant User-Agent header. (3.0.56) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.56)
- Fixes streamed tool calls with missing, blank, or repeated IDs. (3.0.55) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.55)
- Tool-result images are now sent as image content parts. (3.0.50) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.50)
- Non-streaming responses without choices now return a typed error. (3.0.49) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.49)
- The deepseek-flash alias is treated as a V4 model so prior-turn reasoning_content is preserved in multi-turn requests. (2.0.64, 3.0.44) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.44), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%402.0.64)
- Preserves reasoning streams across empty tool-call deltas. (1.0.57, 2.0.64, 3.0.43) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.43), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%402.0.64), [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%401.0.57)
- The core uploadFile() helper now forwards abortSignal. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- The core uploadFile() helper now forwards headers. (3.0.38) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.38)
- Preserves complete raw chat usage objects. (3.0.35) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%403.0.35)

## @ai-sdk/deepseek 2

### Fixes and other changes

- Complete raw chat usage objects are now preserved, so developers retain all usage data. (2.0.61) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%402.0.61)

## @ai-sdk/deepseek 1

### Fixes and other changes

- Treats the deepseek-flash alias as a V4 model so prior-turn reasoning_content is preserved in multi-turn requests. (1.0.57) — [release notes](https://github.com/vercel/ai/releases/tag/%40ai-sdk/deepseek%401.0.57)
