Repository navigation
examples: add OpenShell integration - #3908
Merged
howardjohn merged 4 commits intoOct 13, 2026
Merged
Conversation
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
howardjohn
approved these changes
Oct 13, 2026
2 tasks done
scareyo
pushed a commit
to scareyo/homelab
that referenced
this pull request
Nov 11, 2026
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [agentgateway](https://github.com/agentgateway/agentgateway) | chart | minor | `1.6.0` → `v1.7.0` |
---
> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/21) for more information.
---
### Release Notes
<details>
<summary>agentgateway/agentgateway (agentgateway)</summary>
### [`v1.7.0`](https://github.com/agentgateway/agentgateway/releases/tag/v1.7.0)
[Compare Source](https://github.com/agentgateway/agentgateway/compare/v1.6.0...v1.7.0)
🎉 Welcome to the 1.7.0 release of the agentgateway project!
Agentgateway 1.7 knows more about your models and your traffic than ever. The model catalog now knows each model's context window, modalities, and capabilities, and shares them through `/v1/models` and CEL. Costs reflect the service tier that actually served each request. New analytics break down tokens, cost, cache hit rate, and latency by model, user, or anything else you log.
On the routing side, agentgateway speaks OpenAI Decisions and TypeSafe SystemOne natively, adds Perplexity, brings Copilot to Kubernetes, and lets virtual models choose a target by calling your own routing service. Guardrails now cover tool output from every vendor, and MCP traffic can be filtered with plain CEL.
Rounding it out are automatic agent session tracking, OIDC that works for both browsers and API clients, a new `agctl standalone` CLI, and a UI that lets you edit anything as raw YAML.
Before upgrading, review the breaking and behavior changes below. In particular, standalone deployments now always encrypt MCP sessions, prompt guards inspect tool outputs by default, and dynamic backends can no longer reach loopback or link-local addresses.
#### Artifacts
Docker images are available:
- `cr.agentgateway.dev/agentgateway:v1.7.0`
- `cr.agentgateway.dev/controller:v1.7.0`
Helm charts are available:
- `cr.agentgateway.dev/charts/agentgateway:v1.7.0`
- `cr.agentgateway.dev/charts/agentgateway-crds:v1.7.0`
- `cr.agentgateway.dev/charts/agentgateway-standalone:v1.7.0`
Binaries are available below.
#### Quick Start
Follow the [Kubernetes](https://agentgateway.dev/docs/kubernetes/latest/documentation/quickstart/) or [Standalone](https://agentgateway.dev/docs/standalone/latest/documentation/quickstart/) quick start guide to get started.
#### 🔥 Breaking changes
##### Standalone always encrypts MCP sessions
Agentgateway allows defining an MCP session key that encrypts MCP session IDs. On Kubernetes, this was auto-generated; standalone deployments now match this.
When `config.session.key` is unset, agentgateway generates a key and stores it in the config file or database, whichever is writable. If neither is writable, agentgateway logs a warning and asks you to set the key.
If you previously had session encryption enabled, MCP sessions established before the upgrade are rejected, and clients must establish new sessions. To keep sessions unencrypted, set `config.session.key: disabled`.
##### Prompt guards inspect tool outputs by default
All prompt guards except webhooks now honor `scope`, including OpenAI Moderation, Google Model Armor, and Azure Content Safety. The default request scope now also includes `ToolOutput`, so tool results are inspected by every guard that uses the default scope.
This can produce new rejections or masking, and increases the content sent to vendor guardrail APIs. To retain the 1.6 behavior, set the scope explicitly:
```yaml
scope:
- SystemPrompt
- Messages
```
Webhook guards do not support `scope` and always inspect the system prompt and messages.
##### CEL header lookups return every value of a repeated header
`request.headers["x"]` and similar lookups now return a list when a header appears more than once. Previously this depended on whether the expression could be optimized (internally), so the same lookup could return a single value in one expression and a list in another depending on the exact syntax. Expressions that read headers which only appear once are unaffected.
##### Dynamic backends cannot connect to loopback or link-local addresses
Dynamic backends now reject destinations that resolve to loopback, link-local (such as cloud metadata servers), or unspecified addresses. Set `config.backend.allowDynamicLoopback: true` if a dynamic backend must reach a service local to the gateway.
##### Error responses no longer include internal details
Error responses sent to clients no longer include internal details such as addresses, file paths, CEL expressions, or upstream error text. The full error is still logged, and status codes are unchanged.
Some examples:
| Before | After |
| ------------------------------------------------------------------------------------ | -------------------------------- |
| `upstream tcp call failed: tcp connect to 10.12.4.7:5432 failed: Connection refused` | `connection refused` |
| `authentication failure: no bearer token found` | `authentication failed` |
| `policy failed: cel expression ... failed: no such key` | `policy failed` |
| `failed to process LLM response: failed to parse response: ...` | `failed to process LLM response` |
##### Removed
- **Messages-to-Completions preference:** `AGENTGATEWAY_MESSAGES_PREFER_COMPLETIONS` has been removed, as planned in 1.6. Anthropic Messages requests always prefer the OpenAI Responses format when a provider supports both. For OpenAI-compatible servers that do not implement `/v1/responses`, configure a custom provider that advertises only Chat Completions.
##### 🔄 Other behavior changes
- **Normalized service tier:** `llm.serviceTier` is now one of `standard`, `flex`, `priority`, or `reserved`, regardless of the provider's own naming. Update CEL expressions and dashboards that compare against provider-specific values such as `default`.
- **Request log database migration:** On startup, standalone request log databases (SQLite or PostgreSQL) gain new analytics columns that are backfilled from existing rows. This can take some time on large databases.
- **Bedrock `tool_choice`:** `tool_choice` now reaches Bedrock Converse; it was previously dropped silently. Requests that force tool use on models that do not support it, such as with extended thinking, now return an error from Bedrock.
- **Token rate limits for non-chat APIs:** Token-based LLM rate limits now count usage from `Embeddings`, `Rerank`, `Decisions`, and `SystemOne` requests.
- **LLM buffer size:** The 32 MiB default LLM request buffer now applies before request policies run instead of after.
- **Webhook guardrail responses:** A webhook `pass` response that contains any field other than `reason` is now an error instead of passing unmasked content.
- **Google Model Armor errors:** A non-success response from Model Armor is now a guard failure and follows the guard's `failureMode`.
- **Backend mirrors:** Request mirroring runs after backend policies, so requests rejected by backend authorization are no longer mirrored.
- **`AgentgatewayModel` wildcard precedence:** On Kubernetes, an exact model name such as `openai/gpt-5.5` now wins over a wildcard such as `openai/*`, matching standalone.
- **MCP OpenAPI paths:** A non-root path in an OpenAPI MCP target's host URL or `path` field now overrides the spec's server prefix. Previously the path was ignored.
- **MCP OpenAPI responses:** Non-JSON responses are returned as typed MCP content (text, image, audio, or blob) instead of a `{code, message}` wrapper.
- **MCP session errors:** Session IDs that cannot be decoded return `404` instead of `400`, so clients start a new session after a key change.
- **gRPC health:** Errors that agentgateway itself returns to gRPC clients now record their `grpc-status`, and only server-side gRPC errors mark a backend unhealthy, matching the treatment of `5xx` and `4xx` for HTTP.
- **gRPC policy calls:** A gRPC policy call, such as external processing, that fails before reaching the service now reports `UNAVAILABLE` instead of `UNKNOWN`.
- **Invalid OAuth configuration:** Invalid token exchange or Cross App Access configuration no longer rejects the whole xDS update. The affected policy fails closed and reports `Accepted=False`.
- **Anthropic version header:** The client's `anthropic-version` header is forwarded instead of being replaced.
#### 🌟 New features
##### LLM APIs and providers
- **OpenAI Decisions and TypeSafe SystemOne:** Agentgateway supports the OpenAI Decisions API and the TypeSafe SystemOne API natively, translates between them in both directions, and includes a native TypeSafe provider. Both work on standalone and Kubernetes, and on Azure Foundry.
- **Audio APIs:** `/v1/audio/transcriptions`, `/v1/audio/translations`, and `/v1/audio/speech` are recognized LLM endpoints. Duration-billed models such as `whisper-1` report `llm.audioSeconds` and can be priced per minute with the new `perAudioMinute` catalog rate.
- **Perplexity provider:** Perplexity is available as a built-in provider.
- **Copilot on Kubernetes:** `AgentgatewayBackend` and `AgentgatewayModel` can use the Copilot provider with credentials from a Kubernetes Secret.
- **Native Bedrock Runtime APIs (preview):** Set `AGENTGATEWAY_BEDROCK_RUNTIME_CONVERSE=false` to send chat requests to Bedrock Runtime's native Anthropic Messages and OpenAI Chat Completions and Responses endpoints, like Mantle, instead of translating them to Converse. This avoids format conversion for clients such as Claude Code and Codex. Converse remains the default for now.
- **Callout router for virtual models:** A virtual model can select its target model by calling an external HTTP service, on both standalone and Kubernetes.
- **Per-model HTTP transformations:** Provider defaults can set `requestTransformation` to modify headers and metadata of requests to a specific model.
- **More accurate token counting:** A new tokenizer estimates token counts more accurately, runs about 10x faster, and uses less memory.
- **Better format conversion:** Reasoning from vLLM and OpenRouter is preserved when converting Chat Completions to Messages, Bedrock reasoning streams as reasoning items in Responses, Bedrock redacted reasoning is preserved, and Vertex Gemini accepts `https://` URIs in file content.
##### Model catalog and cost
The model catalog now describes models as well as pricing them. Entries include display name, release date, lifecycle status, token limits, modalities, capabilities, and reasoning controls.
`/v1/models` returns this metadata, so clients can discover what each model supports:
```json
{
"id": "gpt-5.5",
"object": "model",
"owned_by": "openai",
"name": "GPT-5.5",
"context_window": 1050000,
"max_input_tokens": 922000,
"max_tokens": 128000,
"architecture": {"input_modalities": ["text", "image", "file"], "output_modalities": ["text"]},
"capabilities": {"reasoning": true, "structured_outputs": true, "tools": true, "temperature": false},
"supported_parameters": ["max_tokens", "reasoning", "reasoning_effort", "response_format", "tool_choice", "tools"]
}
```
The same metadata is available in CEL as `llm.model`, such as `llm.model.limits.context`.
Pricing now accounts for the service tier that served each request. Agentgateway records the tier for OpenAI, Anthropic, Bedrock, Vertex, and Gemini as `llm.serviceTier`, and catalog pricing tiers can set `serviceTier` alongside `contextOver`, so flex or priority requests are costed at their actual rates. The built-in catalog includes Vertex service-tier prices; rates for other providers can be configured manually.
```yaml
tiers:
- serviceTier: priority
rates: {input: "2.5", output: "15"}
- serviceTier: priority
contextOver: 272000
rates: {input: "5", output: "22.5"}
```
- **1-hour cache pricing:** Anthropic cache writes with a 1-hour TTL are priced separately using the new `cacheWrite1h` rate.
- **Budgets without a window:** An API-key budget without a `window` accumulates usage for its lifetime, providing a fixed spending limit.
- **More CEL during request policies:** `llmRequest` and `llm.requestModel` are available to route-level request policies, before LLM processing.
##### Guardrails
- **Scope for vendor guardrails:** OpenAI Moderation, Google Model Armor, and Azure Content Safety support `scope`, like regex and Bedrock Guardrails.
- **Reasoning and response scope:** Guards scan reasoning and thinking content, and response prompt guards support `scope`.
- **Rejection headers on Kubernetes:** Kubernetes prompt guard rejection responses can add, set, and remove headers.
- **CEL processor for MCP guardrails:** `mcpGuardrails` can reject or transform MCP requests and responses with CEL, without an external service.
```yaml
mcpGuardrails:
processors:
- kind: cel
methods: {"tools/call": request}
condition: mcp.params.name == 'restricted_tool'
reject: "This tool is unavailable"
```
##### Agent sessions
Agentgateway detects the agent session that a request belongs to from well-known agent headers, such as `x-claude-code-session-id`, and records it in logs and in CEL as `request.agent.session`. Set `config.standardAttributes.session` to a CEL expression to identify sessions yourself.
##### Security and identity
- **OIDC with bearer tokens:** OIDC policies can set `credentials: sessionOrBearer` to accept a bearer ID token in addition to a browser session, so one policy covers both browser and API clients. `credentials: permissive` keeps browser login while letting other requests fall through to other authentication policies.
- **Backend credentials from CEL:** Backend authentication keys can be computed from a CEL expression, such as a value returned by an external authorization server.
- **MCP authentication with token passthrough:** MCP authentication works with JWT `preserveToken: true`.
- **Callouts through a proxy:** Callouts such as JWKS fetches, OIDC discovery, external authorization, and cloud credential fetches can be tunneled through an HTTP proxy with `config.callouts.tunnel` or the standard `HTTP_PROXY` environment variables.
##### MCP
- **Conditional targets on Kubernetes:** MCP conditional targets are available in the Kubernetes CRDs.
- **Session cleanup across replicas:** `DELETE` requests resume the session on any replica so that upstream sessions are closed.
- **Idle timeouts:** MCP requests respect the route's idle timeout.
##### Kubernetes and operations
- **Shared HTTPS and TLS ports:** HTTPS and TLS passthrough listeners can share a port on the same Gateway, selected by SNI.
- **Optional RBAC:** Set `rbac.create=false` to install the Helm chart without RBAC resources.
- **Native histogram scraping:** The PodMonitor and ServiceMonitor in both Helm charts support native histogram scraping, relabelings, and metric relabelings.
- **Graceful HTTP/1 drain:** HTTP/1 connections drain more gracefully during shutdown.
- **Faster controller:** The controller does less work when unrelated resources change, and status and xDS output are more stable, reducing unnecessary writes and pushes.
##### CLI and UI
- **`agctl standalone`:** Manage a standalone agentgateway through its admin API with `get` and `apply`, including API keys, models, policies, and MCP targets.
- **Richer analytics:** The request log database records cache read and write tokens, reasoning tokens, time to first token, and time per output token. `agctl standalone analytics` summarizes requests, errors, tokens, cost, time to first token, tokens per second, and cache hit rate, grouped by provider, model, status, user, or any logged attribute, and can bucket results by time or into latency histograms:
```
agctl standalone analytics --by provider,model --since 168h
agctl standalone analytics --by agentgateway.user --provider openai
agctl standalone analytics --by model,ttft
```
- **`agctl bug-report`:** Collect diagnostic information into a single archive for sharing.
- **Raw editing:** Every form editor has a raw YAML mode, and fields the form does not support are preserved on save.
- **Clearer forms:** Required fields and schema help are shown consistently, with errors reported in place.
- **Settings page:** A top-level settings page groups gateway-wide settings.
- **Client Setup in xDS mode:** Client Setup is available for models served in xDS mode, and includes a recipe for Continue.
- **More UI improvements:** API keys can be rotated with an auto-generated value, and the Users and Groups log filters are searchable.
#### 🪲 Notable fixes
- Fixed custom providers with Detect or Passthrough formats duplicating the base path, such as `/v1/v1/...`.
- Fixed Gemini tool schemas that used `oneOf` returning empty tool calls, and counted Gemini reasoning tokens consistently with other providers.
- Fixed Bedrock dropping cache markers on unsupported content and mid-stream system messages invalidating the prompt cache.
- Fixed passthrough failing on SSE streams with an unterminated final event.
- Fixed Azure prompt-cache token conventions.
- Fixed MCP conditional targets being evaluated only when a session was initialized instead of on each request, and resumed sessions keeping outdated settings after a configuration change.
- Fixed MCP rejecting `Accept` values sent as separate header lines.
- Fixed MCP using stale information after a transformation, and a double `//` in some issuer URLs.
- Fixed requests answered locally, such as unknown models or model authorization failures, missing request data in access logs and CEL.
- Fixed `AgentgatewayModel` references from another namespace ignoring ReferenceGrants.
- Fixed policies on unmanaged Gateways being reported as attached.
- Fixed a route budget replacing a Gateway budget.
- Fixed the standalone external authorization default body.
- Fixed numeric keys in configuration serialization.
- Fixed the controller resetting the Istio log level.
- Fixed transparent huge pages not being disabled, which increased memory usage.
- Fixed the UI MCP and LLM playgrounds implicitly sending the logged-in session's credentials.
#### Contributors
Thank you to everyone who contributed code, reviews, documentation, bug reports, and CI improvements for this release!
#### What's Changed
- llm: drop unsupported reasoning on old openai models by [@​howardjohn](https://github.com/howardjohn) in [#​3744](https://github.com/agentgateway/agentgateway/pull/3744)
- fix(controller): report policies on unmanaged Gateways as not attached by [@​AhmadMasry](https://github.com/AhmadMasry) in [#​3572](https://github.com/agentgateway/agentgateway/pull/3572)
- llm: do not drop unknown cache control blocks by [@​howardjohn](https://github.com/howardjohn) in [#​3759](https://github.com/agentgateway/agentgateway/pull/3759)
- bedrock: handle mid-stream system messages by [@​howardjohn](https://github.com/howardjohn) in [#​3764](https://github.com/agentgateway/agentgateway/pull/3764)
- examples: do not pin versions to avoid cve spam by [@​howardjohn](https://github.com/howardjohn) in [#​3765](https://github.com/agentgateway/agentgateway/pull/3765)
- docs: add protocol requirement onto MCP field by [@​howardjohn](https://github.com/howardjohn) in [#​3768](https://github.com/agentgateway/agentgateway/pull/3768)
- Bump node deps by [@​howardjohn](https://github.com/howardjohn) in [#​3767](https://github.com/agentgateway/agentgateway/pull/3767)
- llm: add perplexity provider by [@​howardjohn](https://github.com/howardjohn) in [#​3771](https://github.com/agentgateway/agentgateway/pull/3771)
- Allow Helm installations without creating RBAC resources by [@​shubhamojha1](https://github.com/shubhamojha1) in [#​3763](https://github.com/agentgateway/agentgateway/pull/3763)
- gemini: properly count reasoning tokens by [@​howardjohn](https://github.com/howardjohn) in [#​3773](https://github.com/agentgateway/agentgateway/pull/3773)
- ui: add confirmation when changing where we serve it by [@​howardjohn](https://github.com/howardjohn) in [#​3772](https://github.com/agentgateway/agentgateway/pull/3772)
- mcp: consistently avoid double // in issuer url by [@​howardjohn](https://github.com/howardjohn) in [#​3774](https://github.com/agentgateway/agentgateway/pull/3774)
- Disable GHA go caching by [@​howardjohn](https://github.com/howardjohn) in [#​3779](https://github.com/agentgateway/agentgateway/pull/3779)
- ci: force cached images by [@​howardjohn](https://github.com/howardjohn) in [#​3780](https://github.com/agentgateway/agentgateway/pull/3780)
- go mod stickydisk by [@​howardjohn](https://github.com/howardjohn) in [#​3782](https://github.com/agentgateway/agentgateway/pull/3782)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3787](https://github.com/agentgateway/agentgateway/pull/3787)
- Unexpected HTTP 406 when passing separate `Accept` header lines instead of comma-separated values to the MCP endpoint by [@​shubhamojha1](https://github.com/shubhamojha1) in [#​3786](https://github.com/agentgateway/agentgateway/pull/3786)
- Do not rebuild tools by [@​howardjohn](https://github.com/howardjohn) in [#​3781](https://github.com/agentgateway/agentgateway/pull/3781)
- schema gen: link to reference by [@​howardjohn](https://github.com/howardjohn) in [#​3800](https://github.com/agentgateway/agentgateway/pull/3800)
- ci lint: use optimized cache for proxy-lint job by [@​howardjohn](https://github.com/howardjohn) in [#​3801](https://github.com/agentgateway/agentgateway/pull/3801)
- vendor Accept header negotiation by [@​howardjohn](https://github.com/howardjohn) in [#​3798](https://github.com/agentgateway/agentgateway/pull/3798)
- ui: add top level settings page with sub-pages by [@​howardjohn](https://github.com/howardjohn) in [#​3803](https://github.com/agentgateway/agentgateway/pull/3803)
- test(mcp): pin upstream JSON-RPC error code propagation by [@​Yoel-qin](https://github.com/Yoel-qin) in [#​3762](https://github.com/agentgateway/agentgateway/pull/3762)
- build(deps): bump the cargo-weekly group with 11 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3795](https://github.com/agentgateway/agentgateway/pull/3795)
- deployer: create session key Secrets once and never overwrite them by [@​markuskobler](https://github.com/markuskobler) in [#​3802](https://github.com/agentgateway/agentgateway/pull/3802)
- llm: expose virtual model routing decisions in logs and traces by [@​rajatvig](https://github.com/rajatvig) in [#​3695](https://github.com/agentgateway/agentgateway/pull/3695)
- osv scanner rmcp cleanup by [@​jenshu](https://github.com/jenshu) in [#​3819](https://github.com/agentgateway/agentgateway/pull/3819)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3814](https://github.com/agentgateway/agentgateway/pull/3814)
- feat(helm): support native histogram & relabelings by [@​maximumG](https://github.com/maximumG) in [#​3797](https://github.com/agentgateway/agentgateway/pull/3797)
- llm: make Bedrock Converse honor tool\_choice by [@​choyongho-bart0401](https://github.com/choyongho-bart0401) in [#​3812](https://github.com/agentgateway/agentgateway/pull/3812)
- build: check out ui files with LF line endings by [@​TheSeydiCharyyev](https://github.com/TheSeydiCharyyev) in [#​3808](https://github.com/agentgateway/agentgateway/pull/3808)
- ui: show Client Setup in XDS mode by [@​TheSeydiCharyyev](https://github.com/TheSeydiCharyyev) in [#​3634](https://github.com/agentgateway/agentgateway/pull/3634)
- crypto: enforce FIPS policy for JWT signing and verification by [@​ymesika](https://github.com/ymesika) in [#​3813](https://github.com/agentgateway/agentgateway/pull/3813)
- guardrail matches consecutive phone numbers by [@​stevenctl](https://github.com/stevenctl) in [#​3737](https://github.com/agentgateway/agentgateway/pull/3737)
- mcp: port conditional targets to kubernetes CRD by [@​stevenctl](https://github.com/stevenctl) in [#​3824](https://github.com/agentgateway/agentgateway/pull/3824)
- examples: add integration example with headroom by [@​howardjohn](https://github.com/howardjohn) in [#​3822](https://github.com/agentgateway/agentgateway/pull/3822)
- llm: allow per-model http transformations by [@​howardjohn](https://github.com/howardjohn) in [#​3823](https://github.com/agentgateway/agentgateway/pull/3823)
- improve bedrock cache preservation for dropped content blocks and anthropic ttl by [@​stevenctl](https://github.com/stevenctl) in [#​3721](https://github.com/agentgateway/agentgateway/pull/3721)
- auth: allow extracting a key from a CEL expression by [@​howardjohn](https://github.com/howardjohn) in [#​3821](https://github.com/agentgateway/agentgateway/pull/3821)
- ui: expose proper gateway url for client setup by [@​howardjohn](https://github.com/howardjohn) in [#​3807](https://github.com/agentgateway/agentgateway/pull/3807)
- fix(mcp): return non-JSON OpenAPI responses as typed MCP content by [@​lewis-treacy](https://github.com/lewis-treacy) in [#​3815](https://github.com/agentgateway/agentgateway/pull/3815)
- (breaking) cel: consistently expose headers optimized vs unoptimized by [@​howardjohn](https://github.com/howardjohn) in [#​3778](https://github.com/agentgateway/agentgateway/pull/3778)
- metrics: better negotiation of content type by [@​howardjohn](https://github.com/howardjohn) in [#​3746](https://github.com/agentgateway/agentgateway/pull/3746)
- fix(bedrock): preserve streamed redacted reasoning by [@​dev-ahuja-gl](https://github.com/dev-ahuja-gl) in [#​3776](https://github.com/agentgateway/agentgateway/pull/3776)
- mcpGuardrails: CEL processor by [@​stevenctl](https://github.com/stevenctl) in [#​3711](https://github.com/agentgateway/agentgateway/pull/3711)
- scan reasoning/thinking and add scope to response promptGuards by [@​stevenctl](https://github.com/stevenctl) in [#​3732](https://github.com/agentgateway/agentgateway/pull/3732)
- mcpGuardrails: port expression to k8s by [@​stevenctl](https://github.com/stevenctl) in [#​3830](https://github.com/agentgateway/agentgateway/pull/3830)
- llm: consistently derive operation name by [@​howardjohn](https://github.com/howardjohn) in [#​3831](https://github.com/agentgateway/agentgateway/pull/3831)
- llm: add first class OpenAI decisions support by [@​howardjohn](https://github.com/howardjohn) in [#​3832](https://github.com/agentgateway/agentgateway/pull/3832)
- virtual model: add callout router by [@​howardjohn](https://github.com/howardjohn) in [#​3769](https://github.com/agentgateway/agentgateway/pull/3769)
- fix: report the running config from /api/config/effective by [@​Yoel-qin](https://github.com/Yoel-qin) in [#​3692](https://github.com/agentgateway/agentgateway/pull/3692)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3837](https://github.com/agentgateway/agentgateway/pull/3837)
- ci: bump kind node image to Kubernetes v1.37.0 by [@​markuskobler](https://github.com/markuskobler) in [#​3846](https://github.com/agentgateway/agentgateway/pull/3846)
- refactor: cleanup dead code by [@​howardjohn](https://github.com/howardjohn) in [#​3847](https://github.com/agentgateway/agentgateway/pull/3847)
- build(deps): bump the cargo group across 1 directory with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3849](https://github.com/agentgateway/agentgateway/pull/3849)
- Fail closed on invalid OAuth xDS configuration by [@​markuskobler](https://github.com/markuskobler) in [#​3809](https://github.com/agentgateway/agentgateway/pull/3809)
- feat(k8s): support headers on prompt guard rejection responses by [@​uc4w6c](https://github.com/uc4w6c) in [#​3810](https://github.com/agentgateway/agentgateway/pull/3810)
- refactor: Allow policies to be split out of core crate by [@​howardjohn](https://github.com/howardjohn) in [#​2764](https://github.com/agentgateway/agentgateway/pull/2764)
- standalone helm: enable session key configuration by [@​howardjohn](https://github.com/howardjohn) in [#​3842](https://github.com/agentgateway/agentgateway/pull/3842)
- Automatically detect and report 'session' by [@​howardjohn](https://github.com/howardjohn) in [#​3850](https://github.com/agentgateway/agentgateway/pull/3850)
- proxy: gracefully handly HTTP/1 draining by [@​howardjohn](https://github.com/howardjohn) in [#​3833](https://github.com/agentgateway/agentgateway/pull/3833)
- Support translating from OpenAI Decisions to TypeSafe SystemOne format by [@​howardjohn](https://github.com/howardjohn) in [#​3839](https://github.com/agentgateway/agentgateway/pull/3839)
- Add a native typesafe preset provider by [@​howardjohn](https://github.com/howardjohn) in [#​3852](https://github.com/agentgateway/agentgateway/pull/3852)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3856](https://github.com/agentgateway/agentgateway/pull/3856)
- llm: fix custom providers with Detect/Passthrough by [@​howardjohn](https://github.com/howardjohn) in [#​3853](https://github.com/agentgateway/agentgateway/pull/3853)
- Add Kubernetes support for typesafe and decisions APIs by [@​howardjohn](https://github.com/howardjohn) in [#​3854](https://github.com/agentgateway/agentgateway/pull/3854)
- cel: cleanup resolver implementations by [@​howardjohn](https://github.com/howardjohn) in [#​3848](https://github.com/agentgateway/agentgateway/pull/3848)
- misc CI improvements by [@​howardjohn](https://github.com/howardjohn) in [#​3862](https://github.com/agentgateway/agentgateway/pull/3862)
- fix(bedrock): stream reasoning as reasoning items in responses by [@​howardjohn](https://github.com/howardjohn) in [#​3828](https://github.com/agentgateway/agentgateway/pull/3828)
- virtual model: kubernetes callout support by [@​howardjohn](https://github.com/howardjohn) in [#​3843](https://github.com/agentgateway/agentgateway/pull/3843)
- fix(controller): do not reset istio log level in NewControllerBuilder by [@​noony](https://github.com/noony) in [#​3817](https://github.com/agentgateway/agentgateway/pull/3817)
- ext\_proc: fail a local error of a gRPC policy call with its gRPC status by [@​QuentinBisson](https://github.com/QuentinBisson) in [#​3793](https://github.com/agentgateway/agentgateway/pull/3793)
- resource\_manager: files read while parsing become managed dependencies (fork) by [@​howardjohn](https://github.com/howardjohn) in [#​3863](https://github.com/agentgateway/agentgateway/pull/3863)
- Fix/substrate resume trace propagation by [@​linsun](https://github.com/linsun) in [#​3674](https://github.com/agentgateway/agentgateway/pull/3674)
- add AgentgatewayModel GK to default known from references by [@​conradhanson](https://github.com/conradhanson) in [#​3869](https://github.com/agentgateway/agentgateway/pull/3869)
- Add source repository to Chart.yaml by [@​lareeth](https://github.com/lareeth) in [#​3871](https://github.com/agentgateway/agentgateway/pull/3871)
- Allow sending callout requests through CONNECT tunnel by [@​howardjohn](https://github.com/howardjohn) in [#​3864](https://github.com/agentgateway/agentgateway/pull/3864)
- Allow substrate egress while actors resume by [@​EItanya](https://github.com/EItanya) in [#​3882](https://github.com/agentgateway/agentgateway/pull/3882)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3877](https://github.com/agentgateway/agentgateway/pull/3877)
- xds: sort policies for stability by [@​howardjohn](https://github.com/howardjohn) in [#​3885](https://github.com/agentgateway/agentgateway/pull/3885)
- controller: keep status entry order stable across controllers by [@​rajatvig](https://github.com/rajatvig) in [#​3883](https://github.com/agentgateway/agentgateway/pull/3883)
- oidc: allow direct bearer tokens by [@​howardjohn](https://github.com/howardjohn) in [#​3826](https://github.com/agentgateway/agentgateway/pull/3826)
- mcp: avoid using a stale cached MCPInfo by [@​howardjohn](https://github.com/howardjohn) in [#​3893](https://github.com/agentgateway/agentgateway/pull/3893)
- ui: avoid implicit passing creds to MCP and LLM playground by [@​howardjohn](https://github.com/howardjohn) in [#​3892](https://github.com/agentgateway/agentgateway/pull/3892)
- guard: make phone number parser a bit stricter by [@​howardjohn](https://github.com/howardjohn) in [#​3890](https://github.com/agentgateway/agentgateway/pull/3890)
- oidc: explicitly tell clients to avoid caching refresh token flow by [@​howardjohn](https://github.com/howardjohn) in [#​3895](https://github.com/agentgateway/agentgateway/pull/3895)
- llm: better int type casting by [@​howardjohn](https://github.com/howardjohn) in [#​3887](https://github.com/agentgateway/agentgateway/pull/3887)
- Add dockerfile for oss-scanner by [@​howardjohn](https://github.com/howardjohn) in [#​3904](https://github.com/agentgateway/agentgateway/pull/3904)
- perf: re-disable THP by [@​howardjohn](https://github.com/howardjohn) in [#​3902](https://github.com/agentgateway/agentgateway/pull/3902)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3905](https://github.com/agentgateway/agentgateway/pull/3905)
- jwks: support x5c key sets in fips140=only mode by [@​ymesika](https://github.com/ymesika) in [#​3924](https://github.com/agentgateway/agentgateway/pull/3924)
- llm: rewrite oneOf to anyOf in Gemini schema normalization by [@​rajatvig](https://github.com/rajatvig) in [#​3920](https://github.com/agentgateway/agentgateway/pull/3920)
- budget: do not override gateway policy from a route policy by [@​howardjohn](https://github.com/howardjohn) in [#​3888](https://github.com/agentgateway/agentgateway/pull/3888)
- controller: align status builders with the syncer and fix ancestor matching by [@​rajatvig](https://github.com/rajatvig) in [#​3911](https://github.com/agentgateway/agentgateway/pull/3911)
- fix(ui): remove useKeyWithClickEvents suppressions by [@​iandvt](https://github.com/iandvt) in [#​3906](https://github.com/agentgateway/agentgateway/pull/3906)
- fix(ui): use headings for read-only YAML sections by [@​iandvt](https://github.com/iandvt) in [#​3910](https://github.com/agentgateway/agentgateway/pull/3910)
- fix(ui): use a button for log turn help by [@​iandvt](https://github.com/iandvt) in [#​3913](https://github.com/agentgateway/agentgateway/pull/3913)
- fix(ui): use buttons for Field help controls by [@​iandvt](https://github.com/iandvt) in [#​3914](https://github.com/agentgateway/agentgateway/pull/3914)
- llm: fail close on model armor error by [@​howardjohn](https://github.com/howardjohn) in [#​3925](https://github.com/agentgateway/agentgateway/pull/3925)
- feat(ui): search the values offered by the user and group filters by [@​erentorlak](https://github.com/erentorlak) in [#​3919](https://github.com/agentgateway/agentgateway/pull/3919)
- llm: support service tier pricing by [@​howardjohn](https://github.com/howardjohn) in [#​3661](https://github.com/agentgateway/agentgateway/pull/3661)
- xbackend: avoid collisions with AGWBackend keys by [@​howardjohn](https://github.com/howardjohn) in [#​3891](https://github.com/agentgateway/agentgateway/pull/3891)
- build: always include UI, just make it optional by [@​howardjohn](https://github.com/howardjohn) in [#​3929](https://github.com/agentgateway/agentgateway/pull/3929)
- Fix numeric key serialization in config by [@​howardjohn](https://github.com/howardjohn) in [#​3933](https://github.com/agentgateway/agentgateway/pull/3933)
- respect idle timeout on MCP path by [@​howardjohn](https://github.com/howardjohn) in [#​3894](https://github.com/agentgateway/agentgateway/pull/3894)
- allow mcp auth with jwt validation by [@​stevenctl](https://github.com/stevenctl) in [#​3936](https://github.com/agentgateway/agentgateway/pull/3936)
- health: only consider server-side grpc errors as unhealthy by [@​howardjohn](https://github.com/howardjohn) in [#​3897](https://github.com/agentgateway/agentgateway/pull/3897)
- llm: fix cache convention on azure by [@​howardjohn](https://github.com/howardjohn) in [#​3899](https://github.com/agentgateway/agentgateway/pull/3899)
- llm: respect buffer limits on various paths by [@​howardjohn](https://github.com/howardjohn) in [#​3896](https://github.com/agentgateway/agentgateway/pull/3896)
- refactor(http): extract shared strip\_path\_prefix for segment-aware prefix matching by [@​dongjiang1989](https://github.com/dongjiang1989) in [#​3874](https://github.com/agentgateway/agentgateway/pull/3874)
- fix: Redact database URL when serializing the config. by [@​chrisgavin](https://github.com/chrisgavin) in [#​3878](https://github.com/agentgateway/agentgateway/pull/3878)
- Bump go dependencies by [@​howardjohn](https://github.com/howardjohn) in [#​3865](https://github.com/agentgateway/agentgateway/pull/3865)
- Better token counting by [@​howardjohn](https://github.com/howardjohn) in [#​3867](https://github.com/agentgateway/agentgateway/pull/3867)
- feat: allow to auto-gen a key on replacing by [@​guenhter](https://github.com/guenhter) in [#​3923](https://github.com/agentgateway/agentgateway/pull/3923)
- ui: fallback if we cannot gracefully edit the yaml by [@​howardjohn](https://github.com/howardjohn) in [#​3866](https://github.com/agentgateway/agentgateway/pull/3866)
- examples: add OpenShell integration by [@​danehans](https://github.com/danehans) in [#​3908](https://github.com/agentgateway/agentgateway/pull/3908)
- ui: fix CEL playground sample context serviceTier by [@​ymesika](https://github.com/ymesika) in [#​3950](https://github.com/agentgateway/agentgateway/pull/3950)
- helm: fix Prometheus relabeling doc links in values comments by [@​kristin-kronstain-brown](https://github.com/kristin-kronstain-brown) in [#​3951](https://github.com/agentgateway/agentgateway/pull/3951)
- fix(llm): don't fail passthrough on an unterminated final SSE event by [@​johnsto](https://github.com/johnsto) in [#​3676](https://github.com/agentgateway/agentgateway/pull/3676)
- examples: simplify single-runtime tier routing by [@​danehans](https://github.com/danehans) in [#​3944](https://github.com/agentgateway/agentgateway/pull/3944)
- fix(ui): drop provider icon noDescendingSpecificity suppressions by [@​iandvt](https://github.com/iandvt) in [#​3943](https://github.com/agentgateway/agentgateway/pull/3943)
- xds: report proxy configuration warnings separately from rejections by [@​markuskobler](https://github.com/markuskobler) in [#​3953](https://github.com/agentgateway/agentgateway/pull/3953)
- build(deps): bump the cargo-weekly group with 9 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3946](https://github.com/agentgateway/agentgateway/pull/3946)
- fix(proxy): record grpc-status for trailers-only error responses by [@​QuentinBisson](https://github.com/QuentinBisson) in [#​3873](https://github.com/agentgateway/agentgateway/pull/3873)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3945](https://github.com/agentgateway/agentgateway/pull/3945)
- Bump istio and adopt performance improvements by [@​howardjohn](https://github.com/howardjohn) in [#​3954](https://github.com/agentgateway/agentgateway/pull/3954)
- ext authz: fix default body on standalone by [@​howardjohn](https://github.com/howardjohn) in [#​3940](https://github.com/agentgateway/agentgateway/pull/3940)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3956](https://github.com/agentgateway/agentgateway/pull/3956)
- ui: preselect first model for new virtual model targets by [@​howardjohn](https://github.com/howardjohn) in [#​3939](https://github.com/agentgateway/agentgateway/pull/3939)
- AgentgatewayModel: proper wildcard precedence by [@​howardjohn](https://github.com/howardjohn) in [#​3932](https://github.com/agentgateway/agentgateway/pull/3932)
- perf: cache proxy TLS configs by [@​howardjohn](https://github.com/howardjohn) in [#​3926](https://github.com/agentgateway/agentgateway/pull/3926)
- respect client anthropic-version header by [@​stevenctl](https://github.com/stevenctl) in [#​3957](https://github.com/agentgateway/agentgateway/pull/3957)
- examples: simplify Datadog integration by [@​danehans](https://github.com/danehans) in [#​3935](https://github.com/agentgateway/agentgateway/pull/3935)
- oidc permissive mode by [@​jenshu](https://github.com/jenshu) in [#​3903](https://github.com/agentgateway/agentgateway/pull/3903)
- fix(ui): associate Field labels with their controls by [@​iandvt](https://github.com/iandvt) in [#​3915](https://github.com/agentgateway/agentgateway/pull/3915)
- llm/vertex-gemini: support https\:// URIs in file content parts by [@​matvas-txf](https://github.com/matvas-txf) in [#​3691](https://github.com/agentgateway/agentgateway/pull/3691)
- fix(ui): reorder styles to drop 29 noDescendingSpecificity suppressions by [@​iandvt](https://github.com/iandvt) in [#​3961](https://github.com/agentgateway/agentgateway/pull/3961)
- catalog: Import more data into the catalog by [@​howardjohn](https://github.com/howardjohn) in [#​3960](https://github.com/agentgateway/agentgateway/pull/3960)
- fix(ui): reorder styles to drop 13 noDescendingSpecificity suppressions by [@​iandvt](https://github.com/iandvt) in [#​3969](https://github.com/agentgateway/agentgateway/pull/3969)
- Fix Webhook guardrail: MaskAction with extra message fields silently pa… by [@​lcopi](https://github.com/lcopi) in [#​3964](https://github.com/agentgateway/agentgateway/pull/3964)
- llm: document agentgateway extensions to standard APIs by [@​howardjohn](https://github.com/howardjohn) in [#​3959](https://github.com/agentgateway/agentgateway/pull/3959)
- examples: fix token exchange docs to match config schema by [@​markuskobler](https://github.com/markuskobler) in [#​3967](https://github.com/agentgateway/agentgateway/pull/3967)
- cel: fix non-this indexing by [@​howardjohn](https://github.com/howardjohn) in [#​3966](https://github.com/agentgateway/agentgateway/pull/3966)
- feat(copilot): add kubernetes provider support by [@​iandvt](https://github.com/iandvt) in [#​3605](https://github.com/agentgateway/agentgateway/pull/3605)
- llm: price 1h cache writes separately from 5m by [@​liorbenita2](https://github.com/liorbenita2) in [#​3825](https://github.com/agentgateway/agentgateway/pull/3825)
- catalog: render model information into /v1/models by [@​howardjohn](https://github.com/howardjohn) in [#​3965](https://github.com/agentgateway/agentgateway/pull/3965)
- Fix bad rebase in model catalog by [@​howardjohn](https://github.com/howardjohn) in [#​3982](https://github.com/agentgateway/agentgateway/pull/3982)
- mcp: resume sessions on DELETE so upstream sessions get closed by [@​markuskobler](https://github.com/markuskobler) in [#​3976](https://github.com/agentgateway/agentgateway/pull/3976)
- deps: avoid depending on GIE conformance in go.mod by [@​howardjohn](https://github.com/howardjohn) in [#​3978](https://github.com/agentgateway/agentgateway/pull/3978)
- ui: Fixes around policy editors by [@​howardjohn](https://github.com/howardjohn) in [#​3979](https://github.com/agentgateway/agentgateway/pull/3979)
- fix(copilot): restore protocol headers for generic backends by [@​iandvt](https://github.com/iandvt) in [#​3983](https://github.com/agentgateway/agentgateway/pull/3983)
- test: fix flakey extauthz test by [@​howardjohn](https://github.com/howardjohn) in [#​3984](https://github.com/agentgateway/agentgateway/pull/3984)
- cel: expose model catalog info by [@​howardjohn](https://github.com/howardjohn) in [#​3981](https://github.com/agentgateway/agentgateway/pull/3981)
- catalog: add prices for anthropic 1h cache by [@​howardjohn](https://github.com/howardjohn) in [#​3977](https://github.com/agentgateway/agentgateway/pull/3977)
- Close drift on recent substrate contract changes by [@​keithmattix](https://github.com/keithmattix) in [#​3985](https://github.com/agentgateway/agentgateway/pull/3985)
- Add ui-maintainers as ui code owner by [@​Charlesthebird](https://github.com/Charlesthebird) in [#​3958](https://github.com/agentgateway/agentgateway/pull/3958)
- Fix Substrate worker identities and default egress policy lookup by [@​EItanya](https://github.com/EItanya) in [#​3990](https://github.com/agentgateway/agentgateway/pull/3990)
- fix(ui): complete hook dependencies outside Logs.tsx by [@​iandvt](https://github.com/iandvt) in [#​3988](https://github.com/agentgateway/agentgateway/pull/3988)
- config store: reject writes validated against a stale snapshot by [@​jbohanon](https://github.com/jbohanon) in [#​3656](https://github.com/agentgateway/agentgateway/pull/3656)
- controller: Drop metrics that are expensive and not useful. by [@​howardjohn](https://github.com/howardjohn) in [#​3992](https://github.com/agentgateway/agentgateway/pull/3992)
- ui: minor fixes for monaco by [@​howardjohn](https://github.com/howardjohn) in [#​3993](https://github.com/agentgateway/agentgateway/pull/3993)
- ui: add 'raw' mode for all form editors by [@​howardjohn](https://github.com/howardjohn) in [#​3994](https://github.com/agentgateway/agentgateway/pull/3994)
- fix(ui): complete Logs hook dependencies by [@​iandvt](https://github.com/iandvt) in [#​3997](https://github.com/agentgateway/agentgateway/pull/3997)
- feat(standalone): honor mcp openapi path config by [@​jbohanon](https://github.com/jbohanon) in [#​3973](https://github.com/agentgateway/agentgateway/pull/3973)
- budget: allow budgets with no refresh by [@​howardjohn](https://github.com/howardjohn) in [#​3970](https://github.com/agentgateway/agentgateway/pull/3970)
- hbone: disable data frame budget by [@​howardjohn](https://github.com/howardjohn) in [#​3952](https://github.com/agentgateway/agentgateway/pull/3952)
- ui: elide defaults from saved config by [@​howardjohn](https://github.com/howardjohn) in [#​3998](https://github.com/agentgateway/agentgateway/pull/3998)
- llm: increase buffer size before request policies by [@​howardjohn](https://github.com/howardjohn) in [#​4002](https://github.com/agentgateway/agentgateway/pull/4002)
- ui: proper and consistent required field markers by [@​howardjohn](https://github.com/howardjohn) in [#​4004](https://github.com/agentgateway/agentgateway/pull/4004)
- ui: include backend policies in MCP server page by [@​howardjohn](https://github.com/howardjohn) in [#​4005](https://github.com/agentgateway/agentgateway/pull/4005)
- ui: save every editor through useMergedEdits by [@​howardjohn](https://github.com/howardjohn) in [#​4008](https://github.com/agentgateway/agentgateway/pull/4008)
- ui: mark required fields on the remaining forms; raw mode for keys by [@​howardjohn](https://github.com/howardjohn) in [#​4013](https://github.com/agentgateway/agentgateway/pull/4013)
- proxy: move backend mirrors to after backend policies by [@​howardjohn](https://github.com/howardjohn) in [#​4011](https://github.com/agentgateway/agentgateway/pull/4011)
- ui: report all OIDC required fields on the first save by [@​howardjohn](https://github.com/howardjohn) in [#​4014](https://github.com/agentgateway/agentgateway/pull/4014)
- llm: add systemone -> decision translation by [@​howardjohn](https://github.com/howardjohn) in [#​3928](https://github.com/agentgateway/agentgateway/pull/3928)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​4023](https://github.com/agentgateway/agentgateway/pull/4023)
- fix(ui): remove static interaction ignores from startup and tooltip by [@​iandvt](https://github.com/iandvt) in [#​4022](https://github.com/agentgateway/agentgateway/pull/4022)
- fix(ui): remove static interaction ignores from shared controls by [@​iandvt](https://github.com/iandvt) in [#​4021](https://github.com/agentgateway/agentgateway/pull/4021)
- dep bumps by [@​markuskobler](https://github.com/markuskobler) in [#​4028](https://github.com/agentgateway/agentgateway/pull/4028)
- feat(azure): support Foundry Decisions and SystemOne by [@​iandvt](https://github.com/iandvt) in [#​4018](https://github.com/agentgateway/agentgateway/pull/4018)
- llm: apply rate limit to all types by [@​howardjohn](https://github.com/howardjohn) in [#​4029](https://github.com/agentgateway/agentgateway/pull/4029)
- catalog: include all types by [@​howardjohn](https://github.com/howardjohn) in [#​4016](https://github.com/agentgateway/agentgateway/pull/4016)
- proxy: snapshot requests answered locally without an upstream call by [@​howardjohn](https://github.com/howardjohn) in [#​3996](https://github.com/agentgateway/agentgateway/pull/3996)
- Add `agctl bug-report` command by [@​howardjohn](https://github.com/howardjohn) in [#​3991](https://github.com/agentgateway/agentgateway/pull/3991)
- llm: expose more CEL attributes in the request processing phase by [@​howardjohn](https://github.com/howardjohn) in [#​4010](https://github.com/agentgateway/agentgateway/pull/4010)
- shrink make backend call stack by [@​howardjohn](https://github.com/howardjohn) in [#​4035](https://github.com/agentgateway/agentgateway/pull/4035)
- build(deps): bump the cargo-weekly group with 13 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​4045](https://github.com/agentgateway/agentgateway/pull/4045)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​4038](https://github.com/agentgateway/agentgateway/pull/4038)
- fix(ui): complete field-error hook dependencies by [@​iandvt](https://github.com/iandvt) in [#​4036](https://github.com/agentgateway/agentgateway/pull/4036)
- fix(ui): use native elements for segmented controls and log rows by [@​iandvt](https://github.com/iandvt) in [#​4037](https://github.com/agentgateway/agentgateway/pull/4037)
- ui: properly show schema help on all dropdowns by [@​howardjohn](https://github.com/howardjohn) in [#​4034](https://github.com/agentgateway/agentgateway/pull/4034)
- feat(controller): allow HTTPS and TLS listeners to share a port by [@​jimassa](https://github.com/jimassa) in [#​4000](https://github.com/agentgateway/agentgateway/pull/4000)
- fix(mcp): reject invalid hosts in host/port/path configuration by [@​vladislav-miroshnikov](https://github.com/vladislav-miroshnikov) in [#​4039](https://github.com/agentgateway/agentgateway/pull/4039)
- Prepare for rust 1.100 by [@​howardjohn](https://github.com/howardjohn) in [#​4046](https://github.com/agentgateway/agentgateway/pull/4046)
- fix(llm): accept reasoning in completions-to-messages responses by [@​vladislav-miroshnikov](https://github.com/vladislav-miroshnikov) in [#​4030](https://github.com/agentgateway/agentgateway/pull/4030)
- agctl: add a new 'standalone' CLI by [@​howardjohn](https://github.com/howardjohn) in [#​4032](https://github.com/agentgateway/agentgateway/pull/4032)
- Benchmark and optimize krt collections by [@​howardjohn](https://github.com/howardjohn) in [#​4017](https://github.com/agentgateway/agentgateway/pull/4017)
- dynamic: deny destinations resolving to loopback by [@​howardjohn](https://github.com/howardjohn) in [#​3889](https://github.com/agentgateway/agentgateway/pull/3889)
- (breaking) standalone: always use a session key by [@​howardjohn](https://github.com/howardjohn) in [#​4031](https://github.com/agentgateway/agentgateway/pull/4031)
- (breaking) guardrails: support scope on vendor guardrails by [@​howardjohn](https://github.com/howardjohn) in [#​3975](https://github.com/agentgateway/agentgateway/pull/3975)
- fix(ui): correct custom provider endpoint hints by [@​pqminh27](https://github.com/pqminh27) in [#​4051](https://github.com/agentgateway/agentgateway/pull/4051)
- Get substrate implementation up to date by [@​keithmattix](https://github.com/keithmattix) in [#​4048](https://github.com/agentgateway/agentgateway/pull/4048)
- tests: fix flaky auto protocol TCP tests by reading the full echo by [@​markuskobler](https://github.com/markuskobler) in [#​4052](https://github.com/agentgateway/agentgateway/pull/4052)
- Do not expose session.key over REST API by [@​howardjohn](https://github.com/howardjohn) in [#​4056](https://github.com/agentgateway/agentgateway/pull/4056)
- mcp: rebind re-used session to current settings by [@​howardjohn](https://github.com/howardjohn) in [#​4057](https://github.com/agentgateway/agentgateway/pull/4057)
- Add status check for MCP conditional CEL by [@​howardjohn](https://github.com/howardjohn) in [#​4060](https://github.com/agentgateway/agentgateway/pull/4060)
- ui: add a Continue recipe to Client Setup by [@​TheSeydiCharyyev](https://github.com/TheSeydiCharyyev) in [#​4020](https://github.com/agentgateway/agentgateway/pull/4020)
- refactor: unify cache implementation across policies by [@​howardjohn](https://github.com/howardjohn) in [#​4047](https://github.com/agentgateway/agentgateway/pull/4047)
- mcp: validate conditions match on each request, not just init by [@​howardjohn](https://github.com/howardjohn) in [#​4062](https://github.com/agentgateway/agentgateway/pull/4062)
- Add additional fields to analytics report by [@​howardjohn](https://github.com/howardjohn) in [#​4061](https://github.com/agentgateway/agentgateway/pull/4061)
- build: pin Go toolchain in go.mod + go 1.27.3 by [@​markuskobler](https://github.com/markuskobler) in [#​4063](https://github.com/agentgateway/agentgateway/pull/4063)
- llm: fix regression in DB logging errors by [@​howardjohn](https://github.com/howardjohn) in [#​4071](https://github.com/agentgateway/agentgateway/pull/4071)
- Allow opt-in controller admin bind address by [@​jbohanon](https://github.com/jbohanon) in [#​4049](https://github.com/agentgateway/agentgateway/pull/4049)
- llm: account for Anthropic usage iterations by [@​howardjohn](https://github.com/howardjohn) in [#​4050](https://github.com/agentgateway/agentgateway/pull/4050)
- mcp: advertise only change notifications upstreams offer by [@​howardjohn](https://github.com/howardjohn) in [#​4054](https://github.com/agentgateway/agentgateway/pull/4054)
- fix: allow parsing bracketted IPv6 by [@​howardjohn](https://github.com/howardjohn) in [#​4073](https://github.com/agentgateway/agentgateway/pull/4073)
- feat(ext\_proc): accept hostname destinations from the endpoint picker by [@​ScraperNerd18](https://github.com/ScraperNerd18) in [#​4012](https://github.com/agentgateway/agentgateway/pull/4012)
- mcp: assert that resumed sessions are on the same backend by [@​howardjohn](https://github.com/howardjohn) in [#​4059](https://github.com/agentgateway/agentgateway/pull/4059)
- fix(ui): wait for LLM CORS before enabling Send by [@​pqminh27](https://github.com/pqminh27) in [#​4065](https://github.com/agentgateway/agentgateway/pull/4065)
- feat(oidc): make sessionTtl configurable by [@​pqminh27](https://github.com/pqminh27) in [#​4066](https://github.com/agentgateway/agentgateway/pull/4066)
- Align retry docs with reality by [@​howardjohn](https://github.com/howardjohn) in [#​4077](https://github.com/agentgateway/agentgateway/pull/4077)
- Drop deprecated AGENTGATEWAY\_MESSAGES\_PREFER\_COMPLETIONS by [@​howardjohn](https://github.com/howardjohn) in [#​4072](https://github.com/agentgateway/agentgateway/pull/4072)
- drop unavailable lint by [@​howardjohn](https://github.com/howardjohn) in [#​4074](https://github.com/agentgateway/agentgateway/pull/4074)
- feat(helm): add extraInitContainers value to controller and standalone charts by [@​zackwy](https://github.com/zackwy) in [#​4053](https://github.com/agentgateway/agentgateway/pull/4053)
- fix(ui): render log Markdown from a sanitized DOM fragment by [@​iandvt](https://github.com/iandvt) in [#​4040](https://github.com/agentgateway/agentgateway/pull/4040)
- fix(ui): use native subpath imports in mergeEdits tests by [@​iandvt](https://github.com/iandvt) in [#​4033](https://github.com/agentgateway/agentgateway/pull/4033)
- llm: read message\_start usage in detect streams by [@​liorbenita2](https://github.com/liorbenita2) in [#​4067](https://github.com/agentgateway/agentgateway/pull/4067)
- llm: add constructors for common response types by [@​markuskobler](https://github.com/markuskobler) in [#​4075](https://github.com/agentgateway/agentgateway/pull/4075)
- fix(llm): forward OpenAI service\_tier to Bedrock serviceTier by [@​matheus-meneses](https://github.com/matheus-meneses) in [#​4078](https://github.com/agentgateway/agentgateway/pull/4078)
- llm: revert Bedrock changes and drop messages preference env by [@​howardjohn](https://github.com/howardjohn) in [#​4080](https://github.com/agentgateway/agentgateway/pull/4080)
- feat(import): support LiteLLM default\_fallbacks and define behavior for conditional fallbacks by [@​Altamimi-Dev](https://github.com/Altamimi-Dev) in [#​3038](https://github.com/agentgateway/agentgateway/pull/3038)
- examples: add Kubernetes and standalone response caching by [@​danehans](https://github.com/danehans) in [#​3594](https://github.com/agentgateway/agentgateway/pull/3594)
- refactor: cleanup rate limiting LLM specific code by [@​howardjohn](https://github.com/howardjohn) in [#​4081](https://github.com/agentgateway/agentgateway/pull/4081)
- examples: simplify NetBird integration by [@​danehans](https://github.com/danehans) in [#​3942](https://github.com/agentgateway/agentgateway/pull/3942)
- Error instead of panic on invalid SNI by [@​howardjohn](https://github.com/howardjohn) in [#​4082](https://github.com/agentgateway/agentgateway/pull/4082)
- Use native roots and AWS-LC for PostgreSQL TLS by [@​markuskobler](https://github.com/markuskobler) in [#​4089](https://github.com/agentgateway/agentgateway/pull/4089)
- Bump rust depends by [@​howardjohn](https://github.com/howardjohn) in [#​4087](https://github.com/agentgateway/agentgateway/pull/4087)
- csrf: treat Origin: null as a cross-origin request by [@​howardjohn](https://github.com/howardjohn) in [#​4090](https://github.com/agentgateway/agentgateway/pull/4090)
- proxy: do not leak error info to clients by [@​howardjohn](https://github.com/howardjohn) in [#​2162](https://github.com/agentgateway/agentgateway/pull/2162)
- Fix invalid assume-role session tags blocking proxy readiness by [@​lcopi](https://github.com/lcopi) in [#​4086](https://github.com/agentgateway/agentgateway/pull/4086)
- fix: bedrock invalid function call recover by [@​conradj3](https://github.com/conradj3) in [#​4027](https://github.com/agentgateway/agentgateway/pull/4027)
- standalone: allow writing more MCP settings into DB by [@​howardjohn](https://github.com/howardjohn) in [#​4094](https://github.com/agentgateway/agentgateway/pull/4094)
- catalog: include deprecated models by [@​howardjohn](https://github.com/howardjohn) in [#​4096](https://github.com/agentgateway/agentgateway/pull/4096)
- fix inconsistent promptCache implementation by [@​lcopi](https://github.com/lcopi) in [#​3927](https://github.com/agentgateway/agentgateway/pull/3927)
- csrf: compare only the Origin host, ignoring scheme by [@​howardjohn](https://github.com/howardjohn) in [#​4091](https://github.com/agentgateway/agentgateway/pull/4091)
- fix(controller): keep conflicted listeners out of traffic by [@​jbohanon](https://github.com/jbohanon) in [#​3754](https://github.com/agentgateway/agentgateway/pull/3754)
- aws: initial native endpoint support with runtime by [@​howardjohn](https://github.com/howardjohn) in [#​3845](https://github.com/agentgateway/agentgateway/pull/3845)
- Support openai 12h cache prompt by [@​howardjohn](https://github.com/howardjohn) in [#​4088](https://github.com/agentgateway/agentgateway/pull/4088)
- filters: better error handling by [@​howardjohn](https://github.com/howardjohn) in [#​4097](https://github.com/agentgateway/agentgateway/pull/4097)
- Fix redirect to another sceheme with explicit port by [@​howardjohn](https://github.com/howardjohn) in [#​4092](https://github.com/agentgateway/agentgateway/pull/4092)
- fix(mcp): treat 404/405 on upstream session DELETE as success by [@​yavzius](https://github.com/yavzius) in [#​4015](https://github.com/agentgateway/agentgateway/pull/4015)
- fix(llm): keep schema formats in Gemini requests by [@​danielle-mustillo](https://github.com/danielle-mustillo) in [#​4095](https://github.com/agentgateway/agentgateway/pull/4095)
- feat(llm): convert OpenAI inline file parts to Anthropic documents by [@​Yoel-qin](https://github.com/Yoel-qin) in [#​3912](https://github.com/agentgateway/agentgateway/pull/3912)
- Bump npm deps by [@​howardjohn](https://github.com/howardjohn) in [#​4099](https://github.com/agentgateway/agentgateway/pull/4099)
- fix(mcp): distinguish authorization denials in logs by [@​shubhamojha1](https://github.com/shubhamojha1) in [#​4079](https://github.com/agentgateway/agentgateway/pull/4079)
- proxy: fix and test re-entrant locking by [@​howardjohn](https://github.com/howardjohn) in [#​4105](https://github.com/agentgateway/agentgateway/pull/4105)
- agctl: drop required apiVersion on exec auth by [@​howardjohn](https://github.com/howardjohn) in [#​4102](https://github.com/agentgateway/agentgateway/pull/4102)
- docs: add note about advisor tools by [@​howardjohn](https://github.com/howardjohn) in [#​4101](https://github.com/agentgateway/agentgateway/pull/4101)
- Move slow integration test to a unit test by [@​howardjohn](https://github.com/howardjohn) in [#​4104](https://github.com/agentgateway/agentgateway/pull/4104)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​4110](https://github.com/agentgateway/agentgateway/pull/4110)
- fix(llm): preserve Gemini tool-call thought signatures by [@​markuskobler](https://github.com/markuskobler) in [#​3898](https://github.com/agentgateway/agentgateway/pull/3898)
- build: update Node to 24.22.1 by [@​Charlesthebird](https://github.com/Charlesthebird) in [#​4113](https://github.com/agentgateway/agentgateway/pull/4113)
- Use Substrate v1 gRPC service names by [@​EItanya](https://github.com/EItanya) in [#​4124](https://github.com/agentgateway/agentgateway/pull/4124)
- omit empty bedrock tool list for completions by [@​stevenctl](ht…
scareyo
pushed a commit
to scareyo/homelab
that referenced
this pull request
Nov 11, 2026
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [agentgateway-crds](https://github.com/agentgateway/agentgateway) | chart | minor | `1.6.0` → `v1.7.0` |
---
> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/21) for more information.
---
### Release Notes
<details>
<summary>agentgateway/agentgateway (agentgateway-crds)</summary>
### [`v1.7.0`](https://github.com/agentgateway/agentgateway/releases/tag/v1.7.0)
[Compare Source](https://github.com/agentgateway/agentgateway/compare/v1.6.0...v1.7.0)
🎉 Welcome to the 1.7.0 release of the agentgateway project!
Agentgateway 1.7 knows more about your models and your traffic than ever. The model catalog now knows each model's context window, modalities, and capabilities, and shares them through `/v1/models` and CEL. Costs reflect the service tier that actually served each request. New analytics break down tokens, cost, cache hit rate, and latency by model, user, or anything else you log.
On the routing side, agentgateway speaks OpenAI Decisions and TypeSafe SystemOne natively, adds Perplexity, brings Copilot to Kubernetes, and lets virtual models choose a target by calling your own routing service. Guardrails now cover tool output from every vendor, and MCP traffic can be filtered with plain CEL.
Rounding it out are automatic agent session tracking, OIDC that works for both browsers and API clients, a new `agctl standalone` CLI, and a UI that lets you edit anything as raw YAML.
Before upgrading, review the breaking and behavior changes below. In particular, standalone deployments now always encrypt MCP sessions, prompt guards inspect tool outputs by default, and dynamic backends can no longer reach loopback or link-local addresses.
#### Artifacts
Docker images are available:
- `cr.agentgateway.dev/agentgateway:v1.7.0`
- `cr.agentgateway.dev/controller:v1.7.0`
Helm charts are available:
- `cr.agentgateway.dev/charts/agentgateway:v1.7.0`
- `cr.agentgateway.dev/charts/agentgateway-crds:v1.7.0`
- `cr.agentgateway.dev/charts/agentgateway-standalone:v1.7.0`
Binaries are available below.
#### Quick Start
Follow the [Kubernetes](https://agentgateway.dev/docs/kubernetes/latest/documentation/quickstart/) or [Standalone](https://agentgateway.dev/docs/standalone/latest/documentation/quickstart/) quick start guide to get started.
#### 🔥 Breaking changes
##### Standalone always encrypts MCP sessions
Agentgateway allows defining an MCP session key that encrypts MCP session IDs. On Kubernetes, this was auto-generated; standalone deployments now match this.
When `config.session.key` is unset, agentgateway generates a key and stores it in the config file or database, whichever is writable. If neither is writable, agentgateway logs a warning and asks you to set the key.
If you previously had session encryption enabled, MCP sessions established before the upgrade are rejected, and clients must establish new sessions. To keep sessions unencrypted, set `config.session.key: disabled`.
##### Prompt guards inspect tool outputs by default
All prompt guards except webhooks now honor `scope`, including OpenAI Moderation, Google Model Armor, and Azure Content Safety. The default request scope now also includes `ToolOutput`, so tool results are inspected by every guard that uses the default scope.
This can produce new rejections or masking, and increases the content sent to vendor guardrail APIs. To retain the 1.6 behavior, set the scope explicitly:
```yaml
scope:
- SystemPrompt
- Messages
```
Webhook guards do not support `scope` and always inspect the system prompt and messages.
##### CEL header lookups return every value of a repeated header
`request.headers["x"]` and similar lookups now return a list when a header appears more than once. Previously this depended on whether the expression could be optimized (internally), so the same lookup could return a single value in one expression and a list in another depending on the exact syntax. Expressions that read headers which only appear once are unaffected.
##### Dynamic backends cannot connect to loopback or link-local addresses
Dynamic backends now reject destinations that resolve to loopback, link-local (such as cloud metadata servers), or unspecified addresses. Set `config.backend.allowDynamicLoopback: true` if a dynamic backend must reach a service local to the gateway.
##### Error responses no longer include internal details
Error responses sent to clients no longer include internal details such as addresses, file paths, CEL expressions, or upstream error text. The full error is still logged, and status codes are unchanged.
Some examples:
| Before | After |
| ------------------------------------------------------------------------------------ | -------------------------------- |
| `upstream tcp call failed: tcp connect to 10.12.4.7:5432 failed: Connection refused` | `connection refused` |
| `authentication failure: no bearer token found` | `authentication failed` |
| `policy failed: cel expression ... failed: no such key` | `policy failed` |
| `failed to process LLM response: failed to parse response: ...` | `failed to process LLM response` |
##### Removed
- **Messages-to-Completions preference:** `AGENTGATEWAY_MESSAGES_PREFER_COMPLETIONS` has been removed, as planned in 1.6. Anthropic Messages requests always prefer the OpenAI Responses format when a provider supports both. For OpenAI-compatible servers that do not implement `/v1/responses`, configure a custom provider that advertises only Chat Completions.
##### 🔄 Other behavior changes
- **Normalized service tier:** `llm.serviceTier` is now one of `standard`, `flex`, `priority`, or `reserved`, regardless of the provider's own naming. Update CEL expressions and dashboards that compare against provider-specific values such as `default`.
- **Request log database migration:** On startup, standalone request log databases (SQLite or PostgreSQL) gain new analytics columns that are backfilled from existing rows. This can take some time on large databases.
- **Bedrock `tool_choice`:** `tool_choice` now reaches Bedrock Converse; it was previously dropped silently. Requests that force tool use on models that do not support it, such as with extended thinking, now return an error from Bedrock.
- **Token rate limits for non-chat APIs:** Token-based LLM rate limits now count usage from `Embeddings`, `Rerank`, `Decisions`, and `SystemOne` requests.
- **LLM buffer size:** The 32 MiB default LLM request buffer now applies before request policies run instead of after.
- **Webhook guardrail responses:** A webhook `pass` response that contains any field other than `reason` is now an error instead of passing unmasked content.
- **Google Model Armor errors:** A non-success response from Model Armor is now a guard failure and follows the guard's `failureMode`.
- **Backend mirrors:** Request mirroring runs after backend policies, so requests rejected by backend authorization are no longer mirrored.
- **`AgentgatewayModel` wildcard precedence:** On Kubernetes, an exact model name such as `openai/gpt-5.5` now wins over a wildcard such as `openai/*`, matching standalone.
- **MCP OpenAPI paths:** A non-root path in an OpenAPI MCP target's host URL or `path` field now overrides the spec's server prefix. Previously the path was ignored.
- **MCP OpenAPI responses:** Non-JSON responses are returned as typed MCP content (text, image, audio, or blob) instead of a `{code, message}` wrapper.
- **MCP session errors:** Session IDs that cannot be decoded return `404` instead of `400`, so clients start a new session after a key change.
- **gRPC health:** Errors that agentgateway itself returns to gRPC clients now record their `grpc-status`, and only server-side gRPC errors mark a backend unhealthy, matching the treatment of `5xx` and `4xx` for HTTP.
- **gRPC policy calls:** A gRPC policy call, such as external processing, that fails before reaching the service now reports `UNAVAILABLE` instead of `UNKNOWN`.
- **Invalid OAuth configuration:** Invalid token exchange or Cross App Access configuration no longer rejects the whole xDS update. The affected policy fails closed and reports `Accepted=False`.
- **Anthropic version header:** The client's `anthropic-version` header is forwarded instead of being replaced.
#### 🌟 New features
##### LLM APIs and providers
- **OpenAI Decisions and TypeSafe SystemOne:** Agentgateway supports the OpenAI Decisions API and the TypeSafe SystemOne API natively, translates between them in both directions, and includes a native TypeSafe provider. Both work on standalone and Kubernetes, and on Azure Foundry.
- **Audio APIs:** `/v1/audio/transcriptions`, `/v1/audio/translations`, and `/v1/audio/speech` are recognized LLM endpoints. Duration-billed models such as `whisper-1` report `llm.audioSeconds` and can be priced per minute with the new `perAudioMinute` catalog rate.
- **Perplexity provider:** Perplexity is available as a built-in provider.
- **Copilot on Kubernetes:** `AgentgatewayBackend` and `AgentgatewayModel` can use the Copilot provider with credentials from a Kubernetes Secret.
- **Native Bedrock Runtime APIs (preview):** Set `AGENTGATEWAY_BEDROCK_RUNTIME_CONVERSE=false` to send chat requests to Bedrock Runtime's native Anthropic Messages and OpenAI Chat Completions and Responses endpoints, like Mantle, instead of translating them to Converse. This avoids format conversion for clients such as Claude Code and Codex. Converse remains the default for now.
- **Callout router for virtual models:** A virtual model can select its target model by calling an external HTTP service, on both standalone and Kubernetes.
- **Per-model HTTP transformations:** Provider defaults can set `requestTransformation` to modify headers and metadata of requests to a specific model.
- **More accurate token counting:** A new tokenizer estimates token counts more accurately, runs about 10x faster, and uses less memory.
- **Better format conversion:** Reasoning from vLLM and OpenRouter is preserved when converting Chat Completions to Messages, Bedrock reasoning streams as reasoning items in Responses, Bedrock redacted reasoning is preserved, and Vertex Gemini accepts `https://` URIs in file content.
##### Model catalog and cost
The model catalog now describes models as well as pricing them. Entries include display name, release date, lifecycle status, token limits, modalities, capabilities, and reasoning controls.
`/v1/models` returns this metadata, so clients can discover what each model supports:
```json
{
"id": "gpt-5.5",
"object": "model",
"owned_by": "openai",
"name": "GPT-5.5",
"context_window": 1050000,
"max_input_tokens": 922000,
"max_tokens": 128000,
"architecture": {"input_modalities": ["text", "image", "file"], "output_modalities": ["text"]},
"capabilities": {"reasoning": true, "structured_outputs": true, "tools": true, "temperature": false},
"supported_parameters": ["max_tokens", "reasoning", "reasoning_effort", "response_format", "tool_choice", "tools"]
}
```
The same metadata is available in CEL as `llm.model`, such as `llm.model.limits.context`.
Pricing now accounts for the service tier that served each request. Agentgateway records the tier for OpenAI, Anthropic, Bedrock, Vertex, and Gemini as `llm.serviceTier`, and catalog pricing tiers can set `serviceTier` alongside `contextOver`, so flex or priority requests are costed at their actual rates. The built-in catalog includes Vertex service-tier prices; rates for other providers can be configured manually.
```yaml
tiers:
- serviceTier: priority
rates: {input: "2.5", output: "15"}
- serviceTier: priority
contextOver: 272000
rates: {input: "5", output: "22.5"}
```
- **1-hour cache pricing:** Anthropic cache writes with a 1-hour TTL are priced separately using the new `cacheWrite1h` rate.
- **Budgets without a window:** An API-key budget without a `window` accumulates usage for its lifetime, providing a fixed spending limit.
- **More CEL during request policies:** `llmRequest` and `llm.requestModel` are available to route-level request policies, before LLM processing.
##### Guardrails
- **Scope for vendor guardrails:** OpenAI Moderation, Google Model Armor, and Azure Content Safety support `scope`, like regex and Bedrock Guardrails.
- **Reasoning and response scope:** Guards scan reasoning and thinking content, and response prompt guards support `scope`.
- **Rejection headers on Kubernetes:** Kubernetes prompt guard rejection responses can add, set, and remove headers.
- **CEL processor for MCP guardrails:** `mcpGuardrails` can reject or transform MCP requests and responses with CEL, without an external service.
```yaml
mcpGuardrails:
processors:
- kind: cel
methods: {"tools/call": request}
condition: mcp.params.name == 'restricted_tool'
reject: "This tool is unavailable"
```
##### Agent sessions
Agentgateway detects the agent session that a request belongs to from well-known agent headers, such as `x-claude-code-session-id`, and records it in logs and in CEL as `request.agent.session`. Set `config.standardAttributes.session` to a CEL expression to identify sessions yourself.
##### Security and identity
- **OIDC with bearer tokens:** OIDC policies can set `credentials: sessionOrBearer` to accept a bearer ID token in addition to a browser session, so one policy covers both browser and API clients. `credentials: permissive` keeps browser login while letting other requests fall through to other authentication policies.
- **Backend credentials from CEL:** Backend authentication keys can be computed from a CEL expression, such as a value returned by an external authorization server.
- **MCP authentication with token passthrough:** MCP authentication works with JWT `preserveToken: true`.
- **Callouts through a proxy:** Callouts such as JWKS fetches, OIDC discovery, external authorization, and cloud credential fetches can be tunneled through an HTTP proxy with `config.callouts.tunnel` or the standard `HTTP_PROXY` environment variables.
##### MCP
- **Conditional targets on Kubernetes:** MCP conditional targets are available in the Kubernetes CRDs.
- **Session cleanup across replicas:** `DELETE` requests resume the session on any replica so that upstream sessions are closed.
- **Idle timeouts:** MCP requests respect the route's idle timeout.
##### Kubernetes and operations
- **Shared HTTPS and TLS ports:** HTTPS and TLS passthrough listeners can share a port on the same Gateway, selected by SNI.
- **Optional RBAC:** Set `rbac.create=false` to install the Helm chart without RBAC resources.
- **Native histogram scraping:** The PodMonitor and ServiceMonitor in both Helm charts support native histogram scraping, relabelings, and metric relabelings.
- **Graceful HTTP/1 drain:** HTTP/1 connections drain more gracefully during shutdown.
- **Faster controller:** The controller does less work when unrelated resources change, and status and xDS output are more stable, reducing unnecessary writes and pushes.
##### CLI and UI
- **`agctl standalone`:** Manage a standalone agentgateway through its admin API with `get` and `apply`, including API keys, models, policies, and MCP targets.
- **Richer analytics:** The request log database records cache read and write tokens, reasoning tokens, time to first token, and time per output token. `agctl standalone analytics` summarizes requests, errors, tokens, cost, time to first token, tokens per second, and cache hit rate, grouped by provider, model, status, user, or any logged attribute, and can bucket results by time or into latency histograms:
```
agctl standalone analytics --by provider,model --since 168h
agctl standalone analytics --by agentgateway.user --provider openai
agctl standalone analytics --by model,ttft
```
- **`agctl bug-report`:** Collect diagnostic information into a single archive for sharing.
- **Raw editing:** Every form editor has a raw YAML mode, and fields the form does not support are preserved on save.
- **Clearer forms:** Required fields and schema help are shown consistently, with errors reported in place.
- **Settings page:** A top-level settings page groups gateway-wide settings.
- **Client Setup in xDS mode:** Client Setup is available for models served in xDS mode, and includes a recipe for Continue.
- **More UI improvements:** API keys can be rotated with an auto-generated value, and the Users and Groups log filters are searchable.
#### 🪲 Notable fixes
- Fixed custom providers with Detect or Passthrough formats duplicating the base path, such as `/v1/v1/...`.
- Fixed Gemini tool schemas that used `oneOf` returning empty tool calls, and counted Gemini reasoning tokens consistently with other providers.
- Fixed Bedrock dropping cache markers on unsupported content and mid-stream system messages invalidating the prompt cache.
- Fixed passthrough failing on SSE streams with an unterminated final event.
- Fixed Azure prompt-cache token conventions.
- Fixed MCP conditional targets being evaluated only when a session was initialized instead of on each request, and resumed sessions keeping outdated settings after a configuration change.
- Fixed MCP rejecting `Accept` values sent as separate header lines.
- Fixed MCP using stale information after a transformation, and a double `//` in some issuer URLs.
- Fixed requests answered locally, such as unknown models or model authorization failures, missing request data in access logs and CEL.
- Fixed `AgentgatewayModel` references from another namespace ignoring ReferenceGrants.
- Fixed policies on unmanaged Gateways being reported as attached.
- Fixed a route budget replacing a Gateway budget.
- Fixed the standalone external authorization default body.
- Fixed numeric keys in configuration serialization.
- Fixed the controller resetting the Istio log level.
- Fixed transparent huge pages not being disabled, which increased memory usage.
- Fixed the UI MCP and LLM playgrounds implicitly sending the logged-in session's credentials.
#### Contributors
Thank you to everyone who contributed code, reviews, documentation, bug reports, and CI improvements for this release!
#### What's Changed
- llm: drop unsupported reasoning on old openai models by [@​howardjohn](https://github.com/howardjohn) in [#​3744](https://github.com/agentgateway/agentgateway/pull/3744)
- fix(controller): report policies on unmanaged Gateways as not attached by [@​AhmadMasry](https://github.com/AhmadMasry) in [#​3572](https://github.com/agentgateway/agentgateway/pull/3572)
- llm: do not drop unknown cache control blocks by [@​howardjohn](https://github.com/howardjohn) in [#​3759](https://github.com/agentgateway/agentgateway/pull/3759)
- bedrock: handle mid-stream system messages by [@​howardjohn](https://github.com/howardjohn) in [#​3764](https://github.com/agentgateway/agentgateway/pull/3764)
- examples: do not pin versions to avoid cve spam by [@​howardjohn](https://github.com/howardjohn) in [#​3765](https://github.com/agentgateway/agentgateway/pull/3765)
- docs: add protocol requirement onto MCP field by [@​howardjohn](https://github.com/howardjohn) in [#​3768](https://github.com/agentgateway/agentgateway/pull/3768)
- Bump node deps by [@​howardjohn](https://github.com/howardjohn) in [#​3767](https://github.com/agentgateway/agentgateway/pull/3767)
- llm: add perplexity provider by [@​howardjohn](https://github.com/howardjohn) in [#​3771](https://github.com/agentgateway/agentgateway/pull/3771)
- Allow Helm installations without creating RBAC resources by [@​shubhamojha1](https://github.com/shubhamojha1) in [#​3763](https://github.com/agentgateway/agentgateway/pull/3763)
- gemini: properly count reasoning tokens by [@​howardjohn](https://github.com/howardjohn) in [#​3773](https://github.com/agentgateway/agentgateway/pull/3773)
- ui: add confirmation when changing where we serve it by [@​howardjohn](https://github.com/howardjohn) in [#​3772](https://github.com/agentgateway/agentgateway/pull/3772)
- mcp: consistently avoid double // in issuer url by [@​howardjohn](https://github.com/howardjohn) in [#​3774](https://github.com/agentgateway/agentgateway/pull/3774)
- Disable GHA go caching by [@​howardjohn](https://github.com/howardjohn) in [#​3779](https://github.com/agentgateway/agentgateway/pull/3779)
- ci: force cached images by [@​howardjohn](https://github.com/howardjohn) in [#​3780](https://github.com/agentgateway/agentgateway/pull/3780)
- go mod stickydisk by [@​howardjohn](https://github.com/howardjohn) in [#​3782](https://github.com/agentgateway/agentgateway/pull/3782)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3787](https://github.com/agentgateway/agentgateway/pull/3787)
- Unexpected HTTP 406 when passing separate `Accept` header lines instead of comma-separated values to the MCP endpoint by [@​shubhamojha1](https://github.com/shubhamojha1) in [#​3786](https://github.com/agentgateway/agentgateway/pull/3786)
- Do not rebuild tools by [@​howardjohn](https://github.com/howardjohn) in [#​3781](https://github.com/agentgateway/agentgateway/pull/3781)
- schema gen: link to reference by [@​howardjohn](https://github.com/howardjohn) in [#​3800](https://github.com/agentgateway/agentgateway/pull/3800)
- ci lint: use optimized cache for proxy-lint job by [@​howardjohn](https://github.com/howardjohn) in [#​3801](https://github.com/agentgateway/agentgateway/pull/3801)
- vendor Accept header negotiation by [@​howardjohn](https://github.com/howardjohn) in [#​3798](https://github.com/agentgateway/agentgateway/pull/3798)
- ui: add top level settings page with sub-pages by [@​howardjohn](https://github.com/howardjohn) in [#​3803](https://github.com/agentgateway/agentgateway/pull/3803)
- test(mcp): pin upstream JSON-RPC error code propagation by [@​Yoel-qin](https://github.com/Yoel-qin) in [#​3762](https://github.com/agentgateway/agentgateway/pull/3762)
- build(deps): bump the cargo-weekly group with 11 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3795](https://github.com/agentgateway/agentgateway/pull/3795)
- deployer: create session key Secrets once and never overwrite them by [@​markuskobler](https://github.com/markuskobler) in [#​3802](https://github.com/agentgateway/agentgateway/pull/3802)
- llm: expose virtual model routing decisions in logs and traces by [@​rajatvig](https://github.com/rajatvig) in [#​3695](https://github.com/agentgateway/agentgateway/pull/3695)
- osv scanner rmcp cleanup by [@​jenshu](https://github.com/jenshu) in [#​3819](https://github.com/agentgateway/agentgateway/pull/3819)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3814](https://github.com/agentgateway/agentgateway/pull/3814)
- feat(helm): support native histogram & relabelings by [@​maximumG](https://github.com/maximumG) in [#​3797](https://github.com/agentgateway/agentgateway/pull/3797)
- llm: make Bedrock Converse honor tool\_choice by [@​choyongho-bart0401](https://github.com/choyongho-bart0401) in [#​3812](https://github.com/agentgateway/agentgateway/pull/3812)
- build: check out ui files with LF line endings by [@​TheSeydiCharyyev](https://github.com/TheSeydiCharyyev) in [#​3808](https://github.com/agentgateway/agentgateway/pull/3808)
- ui: show Client Setup in XDS mode by [@​TheSeydiCharyyev](https://github.com/TheSeydiCharyyev) in [#​3634](https://github.com/agentgateway/agentgateway/pull/3634)
- crypto: enforce FIPS policy for JWT signing and verification by [@​ymesika](https://github.com/ymesika) in [#​3813](https://github.com/agentgateway/agentgateway/pull/3813)
- guardrail matches consecutive phone numbers by [@​stevenctl](https://github.com/stevenctl) in [#​3737](https://github.com/agentgateway/agentgateway/pull/3737)
- mcp: port conditional targets to kubernetes CRD by [@​stevenctl](https://github.com/stevenctl) in [#​3824](https://github.com/agentgateway/agentgateway/pull/3824)
- examples: add integration example with headroom by [@​howardjohn](https://github.com/howardjohn) in [#​3822](https://github.com/agentgateway/agentgateway/pull/3822)
- llm: allow per-model http transformations by [@​howardjohn](https://github.com/howardjohn) in [#​3823](https://github.com/agentgateway/agentgateway/pull/3823)
- improve bedrock cache preservation for dropped content blocks and anthropic ttl by [@​stevenctl](https://github.com/stevenctl) in [#​3721](https://github.com/agentgateway/agentgateway/pull/3721)
- auth: allow extracting a key from a CEL expression by [@​howardjohn](https://github.com/howardjohn) in [#​3821](https://github.com/agentgateway/agentgateway/pull/3821)
- ui: expose proper gateway url for client setup by [@​howardjohn](https://github.com/howardjohn) in [#​3807](https://github.com/agentgateway/agentgateway/pull/3807)
- fix(mcp): return non-JSON OpenAPI responses as typed MCP content by [@​lewis-treacy](https://github.com/lewis-treacy) in [#​3815](https://github.com/agentgateway/agentgateway/pull/3815)
- (breaking) cel: consistently expose headers optimized vs unoptimized by [@​howardjohn](https://github.com/howardjohn) in [#​3778](https://github.com/agentgateway/agentgateway/pull/3778)
- metrics: better negotiation of content type by [@​howardjohn](https://github.com/howardjohn) in [#​3746](https://github.com/agentgateway/agentgateway/pull/3746)
- fix(bedrock): preserve streamed redacted reasoning by [@​dev-ahuja-gl](https://github.com/dev-ahuja-gl) in [#​3776](https://github.com/agentgateway/agentgateway/pull/3776)
- mcpGuardrails: CEL processor by [@​stevenctl](https://github.com/stevenctl) in [#​3711](https://github.com/agentgateway/agentgateway/pull/3711)
- scan reasoning/thinking and add scope to response promptGuards by [@​stevenctl](https://github.com/stevenctl) in [#​3732](https://github.com/agentgateway/agentgateway/pull/3732)
- mcpGuardrails: port expression to k8s by [@​stevenctl](https://github.com/stevenctl) in [#​3830](https://github.com/agentgateway/agentgateway/pull/3830)
- llm: consistently derive operation name by [@​howardjohn](https://github.com/howardjohn) in [#​3831](https://github.com/agentgateway/agentgateway/pull/3831)
- llm: add first class OpenAI decisions support by [@​howardjohn](https://github.com/howardjohn) in [#​3832](https://github.com/agentgateway/agentgateway/pull/3832)
- virtual model: add callout router by [@​howardjohn](https://github.com/howardjohn) in [#​3769](https://github.com/agentgateway/agentgateway/pull/3769)
- fix: report the running config from /api/config/effective by [@​Yoel-qin](https://github.com/Yoel-qin) in [#​3692](https://github.com/agentgateway/agentgateway/pull/3692)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3837](https://github.com/agentgateway/agentgateway/pull/3837)
- ci: bump kind node image to Kubernetes v1.37.0 by [@​markuskobler](https://github.com/markuskobler) in [#​3846](https://github.com/agentgateway/agentgateway/pull/3846)
- refactor: cleanup dead code by [@​howardjohn](https://github.com/howardjohn) in [#​3847](https://github.com/agentgateway/agentgateway/pull/3847)
- build(deps): bump the cargo group across 1 directory with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3849](https://github.com/agentgateway/agentgateway/pull/3849)
- Fail closed on invalid OAuth xDS configuration by [@​markuskobler](https://github.com/markuskobler) in [#​3809](https://github.com/agentgateway/agentgateway/pull/3809)
- feat(k8s): support headers on prompt guard rejection responses by [@​uc4w6c](https://github.com/uc4w6c) in [#​3810](https://github.com/agentgateway/agentgateway/pull/3810)
- refactor: Allow policies to be split out of core crate by [@​howardjohn](https://github.com/howardjohn) in [#​2764](https://github.com/agentgateway/agentgateway/pull/2764)
- standalone helm: enable session key configuration by [@​howardjohn](https://github.com/howardjohn) in [#​3842](https://github.com/agentgateway/agentgateway/pull/3842)
- Automatically detect and report 'session' by [@​howardjohn](https://github.com/howardjohn) in [#​3850](https://github.com/agentgateway/agentgateway/pull/3850)
- proxy: gracefully handly HTTP/1 draining by [@​howardjohn](https://github.com/howardjohn) in [#​3833](https://github.com/agentgateway/agentgateway/pull/3833)
- Support translating from OpenAI Decisions to TypeSafe SystemOne format by [@​howardjohn](https://github.com/howardjohn) in [#​3839](https://github.com/agentgateway/agentgateway/pull/3839)
- Add a native typesafe preset provider by [@​howardjohn](https://github.com/howardjohn) in [#​3852](https://github.com/agentgateway/agentgateway/pull/3852)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3856](https://github.com/agentgateway/agentgateway/pull/3856)
- llm: fix custom providers with Detect/Passthrough by [@​howardjohn](https://github.com/howardjohn) in [#​3853](https://github.com/agentgateway/agentgateway/pull/3853)
- Add Kubernetes support for typesafe and decisions APIs by [@​howardjohn](https://github.com/howardjohn) in [#​3854](https://github.com/agentgateway/agentgateway/pull/3854)
- cel: cleanup resolver implementations by [@​howardjohn](https://github.com/howardjohn) in [#​3848](https://github.com/agentgateway/agentgateway/pull/3848)
- misc CI improvements by [@​howardjohn](https://github.com/howardjohn) in [#​3862](https://github.com/agentgateway/agentgateway/pull/3862)
- fix(bedrock): stream reasoning as reasoning items in responses by [@​howardjohn](https://github.com/howardjohn) in [#​3828](https://github.com/agentgateway/agentgateway/pull/3828)
- virtual model: kubernetes callout support by [@​howardjohn](https://github.com/howardjohn) in [#​3843](https://github.com/agentgateway/agentgateway/pull/3843)
- fix(controller): do not reset istio log level in NewControllerBuilder by [@​noony](https://github.com/noony) in [#​3817](https://github.com/agentgateway/agentgateway/pull/3817)
- ext\_proc: fail a local error of a gRPC policy call with its gRPC status by [@​QuentinBisson](https://github.com/QuentinBisson) in [#​3793](https://github.com/agentgateway/agentgateway/pull/3793)
- resource\_manager: files read while parsing become managed dependencies (fork) by [@​howardjohn](https://github.com/howardjohn) in [#​3863](https://github.com/agentgateway/agentgateway/pull/3863)
- Fix/substrate resume trace propagation by [@​linsun](https://github.com/linsun) in [#​3674](https://github.com/agentgateway/agentgateway/pull/3674)
- add AgentgatewayModel GK to default known from references by [@​conradhanson](https://github.com/conradhanson) in [#​3869](https://github.com/agentgateway/agentgateway/pull/3869)
- Add source repository to Chart.yaml by [@​lareeth](https://github.com/lareeth) in [#​3871](https://github.com/agentgateway/agentgateway/pull/3871)
- Allow sending callout requests through CONNECT tunnel by [@​howardjohn](https://github.com/howardjohn) in [#​3864](https://github.com/agentgateway/agentgateway/pull/3864)
- Allow substrate egress while actors resume by [@​EItanya](https://github.com/EItanya) in [#​3882](https://github.com/agentgateway/agentgateway/pull/3882)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3877](https://github.com/agentgateway/agentgateway/pull/3877)
- xds: sort policies for stability by [@​howardjohn](https://github.com/howardjohn) in [#​3885](https://github.com/agentgateway/agentgateway/pull/3885)
- controller: keep status entry order stable across controllers by [@​rajatvig](https://github.com/rajatvig) in [#​3883](https://github.com/agentgateway/agentgateway/pull/3883)
- oidc: allow direct bearer tokens by [@​howardjohn](https://github.com/howardjohn) in [#​3826](https://github.com/agentgateway/agentgateway/pull/3826)
- mcp: avoid using a stale cached MCPInfo by [@​howardjohn](https://github.com/howardjohn) in [#​3893](https://github.com/agentgateway/agentgateway/pull/3893)
- ui: avoid implicit passing creds to MCP and LLM playground by [@​howardjohn](https://github.com/howardjohn) in [#​3892](https://github.com/agentgateway/agentgateway/pull/3892)
- guard: make phone number parser a bit stricter by [@​howardjohn](https://github.com/howardjohn) in [#​3890](https://github.com/agentgateway/agentgateway/pull/3890)
- oidc: explicitly tell clients to avoid caching refresh token flow by [@​howardjohn](https://github.com/howardjohn) in [#​3895](https://github.com/agentgateway/agentgateway/pull/3895)
- llm: better int type casting by [@​howardjohn](https://github.com/howardjohn) in [#​3887](https://github.com/agentgateway/agentgateway/pull/3887)
- Add dockerfile for oss-scanner by [@​howardjohn](https://github.com/howardjohn) in [#​3904](https://github.com/agentgateway/agentgateway/pull/3904)
- perf: re-disable THP by [@​howardjohn](https://github.com/howardjohn) in [#​3902](https://github.com/agentgateway/agentgateway/pull/3902)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3905](https://github.com/agentgateway/agentgateway/pull/3905)
- jwks: support x5c key sets in fips140=only mode by [@​ymesika](https://github.com/ymesika) in [#​3924](https://github.com/agentgateway/agentgateway/pull/3924)
- llm: rewrite oneOf to anyOf in Gemini schema normalization by [@​rajatvig](https://github.com/rajatvig) in [#​3920](https://github.com/agentgateway/agentgateway/pull/3920)
- budget: do not override gateway policy from a route policy by [@​howardjohn](https://github.com/howardjohn) in [#​3888](https://github.com/agentgateway/agentgateway/pull/3888)
- controller: align status builders with the syncer and fix ancestor matching by [@​rajatvig](https://github.com/rajatvig) in [#​3911](https://github.com/agentgateway/agentgateway/pull/3911)
- fix(ui): remove useKeyWithClickEvents suppressions by [@​iandvt](https://github.com/iandvt) in [#​3906](https://github.com/agentgateway/agentgateway/pull/3906)
- fix(ui): use headings for read-only YAML sections by [@​iandvt](https://github.com/iandvt) in [#​3910](https://github.com/agentgateway/agentgateway/pull/3910)
- fix(ui): use a button for log turn help by [@​iandvt](https://github.com/iandvt) in [#​3913](https://github.com/agentgateway/agentgateway/pull/3913)
- fix(ui): use buttons for Field help controls by [@​iandvt](https://github.com/iandvt) in [#​3914](https://github.com/agentgateway/agentgateway/pull/3914)
- llm: fail close on model armor error by [@​howardjohn](https://github.com/howardjohn) in [#​3925](https://github.com/agentgateway/agentgateway/pull/3925)
- feat(ui): search the values offered by the user and group filters by [@​erentorlak](https://github.com/erentorlak) in [#​3919](https://github.com/agentgateway/agentgateway/pull/3919)
- llm: support service tier pricing by [@​howardjohn](https://github.com/howardjohn) in [#​3661](https://github.com/agentgateway/agentgateway/pull/3661)
- xbackend: avoid collisions with AGWBackend keys by [@​howardjohn](https://github.com/howardjohn) in [#​3891](https://github.com/agentgateway/agentgateway/pull/3891)
- build: always include UI, just make it optional by [@​howardjohn](https://github.com/howardjohn) in [#​3929](https://github.com/agentgateway/agentgateway/pull/3929)
- Fix numeric key serialization in config by [@​howardjohn](https://github.com/howardjohn) in [#​3933](https://github.com/agentgateway/agentgateway/pull/3933)
- respect idle timeout on MCP path by [@​howardjohn](https://github.com/howardjohn) in [#​3894](https://github.com/agentgateway/agentgateway/pull/3894)
- allow mcp auth with jwt validation by [@​stevenctl](https://github.com/stevenctl) in [#​3936](https://github.com/agentgateway/agentgateway/pull/3936)
- health: only consider server-side grpc errors as unhealthy by [@​howardjohn](https://github.com/howardjohn) in [#​3897](https://github.com/agentgateway/agentgateway/pull/3897)
- llm: fix cache convention on azure by [@​howardjohn](https://github.com/howardjohn) in [#​3899](https://github.com/agentgateway/agentgateway/pull/3899)
- llm: respect buffer limits on various paths by [@​howardjohn](https://github.com/howardjohn) in [#​3896](https://github.com/agentgateway/agentgateway/pull/3896)
- refactor(http): extract shared strip\_path\_prefix for segment-aware prefix matching by [@​dongjiang1989](https://github.com/dongjiang1989) in [#​3874](https://github.com/agentgateway/agentgateway/pull/3874)
- fix: Redact database URL when serializing the config. by [@​chrisgavin](https://github.com/chrisgavin) in [#​3878](https://github.com/agentgateway/agentgateway/pull/3878)
- Bump go dependencies by [@​howardjohn](https://github.com/howardjohn) in [#​3865](https://github.com/agentgateway/agentgateway/pull/3865)
- Better token counting by [@​howardjohn](https://github.com/howardjohn) in [#​3867](https://github.com/agentgateway/agentgateway/pull/3867)
- feat: allow to auto-gen a key on replacing by [@​guenhter](https://github.com/guenhter) in [#​3923](https://github.com/agentgateway/agentgateway/pull/3923)
- ui: fallback if we cannot gracefully edit the yaml by [@​howardjohn](https://github.com/howardjohn) in [#​3866](https://github.com/agentgateway/agentgateway/pull/3866)
- examples: add OpenShell integration by [@​danehans](https://github.com/danehans) in [#​3908](https://github.com/agentgateway/agentgateway/pull/3908)
- ui: fix CEL playground sample context serviceTier by [@​ymesika](https://github.com/ymesika) in [#​3950](https://github.com/agentgateway/agentgateway/pull/3950)
- helm: fix Prometheus relabeling doc links in values comments by [@​kristin-kronstain-brown](https://github.com/kristin-kronstain-brown) in [#​3951](https://github.com/agentgateway/agentgateway/pull/3951)
- fix(llm): don't fail passthrough on an unterminated final SSE event by [@​johnsto](https://github.com/johnsto) in [#​3676](https://github.com/agentgateway/agentgateway/pull/3676)
- examples: simplify single-runtime tier routing by [@​danehans](https://github.com/danehans) in [#​3944](https://github.com/agentgateway/agentgateway/pull/3944)
- fix(ui): drop provider icon noDescendingSpecificity suppressions by [@​iandvt](https://github.com/iandvt) in [#​3943](https://github.com/agentgateway/agentgateway/pull/3943)
- xds: report proxy configuration warnings separately from rejections by [@​markuskobler](https://github.com/markuskobler) in [#​3953](https://github.com/agentgateway/agentgateway/pull/3953)
- build(deps): bump the cargo-weekly group with 9 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3946](https://github.com/agentgateway/agentgateway/pull/3946)
- fix(proxy): record grpc-status for trailers-only error responses by [@​QuentinBisson](https://github.com/QuentinBisson) in [#​3873](https://github.com/agentgateway/agentgateway/pull/3873)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3945](https://github.com/agentgateway/agentgateway/pull/3945)
- Bump istio and adopt performance improvements by [@​howardjohn](https://github.com/howardjohn) in [#​3954](https://github.com/agentgateway/agentgateway/pull/3954)
- ext authz: fix default body on standalone by [@​howardjohn](https://github.com/howardjohn) in [#​3940](https://github.com/agentgateway/agentgateway/pull/3940)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​3956](https://github.com/agentgateway/agentgateway/pull/3956)
- ui: preselect first model for new virtual model targets by [@​howardjohn](https://github.com/howardjohn) in [#​3939](https://github.com/agentgateway/agentgateway/pull/3939)
- AgentgatewayModel: proper wildcard precedence by [@​howardjohn](https://github.com/howardjohn) in [#​3932](https://github.com/agentgateway/agentgateway/pull/3932)
- perf: cache proxy TLS configs by [@​howardjohn](https://github.com/howardjohn) in [#​3926](https://github.com/agentgateway/agentgateway/pull/3926)
- respect client anthropic-version header by [@​stevenctl](https://github.com/stevenctl) in [#​3957](https://github.com/agentgateway/agentgateway/pull/3957)
- examples: simplify Datadog integration by [@​danehans](https://github.com/danehans) in [#​3935](https://github.com/agentgateway/agentgateway/pull/3935)
- oidc permissive mode by [@​jenshu](https://github.com/jenshu) in [#​3903](https://github.com/agentgateway/agentgateway/pull/3903)
- fix(ui): associate Field labels with their controls by [@​iandvt](https://github.com/iandvt) in [#​3915](https://github.com/agentgateway/agentgateway/pull/3915)
- llm/vertex-gemini: support https\:// URIs in file content parts by [@​matvas-txf](https://github.com/matvas-txf) in [#​3691](https://github.com/agentgateway/agentgateway/pull/3691)
- fix(ui): reorder styles to drop 29 noDescendingSpecificity suppressions by [@​iandvt](https://github.com/iandvt) in [#​3961](https://github.com/agentgateway/agentgateway/pull/3961)
- catalog: Import more data into the catalog by [@​howardjohn](https://github.com/howardjohn) in [#​3960](https://github.com/agentgateway/agentgateway/pull/3960)
- fix(ui): reorder styles to drop 13 noDescendingSpecificity suppressions by [@​iandvt](https://github.com/iandvt) in [#​3969](https://github.com/agentgateway/agentgateway/pull/3969)
- Fix Webhook guardrail: MaskAction with extra message fields silently pa… by [@​lcopi](https://github.com/lcopi) in [#​3964](https://github.com/agentgateway/agentgateway/pull/3964)
- llm: document agentgateway extensions to standard APIs by [@​howardjohn](https://github.com/howardjohn) in [#​3959](https://github.com/agentgateway/agentgateway/pull/3959)
- examples: fix token exchange docs to match config schema by [@​markuskobler](https://github.com/markuskobler) in [#​3967](https://github.com/agentgateway/agentgateway/pull/3967)
- cel: fix non-this indexing by [@​howardjohn](https://github.com/howardjohn) in [#​3966](https://github.com/agentgateway/agentgateway/pull/3966)
- feat(copilot): add kubernetes provider support by [@​iandvt](https://github.com/iandvt) in [#​3605](https://github.com/agentgateway/agentgateway/pull/3605)
- llm: price 1h cache writes separately from 5m by [@​liorbenita2](https://github.com/liorbenita2) in [#​3825](https://github.com/agentgateway/agentgateway/pull/3825)
- catalog: render model information into /v1/models by [@​howardjohn](https://github.com/howardjohn) in [#​3965](https://github.com/agentgateway/agentgateway/pull/3965)
- Fix bad rebase in model catalog by [@​howardjohn](https://github.com/howardjohn) in [#​3982](https://github.com/agentgateway/agentgateway/pull/3982)
- mcp: resume sessions on DELETE so upstream sessions get closed by [@​markuskobler](https://github.com/markuskobler) in [#​3976](https://github.com/agentgateway/agentgateway/pull/3976)
- deps: avoid depending on GIE conformance in go.mod by [@​howardjohn](https://github.com/howardjohn) in [#​3978](https://github.com/agentgateway/agentgateway/pull/3978)
- ui: Fixes around policy editors by [@​howardjohn](https://github.com/howardjohn) in [#​3979](https://github.com/agentgateway/agentgateway/pull/3979)
- fix(copilot): restore protocol headers for generic backends by [@​iandvt](https://github.com/iandvt) in [#​3983](https://github.com/agentgateway/agentgateway/pull/3983)
- test: fix flakey extauthz test by [@​howardjohn](https://github.com/howardjohn) in [#​3984](https://github.com/agentgateway/agentgateway/pull/3984)
- cel: expose model catalog info by [@​howardjohn](https://github.com/howardjohn) in [#​3981](https://github.com/agentgateway/agentgateway/pull/3981)
- catalog: add prices for anthropic 1h cache by [@​howardjohn](https://github.com/howardjohn) in [#​3977](https://github.com/agentgateway/agentgateway/pull/3977)
- Close drift on recent substrate contract changes by [@​keithmattix](https://github.com/keithmattix) in [#​3985](https://github.com/agentgateway/agentgateway/pull/3985)
- Add ui-maintainers as ui code owner by [@​Charlesthebird](https://github.com/Charlesthebird) in [#​3958](https://github.com/agentgateway/agentgateway/pull/3958)
- Fix Substrate worker identities and default egress policy lookup by [@​EItanya](https://github.com/EItanya) in [#​3990](https://github.com/agentgateway/agentgateway/pull/3990)
- fix(ui): complete hook dependencies outside Logs.tsx by [@​iandvt](https://github.com/iandvt) in [#​3988](https://github.com/agentgateway/agentgateway/pull/3988)
- config store: reject writes validated against a stale snapshot by [@​jbohanon](https://github.com/jbohanon) in [#​3656](https://github.com/agentgateway/agentgateway/pull/3656)
- controller: Drop metrics that are expensive and not useful. by [@​howardjohn](https://github.com/howardjohn) in [#​3992](https://github.com/agentgateway/agentgateway/pull/3992)
- ui: minor fixes for monaco by [@​howardjohn](https://github.com/howardjohn) in [#​3993](https://github.com/agentgateway/agentgateway/pull/3993)
- ui: add 'raw' mode for all form editors by [@​howardjohn](https://github.com/howardjohn) in [#​3994](https://github.com/agentgateway/agentgateway/pull/3994)
- fix(ui): complete Logs hook dependencies by [@​iandvt](https://github.com/iandvt) in [#​3997](https://github.com/agentgateway/agentgateway/pull/3997)
- feat(standalone): honor mcp openapi path config by [@​jbohanon](https://github.com/jbohanon) in [#​3973](https://github.com/agentgateway/agentgateway/pull/3973)
- budget: allow budgets with no refresh by [@​howardjohn](https://github.com/howardjohn) in [#​3970](https://github.com/agentgateway/agentgateway/pull/3970)
- hbone: disable data frame budget by [@​howardjohn](https://github.com/howardjohn) in [#​3952](https://github.com/agentgateway/agentgateway/pull/3952)
- ui: elide defaults from saved config by [@​howardjohn](https://github.com/howardjohn) in [#​3998](https://github.com/agentgateway/agentgateway/pull/3998)
- llm: increase buffer size before request policies by [@​howardjohn](https://github.com/howardjohn) in [#​4002](https://github.com/agentgateway/agentgateway/pull/4002)
- ui: proper and consistent required field markers by [@​howardjohn](https://github.com/howardjohn) in [#​4004](https://github.com/agentgateway/agentgateway/pull/4004)
- ui: include backend policies in MCP server page by [@​howardjohn](https://github.com/howardjohn) in [#​4005](https://github.com/agentgateway/agentgateway/pull/4005)
- ui: save every editor through useMergedEdits by [@​howardjohn](https://github.com/howardjohn) in [#​4008](https://github.com/agentgateway/agentgateway/pull/4008)
- ui: mark required fields on the remaining forms; raw mode for keys by [@​howardjohn](https://github.com/howardjohn) in [#​4013](https://github.com/agentgateway/agentgateway/pull/4013)
- proxy: move backend mirrors to after backend policies by [@​howardjohn](https://github.com/howardjohn) in [#​4011](https://github.com/agentgateway/agentgateway/pull/4011)
- ui: report all OIDC required fields on the first save by [@​howardjohn](https://github.com/howardjohn) in [#​4014](https://github.com/agentgateway/agentgateway/pull/4014)
- llm: add systemone -> decision translation by [@​howardjohn](https://github.com/howardjohn) in [#​3928](https://github.com/agentgateway/agentgateway/pull/3928)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​4023](https://github.com/agentgateway/agentgateway/pull/4023)
- fix(ui): remove static interaction ignores from startup and tooltip by [@​iandvt](https://github.com/iandvt) in [#​4022](https://github.com/agentgateway/agentgateway/pull/4022)
- fix(ui): remove static interaction ignores from shared controls by [@​iandvt](https://github.com/iandvt) in [#​4021](https://github.com/agentgateway/agentgateway/pull/4021)
- dep bumps by [@​markuskobler](https://github.com/markuskobler) in [#​4028](https://github.com/agentgateway/agentgateway/pull/4028)
- feat(azure): support Foundry Decisions and SystemOne by [@​iandvt](https://github.com/iandvt) in [#​4018](https://github.com/agentgateway/agentgateway/pull/4018)
- llm: apply rate limit to all types by [@​howardjohn](https://github.com/howardjohn) in [#​4029](https://github.com/agentgateway/agentgateway/pull/4029)
- catalog: include all types by [@​howardjohn](https://github.com/howardjohn) in [#​4016](https://github.com/agentgateway/agentgateway/pull/4016)
- proxy: snapshot requests answered locally without an upstream call by [@​howardjohn](https://github.com/howardjohn) in [#​3996](https://github.com/agentgateway/agentgateway/pull/3996)
- Add `agctl bug-report` command by [@​howardjohn](https://github.com/howardjohn) in [#​3991](https://github.com/agentgateway/agentgateway/pull/3991)
- llm: expose more CEL attributes in the request processing phase by [@​howardjohn](https://github.com/howardjohn) in [#​4010](https://github.com/agentgateway/agentgateway/pull/4010)
- shrink make backend call stack by [@​howardjohn](https://github.com/howardjohn) in [#​4035](https://github.com/agentgateway/agentgateway/pull/4035)
- build(deps): bump the cargo-weekly group with 13 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​4045](https://github.com/agentgateway/agentgateway/pull/4045)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​4038](https://github.com/agentgateway/agentgateway/pull/4038)
- fix(ui): complete field-error hook dependencies by [@​iandvt](https://github.com/iandvt) in [#​4036](https://github.com/agentgateway/agentgateway/pull/4036)
- fix(ui): use native elements for segmented controls and log rows by [@​iandvt](https://github.com/iandvt) in [#​4037](https://github.com/agentgateway/agentgateway/pull/4037)
- ui: properly show schema help on all dropdowns by [@​howardjohn](https://github.com/howardjohn) in [#​4034](https://github.com/agentgateway/agentgateway/pull/4034)
- feat(controller): allow HTTPS and TLS listeners to share a port by [@​jimassa](https://github.com/jimassa) in [#​4000](https://github.com/agentgateway/agentgateway/pull/4000)
- fix(mcp): reject invalid hosts in host/port/path configuration by [@​vladislav-miroshnikov](https://github.com/vladislav-miroshnikov) in [#​4039](https://github.com/agentgateway/agentgateway/pull/4039)
- Prepare for rust 1.100 by [@​howardjohn](https://github.com/howardjohn) in [#​4046](https://github.com/agentgateway/agentgateway/pull/4046)
- fix(llm): accept reasoning in completions-to-messages responses by [@​vladislav-miroshnikov](https://github.com/vladislav-miroshnikov) in [#​4030](https://github.com/agentgateway/agentgateway/pull/4030)
- agctl: add a new 'standalone' CLI by [@​howardjohn](https://github.com/howardjohn) in [#​4032](https://github.com/agentgateway/agentgateway/pull/4032)
- Benchmark and optimize krt collections by [@​howardjohn](https://github.com/howardjohn) in [#​4017](https://github.com/agentgateway/agentgateway/pull/4017)
- dynamic: deny destinations resolving to loopback by [@​howardjohn](https://github.com/howardjohn) in [#​3889](https://github.com/agentgateway/agentgateway/pull/3889)
- (breaking) standalone: always use a session key by [@​howardjohn](https://github.com/howardjohn) in [#​4031](https://github.com/agentgateway/agentgateway/pull/4031)
- (breaking) guardrails: support scope on vendor guardrails by [@​howardjohn](https://github.com/howardjohn) in [#​3975](https://github.com/agentgateway/agentgateway/pull/3975)
- fix(ui): correct custom provider endpoint hints by [@​pqminh27](https://github.com/pqminh27) in [#​4051](https://github.com/agentgateway/agentgateway/pull/4051)
- Get substrate implementation up to date by [@​keithmattix](https://github.com/keithmattix) in [#​4048](https://github.com/agentgateway/agentgateway/pull/4048)
- tests: fix flaky auto protocol TCP tests by reading the full echo by [@​markuskobler](https://github.com/markuskobler) in [#​4052](https://github.com/agentgateway/agentgateway/pull/4052)
- Do not expose session.key over REST API by [@​howardjohn](https://github.com/howardjohn) in [#​4056](https://github.com/agentgateway/agentgateway/pull/4056)
- mcp: rebind re-used session to current settings by [@​howardjohn](https://github.com/howardjohn) in [#​4057](https://github.com/agentgateway/agentgateway/pull/4057)
- Add status check for MCP conditional CEL by [@​howardjohn](https://github.com/howardjohn) in [#​4060](https://github.com/agentgateway/agentgateway/pull/4060)
- ui: add a Continue recipe to Client Setup by [@​TheSeydiCharyyev](https://github.com/TheSeydiCharyyev) in [#​4020](https://github.com/agentgateway/agentgateway/pull/4020)
- refactor: unify cache implementation across policies by [@​howardjohn](https://github.com/howardjohn) in [#​4047](https://github.com/agentgateway/agentgateway/pull/4047)
- mcp: validate conditions match on each request, not just init by [@​howardjohn](https://github.com/howardjohn) in [#​4062](https://github.com/agentgateway/agentgateway/pull/4062)
- Add additional fields to analytics report by [@​howardjohn](https://github.com/howardjohn) in [#​4061](https://github.com/agentgateway/agentgateway/pull/4061)
- build: pin Go toolchain in go.mod + go 1.27.3 by [@​markuskobler](https://github.com/markuskobler) in [#​4063](https://github.com/agentgateway/agentgateway/pull/4063)
- llm: fix regression in DB logging errors by [@​howardjohn](https://github.com/howardjohn) in [#​4071](https://github.com/agentgateway/agentgateway/pull/4071)
- Allow opt-in controller admin bind address by [@​jbohanon](https://github.com/jbohanon) in [#​4049](https://github.com/agentgateway/agentgateway/pull/4049)
- llm: account for Anthropic usage iterations by [@​howardjohn](https://github.com/howardjohn) in [#​4050](https://github.com/agentgateway/agentgateway/pull/4050)
- mcp: advertise only change notifications upstreams offer by [@​howardjohn](https://github.com/howardjohn) in [#​4054](https://github.com/agentgateway/agentgateway/pull/4054)
- fix: allow parsing bracketted IPv6 by [@​howardjohn](https://github.com/howardjohn) in [#​4073](https://github.com/agentgateway/agentgateway/pull/4073)
- feat(ext\_proc): accept hostname destinations from the endpoint picker by [@​ScraperNerd18](https://github.com/ScraperNerd18) in [#​4012](https://github.com/agentgateway/agentgateway/pull/4012)
- mcp: assert that resumed sessions are on the same backend by [@​howardjohn](https://github.com/howardjohn) in [#​4059](https://github.com/agentgateway/agentgateway/pull/4059)
- fix(ui): wait for LLM CORS before enabling Send by [@​pqminh27](https://github.com/pqminh27) in [#​4065](https://github.com/agentgateway/agentgateway/pull/4065)
- feat(oidc): make sessionTtl configurable by [@​pqminh27](https://github.com/pqminh27) in [#​4066](https://github.com/agentgateway/agentgateway/pull/4066)
- Align retry docs with reality by [@​howardjohn](https://github.com/howardjohn) in [#​4077](https://github.com/agentgateway/agentgateway/pull/4077)
- Drop deprecated AGENTGATEWAY\_MESSAGES\_PREFER\_COMPLETIONS by [@​howardjohn](https://github.com/howardjohn) in [#​4072](https://github.com/agentgateway/agentgateway/pull/4072)
- drop unavailable lint by [@​howardjohn](https://github.com/howardjohn) in [#​4074](https://github.com/agentgateway/agentgateway/pull/4074)
- feat(helm): add extraInitContainers value to controller and standalone charts by [@​zackwy](https://github.com/zackwy) in [#​4053](https://github.com/agentgateway/agentgateway/pull/4053)
- fix(ui): render log Markdown from a sanitized DOM fragment by [@​iandvt](https://github.com/iandvt) in [#​4040](https://github.com/agentgateway/agentgateway/pull/4040)
- fix(ui): use native subpath imports in mergeEdits tests by [@​iandvt](https://github.com/iandvt) in [#​4033](https://github.com/agentgateway/agentgateway/pull/4033)
- llm: read message\_start usage in detect streams by [@​liorbenita2](https://github.com/liorbenita2) in [#​4067](https://github.com/agentgateway/agentgateway/pull/4067)
- llm: add constructors for common response types by [@​markuskobler](https://github.com/markuskobler) in [#​4075](https://github.com/agentgateway/agentgateway/pull/4075)
- fix(llm): forward OpenAI service\_tier to Bedrock serviceTier by [@​matheus-meneses](https://github.com/matheus-meneses) in [#​4078](https://github.com/agentgateway/agentgateway/pull/4078)
- llm: revert Bedrock changes and drop messages preference env by [@​howardjohn](https://github.com/howardjohn) in [#​4080](https://github.com/agentgateway/agentgateway/pull/4080)
- feat(import): support LiteLLM default\_fallbacks and define behavior for conditional fallbacks by [@​Altamimi-Dev](https://github.com/Altamimi-Dev) in [#​3038](https://github.com/agentgateway/agentgateway/pull/3038)
- examples: add Kubernetes and standalone response caching by [@​danehans](https://github.com/danehans) in [#​3594](https://github.com/agentgateway/agentgateway/pull/3594)
- refactor: cleanup rate limiting LLM specific code by [@​howardjohn](https://github.com/howardjohn) in [#​4081](https://github.com/agentgateway/agentgateway/pull/4081)
- examples: simplify NetBird integration by [@​danehans](https://github.com/danehans) in [#​3942](https://github.com/agentgateway/agentgateway/pull/3942)
- Error instead of panic on invalid SNI by [@​howardjohn](https://github.com/howardjohn) in [#​4082](https://github.com/agentgateway/agentgateway/pull/4082)
- Use native roots and AWS-LC for PostgreSQL TLS by [@​markuskobler](https://github.com/markuskobler) in [#​4089](https://github.com/agentgateway/agentgateway/pull/4089)
- Bump rust depends by [@​howardjohn](https://github.com/howardjohn) in [#​4087](https://github.com/agentgateway/agentgateway/pull/4087)
- csrf: treat Origin: null as a cross-origin request by [@​howardjohn](https://github.com/howardjohn) in [#​4090](https://github.com/agentgateway/agentgateway/pull/4090)
- proxy: do not leak error info to clients by [@​howardjohn](https://github.com/howardjohn) in [#​2162](https://github.com/agentgateway/agentgateway/pull/2162)
- Fix invalid assume-role session tags blocking proxy readiness by [@​lcopi](https://github.com/lcopi) in [#​4086](https://github.com/agentgateway/agentgateway/pull/4086)
- fix: bedrock invalid function call recover by [@​conradj3](https://github.com/conradj3) in [#​4027](https://github.com/agentgateway/agentgateway/pull/4027)
- standalone: allow writing more MCP settings into DB by [@​howardjohn](https://github.com/howardjohn) in [#​4094](https://github.com/agentgateway/agentgateway/pull/4094)
- catalog: include deprecated models by [@​howardjohn](https://github.com/howardjohn) in [#​4096](https://github.com/agentgateway/agentgateway/pull/4096)
- fix inconsistent promptCache implementation by [@​lcopi](https://github.com/lcopi) in [#​3927](https://github.com/agentgateway/agentgateway/pull/3927)
- csrf: compare only the Origin host, ignoring scheme by [@​howardjohn](https://github.com/howardjohn) in [#​4091](https://github.com/agentgateway/agentgateway/pull/4091)
- fix(controller): keep conflicted listeners out of traffic by [@​jbohanon](https://github.com/jbohanon) in [#​3754](https://github.com/agentgateway/agentgateway/pull/3754)
- aws: initial native endpoint support with runtime by [@​howardjohn](https://github.com/howardjohn) in [#​3845](https://github.com/agentgateway/agentgateway/pull/3845)
- Support openai 12h cache prompt by [@​howardjohn](https://github.com/howardjohn) in [#​4088](https://github.com/agentgateway/agentgateway/pull/4088)
- filters: better error handling by [@​howardjohn](https://github.com/howardjohn) in [#​4097](https://github.com/agentgateway/agentgateway/pull/4097)
- Fix redirect to another sceheme with explicit port by [@​howardjohn](https://github.com/howardjohn) in [#​4092](https://github.com/agentgateway/agentgateway/pull/4092)
- fix(mcp): treat 404/405 on upstream session DELETE as success by [@​yavzius](https://github.com/yavzius) in [#​4015](https://github.com/agentgateway/agentgateway/pull/4015)
- fix(llm): keep schema formats in Gemini requests by [@​danielle-mustillo](https://github.com/danielle-mustillo) in [#​4095](https://github.com/agentgateway/agentgateway/pull/4095)
- feat(llm): convert OpenAI inline file parts to Anthropic documents by [@​Yoel-qin](https://github.com/Yoel-qin) in [#​3912](https://github.com/agentgateway/agentgateway/pull/3912)
- Bump npm deps by [@​howardjohn](https://github.com/howardjohn) in [#​4099](https://github.com/agentgateway/agentgateway/pull/4099)
- fix(mcp): distinguish authorization denials in logs by [@​shubhamojha1](https://github.com/shubhamojha1) in [#​4079](https://github.com/agentgateway/agentgateway/pull/4079)
- proxy: fix and test re-entrant locking by [@​howardjohn](https://github.com/howardjohn) in [#​4105](https://github.com/agentgateway/agentgateway/pull/4105)
- agctl: drop required apiVersion on exec auth by [@​howardjohn](https://github.com/howardjohn) in [#​4102](https://github.com/agentgateway/agentgateway/pull/4102)
- docs: add note about advisor tools by [@​howardjohn](https://github.com/howardjohn) in [#​4101](https://github.com/agentgateway/agentgateway/pull/4101)
- Move slow integration test to a unit test by [@​howardjohn](https://github.com/howardjohn) in [#​4104](https://github.com/agentgateway/agentgateway/pull/4104)
- Update model catalog by [@​github-actions](https://github.com/github-actions)\[bot] in [#​4110](https://github.com/agentgateway/agentgateway/pull/4110)
- fix(llm): preserve Gemini tool-call thought signatures by [@​markuskobler](https://github.com/markuskobler) in [#​3898](https://github.com/agentgateway/agentgateway/pull/3898)
- build: update Node to 24.22.1 by [@​Charlesthebird](https://github.com/Charlesthebird) in [#​4113](https://github.com/agentgateway/agentgateway/pull/4113)
- Use Substrate v1 gRPC service names by [@​EItanya](https://github.com/EItanya) in [#​4124](https://github.com/agentgateway/agentgateway/pull/4124)
- omit empty bedrock tool list for completions by [@̴…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a K8s example that runs OpenShell behind a dedicated agentgateway managed Gateway.
xref: NVIDIA/OpenShell#4345