Matt,
The first install of 3.11 V8 was 3.11.1, which was way too early. (My
mistake to even try pulling it in, but hey, the tests passed, so it
must work, right?) That was in 0.7.9.
V8 3.11.1 didn't pass its correctness tests yet, and in some cases it
just did JavaScript wrong. That was bad. Also, it was crazy slow,
and whatever the performance regression was caused by, it was also in
V8 3.10. So, we rolled back to 3.9, which was stable, and got our
performance back. That was in node 0.7.9.
The V8 team saw the problem, corrected the bug, and informed us that
the 3.11 branch was worth trying again. So we did that, it was
faster, and that's where we are now.
It is in our best interest to be on a very recent V8, because it will
generally get more attention from the V8 team moving forward, which
benefits Node.js greatly. The only reason for the rollback was
because we weren't sure whether it'd be stable and performant in time,
but now it is.