Stricter block scoping and complete Proxy key-listing
A follow-up that tightens two corners of modern JavaScript. First, block-scoped variables (let and const) now behave to spec: using one before the line that declares it raises a clear error instead of silently reading undefined, which catches a whole class of real bugs the way a mainstream browser does. Second, Proxy objects, the mechanism behind reactive frameworks like Vue, now run their handler's key-listing hook, so listing a proxy's keys with Object.keys, Object.values or Object.entries reflects exactly what the framework intends. Both are locked in by the automatic conformance checks added last release, which now cover these behaviours on every build across every execution tier. The JavaScript language aspect moves 85 to 86; pages that used none of this are unchanged.