October 2026 Upgrade Notes
From October 2026 Zenfra shipped changes that alter existing behaviour or need action from operators. This page lists only those; each item says who is affected and what to do. It is a one-time page, not a changelog.
If you run a private worker pool
Remove the old kill timeout before upgrading
Affected: private workers configured with ZENFRA_WORKER_SHUTDOWN_GRACEFUL_KILL_TIMEOUT or the YAML key shutdown.graceful_kill_timeout. The setting was never used; a new worker refuses to start while it is set and names its replacement, ZENFRA_RUN_CANCEL_GRACE.
What to do: remove it, then upgrade as described in Upgrading. Set ZENFRA_RUN_CANCEL_GRACE only if the default 5 minute cancellation window does not suit your applies.
Behaviour changes to know about
Cancel waits for the tool to stop
Affected: runs cancelled while Terraform or OpenTofu is running, on Zenfra's public workers and on private workers that list cancel-graceful-v1 under Capabilities. The tool now gets one interrupt and up to the cancellation window (5 minutes by default) to save its state and release its lock before it is killed. The run keeps its status until the tool has stopped, then shows Cancelled; the run log says whether the tool stopped on its own or was killed.
What to do: scripts and CI jobs that wait for a cancelled run to reach Cancelled should allow for the window plus 6 minutes, not seconds: the worker can take up to 2 minutes to confirm the cancel, and if it then stops responding Zenfra ends the run itself 2.5 minutes after the window, on its next once-a-minute check. After a kill, check the state lock before the next run. See Cancelling a running tool.