v1.1.17
[1.1.17] — 2026-07-06
Provider readiness closeout — the eighth and final phase of the provider-readiness remediation. A hygiene and quality release: shared validators, dead-code removal, broad test coverage, and one security hardening. It contains a single behavior change (the Ollama Cloud chat surface), noted under Changed.
Security
- Gemini now authenticates native calls with the
x-goog-api-keyheader instead of the?key=query parameter. The key was previously part of the request URL, where it could be recorded in request-URL span attributes and proxy access logs. Authentication is otherwise unchanged and the key no longer appears in any request URL.
Changed
- Ollama Cloud chat now uses the OpenAI-compatible
/v1/chat/completionsand/v1/modelsendpoints instead of the native/api/chatand/api/tags, recovering full sampling-parameter coverage, normalized finish reasons, and real upstream tool-call IDs. Embeddings remain on the native/api/embedendpoint; the base URL (https://ollama.com) and theOLLAMA_API_KEYenvironment variable are unchanged. Direction credited to community PR #243. - Transport presets added for Azure AI Foundry, Ollama Cloud, and Perplexity so large-model and long-running first responses are not aborted by the default 30-second header timeout.
Fixed
- Gemini and Vertex AI image generation now surface the returned safety-filter reason when every prediction is filtered, instead of a generic "no images" error.
Internal
- Shared
core.NormalizeEmbeddingInputandcore.ValidateEmbeddingEncodingFormatreplace duplicated per-provider embedding validators (Azure OpenAI and Databricks keep their stricter local validators by design). ExtractedchatParams()/headers()helpers (xAI, Moonshot, OpenRouter, Novita) and a Vertex AIdoPredict()helper; OpenAI chat request bodies now use the pooled buffer path. Removed dead code (Bedrock section banners and unused image fields, AI21 Jurassic token detail, a Cloudflare field, a duplicate Together model id) and split the Gemini embedding path into its own file to stay under the file-size limit. Added request-shape, error-path, and shared streaming error-path tests across many providers.
Contributors
Thanks to everyone who shipped this release:
- v1.1.17 - Provider Readiness Closeout (#328) — @MitulShah1
Full changelog: https://github.com/ferro-labs/ai-gateway/blob/v1.1.17/CHANGELOG.md
Thanks to @gr3enarr0w for the original ollama-cloud /v1 direction (#243).