| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| agctl-darwin-arm64 | 2026-07-27 | 31.4 MB | |
| agctl-darwin-arm64.sha256 | 2026-07-27 | 85 Bytes | |
| agctl-linux-amd64 | 2026-07-27 | 32.4 MB | |
| agctl-linux-amd64.sha256 | 2026-07-27 | 84 Bytes | |
| agctl-linux-arm64 | 2026-07-27 | 30.3 MB | |
| agctl-linux-arm64.sha256 | 2026-07-27 | 84 Bytes | |
| agctl-windows-amd64.exe | 2026-07-27 | 33.1 MB | |
| agctl-windows-amd64.exe.sha256 | 2026-07-27 | 90 Bytes | |
| agentgateway-darwin-arm64 | 2026-07-27 | 82.5 MB | |
| agentgateway-darwin-arm64.sha256 | 2026-07-27 | 100 Bytes | |
| agentgateway-linux-amd64 | 2026-07-27 | 86.8 MB | |
| agentgateway-linux-amd64.sha256 | 2026-07-27 | 99 Bytes | |
| agentgateway-linux-arm64 | 2026-07-27 | 80.9 MB | |
| agentgateway-linux-arm64.sha256 | 2026-07-27 | 99 Bytes | |
| agentgateway-windows-amd64.exe | 2026-07-27 | 94.5 MB | |
| agentgateway-windows-amd64.exe.sha256 | 2026-07-27 | 105 Bytes | |
| README.md | 2026-07-27 | 49.1 kB | |
| v1.4.0 source code.tar.gz | 2026-07-27 | 6.3 MB | |
| v1.4.0 source code.zip | 2026-07-27 | 7.6 MB | |
| Totals: 19 Items | 485.9 MB | 0 | |
🎉 Welcome to the 1.4.0 release of the agentgateway project!
This release brings a number of highlight features.
First, we have full support for the new MCP 2026-07-28 protocol, which we have been working with the MCP community to develop over the past year. Additionally, Enterprise-Managed Authorization (also known as Cross App Access) for MCP has been added, enabling centralized access control for MCP servers. Along the same authentication line, a flexible and feature-rich OAuth token exchange backend authentication mode has been added, enabling a number of security authentication strategies.
The standalone mode has a number of enhancements: configuration created in the UI can now be stored in the database (sqlite for local usage, postgres for remote or HA setups), avoiding the need for a persistent disk. A new gateways configuration replaces the low-level binds API and enables serving LLM, MCP, generic routes, and the UI on the same port; additionally, this enables authentication (such as OIDC) for the UI. A new agentgateway-standalone Helm chart is available for deploying standalone agentgateway in Kubernetes.
The Kubernetes deployment has a new (off by default) experimental AgentgatewayModel API, bringing the standalone LLM experience to Kubernetes. AgentgatewayModel allows serving a number of LLM models under the same gateway, routed based on the model name in the request. This offers a higher level API than AgentgatewayBackend, simplifying the common configuration cases; the existing API remains available.
The release also includes Gateway API v1.6 support, fault injection, richer guardrails, and many other enhancements and bug fixes.
Artifacts
Docker images are available:
cr.agentgateway.dev/agentgateway:v1.4.0cr.agentgateway.dev/controller:v1.4.0
Helm charts are available:
cr.agentgateway.dev/charts/agentgateway:v1.4.0cr.agentgateway.dev/charts/agentgateway-crds:v1.4.0cr.agentgateway.dev/charts/agentgateway-standalone:v1.4.0
Binaries are available below.
Quick Start
Follow the Kubernetes or Standalone quick start guide to get started.
🔥 Breaking changes
Gateway API v1.6 and TCPRoute v1
Agentgateway now builds against Gateway API v1.6, and the Kubernetes controller uses the v1 version of TCPRoute instead of v1alpha2. Re-apply the Gateway API CRDs that match this release before you upgrade.
MCP request-phase guardrail rejections return HTTP 200
When an MCP guardrail rejects a request during the request phase, agentgateway now returns the rejection as an HTTP 200 with a JSON-RPC error body, matching the existing response-phase behavior. Update any clients or tests that expected a non-200 status for request-phase rejections.
For more information, see Kubernetes MCP guardrails and Standalone MCP guardrails.
(Standalone) auth.location no longer nests expression
The auth.location configuration no longer uses a double-nested expression field. Update any policies that set a custom token location to use the flattened form.
musl container images removed
The musl-based container image variants are no longer published. Switch to the standard (glibc) images.
The binary releases are still built with musl.
🔒 Security
Stateful MCP sessions can cross routes and overwrite the authorization policy
This release addresses the security advisory GHSA-mvgg-jvj2-4frq of a High (8.1) severity impacting MCP authorization.
Please see the advisory for details and mitigation steps.
Thank you to Aonan Guan for this report.
Request/Response Body CEL policies
A report was made to us that authorization policies written against the request.body or response.body CEL variables may result in unexpected behavior due to the truncation behavior of these attributes.
This is a security recommendation on the usage of these fields in authorization policies, and not a bug in agentgateway.
This behavior has also changed in this release; see below:
| Attribute | Version | Behavior |
|---|---|---|
request.body |
1.3.x and earlier | Truncated to http.maxBufferSize (default 2MB) |
request.body |
1.4 | Not available if truncated |
request.truncatedBody |
1.3.x and earlier | Not available |
request.truncatedBody |
1.4 | Truncated to http.maxBufferSize (default 2MB) |
The split between body and truncatedBody allows more control over the body when it exceeds the maximum buffer size.
In all cases, usage of these fields in authorization requests is prone to mistakes. For example, consider this request:
string(request.truncatedBody).contains("attacker-payload")
If the request is over 2MB, the attacker-payload may be present but missed.
Additionally, request encoding schemes (compression, etc) can result in additional bypasses.
When using these fields in authorization policies, ensure the policy correctly degrades in these cases.
Thank you to Aonan Guan for this report.
🌟 New features
MCP protocol 2026-07-28 support
Agentgateway adds support for the upcoming MCP 2026-07-28 protocol version.
- Stateful and stateless servers: Agentgateway supports both stateful and stateless MCP servers, including closing the SEP-2575 server-stateless conformance gap and skipping the synthetic
initializehandshake for modern requests. - Trace context propagation: Distributed trace context propagates through the MCP
_metafield. - MCP Apps: Basic support for MCP Apps, including multiplexing fixes for app-originated tool calls.
- Capability and multiplexing improvements: Preserved multi-resource tool result capabilities for modern clients, multi-target subscriptions and listen, and opaque resource URI multiplexing.
Because MCP 2026-07-28 support is new in this release, most of it is not yet covered by a dedicated guide. For the fields available today, see the Kubernetes API reference and Standalone configuration reference.
Cross App Access for MCP
Agentgateway supports MCP Enterprise-Managed Authorization through the OAuth Identity Assertion Authorization Grant, also known as Cross App Access or ID-JAG. An enterprise identity provider can broker access between a client application and the MCP server without the end user completing a separate OAuth flow for each downstream app.
For more information, see Kubernetes Cross App Access and Standalone Cross App Access.
OAuth token exchange backend authentication
Agentgateway can exchange an incoming token for a backend credential by using RFC 8693 OAuth 2.0 token exchange and the RFC 7523 JWT bearer grant. This release adds Kubernetes controller support, custom token types and OAuth 2.1 exchange defaults, the ability to inject multiple secret-sourced headers, and an override for the resolved secret key.
For more information, see Kubernetes OAuth token exchange and Standalone OAuth token exchange.
New MCP authentication providers
Agentgateway adds native MCP authentication provider support for Microsoft Entra ID. Standalone also adds native providers for Descope and authentik.
The entra provider bridges OAuth behaviors that Microsoft Entra ID implements differently from the MCP authorization specification, including serving RFC 8414 metadata from Entra's OIDC discovery document, stripping the RFC 8707 resource parameter, and short-circuiting Dynamic Client Registration with your pre-registered application ID.
For more information, see Kubernetes MCP authentication, Standalone MCP authentication, and the Standalone Descope integration guide.
New standalone gateways configuration model
Standalone configuration gains a new top-level gateways concept that unifies the UI, LLM, MCP, and routes so that they can share a single listener and port. gateways supersedes binds; existing binds configuration continues to work, and the UI offers a one-click migration from binds to gateways.
This release also adds simpler host and TLS configuration, the ability to serve LLM and MCP traffic on the same port, and an internal bind mode with wildcard fallback. For the full configuration surface, see the Standalone configuration reference.
Virtual keys from ConfigMaps and hashed keys
Virtual keys can now be sourced from a ConfigMap in addition to a Secret, and API keys can be stored as SHA-256 hashes so that raw key material never needs to live in the cluster or in plaintext configuration.
For more information, see Kubernetes virtual keys and Standalone virtual keys.
CEL enhancements
This release expands the CEL surface across policy, telemetry, and transformations:
- Custom CEL functions: Register custom CEL functions for use in policies.
- CEL filters for telemetry: An opt-in CEL filter selects which requests emit OpenTelemetry spans, and CEL filters decouple OTLP log fields and filtering from stdout logging.
- New CEL context and functions: Access inbound
CONNECTrequest headers throughsource.connectHeaders, and use a CEL replace mode for header transformations.
For the full CEL surface, see the Kubernetes CEL reference and Standalone CEL reference.
Fault injection: request delay
A new delay traffic policy injects latency before a request is forwarded to the backend, for fault-injection and chaos testing. The delay duration accepts a duration string or a CEL expression that returns a duration, or a number interpreted as milliseconds. Injected delay counts against the request timeout.
For more information, see Kubernetes fault injection and Standalone fault injection.
AWS assume-role session tags and session name
AWS assumeRole backend authentication supports STS session tags and a configurable RoleSessionName. Both the session name (sessionNameExpression) and per-tag values (tags[].expression) can be set from CEL expressions evaluated per request, so you can propagate identity attributes such as jwt.sub into the assumed AWS session.
For more information, see Standalone backend authentication. For Kubernetes fields, see the Kubernetes API reference.
Guardrail enhancements
Guardrails include several new operational and policy controls:
- Backend connection policy for callouts: A
BackendConnectionPolicycontrols the TCP, TLS, HTTP, and tunnel settings agentgateway uses when it calls out to a guardrail service, and is available on the OpenAI moderation, Bedrock guardrails, and Google Model Armor policies. - Default callout timeouts: Guardrail callouts now apply a default timeout.
- Improved logs and UI: Guardrail decisions surface more clearly in logs and the UI.
failureModefor external processing: External processing supports fail-open or fail-closed behavior.
For more information, see Kubernetes LLM guardrails, Standalone prompt guards, Kubernetes MCP guardrails, and Standalone MCP guardrails.
External processing enhancements
The Kubernetes controller supports metadataContext, requestAttributes, and responseAttributes for external processing, and extProc exposes a failureMode for fail-open or fail-closed behavior.
For more information, see Kubernetes external processing and Standalone external processing.
LLM gateway enhancements
- Frontend TLS with multiple CAs: Client certificate validation can trust multiple CAs.
- Bedrock: Added Responses-to-Bedrock image translation, sanitized tool names that exceed the 64-character Converse limit, and propagated cache-write tokens to the access log.
- Gemini: Fixed embeddings handling and
generateContentmodel and usage extraction in detect mode. - A2A v1.0: Support for the A2A v1.0 agent card format in URL rewriting.
- Azure AI Foundry: Support for Anthropic endpoints on Foundry.
For the list of supported providers, see Kubernetes LLM providers and Standalone LLM providers.
Deployment, operations, and packaging
- Standalone Helm chart: A new
agentgateway-standaloneHelm chart deploys standalone agentgateway, with support for a metrics service andServiceMonitor. For more information, see Standalone Helm deployment. - DaemonSet workloads: Kubernetes can deploy the data plane as a
DaemonSet. - Sidecars in control plane pods: A Helm
extraContainersvalue runs sidecar containers in control plane pods. - Metrics scraping: Kubernetes can scrape proxy metrics with a
PodMonitor, and a newagentgateway_controller_build_infometric reports controller build details. - Database logging: Standalone logging writes both successes and errors to the SQL database, with optimized write performance.
For more information, see Kubernetes Helm installation, Kubernetes control plane metrics, and Standalone metrics.
Contributors
Thank you to everyone who contributed code, reviews, documentation, bug reports, and CI improvements for this release!
See the full contributor list below.
What's Changed
- costs: add prometheus counter metric by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2243
- ext authz: cache HTTP as well as gRPC by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2283
- ui: fix pricing catalog by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2241
- dtrace: log body for streaming llm too by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2287
- cel: expose CONNECT request headers as source.connectHeaders by @shashankram in https://github.com/agentgateway/agentgateway/pull/2285
- feat(telemetry): add opt-in CEL filter for OTel spans by @inercia in https://github.com/agentgateway/agentgateway/pull/2295
- fix(foundry): add support for anthropic endpoints on foundry by @Darkflame72 in https://github.com/agentgateway/agentgateway/pull/2190
- Centralize LLM provider format capabilities by @danehans in https://github.com/agentgateway/agentgateway/pull/2288
- ext authz: add custom body for http payloads by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2284
- ui: fix virtual API key copy button by @yalindogusahin in https://github.com/agentgateway/agentgateway/pull/2294
- tracing: expose filter in Kubernetes by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2300
- dtrace: add copy details button by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2289
- controller: fix MCP Guardrails not referencing AGBE by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2307
- build(deps): bump golang.org/x/image from 0.28.0 to 0.38.0 in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2303
- admin: allow directly routing to internal admin interface by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2299
- llm: fix detect and audio endpoints by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2301
- Add standalone agentgateway Helm chart by @kevin-shelaga in https://github.com/agentgateway/agentgateway/pull/2255
- agctl: trim 100mb off the binary by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2290
- proxy: terminate outer TLS before serving CONNECT tunnels by @shashankram in https://github.com/agentgateway/agentgateway/pull/2308
- api key: allow sha256 encoded keys by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2240
- Custom CEL functions by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2230
- test cost configmaps by @nfuden in https://github.com/agentgateway/agentgateway/pull/2306
- agctl: move trace and config command logic under proxy subcommand by @GuruduGanesh in https://github.com/agentgateway/agentgateway/pull/2197
- fix(llm): apply pathPrefix for passthrough routes on custom-host backends by @onematchfox in https://github.com/agentgateway/agentgateway/pull/2151
- Support A2A v1.0 agent card format in URL rewriting by @timonschmidt in https://github.com/agentgateway/agentgateway/pull/2251
- security: fix timing attacks in auth and add admin IP allowlist by @rafael31p in https://github.com/agentgateway/agentgateway/pull/2191
- proxy: avoid noisy TLS logs by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2311
- auth: add RFC 8693 token exchange backend auth by @gilad9366 in https://github.com/agentgateway/agentgateway/pull/2189
- Release standalone Helm chart by @kevin-shelaga in https://github.com/agentgateway/agentgateway/pull/2320
- feat(ui): detect Claude subscription misuse and show warning by @rajv2er in https://github.com/agentgateway/agentgateway/pull/2321
- Allow conformance GatewayClass overrides by @danehans in https://github.com/agentgateway/agentgateway/pull/2329
- guardrails: avoid unnecessary regex guard allocations by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2328
- Drop and test large stack sizes by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2336
- binds: add internal bind mode and wildcard fallback by @shashankram in https://github.com/agentgateway/agentgateway/pull/2326
- pprof: use frame-pointers by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2332
- build(deps): bump the cargo-weekly group with 11 updates by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2352
- cel: make duration(duration) and identity function by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2354
- llm: remove unnecessary async/.await from process_streaming by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2356
- [feat] GWAPI FrontendTLS: Support multiple CAs for the client cert validation in agentgateway by @krinkinmu in https://github.com/agentgateway/agentgateway/pull/2173
- dtrace: include frontend policy selection by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2355
- mcp: accept get stream when only a subset of servers have 405 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2342
- buffer: copy buffer limit around more by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2353
- mcp: add modern MCP release foundation by @filintod in https://github.com/agentgateway/agentgateway/pull/2345
- Move incoming_connect_tunnel_reenters_internal_bind test to ephemeral port by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2362
- fix extproc attributes and grpc initial metadata by @jenshu in https://github.com/agentgateway/agentgateway/pull/2364
- bump to rust 1.96.1 by @nfuden in https://github.com/agentgateway/agentgateway/pull/2390
- feat(buffer): Allow streaming on bodies larger than the limit by @yanir75 in https://github.com/agentgateway/agentgateway/pull/2358
- controller: support ext_proc metadataContext/requestAttributes/responseAttributes by @fengxsong in https://github.com/agentgateway/agentgateway/pull/2369
- chore: Bump
kube-api-linterversion and fixgoseclinter by @dongjiang1989 in https://github.com/agentgateway/agentgateway/pull/2366 - fix: honor TLS for tracing HTTPS endpoints by @jstar0 in https://github.com/agentgateway/agentgateway/pull/2372
- llm: register transformation CEL expression by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2393
- policy: support targeting frontend policies to a Gateway port by @shashankram in https://github.com/agentgateway/agentgateway/pull/2363
- guardrails: default timeouts for callouts by @nfuden in https://github.com/agentgateway/agentgateway/pull/2388
- Initial support for MCP 2026-07-28 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2365
- standalone: use simple schema macro more by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2392
- otlp logs: decouple fields and filter from stdout by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2313
- gateway: support internal bind mode via annotation by @shashankram in https://github.com/agentgateway/agentgateway/pull/2380
- controller: move to TCPRoute v1 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2389
- deployer: populate InternalPorts in GatewayIRFrom fallback by @shashankram in https://github.com/agentgateway/agentgateway/pull/2396
- standalone: add dependency tracking for config by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2327
- tools: bump dependencies by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2394
- docs: Update tool names in Authorization example by @aakashsbhatia2 in https://github.com/agentgateway/agentgateway/pull/2344
- refactor: replace sort.Slice with slices.Sort for natural ordering by @dongjiang1989 in https://github.com/agentgateway/agentgateway/pull/2367
- Use k8s:enum more by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2405
- config: better error messages by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2406
- add azureauth types to k8s side by @jgreeer in https://github.com/agentgateway/agentgateway/pull/2337
- Return request-phase MCP guardrail rejections as 200, matching the response phase by @christensenjairus in https://github.com/agentgateway/agentgateway/pull/2331
- llm: refactor standalone model router by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2330
- chore(lint): upgrade golangci-lint and its plugins; run clippy before formatting by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2381
- openapi: support application/octet-stream request bodies in MCP tool generation by @dhruvbehl in https://github.com/agentgateway/agentgateway/pull/2400
- Feat: Add Descope as an MCP authentication provider by @joshwertheim in https://github.com/agentgateway/agentgateway/pull/2376
- fix: add default timeout for oauthTokenExchange token endpoint by @jgreeer in https://github.com/agentgateway/agentgateway/pull/2410
- Bedrock: sanitize tool names exceeding 64-char Converse limit by @devmittal02 in https://github.com/agentgateway/agentgateway/pull/2384
- auth.location: remove double nested
expressionby @howardjohn in https://github.com/agentgateway/agentgateway/pull/2411 - dtrace: show final status and error by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2412
- Expand OAuth token exchange backend auth by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2338
- Bump istio version to fix broken startup due to TCPRoute 1.6.0 by @keithmattix in https://github.com/agentgateway/agentgateway/pull/2432
- build(deps): bump the cargo-weekly group with 5 updates by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2438
- feat(metrics): add agentgateway_controller_build_info metric and fix SetRegistry lifecycle bug by @dongjiang1989 in https://github.com/agentgateway/agentgateway/pull/2399
- feat: add support for AWS session tags & RoleSessionName by @Lyqed in https://github.com/agentgateway/agentgateway/pull/2435
- build(deps): bump cmov from 0.5.3 to 0.5.4 by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2439
- Code of conduct: clarify anti-issue agent stance by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2441
- standalone: support LLM and MCP on the same port by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2409
- controller: drop deadcode from opencensus by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2440
- Refactor LLM translation paths by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2415
- auth: OAuth Identity Assertion Authorization Grant Support (ID-JAG / "Cross App Access" / XAA) by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2436
- fix(mcp): skip upstream JSON-RPC error frames in FailOpen fanout merge by @syf2211 in https://github.com/agentgateway/agentgateway/pull/2428
- Refactor examples folder by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2242
- Resolve Istio CRDs via
go mod downloadby @johananl in https://github.com/agentgateway/agentgateway/pull/2446 - Bump to head of gateway-api release-1.6 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2360
- fix(bedrock): propagate cache-write tokens to access log for completi… by @ankkod in https://github.com/agentgateway/agentgateway/pull/2444
- standalone: allow simpler host + TLS configuration by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2450
- test: add goleak to detect goroutine leaks in controller packages by @dongjiang1989 in https://github.com/agentgateway/agentgateway/pull/2419
- fix(jwt): no owners from policy fetch for targetSelectors by @jgreeer in https://github.com/agentgateway/agentgateway/pull/2452
- build(deps): bump golang.org/x/image from 0.38.0 to 0.41.0 in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2454
- gemini: do not fail on embeddings by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2455
- added demos and examples for cross app access for keycloak, xaa.dev, … by @christian-posta in https://github.com/agentgateway/agentgateway/pull/2449
- build: build embedded UI automatically and add UI=0 opt-out by @jbohanon in https://github.com/agentgateway/agentgateway/pull/2457
- added examples for oauth token exchange and jwt bearer by @christian-posta in https://github.com/agentgateway/agentgateway/pull/2424
- fix: Remove duplicate CEL validation markers by @dongjiang1989 in https://github.com/agentgateway/agentgateway/pull/2461
- llm: split credential cache from providers by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2459
- Move end to end test flows to integration tests by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2468
- fix: apply discoveryNamespaceSelectors filter to AgentgatewayBackend and AgentgatewayPolicy informers by @julien-aubert in https://github.com/agentgateway/agentgateway/pull/2442
- fix(llm): decode Content-Encoding on request bodies before JSON parse by @westover in https://github.com/agentgateway/agentgateway/pull/2404
- Split LLM into its own crate by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2469
- llm: move auth back to main crate by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2470
- feat: support CEL expressions for AWS session tag values by @Lyqed in https://github.com/agentgateway/agentgateway/pull/2447
- ui: update to tsc 7 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2471
- standalone: log errors to sql db as well, not just success by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2476
- controller: OAuth Token Exchange support by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2458
- Hardcode test CA certificate by @johananl in https://github.com/agentgateway/agentgateway/pull/2481
- Allow simple host+policy config in logs and traces too by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2474
- Rust 1.97 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2479
- standalone: Add new "Gateways" concept, unifying UI + traffic on one port by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2473
- fix: responses api with date based azure api + get_path_for_model rewrite by @jgreeer in https://github.com/agentgateway/agentgateway/pull/2493
- ui: misc improvements by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2499
- Bump conformance to fix test flakes by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2500
- controller: better logging by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2491
- xds: version resources by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2497
- Enable the generated crd description len to be configured by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2489
- mcp: skip synthetic initialize for modern requests by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2477
- azure: log construction errors when all credentials fail by @jgreeer in https://github.com/agentgateway/agentgateway/pull/2502
- Add LLM semantic routing example by @danehans in https://github.com/agentgateway/agentgateway/pull/2486
- bump go oras 2.6.2 by @nfuden in https://github.com/agentgateway/agentgateway/pull/2517
- Document Rust toolchain requirement by @johananl in https://github.com/agentgateway/agentgateway/pull/2516
- examples: suppress semantic router domain defaults by @danehans in https://github.com/agentgateway/agentgateway/pull/2506
- build(deps): bump the cargo-weekly group with 6 updates by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2514
- examples: use buffered semantic routing ExtProc by @danehans in https://github.com/agentgateway/agentgateway/pull/2521
- Expose OAuth Token Exchange builder by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2522
- auth: inline OAuth Token Exchange & Cross App Access endpoint config by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2529
- build(deps): bump soupsieve from 2.8.3 to 2.8.4 in /examples/traffic-a2a/strands-agents in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2485
- mcp: basic support for Apps by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2475
- fix flake in debug trace test by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2523
- Wait for base gateway before port forwarding by @johananl in https://github.com/agentgateway/agentgateway/pull/2496
- build(deps): bump click, pillow, pygments in examples/traffic-a2a by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2540
- feat(helm): add extraContainers value for running sidecars in control plane pods by @zackwy in https://github.com/agentgateway/agentgateway/pull/2542
- examples: support Responses semantic routing by @danehans in https://github.com/agentgateway/agentgateway/pull/2532
- Added descriptions by @kristin-kronstain-brown in https://github.com/agentgateway/agentgateway/pull/2545
- mcp: add "prefix: never" to fix multiplexing for app originated tool calls by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2531
- .github: nightly agctl artifacts by @nfuden in https://github.com/agentgateway/agentgateway/pull/2556
- fix(standalone): classify dual-role policies for backend targets by @piyushbag in https://github.com/agentgateway/agentgateway/pull/2543
- Add support for Responses→Bedrock images translation by @npolshakova in https://github.com/agentgateway/agentgateway/pull/2548
- examples: tune semantic routing escalation by @danehans in https://github.com/agentgateway/agentgateway/pull/2557
- feat: dynamic (CEL) RoleSessionName for AWS assume-role auth by @Lyqed in https://github.com/agentgateway/agentgateway/pull/2508
- Fix reasoning in messages -> completions by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2504
- schema: fix gen-docs to support map types by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2544
- Match repeated HTTP headers individually by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2535
- standalone: optimize logging writes to database by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2484
- docs: link client guide from routing example by @danehans in https://github.com/agentgateway/agentgateway/pull/2549
- close SEP-2575 server-stateless conformance gap by @filintod in https://github.com/agentgateway/agentgateway/pull/2417
- Add DaemonSet workload support by @johananl in https://github.com/agentgateway/agentgateway/pull/2208
- feat(auth): allow overriding the resolved secret key for oauth and gcp credential refs by @yordis in https://github.com/agentgateway/agentgateway/pull/2518
- build(deps): bump mcp from 1.26.0 to 1.28.1 in /examples/traffic-a2a/strands-agents in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2561
- fix(llm): rewrite Vertex rawPredict for any publisher by @piyushbag in https://github.com/agentgateway/agentgateway/pull/2539
- controller: update the cost catalog configmap loading by @nfuden in https://github.com/agentgateway/agentgateway/pull/2530
- mcp: preserve MRTR capabilities for modern clients by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2559
- Expose
failureModefor extProc by @aakashsbhatia2 in https://github.com/agentgateway/agentgateway/pull/2551 - feat(mcp): add authentik as an MCP authentication provider by @aubinmora in https://github.com/agentgateway/agentgateway/pull/2567
- mcp: propagate trace context via _meta (SEP-414) by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2520
- avoid dropping target-level policies for mcp by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2414
- release: drop musl images by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2574
- Add dtrace event for trace sampling decision by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2573
- fix(llm): extract Gemini generateContent model and usage in detect mode by @emeresHub in https://github.com/agentgateway/agentgateway/pull/2571
- Improve guardrails logs and UI by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2575
- deps: bump quick-xml & quinn-proto by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2578
- Add agctl nightly by @npolshakova in https://github.com/agentgateway/agentgateway/pull/2577
- Support bundled certs by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2579
- add configmaps as a source for virtualkeys by @nfuden in https://github.com/agentgateway/agentgateway/pull/2570
- fix(mcp): multiplex opaque resource URIs by @piyushbag in https://github.com/agentgateway/agentgateway/pull/2538
- Fix quick-xml vulnerabilities by @danehans in https://github.com/agentgateway/agentgateway/pull/2584
- mcp: tighten check for passthrough routes by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2576
- mcp: multi-target subscriptions/listen by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2599
- deps: bump weekly cargo for jul 20 2026 by @nfuden in https://github.com/agentgateway/agentgateway/pull/2597
- crdgen: shorten generated CRD descriptions by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2598
- Fixed links by @kristin-kronstain-brown in https://github.com/agentgateway/agentgateway/pull/2602
- security: document test-only rmcp advisory by @danehans in https://github.com/agentgateway/agentgateway/pull/2585
- feat(oauth): support custom token types and OAuth 2.1 exchange defaults by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2580
- chore: Add Gateway-TCP conformance profile by @davidjumani in https://github.com/agentgateway/agentgateway/pull/2604
- S390x support by @satyamg1620 in https://github.com/agentgateway/agentgateway/pull/2149
- build(deps): bump js-yaml from 4.2.0 to 4.3.0 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2611
- controller: add Cross App Access auth support by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2534
- cel: do not expose body when exceeds buffer by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2615
- aws auth: per-backend SigV4 signing region by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2610
- add delay policy for fault injection by @stevenctl in https://github.com/agentgateway/agentgateway/pull/2613
- helm: scrape proxy metrics with PodMonitor by @mmmommm in https://github.com/agentgateway/agentgateway/pull/2591
- feat(transformation): add CEL replace mode for headers by @piyushbag in https://github.com/agentgateway/agentgateway/pull/2589
- standalone: support writing config to database by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2603
- build(deps): bump the cargo-weekly group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2612
- proxy: avoid double poll on Body by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2582
- auth: make crossAppAccess subject token source configurable by @sladkani in https://github.com/agentgateway/agentgateway/pull/2558
- controller: Narrow prompt guard auxiliary backend auth by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2614
- build(deps): bump pyasn1 from 0.6.3 to 0.6.4 in /examples/traffic-a2a/strands-agents in the uv group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2632
- build(deps-dev): bump fast-uri from 3.1.2 to 3.1.4 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2631
- Decompress request body on model router path by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2635
- feat(mcp): add Microsoft Entra ID as a native MCP authentication provider by @asaliyog in https://github.com/agentgateway/agentgateway/pull/2408
- controller: expose cross-app subject token source by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2629
- feat(llm): configurable webhook guardrail headers and path via CEL by @robin-fiddler in https://github.com/agentgateway/agentgateway/pull/2595
- llm: allow logging user AND prompt by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2638
- auth: add default cloud auth fetch timeout by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2637
- feat(ui): add passthrough backend auth policy editor by @jbohanon in https://github.com/agentgateway/agentgateway/pull/2601
- standalone: do not default expose admin interface by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2642
- ui: remove redundant pnpm lock by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2653
- ui: remove diff on delete button by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2652
- RIP StarHistory by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2654
- fix(mcp): emit explicit SSE message events by @haowu1234 in https://github.com/agentgateway/agentgateway/pull/2644
- ui: align status on logs by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2639
- hybrid mode: allow writing policies to the database by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2651
- Fallback to custom UUID generation by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2657
- Add support for notify for multi-replica postgres by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2656
- feat(monitoring): add support for metrics service and ServiceMonitor configuration in agentgateway-standalone helm chart by @yanir75 in https://github.com/agentgateway/agentgateway/pull/2647
- test: fix flake in dtrace tests by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2660
- add cli commands to support config migrations by @nfuden in https://github.com/agentgateway/agentgateway/pull/2617
- Update readme diagram by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2655
- feat(backendAuth): support injecting multiple secret-sourced headers by @yordis in https://github.com/agentgateway/agentgateway/pull/2316
- chore: updates to README by @jbohanon in https://github.com/agentgateway/agentgateway/pull/2666
- feat(a2a): add response telemetry by @haowu1234 in https://github.com/agentgateway/agentgateway/pull/2646
- ui: fix the port mode for mcp in standalone ui by @jbohanon in https://github.com/agentgateway/agentgateway/pull/2669
- New
AgentgatewayModelAPI by @keithmattix in https://github.com/agentgateway/agentgateway/pull/2583 - standalone: more hybrid mode revamps by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2670
- feat(llm): use Gemini native generateContent/streamGenerateContent endpoints on Vertex by @htimur in https://github.com/agentgateway/agentgateway/pull/2023
- llm: make the error parsing permissive for completions by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2673
- standalone: revamp helm chart for v1.4 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2671
- add tool calls in telemetry by @lcopi in https://github.com/agentgateway/agentgateway/pull/2233
- perf(jwks): parallelize JWKS fetches with bounded concurrency by @dongjiang1989 in https://github.com/agentgateway/agentgateway/pull/2594
- build(deps): bump postcss from 8.5.15 to 8.5.23 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/agentgateway/agentgateway/pull/2675
- docs: recommend against Deny policies by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2677
- Bump deps ahead of v1.4 by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2674
- cel: if the body exceeds the buffer size, expose it as a separate attribute by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2678
- standalone: rename configStore to storage by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2679
- chore: add max length to certain policy fields by @keithmattix in https://github.com/agentgateway/agentgateway/pull/2680
- oauth: support certificate credentials for private_key_jwt by @markuskobler in https://github.com/agentgateway/agentgateway/pull/2620
- mcp: pin session to backend by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2691
- messages -> completions: allow reasoning for more models by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2692
- ci: ensure all crates are included in default workspace by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2693
- llm: allow non-gpt models to use reasoning with tools+messages by @howardjohn in https://github.com/agentgateway/agentgateway/pull/2695
New Contributors
- @Darkflame72 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2190
- @yalindogusahin made their first contribution in https://github.com/agentgateway/agentgateway/pull/2294
- @GuruduGanesh made their first contribution in https://github.com/agentgateway/agentgateway/pull/2197
- @timonschmidt made their first contribution in https://github.com/agentgateway/agentgateway/pull/2251
- @rafael31p made their first contribution in https://github.com/agentgateway/agentgateway/pull/2191
- @rajv2er made their first contribution in https://github.com/agentgateway/agentgateway/pull/2321
- @krinkinmu made their first contribution in https://github.com/agentgateway/agentgateway/pull/2173
- @dongjiang1989 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2366
- @jstar0 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2372
- @aakashsbhatia2 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2344
- @christensenjairus made their first contribution in https://github.com/agentgateway/agentgateway/pull/2331
- @dhruvbehl made their first contribution in https://github.com/agentgateway/agentgateway/pull/2400
- @joshwertheim made their first contribution in https://github.com/agentgateway/agentgateway/pull/2376
- @devmittal02 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2384
- @Lyqed made their first contribution in https://github.com/agentgateway/agentgateway/pull/2435
- @syf2211 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2428
- @julien-aubert made their first contribution in https://github.com/agentgateway/agentgateway/pull/2442
- @westover made their first contribution in https://github.com/agentgateway/agentgateway/pull/2404
- @zackwy made their first contribution in https://github.com/agentgateway/agentgateway/pull/2542
- @piyushbag made their first contribution in https://github.com/agentgateway/agentgateway/pull/2543
- @yordis made their first contribution in https://github.com/agentgateway/agentgateway/pull/2518
- @aubinmora made their first contribution in https://github.com/agentgateway/agentgateway/pull/2567
- @emeresHub made their first contribution in https://github.com/agentgateway/agentgateway/pull/2571
- @davidjumani made their first contribution in https://github.com/agentgateway/agentgateway/pull/2604
- @satyamg1620 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2149
- @mmmommm made their first contribution in https://github.com/agentgateway/agentgateway/pull/2591
- @sladkani made their first contribution in https://github.com/agentgateway/agentgateway/pull/2558
- @asaliyog made their first contribution in https://github.com/agentgateway/agentgateway/pull/2408
- @robin-fiddler made their first contribution in https://github.com/agentgateway/agentgateway/pull/2595
- @haowu1234 made their first contribution in https://github.com/agentgateway/agentgateway/pull/2644
- @htimur made their first contribution in https://github.com/agentgateway/agentgateway/pull/2023
- @lcopi made their first contribution in https://github.com/agentgateway/agentgateway/pull/2233
Full Changelog: https://github.com/agentgateway/agentgateway/compare/v1.3.1...v1.4.0