Skip to content

Surface the embedded V8 version #6848

Description

@filipfalcon

There's no authoritative way to learn which V8 version a workerd release embeds, or which version production currently runs — yet that's exactly what determines the available JavaScript built-ins (it's the embedded V8 version, not compatibility_date, which only gates runtime API behavior). This was confirmed in #517:

"We shipped V8 11.0 in late February, so these should have landed then, and AFAICT they are indeed supported today." — @kentonv

Since the V8 version is the only thing that answers "is this built-in available?" and it's undocumented, choosing lib in tsconfig.json is guesswork:

  • "lib": ["esnext"] can type built-ins production V8 hasn't shipped → clean type-check, runtime TypeError.
  • A conservative "lib": ["es2022"] silently hides features that are live.
  • workerd --version prints only a date (workerd 2026-05-07) — no V8 version, and prod may run a newer V8 than any local binary.

The only workaround is folklore — grep V8-bump mentions from scattered threads, or file a "does workerd have X?" issue and wait for a maintainer. Not discoverable, doesn't scale. Please surface the V8 version in a discoverable form such as workerd --version and in every GitHub Release / changelog entry, making the local runtime self-describing and giving a release→V8 history — and state the V8 production currently runs somewhere stable, since prod can lead any pinned local binary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions