v0.12.1

thevoiceguy/siphon-aiv0.12.1Jun 19, 2026by thevoiceguy

Upgrading?

AI Summary

Completes the SIGHUP hot-reload surface by enabling outbound gateway reloading, allowing trunks to be added, removed, or modified without a service restart.

Key Highlights

  • Added hot-reload for `[[gateway]]` sets via `systemctl reload siphon-ai`.
  • In-flight calls retain their trunk; new calls use the updated gateway set.
  • Gateway table moved behind `ArcSwap` to safely recreate stateless UACs.

New Features

  • Outbound gateway hot-reload via SIGHUP

Full Release Notes

Completes the `SIGHUP` config-reload surface started in [v0.12.0](https://github.com/thevoiceguy/siphon-ai/releases/tag/v0.12.0) (routes + webhook/CDR sinks).

## Added
- **SIGHUP outbound gateway hot-reload.** `systemctl reload siphon-ai` now also rebuilds and swaps the `[[gateway]]` set — **add / remove / modify trunks without a restart**. In-flight outbound calls keep the trunk (`OutboundOriginator`) they're on; new originations use the new set. The gateway table moved behind an `ArcSwap`; each reload mints fresh per-gateway UACs (stateless senders over the shared transaction manager, so recreating them leaks nothing).

  Requires outbound enabled and the `[outbound]` limits unchanged — `max_concurrent` / `rate_limit_per_sec` resize the live admission semaphore and stay **restart-required** (a reload that changes them warns and applies only the safe sections).

The full set of hot-reloadable sections is now **routes + webhook/CDR sinks + outbound gateways**. As always, reload is fail-safe (a config that won't compile is kept-old + logged); run `siphon-ai check --config X` before `systemctl reload`.

Docs: `docs/CONFIG.md` / `docs/DEPLOY.md` → config reload.

šŸ¤– Generated with [Claude Code](https://claude.com/claude-code)

Related Repositories