The proposed 4th iteration of ECMAScript was targeted for completion around October 2008 and would have been the first major update to since ES3 which was published in 1999. To put it plainly, the proposed ECMAScript 4 standard was (and still is) the most ambitious and largest update ever attempted to the language. Some of the larger features targeted were:
- Type Annotations
- Static Types
The main goal of these features were to make the language more suitable for the development of large scale software systems. Other goals were performance improvements, AJAX and JSON support, as well as numerous bug fixes. If you're interested, you can read the full ES4 spec here.
Soon after the debates started, Yahoo, Microsoft, Google, and other dissenters formed a coalition to design a less ambitious update. This camp wanted to focus on security and library updates with a large emphasis on backwards compatibility.
Resolution and Legacy
In the summer of 2008, after years of debate between the two camps, it became apparent that a complete agreement would not ever be reached. In July 2008, during the 39th Ecma Technical Committee meeting, an agreement was finally reached to release a smaller and therefore much safer subset of the originally proposed specification. The new subset was initially dubbed ECMAScript 3.1 and was eventually released as ECMAScript 5 in December 2009.
In summary, ES4 failed for a wide variety of reasons. Some of which were technical but most, I would most argue, were political in nature. Nobody knew exactly what they wanted and everyone (especially Microsoft) seemed to have ulterior motives for the new spec. With that being said, this notion that ES4 was "incomplete" or "half-baked" is incorrect. The truth of the matter is that there was a nearly complete and working implementation available to all for reference. This notion that nobody knew how things would work technically is unfounded. The real issue was that the implications of how everything (both new features and legacy) fit together were fully understood by very few.
ES4 Is Not Dead