A flag day (or flag day cutover) in computing and system administration is a planned change that requires many systems to be upgraded or converted in a coordinated way because the old and new versions are not mutually compatible. Such changes are typically costly to carry out and, if problems arise, difficult to roll back.
Flag days can occur when constraints on backward compatibility or forward compatibility prevent a gradual migration, requiring updates to be performed nearly simultaneously for the overall system to function. In contrast, phased deployments aim to preserve service continuity by allowing old and new versions to coexist during the transition.
The term is commonly traced to the Multics project: a system-wide change to the system's handling of the ASCII character set was scheduled for the U.S. holiday Flag Day (14 June 1966), and the name was applied by analogy to other coordinated, incompatible changeovers. This etymology appears in the Jargon File as early as 1981.
One of the more interesting challenges was the transition of the ARPANET host protocol from NCP to TCP/IP as of January 1, 1983. This was a "flag-day" style transition, requiring all hosts to convert simultaneously or be left having to communicate via rather ad-hoc mechanisms.