v0.36.0

thevoiceguy/siphon-aiv0.36.0Jul 16, 2026by github-actions[bot]

Upgrading?

AI Summary

Adds CSV output format for CDR files and a JSON printer for the config command to aid in tooling and deployment.

Key Highlights

  • Added `[cdr.file].format = "csv"` option.
  • Added `print-config --format json` command for effective config inspection.
  • CSV format uses RFC 4180 quoting and empty cells for missing values.

New Features

  • CSV CDR file output
  • JSON config printer

Full Release Notes

### Added

- **CSV CDR file output** — `[cdr.file].format = "jsonl" | "csv"`
  (#297). Default `jsonl`, unchanged. `"csv"` writes a fixed 45-column
  flat view of the CDR record: nested optional blocks (`audio`,
  `termination`, `consent`, `park`, `hold`, `reconnect`, `quality`)
  become prefixed columns; absent/unmeasured values are **empty
  cells**, not zeros; enums use the same snake_case wire strings as
  JSON; RFC 4180 quoting. A header row is written when the file starts
  empty (never repeated on restart-append) and columns are append-only
  across releases. The webhook sink is unaffected (always JSON). When
  switching an existing file's format, point at a new `path`. See
  `docs/DEPLOY.md` → *CDR consumers* → *CSV format*.
- **`print-config --format json`** (#296). Renders the effective
  compiled config as pretty-printed JSON for tooling (`jq`, deploy
  diffing) — same sections and redaction semantics as the text output
  (unset → `null`, hidden secrets → `"<redacted>"`, `--show-secrets`
  reveals; per-route keys appear only when the route overrides them).
  Default format stays `text`, byte-identical to before. An inspection
  view, not a loadable config.

---

**Artifacts**

- Static musl binaries for `x86_64` and `aarch64` (`.tar.gz`).
- Debian packages (`.deb`) for `amd64` and `arm64` — `apt install ./siphon-ai_*_amd64.deb`.
- `SHA256SUMS` — verify with `sha256sum -c SHA256SUMS`.
- `*-sbom.cdx.json` — CycloneDX SBOM.
- `SHA256SUMS.cosign.bundle` — cosign keyless signature over the checksums.
- Container: `ghcr.io/thevoiceguy/siphon-ai:v0.36.0` (multi-arch, cosign-signed).

Verify the checksums signature:
```
cosign verify-blob --bundle SHA256SUMS.cosign.bundle \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity-regexp 'release.yml@' SHA256SUMS
```

Related Repositories