v3.1.0
3.1.0 (2026-05-22)
Full Changelog: v3.0.2...v3.1.0
Features
- api: improve sse support (98575ff)
- internal: implement indices array format for query and form serialization (4c876b3)
- support setting headers via env (05acb32)
- internal/types: support eagerly validating pydantic iterators (8d18837)
Bug Fixes
- api: TTS WebSockets require context_id (dbccae8)
- api: WebSocket Error Response should have fewer required properties (2ab3768)
- client: preserve hardcoded query params when merging with user params (07061f5)
- deps: bump minimum typing-extensions version (2960fb8)
- ensure file data are only sent as 1 parameter (63c9488)
- pydantic: do not pass
by_aliasunless set (b3dad90) - sanitize endpoint path params (d0dfe8f)
- tts: Fix errors relating to context_id incorrectly being optional (8f9461a)
- tts: WebsocketResponse.Error (56438a0)
- use correct field name format for multipart file arrays (d4e2141)
- tts: prevent orphaned ws connections from multiple enter calls (d9c2b91)
Performance Improvements
- client: optimize file structure copying in multipart requests (7e8eb23)
Documentation
- api: fix doc links (cf73e5d)
Chores
- ci: bump uv version (de7662b)
- ci: remove release-doctor workflow (441755f)
- ci: skip lint on metadata-only changes (fe9f0c9)
- ci: skip uploading artifacts on stainless-internal branches (9f6be90)
- internal: add request options to SSE classes (fa68332)
- internal: make
test_proxy_environment_variablesmore resilient (fe46748) - internal: make
test_proxy_environment_variablesmore resilient to env (46ed179) - internal: more robust bootstrap script (2628482)
- internal: reformat pyproject.toml (d4c875f)
- internal: tweak CI branches (9dfe6d2)
- internal: update gitignore (823c4ae)
- internal: version bump (b16a3e8)
- internal: version bump (aa1f88f)
- tts: add more descriptions (b1cf472)
- update placeholder string (03b3ef8)