v0.15.0

thevoiceguy/siphon-aiv0.15.0Jun 24, 2026by thevoiceguy

Upgrading?

AI Summary

This release introduces per-route mTLS configuration for WebSocket legs, allowing specific routes to override global TLS settings. It includes documentation fixes and examples for OpenAI cascaded voice bots, while maintaining protocol v1 stability.

Key Highlights

  • Per-route mTLS override via [route.bridge.tls] configuration
  • Atomic reload support allowing safe configuration updates via SIGHUP
  • Startup validation ensures bad paths fail immediately rather than at runtime
  • Includes example OpenAI cascaded voice bot and documentation fixes
  • Protocol v1 and CDR remain unchanged

New Features

  • Per-route [route.bridge.tls] mTLS override with client cert/key and SPKI pin
  • Example OpenAI cascaded voice bot (#229)
  • Documentation fixes for speech_started/stopped protocol gating (#230)
  • Roadmap updates (#228)
  • Route visibility in print-config and route-test commands

Full Release Notes

### Added

- **Per-route `[route.bridge.tls]` mTLS override** (#231) — a `[[route]]` can carry its own mTLS client config for the WebSocket leg (client cert/key + optional SPKI pin), e.g. a pinned internal handler alongside a publicly-trusted shared one. When present it **fully replaces** the global `[bridge.tls]` for matching calls; routes without it inherit the global. Compiled (cert/key loaded, pin parsed) at config load — a bad path fails at startup, not on the first matching call — and lives on `CompiledRoute`, so it swaps atomically with the route table on `SIGHUP` reload like the rest of `[route.bridge]`. `print-config` / `route-test` show whether a route's bridge mTLS is on. See `docs/DIALPLAN.md` §5.5.

Also since v0.14.1: example OpenAI cascaded voice bot (#229), protocol `speech_started/stopped` gating doc fix (#230), roadmap updates (#228).

Protocol stays **v1**, CDR unchanged. Off unless a route opts in.

**Full changelog:** https://github.com/thevoiceguy/siphon-ai/compare/v0.14.1...v0.15.0

Related Repositories