# What changed in typesafe-sdk

> 29 changes in typesafe-sdk 0.5 to 0.7 from its official release notes, upgrade guides and advisories: 3 breaking, 1 security, 15 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/pypi/typesafe-sdk/

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

## typesafe-sdk 0.7

### Breaking changes

- Request bodies are compressed with zstd by default; non-official APIs may not support this immediately. (0.7.5) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.5)
- The serialization/deserialization library changed from msgspec to pydantic, which may affect developers relying on the previous library. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.0)

### Security

- The API key is validated early, and its value is excluded from logged exceptions. (0.7.1) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.1)

### New APIs and options

- Assets can be referenced in text with `attach_assets`. (0.7.5) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.5)
- Box questions and answers are supported. (0.7.5) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.5)
- Image assets can be created from raw bytes, file paths, base64 strings, and PIL objects. (0.7.5) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.5)
- system_one accepts a response_model argument for selecting a pydantic model and adding type-safety. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.0)

### Behavior and default changes

- Default settings keep all pooled connections alive for 30 seconds. (0.7.3) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.3)

### Fixes and other changes

- Non-finite numbers are serialized as strings instead of invalid JSON tokens. (0.7.4) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.4)
- Prevent async client crashes during concurrent TLS connections with truststore<=0.10.4. (0.7.3) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.3)
- Add more request validation checks. (0.7.3) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.3)
- str subclasses are serialized as strings instead of lists of characters. (0.7.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.0)

## typesafe-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-python/releases/tag/v0.6.0)

### Behavior and default changes

- Error messages now include HTTP details and metadata. (0.6.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.6.0)
- SDK input type annotations now accept abstract types like Mapping. (0.6.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.6.0)
- SDK input type annotations now accept abstract types like Sequence. (0.6.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.6.0)

### Fixes and other changes

- Exceptions and responses can now be pickled. (0.6.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.6.0)
- Invalid values in RetryPolicy are now handled. (0.6.0) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.6.0)

## typesafe-sdk 0.5

### New APIs and options

- Use the asynchronous client to make API calls. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Use Choice to define a question with instructions and criteria in a System One request. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Adds the http2 extra to the typesafe-sdk package for HTTP/2 support. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.7.2), [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Use Noul to define a question with instructions in a System One request. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Use Score to define a question with instructions and criteria in a System One request. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Call the System One API with state and questions using either SDK client. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Set this environment variable to use the SDK with the TypeSafe API. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- The TypeSafe Python SDK is available as a package for making asynchronous or synchronous calls to the TypeSafe API. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Install the pil extra to send Pillow images. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Install the zstd extra to compress request bodies on Python 3.13 and earlier. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
- Use the synchronous client to make API calls. (0.5.7) — [release notes](https://github.com/typesafe-ai/typesafe-sdk-python/releases/tag/v0.5.7)
