This change will be rolled out in metrics-only mode for Cobalt as data is collected to validate that the upgrades work smoothly.
Motivation
Today, every hardfork activation requires a new node release with hard-coded timestamps. Operators must upgrade their binaries before each fork, and any missed release risks falling out of consensus. Decoupling upgrade timestamps from client releases reduces the number of releases operators need to run and shortens the coordination window for activating new forks.
What Changed
The EL and CL each run an upgrade-signal poller that reads the onchain contract over L1 RPC, saves the schedule into the client’s activation overrides, and applies them wherever the schedule is used. Forks activate at the scheduled time with no restart.
Migration
This change will be baked into the node release for Cobalt, so no action is required for node operators.