Tale v0.4.5
0.4.5 is a feature and fix release on the 0.4 line — an in-place update: tale update, then tale deploy. No data migrations ship with it.
Highlights
OpenAI GPT-5 family works on a native OpenAI or Azure credential. Connecting a real key and picking gpt-5.5 400'd: the rewrite always sent max_tokens and temperature: 0.7, both hard-rejected by the GPT-5 reasoning family on api.openai.com and Azure v1. wireDialect: openai-modern on the shipped openai and azure connectors restores the 0.3 behaviour — output cap is max_completion_tokens, custom temperature only for models known not to reason. Third-party OpenAI-compatible hosts keep the classic fields (DeepSeek silently ignores max_completion_tokens). gpt-5.5 also refuses function tools with any effort above none; the catalog declares that, the picker offers no effort levels, and title generation sends the off value so a short title does not burn its budget thinking. Provider 400s now show the full body in Technical details instead of a lone {. Catalog: gpt-5.3-chat → gpt-5.3-chat-latest, gpt-5.6 luna / luna-pro / sol added, gpt-5.5 context corrected to 1,050,000. (#2976)
Short replies stream immediately. Empty-filter replies emit and persist on the first tokens instead of waiting for 120 characters or finalize, so TTFT is first provider SSE text. Thinking stays up until the typewriter paints a glyph. Message information separates You waited (click → first paint) from server Duration / TTFT. (#2977)
Native DeepSeek catalog is V4. deepseek-chat / deepseek-reasoner stopped resolving on 2026-07-24. The picker lists V4 Flash and V4 Pro; thinking is an effort knob, not a second model. A leftover sticky pick of the old id falls back to Auto. (#2978)
Behaviour changes
- Shipped OpenAI and Azure connectors speak
openai-modern. A custom connector that talks to api.openai.com or Azure v1 should declarewireDialect: openai-modernor it will keep sendingmax_tokens+temperature: 0.7and 400 on GPT-5 reasoning models. Third-party OpenAI-compatible endpoints should stay on the default dialect. (#2976) - gpt-5.5 effort is locked off when tools are present (chat always carries tools). The picker explains why instead of offering levels that 400. (#2976)
- Technical details shows the full provider error body (redacted, stack frames stripped). Toasts get a one-line summary. (#2976)
- Native DeepSeek ids changed.
deepseek-chat/deepseek-reasonerare gone; pick V4 Flash / V4 Pro. A sticky old id already falls back to Auto. (#2978) - Message information clocks are named. You waited is click → first paint; Duration / TTFT start at the server, not at send. (#2977)
Migration notes
No new data migrations in 0.4.5 — tale deploy is an image update only. Updating straight from 0.4.0 applies the four 0.4.1 migrations automatically on the way.
Upgrading
tale update # a 0.4.x CLI stays on the 0.4 line and picks up 0.4.5
tale deploy # pulls the 0.4.5 imagesOn 0.3.x? The 0.3 → 0.4 cutover is a fresh deployment, not an upgrade — read the v0.4.0 release notes and Upgrades → 0.3 → 0.4: breaking cutover before moving.
What's Changed
- feat(platform): openai-modern wire dialect + verbatim provider errors by @larryro in #2976
- fix(platform): stream first tokens immediately and name wait clocks by @larryro in #2977
- fix(platform): replace retired DeepSeek aliases with V4 model ids by @larryro in #2978
Full Changelog: v0.4.4...v0.4.5