!!!DO NOT USE, MAY BREAK MANY THINGS. WAIT FOR OFFICIAL FIX!!!
With that disclaimer out of the way:
I got curious where this happened and
Spelunked a bit.
The problem arises in
Integrate`ImproperDump`Dispatcher[f_, {x_, 0, 2 PI}]
where the function is decomposed into a polynomial in Cos and Sin whose coefficients get improperly transformed for complex values. (1^2 + I^2 = 0)
I decided to drop that downvalue from Dispatcher to see what happens:
(* Make sure definitions are loaded *)
Integrate[Abs[Cos[x] + I Sin[x]]^2, {x, 0, 2 Pi}]
dw = DownValues[Integrate`ImproperDump`Dispatcher];
pos = Position[dw,
HoldPattern[Integrate`ImproperDump`Dispatcher[f_, {x_, 0, 2 Pi}]]
][[1, 1]];
dw = Drop[dw, {pos}];
DownValues[Integrate`ImproperDump`Dispatcher] = dw;
Integrate[Abs[Cos[x] + I Sin[x]]^2, {x, 0, 2 Pi}]
(* 2 Pi :) *)
To get back to normal just restart the kernel