v0.22.0

mahimailabs/voicegatewayv0.22.0Aug 3, 2026by mahimairaja

AI Summary

A major release focused on end-to-end testing infrastructure, diagnostics, and security. It introduces correlation for load-test evidence, node metrics, and gates for restarts and OOM events, significantly improving observability.

Key Highlights

  • E2E testing gates (M0-M4, M6) and correlation
  • Node metrics and restart/health OOM gates
  • Enhanced diagnostics and report export
  • Dashboard and security improvements

New Features

  • E2E testing gates and correlation
  • Node metrics and health gates
  • Diagnostics and report export
  • Dashboard enhancements

Full Release Notes

## Docker Images

Published to Docker Hub:

- `mahimairaja/voicegateway:0.22.0`
- `mahimairaja/voicegateway:latest`
- `mahimairaja/voicegateway-dashboard:0.22.0`
- `mahimairaja/voicegateway-dashboard:latest`

Built for `linux/amd64` and `linux/arm64`.

## Quick Start

```bash
docker run -p 8080:8080 \
  -v $(pwd)/voicegw-data:/data \
  mahimairaja/voicegateway:0.22.0
```

See [docs.voicegateway.dev](https://docs.voicegateway.dev) for full documentation.


## What's Changed
* fix: announce Agents table sort order by @mitre88 in https://github.com/mahimailabs/voicegateway/pull/159
* ci: auto-assign issues on a .take comment by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/165
* fix(dashboard): add loading skeletons to Costs page by @ben718 in https://github.com/mahimailabs/voicegateway/pull/166
* ci: build the dashboard frontend on PRs that touch it by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/167
* e2e prep: frontend verification gate + the four design decisions by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/177
* fix(deps): cap mcp below 2.0, which is breaking CI on main by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/182
* e2e M0: surface the diagnostics payloads the UI was discarding by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/178
* e2e M1: the call becomes first-class by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/179
* ci: run the docs validator on PRs that touch docs by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/181
* e2e M2: the correlation ships by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/180
* e2e M3 + M4 + M6: gates, node layer, report export, exposition by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/183
* ci: pin mypy below 2 by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/184
* fix(security): gate the ungated write and read paths by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/185
* fix(diagnostics): correctness of numbers already published by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/186
* fix(dashboard): connect what was built but never wired by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/187
* feat(diagnostics): correlation, node samples, probe reasons, report CLI by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/188
* Load-test evidence: ingest, correlate, judge, report by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/189
* mock-participant: two join-path bugs found by a real call by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/190
* Wire the capacity gates, plus four honesty defects found in verification by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/191
* Close the gap between a report with numbers and a deliverable by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/192
* Wire the node metrics a live deployment proved we need, and fix five defects it exposed by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/193
* Prove the join histogram is the pre-200-OK segment by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/194
* The livekit-server process block is measured, and nothing in SERIES is inferred by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/195
* Store a terminal diagnostics run before publishing it, and order history once by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/197
* Find the stat file by its header, not by its extension by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/196
* Unblock the load-test import, and exercise the path where a run passes by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/198
* Report: correct thresholds, drop another product's limitations, and say when the run happened by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/199
* Make the load-test report a document worth sending by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/200
* Tidy the repo root, and stop it refilling by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/201
* Scrape the descriptor pair the gate asks for, and name the step on every row by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/202
* Close the two acceptance criteria with no coverage: Redis and health checks by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/203
* Gate restarts, OOM, stale resources and return to baseline by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/204

## New Contributors
* @mitre88 made their first contribution in https://github.com/mahimailabs/voicegateway/pull/159
* @ben718 made their first contribution in https://github.com/mahimailabs/voicegateway/pull/166

**Full Changelog**: https://github.com/mahimailabs/voicegateway/compare/v0.21.1...v0.22.0