# What changed in @typesafe-ai/sdk

> 31 changes in @typesafe-ai/sdk 0.5 to 0.7 from its official release notes, upgrade guides and advisories: 4 breaking, 20 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@typesafe-ai/sdk/

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

## @typesafe-ai/sdk 0.7

### Breaking changes

- Invalid requests reject the returned promise instead of throwing. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)
- Request payload types are no longer exported. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)

### New APIs and options

- Reference images by names you choose in assets. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)
- Add box questions to locate what their instructions describe in an image; use them with the jev-preview model. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)
- Create images with image() for use in state, question instructions, or criteria. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)
- Write images into text with withAssets and withAssets.join. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)

### Performance

- Request bodies of 1 KiB or more are compressed with zstd on Node.js 22.15 or newer. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)

### Fixes and other changes

- Fix an unhandled rejection on Node.js 22 when a request times out or is aborted mid-body. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)
- More request validation checks are performed. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)
- Score criteria lists built at runtime are now accepted. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)
- Usage now allows null token counts. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0)

## @typesafe-ai/sdk 0.6

### Breaking changes

- Score.criteria now accepts an ordered sequence instead of a dictionary keyed by integers. (0.6.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.6.0)

## @typesafe-ai/sdk 0.5

### Breaking changes

- Node.js 22 or newer is now required to use the SDK. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0), [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)

### New APIs and options

- Pass images keyed by chosen references to use them in plain strings; every asset name must appear in the request or the call rejects before sending. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Ask a box question to locate described content in an image; answers contain edge fractions and confidence may be null. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Use choice questions to define choices whose answer types are inferred from the question. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Pass compression: false to send request bodies uncompressed. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0), [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Create images from base64 data for use in state, question instructions, or criteria. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0), [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Create images from file bytes or a Blob; only PNG and JPEG are accepted, and other formats are rejected with BadRequestError. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Use this model for box questions. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Use noul questions to ask a yes-or-no-style question about the supplied content. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Use score questions to request a score from the supplied options. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- The client provides systemOne for sending state and questions and receiving answers. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Initial public release of the JavaScript and TypeScript SDK, with ESM, CommonJS, and TypeScript declarations. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Set this environment variable to configure the SDK client’s API key. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Set this header to true to enable experimental image support. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0), [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- The SDK introduces a client for making TypeSafe requests. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Write images into text with withAssets.join. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.7.0), [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
- Tag template literals to reference images inside text; an image in an untagged template literal rejects the call before sending. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)

### Performance

- The client compresses request bodies of 1 KiB or more with zstd; smaller bodies are uncompressed, and other runtimes send all bodies uncompressed. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)

### Behavior and default changes

- Requests containing images are sent as multipart/form-data, with each image’s file bytes in its own part. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-js/releases/tag/v0.5.7)
