Releases: DisplaceTech/swordfish
Releases · DisplaceTech/swordfish
v1.0.0
Swordfish v1.0.0
A complete rebuild of Swordfish — a secure, ephemeral secret sharing application with client-side encryption.
Highlights
Frontend (Preact SPA)
- Single-page app built with Preact, Vite, and TailwindCSS
- Client-side AES-256-GCM encryption — secrets are encrypted in the browser before reaching the server
- Create, Retrieve, About, and Metrics pages with animated encryption flow diagram
- Mobile-responsive dark theme UI
- Full component test suite (Vitest)
Backend (PHP + Amphp)
- Async HTTP server on Amphp with Redis-backed secret storage
- JSON API (
/api/create,/api/retrieve,/api/info,/api/metrics) - Configurable TTL and max view limits with atomic Lua-based view counting
- IP-based rate limiting with
X-RateLimit-*headers - Security response headers (CSP, HSTS, X-Content-Type-Options, etc.)
- Prometheus-compatible metrics endpoint
- Comprehensive PHPUnit test suite
CLI
secret:createandsecret:retrievecommands with--ttl,--max-views, and--jsonflags- Cross-compatible encryption with the SPA (shared test vectors)
- Colored console output
Infrastructure
- Multi-stage Dockerfile (Node.js SPA build + PHP server)
- Helm chart with liveness/readiness probes and Keel annotations for automated deployment
- GitHub Actions CI/CD: PHPUnit + Vitest tests, coverage collection, container build and push to GHCR
- Automated old package cleanup workflow
- Swagger/OpenAPI spec
Full changelog
0.1.1 First Pre-stable Release
Force image pull (#6)