Scripts get much faster, and two of the speed-ups turned out to be switched off
Most of this release is JavaScript. Two of the engine's fast paths for hot code had quietly stopped working: the one for maths and the one for scanning text. Nothing failed, because a fast path that never engages still gives the right answer, just far more slowly, so nothing caught it. Maths-heavy loops now run about 250 times faster than they did last release and text scanning about 110 times faster. Worse than either, on a loop inside another loop that writes to a list, turning the compiler on made the code twelve times SLOWER than leaving it off; that is fixed and the same code now runs about forty times faster than the plain interpreter. Whole categories of everyday code now compile for the first time: reading fields off objects in a list, walking binary data, and - the big one for real sites - calling a method on an object and calling a function that captures a variable, both of which had been running in the slowest tier no matter how hot they got, even though the identical code written as a plain function call was already being compiled. On the language side, sixteen conformance gaps were closed by testing the half of the standard library that had never been tested at all. The most consequential: every error the engine itself raised was a bare piece of text rather than a real error object, so the ordinary way of handling a failure - checking the error's name, or reading its message - saw nothing at all.