v0.3.0
Release notes and updates for Dequel version 0.3.0.
What’s Changed
Features
- Docker Compose deployment support for remote SSH servers (134b05d)
- Persist GitHub OAuth sessions in DB with AES-256-GCM encryption (81de5e6)
- Project deletion and modularized settings page (1d52e18)
- SSH private key input in server form (52fef7b)
- Re-render all ingress routes when ingress server changes (5f5d16e)
- Live DNS/TLS status badges on domains tab (2e52a1d)
- Domain DNS/TLS status check endpoint (f687d0b)
- RC/prerelease update targets with zero-downtime rolling restart (b843433)
Improvements
- Encrypt SSH private keys at rest (abcae4a)
- Remove Docker Compose profiles, start all services by default (0e4124e)
- Standardize API responses and update release pipeline (d627fe3)
- Migrate integration tests to external runners (00a48e9)
- Agent Caddy routes lifecycle documentation (756e361)
Bug Fixes
- Exclude database services from compose remote ingress routes (8332ac8)
- Add Connect GitHub button to RepoPicker when session expires (2145e66)
- Install docker compose plugin in API container for local compose deploys (aa194ec)
- Add ON DELETE CASCADE to deployment_logs FK (af368aa)
- Prevent empty catch-all domains in Caddy snippets (17ffcc5)
- Use container-internal port for Caddy routes, not host-mapped port (a5162e0)
- Use actual container ports from remote compose result for Caddy routes (6459b28)
- Include all compose services in webServices for ingress routing (0393019)
- Create ingress routes for compose subdomains (a809798)
- Bust GHA cache per-commit using BUILD_TIME arg (9cf4ea1)
- Bind worker Caddy routes to HTTP :80 for ingress deployments (c114ebd)
- Handle composeServices as both string and array (44be08c)
- Use per-service ports and filter non-web containers in compose Caddy routing (c06e8ec)
- Skip empty string subdomain in compose service validation (6e6b7aa)
- Update Caddy domain and email configuration (d9ccd2c)
- Default local ingress, emit :80 worker routes, plain caddy domains (bf97fcc)
- Add timeout to Loki fetch, default LogsTab to runtime mode (07a5713)
- Make ssh_key migration idempotent for existing DBs (98a5bac)
- Resolve login, caddy reload, and missing db migration (d36cfa4)
- Resolve remote server deployment, buildkit, caddy ingress, and database provisioning issues (a15dfc5)
- Add missing PAM service config for dequel group auth (07a18f7)
- Add docker_tcp server support and improve stability (bda4358)
- Use HTTP health check instead of TCP for failover (3574b01)