v0.4.0 — Declarative standalone config
🚀 Get started
New to AISIX? Get the gateway running and route your first LLM request in minutes:
- 📖 Documentation — https://docs.api7.ai/ai-gateway/
- ⚡ Self-hosted quickstart (gateway + etcd via Docker Compose) — https://docs.api7.ai/ai-gateway/getting-started/self-hosted-quickstart
📦 Download
Pull the container image from the GitHub Container Registry:
docker pull ghcr.io/api7/aisix:0.4.0Rolling tags (0.4, latest) and the docker.io/api7/aisix mirror for private/offline deployments are listed on the package page.
The theme of this release: run AISIX from files. A new file-based resource source lets standalone deployments define providers, keys, MCP/A2A agents, and guardrails as canonical YAML documents — the same shape the control plane writes to etcd — with no Admin API calls. Plus deeper latency observability and guardrail streaming fixes.
📄 Declarative standalone mode
- File-based resource source (
resources.yaml) — standalone deployments load their full resource set from a file, no Admin API required (#759) - Canonical resource model —
provider_key, MCP, and A2A field names converge on one canonical schema shared across control plane, data plane, and files (#757), declared the single source of truth (#753, #754) - e2e now seeds cases by writing canonical documents straight to etcd, matching how real deployments load (#750, #756)
🔭 Observability
- TTFT + end-to-end latency histograms — bucketed metrics for SLO quantiles (e.g. p95/p99) on time-to-first-token and total request latency (#751)
- Failed-request capture — the request body is recorded on failed chat/messages/responses requests (#749), with structure-preserving truncation so large payloads stay valid (#747)
/status/config— load-observability endpoint plus config metrics (#774)- Deployment state now derives from the target's serving state (#743)
🧭 Routing
fallback_on_statuses— opt selected upstream status codes into retry/failover (#752)
🛡️ Guardrails
- Monitor-mode output guardrails no longer hold back or fail streaming closed on
/v1/responses(#760) - Provider error-response body is logged on a config-error 4xx (#773); monitor mode pinned against provider failures in tests (#746)
⚠️ Breaking changes
- A2A auth —
a2a_agent.auth_typeconverges on the control-plane enum; theoauth2value is dropped (#755)
📚 Docs
- Admin API + guardrail schema descriptions polished (#741, #742); self-hosted vs managed API scope clarified (#762); 409 on A2A agent update documented (#758)
- CONTRIBUTING + RELEASING guides added (#745)
Full changelog: v0.3.1...v0.4.0