We are happy to announce the release of Habitat 1.5.71!
You can now trigger a service rollback by demoting a package from Builder. This release adds the
--update-condition CLI argument to the
hab sup run and
hab svc load commands. This argument sets the condition the Supervisor uses to trigger a service update. There are currently two options for this argument:
latest is the default value and keeps the previous behavior. The service updates when a more recent package is available.
track-channel updates the service when the head of the channel is changed even if the change is to a previous package. This allows package demotion to trigger a service rollback. When a service rollback occurs, all packages more recent than the package at the head of the channel are automatically uninstalled from the system.
Service PID files are restored in this release. In release 1.5.50, the Launcher and Supervisor were modified so that the Launcher itself became the source of truth for the PIDs of supervised services, rather than the contents of a file on disk. While this improves overall Supervisor reliability, a blanket removal of the PID files can break things like reconfigure hooks, which need a way to access a service’s PID in order to do things like send the service signals. This release re-introduces PID files for services, but only as a means to communicate with hooks. The Launcher is still the ultimate source for the PID itself.
The plan context can now be rooted in the target folder. This is useful when writing a plan to support multiple targets. Check out the documentation!
This release also fixes a bug introduced in 1.5.50 when using Habitat with proxies.
Be sure to read on for additional changes! If you just want the binaries, head on over to Install Habitat. Thanks!
New Features & Enhancements
When follower services restart during a rolling update all packages newer than the package the leader updated to are automatically uninstalled. This ensures that the leader and followers are running the same package. #7556 (davidMcneil)