v1.0.0-preview.1

mahimailabs/voicegatewayv1.0.0-preview.1Oct 18, 2026by github-actions[bot]

Upgrading?

AI Summary

This release marks the transition to the Go platform for VoiceGateway, introducing the V1 Console, ClickHouse integration for data storage, and an open-core license model. It includes significant refactoring to remove unused features and sets up the foundation for the enterprise edition.

Key Highlights

  • Adoption of an open-core license with Enterprise Edition support
  • Introduction of the V1 Console with deep links, embeds, and a visual README
  • Switch to the Go platform with a pinned stack, preflight checks, and binary distribution
  • Integration of ClickHouse to store ingest streams and verify LiveKit webhooks
  • Implementation of a mock API to serve console data including calls, issues, and media server info

Breaking Changes

  • Interim token retired, replaced by Project API keys

New Features

  • Sign-in with built-in accounts
  • Project API keys management
  • ClickHouse integration for event storage and analysis
  • LiveKit webhook verification and ingestion
  • Mock API for serving media server and SIP data
  • API reference documentation at /docs
  • Hardened API gate with Bearer challenge
  • Self-hosting guide and user addition functionality

Full Release Notes

## Docker image

`ghcr.io/mahimailabs/voicegateway:1.0.0-preview.1`

Digest: `sha256:b272904ffff70f6365ba6b7de99c58b20b1ab2a271beb4c3aa72466738c40c2f`


Built for `linux/amd64` and `linux/arm64`. One image runs web, worker and migrate.
To install, follow [docs/self-hosting.md](https://github.com/mahimailabs/voicegateway/blob/main/docs/self-hosting.md).


## What's Changed
* chore(license): adopt open-core license with ee/ Enterprise Edition by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/313
* feat(prices): optional FX conversion at set time, with provenance by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/282
* chore: sanitize dead code and cut unused features before V1 by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/315
* test: trim the suite to tests that guard behaviour, and make it 3x faster by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/316
* feat: Phase 1 console, deep links, embeds and the V1 docs by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/319
* chore: set up the repo for AI coding agents by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/314
* Present the V1 console with a visual README and teaser by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/327
* Feat/phase01 console by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/328
* Consolidate the landing page in the main repository by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/330
* Add Makefile targets dev/test/lint for dashboard (#326) by @krshnndu in https://github.com/mahimailabs/voicegateway/pull/329
* Consolidate contributor docs and map V1 Connect execution by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/331
* Define the source-attributed console read API contract by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/332
* Refresh README and repository social preview by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/333
* Start the Go platform: binary, preflight and the pinned stack by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/336
* Generate the console API types from the contract by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/335
* fix: remove superseded visuals and unify favicon branding by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/334
* Store projects with sealed LiveKit secrets and run migrations by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/337
* Verify LiveKit webhooks and append them to the ingest stream by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/338
* Accept LiveKit Agents observability uploads at LiveKit's paths by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/339
* Store the ingest stream in ClickHouse from the worker by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/340
* Make project-add errors read the same on every run by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/342
* Serve calls through a mock API and fetch them on the Calls page (#323, part 1) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/343
* Read Egress, Ingress and SIP through the mock API (#323, part 2) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/344
* Read the media server through the mock API (#323, part 3a) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/346
* Read agents, capacity and the project snapshot through the mock API (#323, part 3b) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/347
* Read issues and alerts through the mock API (#323, part 4a) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/348
* Read Overview through getCallStats (#323, part 4b-1) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/349
* Read the Live wire and stage chain through getCallStats (#323, part 4b-2) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/351
* Specify alert rule behaviour: firing, grouping, recovery, delivery by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/341
* Add a hand-drawn components diagram to the README by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/352
* State at-least-once alert delivery for retries after a timeout by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/353
* Read Live through getMediaServer and open rooms' calls by room SID (#323, part 4b-3) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/354
* Remove the gopls MCP server: it exhausts the macOS file table by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/357
* Spec phase 04a: join stored events into calls by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/355
* Build with Go 1.26.8 by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/358
* Join stored events into calls (phase 04a) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/362
* Record the 04a manual check by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/366
* Spec phase 04b: turns, latencies and usage by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/364
* Build turns, latencies and usage from stored spans (phase 04b) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/367
* Spec phase 04c: serve one call from storage by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/370
* Spec phase 05: connect LiveKit layers by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/369
* Read settings, invitations, workspaces and recordings through the contract (#323, part 4b-4) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/359
* Spec phase 04d: list calls from storage by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/373
* Calls and Issues: one turn count, keyboard-openable calls, phone-width rows by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/360
* Serve getCall from storage behind an interim API token (phase 04c) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/371
* Read every page through the API; no fixtures outside src/mocks (#323, part 4b-5) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/361
* Harden the API gate: deny without one, server request ids, Bearer challenge by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/374
* Mark standing issues apart from dated ones in a range (#323) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/363
* Propose decision 0027: sign-in and access by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/372
* Make toast Undo clickable over Settings and tidy No such project by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/375
* Spec phase 06a: sign in with built-in accounts by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/377
* Serve the media server read from live LiveKit samples (phase 05a) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/365
* Serve the SIP read from live LiveKit configuration (phase 05b) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/368
* List calls from worker-kept summaries (phase 04d) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/376
* Sign in with built-in accounts (phase 06a) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/378
* Spec phase 06b: members and roles by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/379
* Members and roles (phase 06b) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/380
* Spec phase 04e: Overview from storage by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/381
* Serve the egress and ingress reads from live LiveKit samples (phase 05c) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/382
* Overview from storage (phase 04e) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/383
* Spec phase 06c: project API keys by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/384
* Serve the agent workers and Cloud agents reads from live samples (phase 05d) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/385
* Strip secrets from stored egress and ingress webhooks by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/386
* Use LiveKit constants and shared helpers instead of hand-written copies by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/389
* Jitter sink retries and bound scraper fan-out with errgroup by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/391
* API reference at /docs, and call reads by index by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/390
* Project API keys, interim token retired (phase 06c) by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/387
* Name project API keys in the API reference and the contract's security by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/392
* Generate the console API client from the contract by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/393
* Serve the console from the web image by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/394
* Gzip the console and answer 405 on POST-only paths by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/395
* Test the console's gzip and the POST-only 405s by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/400
* Add a self-hosting guide and make user-add by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/398
* Tune the data model against the ClickHouse and Postgres rule sets by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/399
* ci: publish the Go image to GHCR on release tags by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/402
* Rebuild the docs site around the V1 product by @mahimairaja in https://github.com/mahimailabs/voicegateway/pull/396

## New Contributors
* @krshnndu made their first contribution in https://github.com/mahimailabs/voicegateway/pull/329

**Full Changelog**: https://github.com/mahimailabs/voicegateway/compare/v0.27.0...v1.0.0-preview.1

Related Repositories