From 2bef51f6e43056c59b56f11fc1626764e919bba6 Mon Sep 17 00:00:00 2001 From: Brendan Irvine-Broque Date: Sat, 17 Oct 2026 08:23:07 -0700 Subject: [PATCH] Enable incoming Request.signal by default from 2026-11-01 Compatibility decision: expose incoming-request abort notifications for compatibility dates on or after 2026-11-01. Earlier dates retain the opt-in behavior, disable_request_signal remains an opt-out, and request_signal_passthrough is unchanged. Allow the scheduled Sunday date in the existing weekday guard. --- src/workerd/io/compatibility-date-test.c++ | 6 ++++-- src/workerd/io/compatibility-date.capnp | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/workerd/io/compatibility-date-test.c++ b/src/workerd/io/compatibility-date-test.c++ index ede8f3eed6b..80c36a99f70 100644 --- a/src/workerd/io/compatibility-date-test.c++ +++ b/src/workerd/io/compatibility-date-test.c++ @@ -590,8 +590,7 @@ KJ_TEST("encode to full flag list") { } KJ_TEST("compatibility dates must be Tuesday, Wednesday, or Thursday") { - // List of specific flags that are allowed to use non-conformant dates - // (already deployed and can't be changed for compatibility reasons) + // Specific flags with compatibility dates outside the normal release weekdays. kj::HashSet allowedFlagExceptions; allowedFlagExceptions.insertAll(std::initializer_list{ // Existing non-conformant dates that are already deployed @@ -632,6 +631,9 @@ KJ_TEST("compatibility dates must be Tuesday, Wednesday, or Thursday") { "stripAuthorizationOnCrossOriginRedirect"_kj, // 2025-09-01 (Monday) "enableCtxExports"_kj, // 2025-11-17 (Monday) + // Scheduled default enablement on November 1, 2026 (Sunday). + "enableRequestSignal"_kj, + // Non-conformant dates via impliedByAfterDate "pythonWorkers"_kj, // 2000-01-01 (Saturday) via impliedByAfterDate "nodeJsCompatV2"_kj, // 2024-09-23 (Monday) via impliedByAfterDate diff --git a/src/workerd/io/compatibility-date.capnp b/src/workerd/io/compatibility-date.capnp index bbac0edd1bf..d6d3c0e68aa 100644 --- a/src/workerd/io/compatibility-date.capnp +++ b/src/workerd/io/compatibility-date.capnp @@ -793,9 +793,9 @@ struct CompatibilityFlags @0x8f8c1b68151b6cef { enableRequestSignal @90 :Bool $compatEnableFlag("enable_request_signal") - $compatDisableFlag("disable_request_signal"); + $compatDisableFlag("disable_request_signal") + $compatEnableDate("2026-11-01"); # Enables Request.signal for incoming requests. - # This feature is still experimental and the compat flag has no default enable date. connectPassThrough @91 :Bool $compatEnableFlag("connect_pass_through")