---
title: v0.3.0
type: changelog
date: "2026-09-05"
changelog:
  version: 0.3.0
  category: Release
description: Release notes and updates for Dequel version 0.3.0.
---

## What's Changed
### Features
- Docker Compose deployment support for remote SSH servers ([134b05d](https://github.com/Lftobs/dequel/commit/134b05d))
- Persist GitHub OAuth sessions in DB with AES-256-GCM encryption ([81de5e6](https://github.com/Lftobs/dequel/commit/81de5e6))
- Project deletion and modularized settings page ([1d52e18](https://github.com/Lftobs/dequel/commit/1d52e18))
- SSH private key input in server form ([52fef7b](https://github.com/Lftobs/dequel/commit/52fef7b))
- Re-render all ingress routes when ingress server changes ([5f5d16e](https://github.com/Lftobs/dequel/commit/5f5d16e))
- Live DNS/TLS status badges on domains tab ([2e52a1d](https://github.com/Lftobs/dequel/commit/2e52a1d))
- Domain DNS/TLS status check endpoint ([f687d0b](https://github.com/Lftobs/dequel/commit/f687d0b))
- RC/prerelease update targets with zero-downtime rolling restart ([b843433](https://github.com/Lftobs/dequel/commit/b843433))

### Improvements
- Encrypt SSH private keys at rest ([abcae4a](https://github.com/Lftobs/dequel/commit/abcae4a))
- Remove Docker Compose profiles, start all services by default ([0e4124e](https://github.com/Lftobs/dequel/commit/0e4124e))
- Standardize API responses and update release pipeline ([d627fe3](https://github.com/Lftobs/dequel/commit/d627fe3))
- Migrate integration tests to external runners ([00a48e9](https://github.com/Lftobs/dequel/commit/00a48e9))
- Agent Caddy routes lifecycle documentation ([756e361](https://github.com/Lftobs/dequel/commit/756e361))

### Bug Fixes
- Exclude database services from compose remote ingress routes ([8332ac8](https://github.com/Lftobs/dequel/commit/8332ac8))
- Add Connect GitHub button to RepoPicker when session expires ([2145e66](https://github.com/Lftobs/dequel/commit/2145e66))
- Install docker compose plugin in API container for local compose deploys ([aa194ec](https://github.com/Lftobs/dequel/commit/aa194ec))
- Add ON DELETE CASCADE to deployment_logs FK ([af368aa](https://github.com/Lftobs/dequel/commit/af368aa))
- Prevent empty catch-all domains in Caddy snippets ([17ffcc5](https://github.com/Lftobs/dequel/commit/17ffcc5))
- Use container-internal port for Caddy routes, not host-mapped port ([a5162e0](https://github.com/Lftobs/dequel/commit/a5162e0))
- Use actual container ports from remote compose result for Caddy routes ([6459b28](https://github.com/Lftobs/dequel/commit/6459b28))
- Include all compose services in webServices for ingress routing ([0393019](https://github.com/Lftobs/dequel/commit/0393019))
- Create ingress routes for compose subdomains ([a809798](https://github.com/Lftobs/dequel/commit/a809798))
- Bust GHA cache per-commit using BUILD_TIME arg ([9cf4ea1](https://github.com/Lftobs/dequel/commit/9cf4ea1))
- Bind worker Caddy routes to HTTP :80 for ingress deployments ([c114ebd](https://github.com/Lftobs/dequel/commit/c114ebd))
- Handle composeServices as both string and array ([44be08c](https://github.com/Lftobs/dequel/commit/44be08c))
- Use per-service ports and filter non-web containers in compose Caddy routing ([c06e8ec](https://github.com/Lftobs/dequel/commit/c06e8ec))
- Skip empty string subdomain in compose service validation ([6e6b7aa](https://github.com/Lftobs/dequel/commit/6e6b7aa))
- Update Caddy domain and email configuration ([d9ccd2c](https://github.com/Lftobs/dequel/commit/d9ccd2c))
- Default local ingress, emit :80 worker routes, plain caddy domains ([bf97fcc](https://github.com/Lftobs/dequel/commit/bf97fcc))
- Add timeout to Loki fetch, default LogsTab to runtime mode ([07a5713](https://github.com/Lftobs/dequel/commit/07a5713))
- Make ssh_key migration idempotent for existing DBs ([98a5bac](https://github.com/Lftobs/dequel/commit/98a5bac))
- Resolve login, caddy reload, and missing db migration ([d36cfa4](https://github.com/Lftobs/dequel/commit/d36cfa4))
- Resolve remote server deployment, buildkit, caddy ingress, and database provisioning issues ([a15dfc5](https://github.com/Lftobs/dequel/commit/a15dfc5))
- Add missing PAM service config for dequel group auth ([07a18f7](https://github.com/Lftobs/dequel/commit/07a18f7))
- Add docker_tcp server support and improve stability ([bda4358](https://github.com/Lftobs/dequel/commit/bda4358))
- Use HTTP health check instead of TCP for failover ([3574b01](https://github.com/Lftobs/dequel/commit/3574b01))
