Skip to content

Unmark DO facets as experimental.#6505

Merged
kentonv merged 1 commit intomainfrom
kenton/enable-facets
Apr 7, 2026
Merged

Unmark DO facets as experimental.#6505
kentonv merged 1 commit intomainfrom
kenton/enable-facets

Conversation

@kentonv
Copy link
Copy Markdown
Member

@kentonv kentonv commented Apr 7, 2026

No description provided.

@kentonv kentonv requested a review from justin-mp April 7, 2026 02:39
@kentonv kentonv requested review from a team as code owners April 7, 2026 02:39
@ask-bonk
Copy link
Copy Markdown
Contributor

ask-bonk bot commented Apr 7, 2026

There's no dedicated compat flag for facets. The feature was gated purely behind workerdExperimental. Now let me think through this change:

  1. actor-state.h: Removes the workerdExperimental guard around facets property on DurableObjectState. Now unconditionally exposed.
  2. worker-loader.h: Removes the workerdExperimental guard around getDurableObjectClass method on WorkerStub. Now unconditionally exposed, along with its TS override.
  3. worker-loader-test.js: Removes allowExperimental: true and compatibilityFlags: ['experimental'] from dynamically loaded workers in tests.
  4. worker-loader-test.wd-test: Changes "experimental" to "rpc" (which is actually needed for the RPC features the test uses).
  5. server-test.c++: Bumps compat date to "2026-04-01" and removes "experimental" and "enable_ctx_exports" flags (the new compat date auto-enables enable_ctx_exports).

This is a straightforward change that makes the DO facets API available to all users rather than only to those who opt into experimental. The key question is: should this be gated behind a compatibility flag?

Since this is adding a new property (facets) to DurableObjectState and a new method (getDurableObjectClass) to WorkerStub that weren't previously accessible without experimental, this is additive. It doesn't change existing behavior -- it just makes new APIs available. Generally, new API additions don't need compat flags (those are for behavior changes). This looks safe.

LGTM

github run

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

The generated output of @cloudflare/workers-types matches the snapshot in types/generated-snapshot 🎉

@kentonv kentonv force-pushed the kenton/enable-facets branch from 3b286ed to 3f1f7d3 Compare April 7, 2026 02:47
@kentonv kentonv requested a review from a team as a code owner April 7, 2026 02:47
@kentonv kentonv requested a review from emily-shen April 7, 2026 02:47
@kentonv kentonv force-pushed the kenton/enable-facets branch from 3f1f7d3 to f2ca37c Compare April 7, 2026 18:13
@kentonv kentonv merged commit 1823ba7 into main Apr 7, 2026
24 checks passed
@kentonv kentonv deleted the kenton/enable-facets branch April 7, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants