Repository navigation
v2.0.0 – Compose Validation, Refined CLI & Go Rewrite
This release adds first-class YAML validation, refactors the stack deployment system to Go, improves CLI feedback and simplifies configuration inputs.
What’s New
-
YAML file validation
- Compose files are parsed and validated before deployment
- Detects missing images, invalid ports, bad constraints, broken references and unsupported fields
- Output is clean and structured, using multi-line format with arrows
-
Smarter CLI structure
- All deployment steps are now structured and styled clearly
- Groups steps like SSH, uploads, stack deploy and health checks
- Makes logs easier to read in both success and failure scenarios
-
Verbose logging improvements
verbose: truenow shows all underlying commands- Commands are styled as substeps so they blend naturally with regular output
-
Compact task streaming
- No more repeated log spam like
verify: Waiting 1 seconds to verify that tasks are stable...
Instead, task convergence waits are grouped and concise
- No more repeated log spam like
-
Simplified inputs
-
extra_filesandcompose_target_servicesnow use multi-line formatOld format:
extra_files: file1.env,file2.env
New format:
extra_files: | file1.env file2.env
-
timeoutrenamed tossh_timeout -
fingerprintrenamed tossh_fingerprint
-
-
Improved rollback handling
- Compose mode backs up the full project folder, not just the Compose file
- Makes rollback and investigation easier
-
Better uploads
- Shows exact remote file paths
- Highlights flattening behaviour and potential filename conflicts
- Uploads temporary inline
.envsecurely, then removes it
Breaking Changes
-
extra_filesandcompose_target_servicesmust now be multi-line -
timeoutandfingerprintinputs have been renamed tossh_timeoutandssh_fingerprint -
New file upload behaviour
- In v1, files listed in
extra_fileswere uploaded directly to the root folder - In v2, relative folder structure is preserved by default
- To upload a file directly into the root, prefix the path with
flatten
Example:
extra_files: | flatten configs/settings.conf # uploaded as ./settings.conf configs/settings.conf # uploaded as ./configs/settings.conf
This is a breaking change if you relied on the old default of flattening all paths.
- In v1, files listed in
What’s Changed
- Legacy inline Bash logic replaced by proper Go package
- Full CLI redesign for structured, scoped and coloured output
- SSH runner uses streamed and buffered modes for efficiency
- Docker command outputs are parsed to detect failures cleanly
Tags
v2.0.0: Latest releasev2: Stable major version tag for production use
For details, see the README
Found an issue or want to suggest something? Open a discussion