From 7d6899f4aaa228baa47f9e3c29f4639aa146f34f Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Fri, 17 Oct 2025 13:36:24 +1100 Subject: [PATCH 1/6] FF145 Idempotency-Key HTTP header --- http/headers/Idempotency-Key.json | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 http/headers/Idempotency-Key.json diff --git a/http/headers/Idempotency-Key.json b/http/headers/Idempotency-Key.json new file mode 100644 index 00000000000000..16074cb961d50b --- /dev/null +++ b/http/headers/Idempotency-Key.json @@ -0,0 +1,37 @@ +{ + "http": { + "headers": { + "Idempotency-Key": { + "__compat": { + "support": { + "chrome": { + "version_added": false + }, + "chrome_android": "mirror", + "edge": "mirror", + "firefox": { + "version_added": "145", + "notes": "Automatically adds a unique 64-bit key for POST and PATCH when needed, if not set in JavaScript." + }, + "firefox_android": "mirror", + "oculus": "mirror", + "opera": "mirror", + "opera_android": "mirror", + "safari": { + "version_added": false + }, + "safari_ios": "mirror", + "samsunginternet_android": "mirror", + "webview_android": "mirror", + "webview_ios": "mirror" + }, + "status": { + "experimental": true, + "standard_track": true, + "deprecated": false + } + } + } + } + } +} From 1099ec918075a86a38280e461ad9899424bd0af0 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Fri, 24 Oct 2025 15:51:46 +1100 Subject: [PATCH 2/6] Update with current state of play --- http/headers/Idempotency-Key.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/http/headers/Idempotency-Key.json b/http/headers/Idempotency-Key.json index 16074cb961d50b..59983b2679fb57 100644 --- a/http/headers/Idempotency-Key.json +++ b/http/headers/Idempotency-Key.json @@ -10,7 +10,15 @@ "chrome_android": "mirror", "edge": "mirror", "firefox": { - "version_added": "145", + "version_added": "135", + "flags": [ + { + "type": "preference", + "name": "network.http.idempotencyKey.enabled", + "value_to_set": "true" + } + ], + "impl_url": "https://bugzil.la/1830022", "notes": "Automatically adds a unique 64-bit key for POST and PATCH when needed, if not set in JavaScript." }, "firefox_android": "mirror", From 95a13ea767a7a98282435ab37aa2c9e15a94f036 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Mon, 27 Oct 2025 12:02:11 +1100 Subject: [PATCH 3/6] Update http/headers/Idempotency-Key.json Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com> --- http/headers/Idempotency-Key.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/http/headers/Idempotency-Key.json b/http/headers/Idempotency-Key.json index 59983b2679fb57..9a21c50871d071 100644 --- a/http/headers/Idempotency-Key.json +++ b/http/headers/Idempotency-Key.json @@ -35,7 +35,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } From 703bef76239029b95547857320e82dfb2472980c Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Mon, 27 Oct 2025 14:41:43 +1100 Subject: [PATCH 4/6] Apply suggestion from @hamishwillee --- http/headers/Idempotency-Key.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/http/headers/Idempotency-Key.json b/http/headers/Idempotency-Key.json index 9a21c50871d071..13c7d0ef1477e5 100644 --- a/http/headers/Idempotency-Key.json +++ b/http/headers/Idempotency-Key.json @@ -19,7 +19,7 @@ } ], "impl_url": "https://bugzil.la/1830022", - "notes": "Automatically adds a unique 64-bit key for POST and PATCH when needed, if not set in JavaScript." + "notes": "Automatically adds a unique 64-bit key for POST requests when needed, if not set in JavaScript." }, "firefox_android": "mirror", "oculus": "mirror", From 2887e0c4b9feac1556c43a6578462d8df4d0532a Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Tue, 28 Oct 2025 11:00:44 +1100 Subject: [PATCH 5/6] Add spec back and make standard --- http/headers/Idempotency-Key.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/http/headers/Idempotency-Key.json b/http/headers/Idempotency-Key.json index 13c7d0ef1477e5..0804130ad388c3 100644 --- a/http/headers/Idempotency-Key.json +++ b/http/headers/Idempotency-Key.json @@ -3,6 +3,7 @@ "headers": { "Idempotency-Key": { "__compat": { + "spec_url": "https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-idempotency-key-header/", "support": { "chrome": { "version_added": false @@ -35,7 +36,7 @@ }, "status": { "experimental": true, - "standard_track": false, + "standard_track": true, "deprecated": false } } From 54a5b8049a29c61d6a9d07254bf31c9974dd7a38 Mon Sep 17 00:00:00 2001 From: Claas Augner <495429+caugner@users.noreply.github.com> Date: Tue, 28 Oct 2025 16:16:18 +0100 Subject: [PATCH 6/6] Update http/headers/Idempotency-Key.json --- http/headers/Idempotency-Key.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/http/headers/Idempotency-Key.json b/http/headers/Idempotency-Key.json index 0804130ad388c3..583f349f4a3a33 100644 --- a/http/headers/Idempotency-Key.json +++ b/http/headers/Idempotency-Key.json @@ -3,7 +3,7 @@ "headers": { "Idempotency-Key": { "__compat": { - "spec_url": "https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-idempotency-key-header/", + "spec_url": "https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-idempotency-key-header/#name-the-idempotency-key-http-re", "support": { "chrome": { "version_added": false