Changelog
Features
- cfaf75f feat(anthropic): support response_format instead of rejecting it (#963)
- b1de0a9 feat(dashboard): hide user rows with only inactive keys (#975)
- f70bb91 feat(models): add GET /v1/models/{model} retrieve endpoint (#959)
- 1d4ae81 feat(observability): flag and count empty 200 provider responses (#951)
- 6c3d39e feat(plugins): add tag_replace plugin for request value tags (#1005)
Bug Fixes
- 2cace9a fix(audio): forward unknown audio parameters to the provider (#968)
- 28e6447 fix(cache): route /v1/embeddings through the response cache (#962)
- 0d34b58 fix(cache): scope exact response-cache entries to the guardrail chain (#971)
- d1c152d fix(ci): retry the MongoDB image pull when the registry rate-limits it (#1007)
- 62373ae fix(deepseek): apply DeepSeek compatibility to OpenCode Go routes (#985)
- e540765 fix(gateway): name provider instances, keep rate-limit subject spelling, hide upstream URLs (#967)
- f0a7bf4 fix(guardrails): keep llm_judge enforcing on a reasoning judge model (#969)
- 5f4d077 fix(mcp): explain 404 upstream dials and bump go-sdk to v1.8.0 (#987)
- fa24442 fix(mcp): point 405 handshake failures at the transport (#994)
- 6d042df fix(messages): always render a signature on thinking blocks (#964)
- 2b5fc18 fix(providers): adapt provider-hostile parameters and normalize Groq reasoning (#973)
- 4b91505 fix(providers): drop unsupported xAI reasoning effort, parse Groq thinking, strip x_groq (#954)
- ac672ad fix(responses): complete background responses and drop the model check on lifecycle routes (#961)
- eb2aedd fix(responses): drop replayed output item ids on chat translation (#952)
- 957bd86 fix(responses): name the predecessor on streamed chained responses (#950)
- fbe3911 fix(responses): renumber stream sequence numbers when a guardrail edits the stream (#953)
- cd0599f fix(responses): replay chained history for native providers when needed (#956)
- 071fb8e fix(responses): report truncation and normalize the translated output shape (#955)
- 4471cb9 fix(usage): bill media calls by one unit, not two or none (#970)
- 6ca6eb7 fix(usage): keep explicit zero audio usage and document the models dialect (#974)
- 63cc886 fix(zai): forward reasoning effort as reasoning_effort (#999)