v0.50.1
asheshgoplani/agent-deckv0.50.1Aug 24, 2026by github-actions[bot]
Upgrading?
AI Summary
A maintenance release that fixes observability blind spots. It ensures `[[trunk]]` gate 403s are counted in metrics and fixes admin endpoints reporting as 'unknown'. It also updates dependencies (siphon-rs and forge-media).
Key Highlights
- Fixed `[[trunk]]` 403s counting in `siphon_ai_invites_total`.
- Fixed admin endpoints no longer reporting as `unknown`.
- Updated siphon-rs to v2026.08.24.
- Updated forge-media to a specific commit.
New Features
- Accurate metric reporting for trunk gate rejections.
- Accurate admin endpoint tracking.
Full Release Notes
**Two observability blind-spot fixes and routine upstream pin rolls.**
Both fixes came out of validating the 0.50.0 getting-started flow: the
`[[trunk]]` gate's 403s — the exact scanner traffic the gate exists to
shed — were invisible on `/metrics`, and four 0.49.0 admin endpoints
reported as `endpoint="unknown"`. No protocol change (still `1`), CDR
still v8, no new config keys. Drop-in upgrade; alerting can now key on
`siphon_ai_invites_total{result="rejected_trunk"}`.
### Changed
- **siphon-rs pinned to `v2026.08.24`** (from `v2026.08.21`) — picks up
[sip-identity 0.3.0](https://github.com/thevoiceguy/siphon-rs/pull/124):
PASSporT **signing** behind a new `sign` feature
([siphon-rs #123](https://github.com/thevoiceguy/siphon-rs/pull/123)),
the provider-side complement to the ES256 verification SiphonAI already
uses. SiphonAI does not enable the feature, so verification behaviour is
unchanged — this makes outbound STIR/SHAKEN signing (long demand-gated)
buildable against the current pin when it's picked up.
- **forge-media pinned to `c277860cd123`** (from `1fe94a502efa`) — one
commit: aligns forge-media's own siphon-rs submodule to `v2026.08.24`,
keeping both pins on the same upstream revision (the media path sees
siphon-rs through that submodule).
### Fixed
- **`[[trunk]]`-gate 403s now count in `siphon_ai_invites_total` as
`result="rejected_trunk"`**
([#564](https://github.com/thevoiceguy/siphon-ai/issues/564)). The allowlist gate runs in the SIP
dispatch layer before the acceptor, whose paths owned every increment of
that counter — so the INVITEs the gate sheds (scanner traffic hammering
the SIP port from non-allowlisted sources) were invisible on `/metrics`
and unalertable without log-pipeline tooling. Per-peer detail stays in
the audit stream and SIP ring; the new label is alertable directly.
Digest-auth 401s are deliberately still not in this counter (a challenged
INVITE retries with credentials and is counted then) — that gate's
brute-force signal remains `siphon_ai_sip_auth_total{result="failed"}`.
- **Four admin endpoints no longer report as `endpoint="unknown"` in
`siphon_ai_admin_requests_total`**
([#565](https://github.com/thevoiceguy/siphon-ai/issues/565)):
`GET /admin/v1/status`, `GET /admin/v1/errors`,
`GET /admin/v1/cdrs/recent`, and `POST /admin/v1/drain` — the 0.49.0
sightglass endpoints — got authorization arms but no metric-label
arms, so their traffic lost per-endpoint visibility and polluted the
`unknown` probing signal dashboards key on. The static route table is
now a single shared source (`STATIC_ROUTES`) answering both
`min_role` and `route_label`, so a route can no longer be known to
authorization yet invisible to metrics.
---
**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.50.1` (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
ollama/ollama★ 184,217
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frp★ 110,056
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflow★ 92,617
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugo★ 90,198
The world’s fastest framework for building websites.
junegunn/fzf★ 83,715
:cherry_blossom: A command-line fuzzy finder