Skip to content
Changelog

What shipped, and when.

Every release that changes something you can see. Breaking changes are called breaking, in the first line.

    • Added

    Reboot an app, published ports, and a Stalwart template

    Restart an app without a build, publish ports that kamal-proxy cannot front, and install Stalwart mail server from a template.

    • Reboot the app. Restarts the containers from the image already on the hosts. No clone, no build, no push.
    • Published ports. An environment can publish ports on the machine itself, for traffic that isn’t HTTP, such as mail. Add them on the hosts page. They take effect on the next deployment. Ports 80 and 443 stay with kamal-proxy. See Ports.
    • Stalwart template. A mail server, installed as an ordinary app, alongside Vaultwarden and Directus. See Templates.
    • Changed
    • Fixed

    Sturdier SSH, and a server check before every deploy

    Files reach your servers over SFTP, pasted ed25519 keys are read properly, and a deploy checks every server answers before it starts.

    • Files KamalCloud writes to a server now go over SFTP on the session that is already open, so their contents never have to survive a shell command line.
    • Pasted ed25519 keys are read directly, and a key locked with a passphrase is reported as locked.
    • Before a deploy clones and builds, KamalCloud signs in to each of the environment’s servers. If one is down, the deploy fails straight away and names it, instead of failing half a minute into Kamal.
    • Added
    • Changed

    Backups before deletion, and volume backups

    Deleting an app, environment or server now backs up what is under it first, and volumes can be backed up and restored.

    • Backup before deletion. Deleting an app, an environment or a server first backs up its databases and volumes. If a backup can’t be taken, nothing is deleted and you’re told why. When the delete goes ahead, KamalCloud tells you which buckets the backups were kept in.
    • Volume backups. Volumes can be backed up on a schedule or by hand, like databases.
    • Restores replace. A restore now replaces what’s in the volume instead of laying the backup over it.

    See Backups.

    • Added
    • Changed

    Server security page, one fix at a time

    Each server has a Security page that reads its firewall, SSH, fail2ban and update state from the machine, with a separate fix for each thing it finds.

    • The Security page checks the machine every time you open it: firewall, SSH, fail2ban, automatic security updates, pending updates, swap and /storage.
    • Each thing that needs fixing has its own Apply button. You used to get a single button that hardened everything at once.
    • Environments that span several proxy hosts can now use a TLS certificate you supply. See Domains and TLS.
    • Added

    Import running apps, and back up on demand

    Take over an app that is already running on one of your servers, and take a backup without waiting for the schedule.

    • Import. KamalCloud asks the server what it is running, and you pick an app and name it. Its details are read from the containers. Nothing on the machine is booted, restarted, removed or deployed. See Importing existing apps.
    • Manual backups. Accessories can be backed up on demand as well as on their schedule.
    • Added

    Several apps on one server, and more Git hosts

    One machine can host more than one app, and apps can deploy from GitLab, Gitea and Bitbucket as well as GitHub.

    • Several apps on one server. A server’s Apps page lists what runs there. From it you can attach an existing environment in a Kamal role, or start a new environment that deploys to that machine.
    • GitLab, Gitea and Bitbucket. Git hosting is no longer GitHub only. See Git providers.

Connect your first server. Start with staging.

Register a machine you already have, or provision a new one. Nothing is touched that you have not chosen.

Sign-ups are paused while the app is in maintenance.