v0.6.0
Dependencies & toolchain:
- PocketBase v0.39.5 -> v0.40.4 (Go 1.27 via encoding/json/v2), Dockerfile golang:1.27-alpine
- Vite 8 (Rolldown + OXC), @vitejs/plugin-react v6 (Babel-free); dropped @babel/core override
- TypeScript 6 -> 7 (native tsgo), pocketbase JS SDK 0.27 -> 0.28
- @tanstack/react-table 8 -> 9 (new tableFeatures/useTable API)
- sqlite pinned to v1.57.0 (PocketBase's tested version)
Reliability & billing:
- Release reserved SMS quota on terminal failure (fixes billing leak)
- Stop orphaning external-provider messages on send error
- Recipient cap, bounded cron draining, credit idempotency guard
Performance:
- Cache device resolution in retry loops, paginate cron queries, faster modem-status broadcast
Feature:
- Jitter on webhook retry backoff (anti thundering-herd)
Security & tests & CI:
- Harden SNS URL sinks against SSRF (CodeQL go/request-forgery)
- Tests for payment signatures, balance idempotency, quota race
- Frontend CI (bun), gomod Dependabot, govulncheck, coverage, gitleaks, CORS pinning