Engine

Language support.

JS2–JS4 implement bounded end-to-end slices for primitive expressions, initialized bindings and structured control flow through inspectable bytecode, execution, errors and C embedding.

Current evidence model: runtime/embedding support and lossless frontend recognition are tracked separately. The engine keeps a 171/171 runtime contract; the newer frontend keeps 26/26 focused cases and 12/12 pinned real-bundle certification. Structural recognition never implies execution support.
FamilyPlanned checkpointCurrent state
Primitive expressions and bindingsJS2–JS3Bounded slice implemented and tested
Control flowJS4Bounded slice implemented and tested
Functions and closuresJS5Bounded slice implemented and tested
Objects and arraysJS6ABounded slice implemented and tested
Methods, this, prototypes and constructionJS6BBounded slice implemented and tested
ExceptionsJS8F–JS10JThrow, try/catch/finally, Error families, catchable native errors and deterministic located stack frames implemented in the bounded runtime contract
Conversions and coercionJS10FPartial: centralized conversion, user-defined valueOf/toString and abrupt completion propagation through arithmetic and property keys; Symbols remain unsupported
Foundational built-insJS10EPartial: shared object/array/function data and accessor descriptors, reflection, plus bounded Array and primitive String methods; exotic indexed and boxing semantics remain
ClassesJS11ANext runtime slice: bounded construction/prototype/method semantics first
Promises and jobsJS11BNot started; follows class runtime work
ECMAScript modulesJS12Not started
Broader modern ECMAScriptJS13+Not started

Feature evidence

A feature may be tokenized, parsed, compiled, executed, error-tested, embedding-tested and conformance-tested. The website will show those dimensions rather than reducing partial work to a misleading yes/no claim.

Compatibility target

ES2022 remains the organizing target, implemented progressively with explicit omissions. JRS8 now pins the selected Test262 harness, but no Test262 pass rate is claimed yet; future compatibility claims require execution against that exact upstream revision.

JS4 covers blocks, if/else, while and classic for, break/continue, assignment, &&/||, conditional expressions and const-assignment errors. JS5 adds functions and closures. JS6A adds core objects/arrays; JS6B adds object-literal methods, receiver-bound calls, this, live prototype lookup, constructors and new. Descriptors and bounded accessors are now implemented; classes remain frontend-recognized but are the next runtime slice rather than part of the current execution contract. Evaluation stops after one million instructions and calls stop at 512 frames.

Parser acceptance is not support. Runtime-bearing syntax must preserve evaluation order, side effects, coercions, scope, completion and error behaviour.