- Node-API — the standard
napi_*C ABI for native addons: building against the prefab package, registering and requiring addons, threading and finalizer contracts, and the documented divergences from Node (shared with the iOS runtime). - Performance API — WHATWG
performance(hr-time, user timing, performance timeline withPerformanceObserver), per-isolate time origins for workers, the native clock hook that futurerequestAnimationFramework must share, and the documented spec deviations. - AbortController / AbortSignal — the DOM abort primitives
(
AbortController,AbortSignalwith theabort/timeout/anystatics) layered on the runtime'sEventTarget, the GC contract (weak timers andany()links, listener-driven persistence), and theDOMExceptionreasons. - TextEncoder / TextDecoder and atob / btoa — the WHATWG
encoding and base64 globals (
TextEncoder,TextDecoder,atob,btoa), the supported encodings with their label sets, streaming decode semantics, and the lazy-global tier that runs their builtins only on first use. - Error handling — global
error/unhandledrejectionevents,reportError, catching Java exceptions in JS (error.nativeException), forwarding JS throws to Java callers (interop.escapeException), JS stacks on Java exceptions (com.tns.JavaScriptStackTrace), configuration flags, and crash-reporter integration. - structuredClone — the WHATWG
structuredClone(value, { transfer })global: what clones, how graph identity and cycles are preserved,ArrayBuffertransfer, and theDataCloneErrorDOMExceptionon failure. - Implementing additional Chrome DevTools protocol Domains
Notes on work that is done, kept because the reasoning is expensive to reconstruct rather than because anything needs doing.
- V8 10.3 → 14.9 migration — the API changes and their site counts, why each non-default gn arg exists, the accessor rules that are not mechanical, and the traps that only show up at runtime.