Releases
v0.0.5
Compare
Sorry, something went wrong.
No results found
Added
(generator) suspend on yield in for-of/for-in assignment-target patterns
(generator) suspend on yield in a destructuring member-target key
(generator) suspend on yield in destructuring-assignment defaults
(generator) suspend on yield inside object literals
(generator) suspend on yield inside array literals
(builtins) Array and Object are real callable function cells
(modules) import-defer — exotic-object edges, super/this fixes (+ general)
(modules) import-defer proposal (core: static import defer * as ns)
(arraybuffer) immutable-arraybuffer proposal
(promise) Promise.allKeyed / allSettledKeyed (await-dictionary proposal)
(object) Symbol/BigInt wrapper objects (ToObject)
(eval) new.target valid in direct eval inside function code
(iterators) real %RegExpStringIteratorPrototype% for matchAll
(iterators) real per-kind iterator prototypes (Array/String/Map/Set)
(class) TDZ for this in derived constructors (must call super)
(functions) formal-parameter TDZ (self/forward default reference)
(functions) separate parameter and body environments
(eval) EvalDeclarationInstantiation param/arguments conflict
(eval) direct eval inherits the caller's super (home object)
(eval) completion values carried through break/continue
(eval) proper statement completion values (UpdateEmpty)
(intl) Intl.PluralRules conformance
(intl) Intl.DurationFormat conformance (+ NumberFormat -0/option fixes)
(intl) Intl.RelativeTimeFormat conformance
(intl) Intl.ListFormat conformance
(class) lexically-scoped private names (#x)
(modules) module completeness pass (parser, async, namespace, early errors)
(modules) ES module system + dynamic import()
(language) explicit resource management (using / await using)
(builtins) complete getOrInsert/getOrInsertComputed (upsert)
(builtins) Promise.try (ES2025)
(builtins) Error.prototype.stack accessor
(builtins) FinalizationRegistry, WeakRef.prototype.deref, Symbol.prototype
(builtins) Math.sumPrecise + fix no_std build
(regex) early errors for inline modifier groups (?ims-ims:)
(array) property descriptors on indices + length (ArraySetLength)
(builtins) Error.isError (ES2025) with [[ErrorData]] brand
(regex) reject invalid \p{…} property escapes as SyntaxError
(regex) parse-time literal validation + structural early errors
(builtins) Uint8Array base64/hex (ES2025)
RegExp.escape + async yield* requires Object iterator
(async) async yield* delegation (async-iterator protocol)
(builtins) Array.fromAsync
(builtins) batch 13 part 2b — Array/RegExp/TypedArray conformance
(builtins) batch 13 part 2a — Promise/JSON/Object conformance
(builtins) batch 12 part 2 — String/TypedArray/DataView/Date conformance
(builtins) sparse-array holes + ES2025 Map/Set conformance
(nbexec) true lazy async/await with microtask ordering
(nbexec) wire lazy generators into call/dispatch/iteration
(nbexec) true lazy generators — explicit-stack suspension engine
(nbexec) DisposableStack, AsyncDisposableStack, ShadowRealm + SuppressedError
(intl) real branded .prototype for every Intl service + Locale/DurationFormat
(intl) realm prototype cache + dispatch wiring for Intl branding
(nbexec) native subclassing — class extends Map/Array/typed/Date/…
(nbexec) GetPrototypeFromConstructor for built-in constructors
(intl) spec-accurate option validation + resolvedOptions for NumberFormat/DateTimeFormat
(intl) add Intl.getCanonicalLocales + Intl.supportedValuesOf
(regex) inline modifiers, v-flag unicodeSets, CI word/property + XID
(builtins) Array/Function/arguments conformance sweep (batch 9 part 2)
(annexB) escape/unescape, String HTML methods, Date legacy, RegExp compile + legacy statics
(builtins) Object/Iterator/Proxy/Reflect conformance sweep (batch 8 part 2)
(typedarray) detachArrayBuffer native + ArrayBuffer/DataView/TypedArray conformance
(regexp) ES2022 d-flag match indices (MakeIndicesArray)
(regexp) first-class RegExp.prototype + spec-compliant exec/symbol methods (nbexec)
(builtins) TypedArray of/from prototype link + spec-faithful from
(builtins) spec-compliant TypedArray set + subarray (offset ToInteger, species)
(builtins) TypedArraySpeciesCreate for map/filter/slice; fix construct return
(builtins) DataView/TypedArray/ArrayBuffer prototype & ctor conformance
(class) support extending an ordinary function (class X extends fn)
(super) computed super member access, assignment, and delete
(assignment) NamedEvaluation for plain identifier assignment
(global) unify global-object properties and global var bindings
(class) own name/length + static members as real own properties
(builtins) Promise/Map/Set/Function/Reflect/Proxy sweep + regression cleanup (batch 6)
(with) implement the with statement (object environment record)
(destructuring) NamedEvaluation for binding/param defaults
(class) inherit methods via prototype + VM prototype-chain reads
(class) materialize class .prototype with methods/accessors
(builtins) Array/Object/TypedArray conformance sweep (batch 5)
(date) Date.prototype[Symbol.toPrimitive] + OrdinaryToPrimitive helper
(iterator) add the Iterator global, %IteratorPrototype%, and helpers
(typed-arrays) add BigInt64Array and BigUint64Array
(nbexec) real eval() and the Function constructor (dynamic code)
(regex) reject quantifiers on non-quantifiable assertions
(regex) SyntaxError for invalid group names, duplicate names, bad refs, and u-mode strictness
(parser) optional-chain tagged template + new.target placement
(parser) destructuring-target early errors
(parser) illegal break/continue/return early errors
(parser) invalid assignment/update targets + strict binding names
(parser) early-error validation pass for class & private-name rules
(regex) full Unicode property escapes \p{…}/\P{…} (u-flag)
(typedarray) add shared %TypedArray% intrinsic constructor hierarchy
(engine) typed-error API for conformance checking
(limits) add dedicated max_eval_depth knob (C2 follow-up)
Fixed
(yield )* propagate an abrupt IteratorClose when forwarding throw to a throw-less iterator
(yield )* pass the inner result object through; don't read value when incomplete
(super) RequireObjectCoercible on the super base for object methods
(proxy) forward trapless has/delete to a proxy target recursively
(proto ) validate the proto setter like SetPrototypeOf
(Object.prototype) ToObject(this) in hasOwnProperty/propertyIsEnumerable/isPrototypeOf
(JSON.parse) reject unescaped control characters in strings
(compound-assign) capture the identifier reference before the RHS
(with) lexically scope the with-statement object environment
(parser) allow let as identifier in for-in left-hand side
(promise) Promise.resolve/reject use NewPromiseCapability for custom C
(parser) array/object literal contents are [+In] inside a for-header
(regex) properties of strings are an early error in invalid positions
(parser/eval) strict-reserved words as sloppy ident refs; direct eval inherits caller strictness
(Object.assign) spec CopyDataProperties — key order, enumerability, errors
(Object.assign) Set with Throw + read-only string indices
(class) PrivateSet on a private method/accessor throws TypeError
(assignment) ToPropertyKey before RHS in compound member assignment
(annexB) spec-correct defineGetter /Setter & lookupGetter /Setter
(iterator) tag boxed String wrapper's @@iterator prototype
(class) evaluate computed member keys eagerly at class definition
(nbvm) no-init var re-declaration must not clobber the binding
(with) bare-name delete + NaN/undefined/Infinity resolve via with-object
(regex) reject \p{…} property class as a range endpoint under u
(regex) reject character-class range with low > high
(regex) reject braced quantifier with nothing to repeat (Annex B)
(annexB/global) preserve existing global binding + non-configurable decls
(annexB) B.3.4 if/else function gets its own block binding
(annexB) B.3.3 block-function hoisting through catch + switch
(array) spec-conformant Array.prototype.concat
(async) await adopts thenables (PromiseResolve semantics)
(async) class async methods + async-generator promise results
(class) super in static/field initializers + static field/method redecl
(annexB) spec-accurate B.3.3/B.3.4 block-level function semantics
(nbvm) route for await to the tree-walker (no bytecode await machinery)
(destructuring,with) array GetIterator honors Symbol.iterator; with-statement var initializer
(operators,names) ToNumber via ToPrimitive for update/unary-plus; accessor & class property names
(fn) scope %ThrowTypeError% caller/arguments poison to restricted functions
(intl) spec-accurate useGrouping + currency/unit/fraction-digit validation
(nbexec) computed property keys use ToPropertyKey (throws on uncoercible)
(nbexec) computed-key method call on a primitive boxes the receiver
(nbexec) with-binding call this + method-call nullish-base order
(nbexec) arrow functions capture lexical this/new.target/home at definition
(nbexec) object-literal proto primitive ignored + super getter receiver this
(nbexec) BigInt operators unwrap object operands before type-mixing check
(nbexec) spec evaluation order for compound assignment to member targets
(nbexec) unresolvable compound-assignment / identifier read throws ReferenceError
(nbexec) destructuring-assignment target reference evaluated before iterator step
(nbexec) object-destructuring boxing + delete on globals/non-references
(nbexec) spec-correct IteratorClose + array-destructuring iterator protocol
(class) anonymous class NamedEvaluation sets name before static init
(class) static field initializers run deferred, in order, with this=class
(class) private methods/accessors are shared per class, not per instance
(class) class bodies are strict code
(class) validate non-identifier extends clauses too
(class) TypeError when extends value is not a constructor or null
(scope) sloppy implicit global binds on global scope, not current
(destructuring) object rest invokes own getters once into data props
(class) TypeError on private accessor missing the needed half
(object) name Symbol-keyed concise methods ([desc] / empty)
(class) private-name internal slots, static name/length override, constructor return semantics
(regexp) build the spec string-method helpers without the regex feature
(intl) make f16 binary16 helpers no_std-compatible (DataView Float16)
(builtins) Array/TypedArray toLocaleString invokes element toLocaleString
(builtins) preserve original-object identity for generic Array callbacks
(builtins) Array generic ToObject(this) + sort comparefn IsCallable
(nbexec) make f16 conversions core-friendly; doc-list indent
(builtins) IsCallable(callbackfn) guard for Array/TypedArray iteration methods
(builtins) abrupt-propagating coercions in TypedArray/Array index methods
(super) arrows inherit the enclosing method's super binding
(assignment) TypeError (not Unsupported) writing a member of null/undefined
(object) clear attribute flags on property delete
(class) reserve per-id side-table slots before evaluating members
(mem) cap Array.from/TypedArray.from array-like length; ulimit guard in runner
(with) hoist var declarations out of a with body
(functions) name/length as real own properties
(destructuring) NamedEvaluation for assignment-pattern defaults (VM)
(class) propagate throws from computed static member keys
(functions) bind arguments before parameter defaults
(class) expose class .name on the bytecode path
(parser) close parse-phase conformance gaps (templates, comments, private-in)
(no_std) keep clz32/imul/split/trunc paths std-free; add trunc_toward_zero
(string) replace/replaceAll/match pattern args ToString fallibly
(string) split limit ToUint32, undefined separator, empty-string cases
(string) String.raw handles array-like template.raw with ToLength + ToString
(string) search/normalize fallible arg ToString, normalize.length=0
(string) fallible ToString/ToInteger coercion for needle/index/pad args
(string) fallible index coercion for slice/substring/substr/indexOf; fromCharCode/fromCodePoint ToNumber + RangeError
(string) position arg ToIntegerOrInfinity + IsRegExp guard, primitive inherited methods
(string) String.prototype methods coerce this (ToString), thisStringValue; new Object(v)
(date) user-overridden proto methods, Date.parse human formats + TimeClip, now.length
(date) generic toJSON, Date/Date.UTC length=7, setters coerce primary arg always
(date) Date.UTC coercion, instance prototype chain, negative/expanded years, day rollover
(date) NaN getters return NaN, correct method .length values
(date) real Date.prototype, set* arg coercion order, TimeClip, constructor coercion
(math) constants as own props, toStringTag, clz32/imul ToUint32/ToInt32, max/min/hypot full coercion, round large ints, add f16round
(number) prototype chain, constants as own props, toString/toFixed/toExponential/toPrecision
(bigint) spec-accurate BigInt() coercion, asIntN/asUintN, toString radix, thisBigIntValue, IsConstructor
(parser) four for-head / labelled-function over-rejection regressions
(builtins) TypedArray array-like ctor + 13 descriptor regressions
(destructuring) lazy iterator + coercion for assignment patterns
(iteration) drive built-in for-of/spread via a proper iterables path
(parser) catch-lexical, private object keys, yield-star ASI, static-block await
(parser) delete-identifier, arrow ASI, with-body, and accessor-arity early errors
(parser) object-literal, parameter, and catch early errors
(parser) for-head early errors (bound-name overlap/dup, labelled-fn body, async-of)
(lexer,parser) early errors for legacy-octal / non-octal-decimal numeric literals
(parser) close 5 parser regressions (vertical-tilde, static-block arguments, using-for-of)
(object) spec-conformant ValidateAndApplyPropertyDescriptor + call/super fixes
(parser/lexer) close parse-phase gaps for import(), escapes, yield/await, using
(descriptors) merge omitted attributes on redefine; callable length/name own
(regex) propagate captures from positive lookahead/lookbehind
(parser) allow Annex B sloppy duplicate FunctionDeclarations in block/switch
(parser) parse export <decl> as a StatementListItem so export let works
(parser) let in single-statement position is an ExpressionStatement (sloppy)
(builtins) precise function descriptors + accessor this-validation
Other
collapse short let-chain to one line (newer rustfmt)
cargo fmt + clippy (collapse if-lets, wrap long lines)
README — pass count 41,146/44,189
(test262) re-bless ledger (3046 -> 3043 known failures)
README — pass count 41,143/44,189
(test262) re-bless ledger (3050 -> 3046 known failures)
README — pass count 41,139/44,189
(test262) re-bless ledger (3074 -> 3050 known failures)
README — pass count 41,115/44,189
(test262) re-bless ledger (3079 -> 3074 known failures)
README — pass count 41,110/44,189
(test262) re-bless ledger (3086 -> 3079 known failures)
README — pass count 41,103/44,189
(test262) re-bless ledger (3110 -> 3086 known failures)
README — pass count 41,079/44,189
(test262) re-bless ledger (3164 -> 3110 known failures)
README — pass count 41,025/44,189
(test262) re-bless ledger (3166 -> 3164 known failures)
README — pass count 41,023/44,189
(test262) re-bless ledger (3175 -> 3166 known failures)
README — pass count 41,014/44,189
(test262) re-bless ledger (3179 -> 3175 known failures)
README — pass count 41,010/44,189
(test262) re-bless ledger (3185 -> 3179 known failures)
README — pass count 41,004/44,189
(test262) re-bless ledger (3191 -> 3185 known failures)
README — pass count 40,998/44,189
(test262) re-bless ledger (3202 -> 3191 known failures)
README — pass count 40,987/44,189
(test262) re-bless ledger (3240 -> 3202 known failures)
README — pass count 40,949/44,189
(test262) re-bless ledger (3241 -> 3240 known failures)
README — pass count 40,948/44,189 (latest bless 3241 fails)
(test262) re-bless ledger (3260 -> 3241 known failures)
README — pass count 40,929/44,189 (latest bless 3260 fails)
(test262) re-bless ledger (3269 -> 3260 known failures)
README — pass count 40,920/44,189 (latest bless 3269 fails)
(test262) re-bless ledger (3290 -> 3269 known failures)
README — pass count 40,899/44,189 (latest bless 3290 fails)
(test262) re-bless ledger (3313 -> 3290 known failures)
README — pass count 40,876/44,189 (latest bless 3313 fails)
(test262) re-bless ledger (3335 -> 3313 known failures)
README — pass count 40,854/44,189 (latest bless 3335 fails)
(test262) re-bless ledger (3401 -> 3335 known failures)
README — pass count 40,788/44,189 (latest bless 3401 fails)
(test262) re-bless ledger (3447 -> 3401 known failures)
README — pass count 40,742/44,189 (latest bless 3447 fails)
(test262) re-bless ledger (3512 -> 3447 known failures)
README — pass count 40,677/44,189 (latest bless 3512 fails)
(test262) re-bless ledger (3547 -> 3512 known failures)
README — pass count 40,626/44,189 (latest bless 3563 fails)
(test262) re-bless ledger (3571 -> 3563 known failures)
(test262) re-bless ledger (3575 -> 3571 known failures)
README — pass count 40,614/44,189 (latest bless 3575 fails)
(test262) re-bless ledger (3580 -> 3575 known failures)
README — pass count 40,609/44,189 (≈92%, latest bless 3580 fails)
(test262) re-bless ledger (3609 -> 3580 known failures)
(test262) re-bless ledger (3646 -> 3609 known failures)
README — pass count 40,558/44,189 (latest bless)
(test262) re-bless ledger (3651 -> 3646 known failures)
README — pass count 40,553/44,189 (latest bless)
(test262) re-bless ledger (3678 -> 3651 known failures)
README — pass count 40,527/44,189 (latest bless)
(test262) re-bless ledger (3703 -> 3678 known failures)
README — pass count 40,502/44,189 (latest bless)
(test262) re-bless ledger (3727 -> 3703 known failures)
README — pass count 40,478/44,189 (latest bless)
(test262) re-bless ledger (3759 -> 3727 known failures)
(test262) re-bless ledger (3782 -> 3759 known failures)
README — pass count 40,423/44,189 (latest bless)
(test262) re-bless ledger (3810 -> 3782 known failures)
README — pass-rate figures 40,395/44,189 (latest bless)
(test262) re-bless ledger (3964 -> 3810 known failures)
README — pass-rate ≈91% (40,241/44,189) + recent conformance areas
(test262) re-bless ledger (4042 -> 3964 known failures)
(test262) re-bless ledger (4098 -> 4042 known failures)
(test262) re-bless ledger (4274 -> 4098 known failures)
drop accidentally-committed pycache bytecode + gitignore it
update curated tests for tightened conformance + enabled modules
bump intl 0.4 -> 0.5
(test262) re-bless ledger (4419 -> 4274 known failures)
cargo fmt + fix rustdoc private-item links (CI gate)
bless workflow rebases before pushing the ledger
workflow_dispatch job to re-bless the Test262 ledger
README — pass-rate ≈ 90%
ROADMAP — mark ES modules + explicit resource management landed
refresh ROADMAP + README to current engine state
(test262) surface Test262Error message in typed throws
(test262) refresh ledger after async/async-gen fix batch
(test262) refresh ledger after batch 13 part 2 (Promise/JSON/Object + Array/RegExp/TypedArray)
(test262) refresh ledger after batch 13 part 1 (AnnexB block-fns + class static super)
(test262) refresh ledger after batch 12 part 2 (String/TypedArray/DataView)
(test262) refresh ledger after batch 12 part 1 (async/await + array holes + Map/Set)
(test262) refresh ledger after batch 11 (lazy generators, DisposableStack, parser)
close parse-phase early-error gaps + fix regex-after-} lexing
(test262) refresh ledger after prototype/branding model
(test262) refresh ledger after batch 10 part 2 (language operators/caller)
(test262) refresh ledger after batch 10 part 1 (RegExp engine + intl402)
(test262) refresh ledger after batch 9 part 2 (Array/Function/arguments)
(test262) refresh ledger after batch 9 part 1 (AnnexB + language)
(test262) refresh ledger after batch 8 part 2 (Object/Iterator/Proxy/Reflect)
(test262) batch 8 part 1 — language core + TypedArray/detach
(test262) refresh ledger after RegExp.prototype sweep (batch 7 complete)
(test262) refresh ledger after full Array/DataView/TypedArray sweep
(test262) refresh ledger after batch 7 (language core + TypedArray/DataView)
(nbexec) move the cfg(test) tests module into nbexec/tests.rs
(nbexec) split the Interp impl into cohesive submodules
(nbexec) git mv nbexec.rs to nbexec/mod.rs
(test262) refresh ledger after batch 6 (language core, Promise/collections, parser)
(test262) refresh ledger after batch 5 (builtin sweeps)
remove test runner helper script
cargo fmt
(test262) refresh ledger after batch 4 (iterators, TypedArray ctor, parser)
cargo fmt
(parser) fix doc-comment formatting for clippy doc_lazy_continuation
(test262) refresh ledger after batch 3 (Object descriptors, BigInt arrays, parser/lexer)
(test262) refresh ledger after batch 2 (eval/Function, parser fixes, advanced regex)
(regex) drop unused saw_named_group field
(parser) cover let single-statement position and Annex B fn redeclaration
(test262) refresh ledger after batch 1 (descriptors, regex \p, parser strictness)
(parser) document jump/target/new.target/optchain rules in validate
(test262) refresh ledger after %TypedArray% intrinsic
(test262) conformant official-corpus runner + baseline + nightly CI
(test262) vendor the official tc39/test262 corpus as a pinned submodule
prune value-reachable GC side-tables as weak-key maps (H/GC)
add ephemeron (weak-key) marking primitive + split sweep (H/GC)
(ic) wire the inline cache into bytecode GetProp/SetProp (H1)
(ic) add IC fast-path accessors for property read/write (H1)
You can’t perform that action at this time.