Skip to content

Released version 3.8.0

Latest

Choose a tag to compare

@dg dg released this 29 Oct 01:14

✨ New Features

  • hostKey – the new option verifies the SSH host key for sftp:// and phpsec://, so the server is authenticated before any credentials are sent
  • Safe concurrent deploys – a .htdeployment.running marker is created at the very start, and a second deployment from another machine refuses to run while it exists; --force overrides it
  • Clearer test mode – --test now sums up how many files and directories would be uploaded, the total upload size, and how many items would be deleted
  • Paths with spaces in upload: and download: jobs – just wrap them in double quotes
  • Friendlier command line – a mistyped option prints the message and the help instead of a stack trace, the progress line fits the terminal width and stays out of redirected output, and the log file no longer contains color escape codes

💥 Breaking Changes

  • If a deployment crashes, the .htdeployment.running marker may stay on the server and the next run will refuse to start. After making sure no other deployment is in progress, run once with --force or delete the marker.
  • Log timestamps follow the timezone from php.ini instead of a hardcoded Europe/Prague; set date.timezone if you want them local.

🐛 Bug Fixes

  • Absolute paths in remote: jobs (mkdir, chmod, mv…) point to the server root again, relative ones to the remote directory (#180)
  • Ignore masks can now override the built-in ones, so !.gitlab-ci.yml works (#172)
  • Temporary files created during a deployment are deleted afterwards instead of piling up in the temp directory
  • Cached filters defined as closures no longer share one cache entry
  • Upload progress shows correct percentages for both FTP and phpsec://
  • When a deployment fails, the original error is reported without cleanup retrying over the broken connection