React, Flux, GraphQL, Hack, HHVM...? All of this and more!
Sometimes it seems like the most advanced technologies are the ones that continuously evolve and break backwards compatibility.
This continous evolving gives out a perception of continous improvement and forward-going momentum. But this can also lead to quite a bit of churn as developers don't get to stabilise their applications when things move forward.
A great example of this is the let keyword in ES6. It has to do with the scoping of variables in a block and behaves differently to the classical var keyword which easily leaks to global scope, because of it being scoped by the enclosing function.