v0.1.0 release notes
Draft release notes for the first stable deeplo release.
deeplo v0.1.0
deeplo is a small, self-hosted, agentless deployment tool for Docker Compose projects. It watches git repositories, selects affected projects, and deploys them to remote hosts over SSH.
v0.1.0 is the first stable release. It does not mean the project is finished or broad in scope. It means the current scope is now intentionally defined, documented, and stable enough to tag and ship without pretending to be a larger platform.
What is included
- Agentless deploys to remote Docker Compose hosts over SSH
- Multi-host project targets
- Monorepo and multi-project repository support
- Webhook, poll, and hybrid trigger modes
- File-backed deployment state
- GitHub deployment and commit-status reporting
- Plain-text per-run logs with optional HTTP serving
- Local config mode and git-managed config mode
What changed before v0.1.0
This release follows a cleanup and stabilization pass focused on making the existing product more coherent and truthful:
- runtime orchestration was moved out of the daemon entrypoint into internal packages
- config and naming were simplified across code, docs, and examples
- deploy result reporting was tightened so success and failure semantics are more truthful
watch_pathsvalidation was added so malformed patterns fail clearlydeeplo refreshwas changed to stop writing synthetic deployment history- poll-mode behavior and docs were aligned
- stale references and pre-cleanup naming drift were removed from the main docs surfaces
Important behaviors
- The recommended setup is native binaries running as a systemd service, with config at
/etc/deeplo/config.ymland runtime settings in/etc/deeplo/deeplo.env. Docker Compose is a supported alternative. deeplo refreshis an observed runtime snapshot only. It does not rebuild deployment history.- Poll mode dispatches a branch-tip SHA once. A failed deploy of the same SHA is not retried automatically on the next poll cycle.
- Runtime verification checks
docker compose psimmediately afterup. It does not provide application-level readiness checks or long-running health monitoring.
Constraints and non-goals
deeplo is intentionally narrow:
- no dashboard
- no database
- no agent on target hosts
- no built-in secrets management
- no rollback command
- no container registry workflow
- not a Kubernetes or PaaS replacement
Upgrade and migration notes
There is no prior stable release line to migrate from.
If you used a recent pre-release or cleanup branch:
- re-read the current configuration and bootstrap docs before upgrading
- do not expect
deeplo refreshto rewrite deployment state anymore - re-run
deeplo checkagainst your config to catch invalidwatch_paths
What to expect from this release
Expect a small deployment tool with clear boundaries and a documented default path.
Do not expect broad platform features, high-level orchestration workflows, or large-scale operational automation. Those are outside the intended scope of v0.1.0.