**!!!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