v1.2.17featurefix2 updatesCopy link
Fixes
No dropped requests while a load-balanced service deploys.
A service with load-balanced copies no longer sends traffic to a new container before it is healthy during a deploy. The new first container now waits for its health check (its Docker healthcheck, or the readiness probe when the service has one) before it takes requests, and the copies are only replaced after that, so a copy of the previous release keeps answering while the new release starts. If the new container does not become healthy within 120 seconds, it stays out of rotation, the copies keep serving the previous release, nothing else is replaced, and the deploy says so (with the health check set to fail, the service is marked failed). A service without a healthcheck or probe deploys as before, and the log says it has no health gate.
Image cleanup no longer breaks a build in progress.
The cleanup of unused Docker images (the nightly sweep and the one after a deploy) now skips removing dangling images on a server while any build or deployment runs on it, for any project. It used to skip only the project being deployed, which could make another project's build on the same server fail at the end.