v0.7.29
Gateway engine release 0.7.29. Native data plane: exp-gateway-native 0.3.29.
Highlights
- Hunyuan (hy4-preview) preserved-thinking round-trip. Tencent-native plaintext
reasoning_contentis returned for display and round-tripped across tool-loop turns via a domain-separated, gateway-issued opaque carrier (AES-256-GCM, key bound to the provider credential + route context) — a Harbor/Terminus-2 tool loop works without BYOK TokenHub. Enable-thinking inputs (thinking:{type:"enabled"}, nestedreasoning:{effort},chat_template_kwargs:{enable_thinking:true}) are translated to think mode instead of 400'd. - Per-rung reasoning exposure capability.
ModelCapabilities.reasoning_output_exposedgates plaintext reasoning output per rung (default false), required together with a resolved reasoning-carrier route — an absent capability fails closed and stays stripped even on an exposable endpoint. Exposure is per-rung, never inferred from the base URL.
Also included since 0.7.28
- Pricing: account for
cache_write_input_tokenswhencached_input_tokensis none (#697). - Chat Completions: accept
store:false(no-op retention opt-out) (#761). - Responses: an output-less turn stays continuable from its id (#763).
- Batch lane: failures name the provider's reason on the batch object (#760); an invalid key gets the uniform 401 (#762).