From 70824a1affe2a2dad999eca1211b5b8f828ed22f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 15:42:31 +0000 Subject: [PATCH] Version Packages --- .changeset/pr-183.md | 7 ------- .changeset/sdk-6948-v8-binary-url-fallback.md | 7 ------- .changeset/sdk-6948-v8-bsstag-host-recognition.md | 7 ------- packages/browserstack-service/CHANGELOG.md | 15 +++++++++++++++ packages/browserstack-service/package.json | 2 +- 5 files changed, 16 insertions(+), 22 deletions(-) delete mode 100644 .changeset/pr-183.md delete mode 100644 .changeset/sdk-6948-v8-binary-url-fallback.md delete mode 100644 .changeset/sdk-6948-v8-bsstag-host-recognition.md diff --git a/.changeset/pr-183.md b/.changeset/pr-183.md deleted file mode 100644 index 1f57d278..00000000 --- a/.changeset/pr-183.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@wdio/browserstack-service": patch ---- - -- SDK-6948: `*.bsstag.com` hubs are now recognised as BrowserStack on named internal staging envs (`BROWSERSTACK_STAGING_ENV` / `BROWSERSTACK_ENV`), so with the CLI flow (default) session marking and TRA linking work there. The classic (non-CLI) flow on a named staging env is not supported; its session update is skipped at debug. -- SDK-6948: `update_cli` failures fall back to `BROWSERSTACK_BINARY_URL`. A failed fallback download uses the cached binary. -- SDK-6948: `_printSessionURL` and `_update` log a failed session lookup or update (HTTP error) at debug instead of throwing. diff --git a/.changeset/sdk-6948-v8-binary-url-fallback.md b/.changeset/sdk-6948-v8-binary-url-fallback.md deleted file mode 100644 index a568fbee..00000000 --- a/.changeset/sdk-6948-v8-binary-url-fallback.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@wdio/browserstack-service": patch ---- - -fix(cli): fall back to `BROWSERSTACK_BINARY_URL` when `update_cli` fails (SDK-6948) - -`update_cli` runs during bootstrap — before the binary is spawned and before GRR localizes the API hosts — so it always targets production `api.browserstack.com`. On an internal staging run (`BROWSERSTACK_STAGING_ENV`) the staging credentials are rejected there (`401`), which left the CLI binary path empty and crashed the launcher with `spawn('') … ERR_INVALID_ARG_VALUE: 'file' cannot be empty`. When `update_cli` fails and `BROWSERSTACK_BINARY_URL` is set, download the binary from that URL instead so the run can proceed; the same applies when a 2xx reply carries no download URL and no binary is cached. If that download fails, the cached binary is used when there is one, and both errors are logged. Opt-in only — with the variable unset the original error propagates exactly as before. Ports main/v9 #224 to the v8 line. diff --git a/.changeset/sdk-6948-v8-bsstag-host-recognition.md b/.changeset/sdk-6948-v8-bsstag-host-recognition.md deleted file mode 100644 index 733d023b..00000000 --- a/.changeset/sdk-6948-v8-bsstag-host-recognition.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@wdio/browserstack-service": patch ---- - -fix(util): recognize `*.bsstag.com` hosts as BrowserStack on internal staging envs (SDK-6948) - -`getCloudProvider` and `isBrowserstackInfra` only matched `browserstack.com`, so a session pointed at an internal staging env (`*.bsstag.com`) was classified as non-BrowserStack: session marking and Automate <-> TRA session linking did not work there. `*.bsstag.com` hosts are now treated as BrowserStack when `BROWSERSTACK_STAGING_ENV` is a bare env name (e.g. `k8s`, trimmed; blank means unset) or `BROWSERSTACK_ENV` is `staging`/`stag`/`preprod`/`pre-prod`. Hosts are matched case-insensitively. Production behaviour is unchanged. With the CLI flow (the default), session marking and Automate <-> TRA session linking now work on those envs, because the binary supplies the staging session REST host. The classic (non-CLI) flow on a named staging env is not supported: it has no staging session REST host, so the session name/status update is skipped at debug instead of failing the hook. `_printSessionURL` and `_update` log a failed session lookup or update (HTTP error reply) at debug instead of throwing. Ports main/v9 #275 to the v8 line. diff --git a/packages/browserstack-service/CHANGELOG.md b/packages/browserstack-service/CHANGELOG.md index 3f227341..e2a89ec2 100644 --- a/packages/browserstack-service/CHANGELOG.md +++ b/packages/browserstack-service/CHANGELOG.md @@ -1,5 +1,20 @@ # @wdio/browserstack-service +## 8.53.2 + +### Patch Changes + +- ccb370d: - SDK-6948: `*.bsstag.com` hubs are now recognised as BrowserStack on named internal staging envs (`BROWSERSTACK_STAGING_ENV` / `BROWSERSTACK_ENV`), so with the CLI flow (default) session marking and TRA linking work there. The classic (non-CLI) flow on a named staging env is not supported; its session update is skipped at debug. + - SDK-6948: `update_cli` failures fall back to `BROWSERSTACK_BINARY_URL`. A failed fallback download uses the cached binary. + - SDK-6948: `_printSessionURL` and `_update` log a failed session lookup or update (HTTP error) at debug instead of throwing. +- 25529d2: fix(cli): fall back to `BROWSERSTACK_BINARY_URL` when `update_cli` fails (SDK-6948) + + `update_cli` runs during bootstrap — before the binary is spawned and before GRR localizes the API hosts — so it always targets production `api.browserstack.com`. On an internal staging run (`BROWSERSTACK_STAGING_ENV`) the staging credentials are rejected there (`401`), which left the CLI binary path empty and crashed the launcher with `spawn('') … ERR_INVALID_ARG_VALUE: 'file' cannot be empty`. When `update_cli` fails and `BROWSERSTACK_BINARY_URL` is set, download the binary from that URL instead so the run can proceed; the same applies when a 2xx reply carries no download URL and no binary is cached. If that download fails, the cached binary is used when there is one, and both errors are logged. Opt-in only — with the variable unset the original error propagates exactly as before. Ports main/v9 #224 to the v8 line. + +- 7ef36e1: fix(util): recognize `*.bsstag.com` hosts as BrowserStack on internal staging envs (SDK-6948) + + `getCloudProvider` and `isBrowserstackInfra` only matched `browserstack.com`, so a session pointed at an internal staging env (`*.bsstag.com`) was classified as non-BrowserStack: session marking and Automate <-> TRA session linking did not work there. `*.bsstag.com` hosts are now treated as BrowserStack when `BROWSERSTACK_STAGING_ENV` is a bare env name (e.g. `k8s`, trimmed; blank means unset) or `BROWSERSTACK_ENV` is `staging`/`stag`/`preprod`/`pre-prod`. Hosts are matched case-insensitively. Production behaviour is unchanged. With the CLI flow (the default), session marking and Automate <-> TRA session linking now work on those envs, because the binary supplies the staging session REST host. The classic (non-CLI) flow on a named staging env is not supported: it has no staging session REST host, so the session name/status update is skipped at debug instead of failing the hook. `_printSessionURL` and `_update` log a failed session lookup or update (HTTP error reply) at debug instead of throwing. Ports main/v9 #275 to the v8 line. + ## 8.53.1 ### Patch Changes diff --git a/packages/browserstack-service/package.json b/packages/browserstack-service/package.json index 60ac2965..7b2b1ba8 100644 --- a/packages/browserstack-service/package.json +++ b/packages/browserstack-service/package.json @@ -1,6 +1,6 @@ { "name": "@wdio/browserstack-service", - "version": "8.53.1", + "version": "8.53.2", "description": "WebdriverIO service for better Browserstack integration", "author": "BrowserStack ", "homepage": "https://github.com/browserstack/wdio-browserstack-service/tree/v8/packages/browserstack-service",