From cbac24cf197eb4223a6bc4f6623006b99d9bc7c8 Mon Sep 17 00:00:00 2001 From: Samuel Macleod Date: Thu, 29 Jan 2026 15:55:16 +0000 Subject: [PATCH 1/6] [wrangler] Add deprecation warning for queue delivery_delay setting The delivery_delay setting in [[queues.producers]] was silently having no effect since PR #10288 removed the functionality. This adds a deprecation warning to inform users that queue-level settings should be configured using 'wrangler queues update' instead. Fixes #10286 --- .changeset/deprecate-queue-delivery-delay.md | 11 +++++++ .../workers-utils/src/config/validation.ts | 12 +++++++ .../normalize-and-validate-config.test.ts | 31 +++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 .changeset/deprecate-queue-delivery-delay.md diff --git a/.changeset/deprecate-queue-delivery-delay.md b/.changeset/deprecate-queue-delivery-delay.md new file mode 100644 index 000000000000..c42b5a05cd9a --- /dev/null +++ b/.changeset/deprecate-queue-delivery-delay.md @@ -0,0 +1,11 @@ +--- +"wrangler": patch +"@cloudflare/workers-utils": patch +--- + +Add deprecation warning for `delivery_delay` in queue producer bindings + +The `delivery_delay` setting in `[[queues.producers]]` was silently having no effect since the +functionality was removed in PR #10288. This change adds a deprecation warning when the setting +is used, informing users that queue-level settings should be configured using `wrangler queues update` +instead. The setting will be removed in a future version. diff --git a/packages/workers-utils/src/config/validation.ts b/packages/workers-utils/src/config/validation.ts index 5bba1b1c505b..17d3e00e8438 100644 --- a/packages/workers-utils/src/config/validation.ts +++ b/packages/workers-utils/src/config/validation.ts @@ -3527,6 +3527,18 @@ const validateQueueBinding: ValidatorFn = (diagnostics, field, value) => { } } + // Warn if delivery_delay is set, as it is deprecated and has no effect + if ( + hasProperty(value, "delivery_delay") && + value.delivery_delay !== undefined + ) { + diagnostics.warnings.push( + `The "delivery_delay" field in "${field}" is deprecated and has no effect. ` + + `Queue-level settings should be configured using "wrangler queues update" instead. ` + + `This setting will be removed in a future version.` + ); + } + if (!isRemoteValid(value, field, diagnostics)) { isValid = false; } diff --git a/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts b/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts index 68ee6e858b95..306805a2a451 100644 --- a/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts +++ b/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts @@ -3334,6 +3334,37 @@ describe("normalizeAndValidateConfig()", () => { - \\"queues.consumers[3]\\" should, optionally, have a number \\"max_concurrency\\" field but got {\\"queue\\":\\"myQueue\\",\\"max_batch_size\\":\\"3\\",\\"max_batch_timeout\\":null,\\"max_retries\\":\\"hello\\",\\"dead_letter_queue\\":5,\\"max_concurrency\\":\\"hello\\"}." `); }); + + it("should warn if delivery_delay is set on a queue producer", () => { + const { config, diagnostics } = normalizeAndValidateConfig( + { + queues: { + producers: [ + { binding: "QUEUE_BINDING_1", queue: "queue1" }, + { + binding: "QUEUE_BINDING_2", + queue: "queue2", + delivery_delay: 60, + }, + ], + }, + } as unknown as RawConfig, + undefined, + undefined, + { env: undefined } + ); + + expect(config.queues.producers).toHaveLength(2); + expect(config.queues.producers?.[1]).toEqual( + expect.objectContaining({ delivery_delay: 60 }) + ); + expect(diagnostics.hasErrors()).toBe(false); + expect(diagnostics.hasWarnings()).toBe(true); + expect(diagnostics.renderWarnings()).toMatchInlineSnapshot(` + "Processing wrangler configuration: + - The \\"delivery_delay\\" field in \\"queues.producers[1]\\" is deprecated and has no effect. Queue-level settings should be configured using \\"wrangler queues update\\" instead. This setting will be removed in a future version." + `); + }); }); describe("[r2_buckets]", () => { From 60cd92c8be75fe612356e90a81816faa60ea3a19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Somhairle=20MacLe=C3=B2id?= Date: Thu, 29 Jan 2026 18:46:15 +0000 Subject: [PATCH 2/6] Update packages/workers-utils/src/config/validation.ts Co-authored-by: Victor Berchet --- packages/workers-utils/src/config/validation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/workers-utils/src/config/validation.ts b/packages/workers-utils/src/config/validation.ts index 17d3e00e8438..0ffda8f6a271 100644 --- a/packages/workers-utils/src/config/validation.ts +++ b/packages/workers-utils/src/config/validation.ts @@ -3534,7 +3534,7 @@ const validateQueueBinding: ValidatorFn = (diagnostics, field, value) => { ) { diagnostics.warnings.push( `The "delivery_delay" field in "${field}" is deprecated and has no effect. ` + - `Queue-level settings should be configured using "wrangler queues update" instead. ` + + `Queue settings should be configured using "wrangler queues update" instead. ` + `This setting will be removed in a future version.` ); } From 68600a4721d39cc925f271df887012b1aef65580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Somhairle=20MacLe=C3=B2id?= Date: Thu, 29 Jan 2026 18:46:23 +0000 Subject: [PATCH 3/6] Update packages/workers-utils/src/config/validation.ts Co-authored-by: Victor Berchet --- packages/workers-utils/src/config/validation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/workers-utils/src/config/validation.ts b/packages/workers-utils/src/config/validation.ts index 0ffda8f6a271..28d4ae151a52 100644 --- a/packages/workers-utils/src/config/validation.ts +++ b/packages/workers-utils/src/config/validation.ts @@ -3535,7 +3535,7 @@ const validateQueueBinding: ValidatorFn = (diagnostics, field, value) => { diagnostics.warnings.push( `The "delivery_delay" field in "${field}" is deprecated and has no effect. ` + `Queue settings should be configured using "wrangler queues update" instead. ` + - `This setting will be removed in a future version.` + `This setting will be removed in the next major version.` ); } From d487f07f57f255242ae969ee92c731501a41bb29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Somhairle=20MacLe=C3=B2id?= Date: Fri, 30 Jan 2026 12:37:21 +0000 Subject: [PATCH 4/6] Update packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts Co-authored-by: Victor Berchet --- .../config/validation/normalize-and-validate-config.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts b/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts index 306805a2a451..62aa712fa870 100644 --- a/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts +++ b/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts @@ -3355,8 +3355,8 @@ describe("normalizeAndValidateConfig()", () => { ); expect(config.queues.producers).toHaveLength(2); - expect(config.queues.producers?.[1]).toEqual( - expect.objectContaining({ delivery_delay: 60 }) + expect(config.queues.producers?.[1]).toMatchObject( + { delivery_delay: 60 } ); expect(diagnostics.hasErrors()).toBe(false); expect(diagnostics.hasWarnings()).toBe(true); From 6c421634c9c4173c0aea0b70cb149eba0e267d11 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <209825114+claude[bot]@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:40:32 +0000 Subject: [PATCH 5/6] Fix test failure and address review feedback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Align warning message with test expectation - Update changeset description per review feedback Co-authored-by: Somhairle MacLeòid --- .changeset/deprecate-queue-delivery-delay.md | 8 ++++---- packages/workers-utils/src/config/validation.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.changeset/deprecate-queue-delivery-delay.md b/.changeset/deprecate-queue-delivery-delay.md index c42b5a05cd9a..2443a459e3f2 100644 --- a/.changeset/deprecate-queue-delivery-delay.md +++ b/.changeset/deprecate-queue-delivery-delay.md @@ -5,7 +5,7 @@ Add deprecation warning for `delivery_delay` in queue producer bindings -The `delivery_delay` setting in `[[queues.producers]]` was silently having no effect since the -functionality was removed in PR #10288. This change adds a deprecation warning when the setting -is used, informing users that queue-level settings should be configured using `wrangler queues update` -instead. The setting will be removed in a future version. +The `delivery_delay` setting in `[[queues.producers]]` was silently having no effect since 2024. +This change adds a deprecation warning when the setting is used, informing users that queue-level +settings should be configured using `wrangler queues update` instead. The setting will be removed +in a future version. diff --git a/packages/workers-utils/src/config/validation.ts b/packages/workers-utils/src/config/validation.ts index 28d4ae151a52..17d3e00e8438 100644 --- a/packages/workers-utils/src/config/validation.ts +++ b/packages/workers-utils/src/config/validation.ts @@ -3534,8 +3534,8 @@ const validateQueueBinding: ValidatorFn = (diagnostics, field, value) => { ) { diagnostics.warnings.push( `The "delivery_delay" field in "${field}" is deprecated and has no effect. ` + - `Queue settings should be configured using "wrangler queues update" instead. ` + - `This setting will be removed in the next major version.` + `Queue-level settings should be configured using "wrangler queues update" instead. ` + + `This setting will be removed in a future version.` ); } From a4530f179b6d60f480c09a739cdfbb44ac749a61 Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Wed, 4 Feb 2026 15:13:46 +0000 Subject: [PATCH 6/6] formatting --- .changeset/deprecate-queue-delivery-delay.md | 4 ++-- .../config/validation/normalize-and-validate-config.test.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.changeset/deprecate-queue-delivery-delay.md b/.changeset/deprecate-queue-delivery-delay.md index 2443a459e3f2..8fd6226a3fdc 100644 --- a/.changeset/deprecate-queue-delivery-delay.md +++ b/.changeset/deprecate-queue-delivery-delay.md @@ -6,6 +6,6 @@ Add deprecation warning for `delivery_delay` in queue producer bindings The `delivery_delay` setting in `[[queues.producers]]` was silently having no effect since 2024. -This change adds a deprecation warning when the setting is used, informing users that queue-level -settings should be configured using `wrangler queues update` instead. The setting will be removed +This change adds a deprecation warning when the setting is used, informing users that queue-level +settings should be configured using `wrangler queues update` instead. The setting will be removed in a future version. diff --git a/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts b/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts index 62aa712fa870..8c772af7f210 100644 --- a/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts +++ b/packages/workers-utils/tests/config/validation/normalize-and-validate-config.test.ts @@ -3355,9 +3355,9 @@ describe("normalizeAndValidateConfig()", () => { ); expect(config.queues.producers).toHaveLength(2); - expect(config.queues.producers?.[1]).toMatchObject( - { delivery_delay: 60 } - ); + expect(config.queues.producers?.[1]).toMatchObject({ + delivery_delay: 60, + }); expect(diagnostics.hasErrors()).toBe(false); expect(diagnostics.hasWarnings()).toBe(true); expect(diagnostics.renderWarnings()).toMatchInlineSnapshot(`