Repository navigation
v0.3.0 — Bi-Directional Webhooks & Registry Publishing
Highlights in v0.3.0
- Inbound Signed Slack Interactivity Webhook (
POST /api/v1/webhooks/slack, #40):- Verifies
X-Slack-Signature(v0=<hex>) andX-Slack-Request-Timestamp(±300sreplay window) withUNS_SLACK_SIGNING_SECRET(constant-timehmac.compare_digest, 256 KB body limit, fail-closed503when unset). - Settles the canonical
obligation_owner_iddirectly from Slack Block KitAcknowledge(ack_<id>) andDismiss(dismiss_<id>) buttons as actorslack:<team_id>:<user_id>and returns an in-place Block Kit message update (replace_original: true).
- Verifies
- Inbound Signed PagerDuty v3 Webhook & Bi-Directional Sync (
POST /api/v1/webhooks/pagerduty, #41):- Verifies
X-PagerDuty-Signature(v1=<hex>, supporting comma-separated rotation signatures) withUNS_PAGERDUTY_WEBHOOK_SECRET(fail-closed503when unset). - Settles
uns-<dedup_key>/uns-<notification_id>obligations onincident.acknowledged/incident.resolvedaspagerduty:<agent_id>, and propagates HTTP/SlackACKandDISMISSoutbound viaRuntime.sync_pagerduty_incident()(PAGERDUTY_OUTBOUND_SYNC).
- Verifies
- Automated PyPI & Multi-Arch GHCR Release Publishing (
.github/workflows/release.yml, #42):- Builds, smoke-tests, and attaches Python wheels/sdists to GitHub Releases, publishes multi-arch (
linux/amd64,linux/arm64) images toghcr.io/ylecoyote/unswith build provenance attestations, and publishes to PyPI via OIDC Trusted Publishing orPYPI_API_TOKEN.
- Builds, smoke-tests, and attaches Python wheels/sdists to GitHub Releases, publishes multi-arch (
Full Changelog: v0.2.0...v0.3.0