v0.2.20.
Complete release notes · 2026-08-20. Read upgrade instructions and runtime limits before deploying.
Fixed
- Honest One-Click Catalog: Removed 47 stack components and unsupported containers that cannot run under NineDeploy's current single-application plus optional single-database contract. The remaining 88 images all pass live OCI registry inspection.
- Real Database Template Wiring: Templates persist application-specific connection mappings, so WordPress receives
WORDPRESS_DB_*, Directus receives DB_*, and other supported database apps receive the fields their images actually consume instead of an unusable generic URL. - Working MySQL Initialization: Managed MySQL and MariaDB instances create and persist the
app database during first boot; connection strings now target that real database. - CLI Database Provisioning:
ninedeploy templates deploy now provisions, starts, records, and attaches the required managed database before queuing the application deployment. - Trusted Template Runtime Settings: Web Hub deploys send only a template ID; server-side registry data supplies protected commands, Docker socket access, and database mappings so MinIO and Docker-management templates no longer lose required runtime settings.
- Corrected Upstream Images: Memos uses
neosmemo/memos:stable, Forgejo uses the supported v16 image, and Kavita uses jvmilazz0/kavita:latest. - Independent Template Data: Multiple installations of the same database-backed template derive database names from the actual service slug and no longer share one database accidentally.
Added
- Live Image Contract Gate:
pnpm templates:verify-images checks every bundled template against its OCI registry and exits non-zero for missing repositories or tags.
Source CHANGELOG.md at 6046cfe8