0.2.0 (2026-10-06)
Bug Fixes
- ai-gateway: bound SQS telemetry payloads
- ai-gateway: bound telemetry serialization
- ai-gateway: capture stream response model once
- ai-gateway: configure SQS retries explicitly
- ai-gateway: count telemetry message identifiers
- ai-gateway: disable non-idempotent SQS retries
- ai-gateway: tag gateway telemetry events
- Mistral tool-call/cache-key telemetry and bare-text embeddings input
- use American spelling everywhere, including model and column names
- the AI gateway handles image and file inputs each provider can read, and refuses the others with a 400 naming the field
- Handling key_id in gateway
- stop the gateway from rejecting simultaneous requests that share an API key
- a benchmark’s credit reservation no longer moves money out of the balance, so only usage debits it, and released reservations are kept
Changes
- ai-gateway: add message content retention control
- ai-gateway: add Sentry error reporting
- ai-gateway: add Sentry error reporting
- ai-gateway: add Sentry error reporting
- ai-gateway: publish telemetry directly to SQS
- ai-gateway: publish telemetry directly to SQS
- ai-gateway: publish telemetry directly to SQS
- ai-gateway: remove Rust dynamic routing
- ai-gateway: type telemetry content models
- ai-gateway: use typed JSON serialization
- ai-gateway: use typed JSON serialization
- evaluator test calls are billed to the customer’s project and logged there too
- gateway: Configure a Vertex AI Gemini endpoint in express mode
- gateway: support embeddings through /v1/embeddings
- implement the benchmark report page backend
- starting a benchmark sets its estimated cost plus a 20% buffer aside from the credit balance
- the AI gateway reads a model’s thinking syntax with its other capabilities, from the model the request resolves to, instead of a second catalog lookup
- the catalog records the id each provider’s API takes for a model
- the gateway catalog names its parsing_provider and billing_provider, and telemetry reports weflayr.billing_provider
- the gateway reads the provider route parameter with a dedicated extractor
- Adding gateway infrastructure
- Adding openai gateway tests
- Adding openai gateway tests
- store routing A/B tests, splitting a project’s traffic between two variants
- Credits page, priced ingestion and gateway billing
- remove Google gemini embeddings from gateway + accept the fact it gives a 0$ pricing in telemetry since it returns no usage
- Gateway Anthropic provider
- Gateway support GoogleAI provider
- the gateway model catalog, validated by real calls
- refuse gateway calls from a key without the gateway scope
- Gateway support Bedrock provider
- Gateway supports Mistral provider
- support the Azure OpenAI provider in the gateway
- refuse provider calls when the credit balance is exhausted
- Take extended thinking through OpenRouter’s reasoning field
- measure the gateway’s latency overhead without calling providers
- SpaceXAI: Add gateway test + validation pipeline for gateway + many other other fixes to have the right information in the gateway
- cache the organisation balance in the Valkey shared cache
- resolve the organization id during gateway API-key authentication
- carry project, key, time, and credit values in domain newtypes across the gateway
- deduplicate shared helper functions across gateway provider adapters
- move gateway provider telemetry identity into the provider catalog
- share media source, usage decoding, and stream tool-call helpers across gateway adapters
- share the adapter content traversal behind a family blocks trait
- split each gateway adapter into one file per concern
- v1/responses step 0 - golden files of the Chat route
- v1/responses step 1a - internal request
- v1/responses step 1b - internal response
- v1/responses step 1c - internal stream
- v1/responses step 2 - gateway calls OpenAI on Responses
- v1/responses step 3 - POST /v1/responses for every provider
- v1/responses step 4 - reasoning summaries and continuity
- v1/responses step 5 - golden files removed
- the gateway serves only the providers we support, under their new names
- the gateway asks a model how it wants to be asked to think
- the gateway routes to Google Gemini 3 and Gemma 4, validated daily by add_and_validate_gateway_models
- the AI gateway no longer accepts a provider/model prefix
- the AI gateway no longer takes the provider from the URL path; name it with the body’s provider field or a
provider/modelprefix - the AI gateway rejects a chat or embeddings request whose region is not EU, US or GLOBAL
- the AI gateway resolves a model named without a provider prefix through the model catalog
- the AI gateway shares one snapshot of the model catalog between its instances through Valkey
- the AI gateway calls a model in the region a request names, refuses a region the model is not available or priced in, and reports the region it called in telemetry
- the AI gateway checks what a model accepts (images, audio, PDFs, tools, structured output) from the model catalog
- the AI gateway supports structured output on Bedrock and Vertex Anthropic
- the AI gateway’s provider registry lives in provider_registry.rs, apart from the model catalog
- the AI gateway answers a request holding audio or video with an error pointing to support
- the AI gateway removes the request inputs a model does not take, as the new self_heal field asks
- web search for OpenAI, Anthropic and Gemini
- the AI gateway routes a flex or priority request only to a provider with a price for that service tier
- price each call by the region it ran in
- Vertex models in gateway
- the AI gateway reads its provider API keys from Secrets Manager again every five minutes, so a replaced key is used without a restart
- name each call with set_name_call and send a call’s metadata to the AI gateway in the x-weflayr-metadata header
- create and test model benchmark evaluators on real calls
- the AI gateway calls Azure OpenAI on its v1 Responses API
- the AI gateway writes its logs once, as JSON lines in CloudWatch, reports streams that lost the provider’s final usage as Sentry issues, and logs every request it answers with an error
- the data model reference documents the Valkey keys and how each one is formed
- the AI gateway calls xAI on its Responses API, and refuses with a 400 naming the field each request field xAI would ignore or refuse
- Add new deployment PG model
- web_search for xAI
0.1.0 (2026-09-03)
Changes
- Add deployment foundation for the AI Gateway service