diff --git a/package.json b/package.json index d7feccfaf..ddaa3a191 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/core/index.js", "typings": "index.d.ts", "license": "MIT", - "version": "3.101.3", + "version": "3.102.0", "author": "kobezzza (https://github.com/kobezzza)", "repository": { "type": "git", diff --git a/src/core/request/engines/fetch/CHANGELOG.md b/src/core/request/engines/fetch/CHANGELOG.md index 8d470f530..46b2407c0 100644 --- a/src/core/request/engines/fetch/CHANGELOG.md +++ b/src/core/request/engines/fetch/CHANGELOG.md @@ -9,6 +9,12 @@ Changelog > - :house: [Internal] > - :nail_care: [Polish] +## v3.102.0 (2025-06-04) + +#### :boom: Breaking Change + +* Unified behavior of the `credentials` parameter: now the value `false` completely removes cookies for all requests + ## v3.78.0 (2022-03-16) #### :rocket: New Feature diff --git a/src/core/request/engines/fetch/index.ts b/src/core/request/engines/fetch/index.ts index 7bc907941..fd3e97693 100644 --- a/src/core/request/engines/fetch/index.ts +++ b/src/core/request/engines/fetch/index.ts @@ -57,6 +57,9 @@ const request: RequestEngine = (params) => { if (Object.isString(p.credentials)) { credentials = p.credentials; + } else if (p.credentials === false) { + credentials = 'omit'; + } else if (p.credentials) { credentials = 'include'; } diff --git a/src/core/request/engines/xhr/CHANGELOG.md b/src/core/request/engines/xhr/CHANGELOG.md index 9c450c8c8..b63808c7d 100644 --- a/src/core/request/engines/xhr/CHANGELOG.md +++ b/src/core/request/engines/xhr/CHANGELOG.md @@ -9,6 +9,12 @@ Changelog > - :house: [Internal] > - :nail_care: [Polish] +## v3.102.0 (2025-06-04) + +#### :boom: Breaking Change + +* Unified behavior of the `credentials` parameter: now the value `false` completely removes cookies for all requests + ## v3.78.0 (2022-03-16) #### :rocket: New Feature diff --git a/src/core/request/engines/xhr/index.ts b/src/core/request/engines/xhr/index.ts index dcb9e5b68..478b7f292 100644 --- a/src/core/request/engines/xhr/index.ts +++ b/src/core/request/engines/xhr/index.ts @@ -64,8 +64,22 @@ const request: RequestEngine = (params) => { xhr.responseType = 'arraybuffer'; } - if (p.credentials !== false) { - xhr.withCredentials = true; + switch (p.credentials) { + case 'omit': + case false: + xhr.withCredentials = false; + xhr.setRequestHeader('Cookie', ''); + break; + + case 'include': + case true: + xhr.withCredentials = true; + break; + + case 'same-origin': + default: + xhr.withCredentials = false; + break; } if (p.headers) {