From 896e229fb5116a4258d275571c626d07c0432d2b Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Fri, 4 Sep 2026 13:04:22 -0700 Subject: [PATCH] chore(tooling): upgrade Bun to 1.4.1 --- .devcontainer/Dockerfile | 2 +- .github/workflows/ci.yml | 4 ++-- .github/workflows/desktop-e2e.yml | 6 +++--- .github/workflows/desktop-release.yml | 2 +- .github/workflows/docs-embeddings.yml | 2 +- .github/workflows/helm.yml | 2 +- .github/workflows/migrations.yml | 2 +- .github/workflows/publish-cli.yml | 2 +- .github/workflows/publish-sim-cli.yml | 2 +- .github/workflows/publish-sim-setup.yml | 2 +- .github/workflows/publish-ts-sdk.yml | 2 +- .github/workflows/test-build.yml | 6 +++--- apps/desktop/package.json | 2 +- apps/realtime/package.json | 2 +- apps/sim/lib/core/utils/fetch-deadline.ts | 13 +++++++------ apps/sim/package.json | 2 +- apps/sim/scripts/pi-sandbox-packages.ts | 2 +- docker/app.Dockerfile | 2 +- docker/db.Dockerfile | 2 +- docker/realtime.Dockerfile | 2 +- package.json | 2 +- packages/audit/package.json | 2 +- packages/auth/package.json | 2 +- packages/browser-protocol/package.json | 2 +- packages/db/package.json | 2 +- packages/desktop-bridge/package.json | 2 +- packages/emcn/package.json | 2 +- packages/logger/package.json | 2 +- packages/platform-authz/package.json | 2 +- packages/realtime-protocol/package.json | 2 +- packages/runtime-secrets/package.json | 2 +- packages/security/package.json | 2 +- packages/terminal-protocol/package.json | 2 +- packages/testing/package.json | 2 +- packages/workflow-persistence/package.json | 2 +- packages/workflow-renderer/package.json | 2 +- packages/workflow-types/package.json | 2 +- 37 files changed, 48 insertions(+), 47 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 8d14cd98508..f99d9bbcba9 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM oven/bun:1.3.14-alpine +FROM oven/bun:1.4.1-alpine # Install necessary packages for development RUN apk add --no-cache \ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b611026e2a..75d45ac5e46 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -240,7 +240,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Cache Bun dependencies uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 @@ -960,7 +960,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Install dependencies run: bun install --frozen-lockfile --ignore-scripts diff --git a/.github/workflows/desktop-e2e.yml b/.github/workflows/desktop-e2e.yml index aadc3bf6f3e..eb5d1316f00 100644 --- a/.github/workflows/desktop-e2e.yml +++ b/.github/workflows/desktop-e2e.yml @@ -43,7 +43,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Install dependencies run: bun install --frozen-lockfile @@ -76,7 +76,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Install dependencies run: bun install --frozen-lockfile @@ -112,7 +112,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 diff --git a/.github/workflows/desktop-release.yml b/.github/workflows/desktop-release.yml index f7b6e2c2dd9..a986b909107 100644 --- a/.github/workflows/desktop-release.yml +++ b/.github/workflows/desktop-release.yml @@ -128,7 +128,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 diff --git a/.github/workflows/docs-embeddings.yml b/.github/workflows/docs-embeddings.yml index 969f47f4b9f..ec73959170d 100644 --- a/.github/workflows/docs-embeddings.yml +++ b/.github/workflows/docs-embeddings.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 diff --git a/.github/workflows/helm.yml b/.github/workflows/helm.yml index 6116c9ba1cb..ac6298ed8d6 100644 --- a/.github/workflows/helm.yml +++ b/.github/workflows/helm.yml @@ -43,7 +43,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 # Docker Compose and Kubernetes must run the same background jobs on the # same schedules; this fails the build if the two drift apart. The script diff --git a/.github/workflows/migrations.yml b/.github/workflows/migrations.yml index b92f99d6eac..0235a0b8342 100644 --- a/.github/workflows/migrations.yml +++ b/.github/workflows/migrations.yml @@ -34,7 +34,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Cache Bun dependencies uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 diff --git a/.github/workflows/publish-cli.yml b/.github/workflows/publish-cli.yml index 9513018c125..44d50c92704 100644 --- a/.github/workflows/publish-cli.yml +++ b/.github/workflows/publish-cli.yml @@ -20,7 +20,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node.js for npm publishing uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 diff --git a/.github/workflows/publish-sim-cli.yml b/.github/workflows/publish-sim-cli.yml index 95c74918a20..1739e37b19f 100644 --- a/.github/workflows/publish-sim-cli.yml +++ b/.github/workflows/publish-sim-cli.yml @@ -24,7 +24,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 diff --git a/.github/workflows/publish-sim-setup.yml b/.github/workflows/publish-sim-setup.yml index 0594dee14b6..19b667c17b6 100644 --- a/.github/workflows/publish-sim-setup.yml +++ b/.github/workflows/publish-sim-setup.yml @@ -29,7 +29,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 diff --git a/.github/workflows/publish-ts-sdk.yml b/.github/workflows/publish-ts-sdk.yml index c643c6ea5d8..e023621d6b4 100644 --- a/.github/workflows/publish-ts-sdk.yml +++ b/.github/workflows/publish-ts-sdk.yml @@ -20,7 +20,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node.js for npm publishing uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index b4d87d8425e..c5028b877c1 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -30,7 +30,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 @@ -230,7 +230,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 @@ -303,7 +303,7 @@ jobs: - name: Setup Bun uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: - bun-version: 1.3.14 + bun-version: 1.4.1 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 49f5aa98909..c90de11d4bd 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -9,7 +9,7 @@ "type": "module", "main": "dist/main.cjs", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "scripts": { diff --git a/apps/realtime/package.json b/apps/realtime/package.json index 78b86958d99..4a90594d62c 100644 --- a/apps/realtime/package.json +++ b/apps/realtime/package.json @@ -5,7 +5,7 @@ "license": "Apache-2.0", "type": "module", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "scripts": { diff --git a/apps/sim/lib/core/utils/fetch-deadline.ts b/apps/sim/lib/core/utils/fetch-deadline.ts index cd04b09c4e1..006795a427a 100644 --- a/apps/sim/lib/core/utils/fetch-deadline.ts +++ b/apps/sim/lib/core/utils/fetch-deadline.ts @@ -35,8 +35,9 @@ import { Agent, type Dispatcher } from 'undici' * disagree. * * Bun accepts only the boolean/zero form of `timeout`. Measured on Bun 1.3.14 - * against a server that withholds response headers, so the numbers below are - * the real deadline rather than an inferred one: + * against a server that withholds response headers, with the numeric behavior + * rechecked on Bun 1.4.1, so the numbers below are the real deadline rather + * than an inferred one: * * no option -> THREW 300028ms (TimeoutError) <- the 300s default * timeout: false -> RESOLVED 310031ms <- disarmed @@ -56,10 +57,10 @@ import { Agent, type Dispatcher } from 'undici' * dispatcher armed at 200ms -> THREW 1011ms <- honored * dispatcher with 0/0 vs a 310s server -> RESOLVED 310016ms <- disarmed * - * `bun-types@1.3.14` does not declare `timeout` on `BunFetchRequestInit`, and - * the DOM lib does not declare undici's `dispatcher`, even though each runtime - * honors its respective option — the types lag the runtimes, which is why the - * interface below is declared locally rather than imported. + * `bun-types@1.4.1` declares `timeout` on `BunFetchRequestInit`, but the shared + * DOM lib does not declare that Bun extension or undici's `dispatcher`. The + * interface below therefore stays local so this cross-runtime helper does not + * depend on either runtime's ambient types. */ /** diff --git a/apps/sim/package.json b/apps/sim/package.json index b7d20522da1..9125db409ee 100644 --- a/apps/sim/package.json +++ b/apps/sim/package.json @@ -4,7 +4,7 @@ "private": true, "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=22.19.0" }, "scripts": { diff --git a/apps/sim/scripts/pi-sandbox-packages.ts b/apps/sim/scripts/pi-sandbox-packages.ts index a2296e3fc20..dfc102591f0 100644 --- a/apps/sim/scripts/pi-sandbox-packages.ts +++ b/apps/sim/scripts/pi-sandbox-packages.ts @@ -14,7 +14,7 @@ */ /** Bun version mirrored from the root packageManager field. */ -export const PI_BUN_VERSION = '1.3.14' +export const PI_BUN_VERSION = '1.4.1' /** Exact Pi version mirrored from the app dependencies and lockfile. */ export const PI_PACKAGE_VERSION = '0.80.10' diff --git a/docker/app.Dockerfile b/docker/app.Dockerfile index ebe4fad1b29..08cb7f4d89e 100644 --- a/docker/app.Dockerfile +++ b/docker/app.Dockerfile @@ -1,7 +1,7 @@ # ======================================== # Base Stage: runtime-only dependencies (inherited by the final image) # ======================================== -FROM oven/bun:1.3.14-slim AS base +FROM oven/bun:1.4.1-slim AS base # Install Node.js 24 (Active LTS) and the runtime dependencies once in base. # Node runs only the isolated-vm sandbox worker (the app itself runs under Bun); diff --git a/docker/db.Dockerfile b/docker/db.Dockerfile index 19bb54e62c3..25f2f003ec8 100644 --- a/docker/db.Dockerfile +++ b/docker/db.Dockerfile @@ -1,7 +1,7 @@ # ======================================== # Base Stage: Alpine Linux with Bun # ======================================== -FROM oven/bun:1.3.14-alpine AS base +FROM oven/bun:1.4.1-alpine AS base # ======================================== # Dependencies Stage: Install Dependencies diff --git a/docker/realtime.Dockerfile b/docker/realtime.Dockerfile index b7ed4dd20ef..bff37a08a9d 100644 --- a/docker/realtime.Dockerfile +++ b/docker/realtime.Dockerfile @@ -1,7 +1,7 @@ # ======================================== # Base Stage: Alpine Linux with Bun # ======================================== -FROM oven/bun:1.3.14-alpine AS base +FROM oven/bun:1.4.1-alpine AS base RUN apk add --no-cache libc6-compat curl diff --git a/package.json b/package.json index a1ab89af429..ab7c2cd427e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "simstudio", - "packageManager": "bun@1.3.14", + "packageManager": "bun@1.4.1", "version": "0.0.0", "private": true, "license": "Apache-2.0", diff --git a/packages/audit/package.json b/packages/audit/package.json index 160e360bd42..2ba1df5d3ec 100644 --- a/packages/audit/package.json +++ b/packages/audit/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/auth/package.json b/packages/auth/package.json index 3f45dea5452..be2b9a3d340 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/browser-protocol/package.json b/packages/browser-protocol/package.json index 98b6726a894..44f013b3f5c 100644 --- a/packages/browser-protocol/package.json +++ b/packages/browser-protocol/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/db/package.json b/packages/db/package.json index 8a647c0a832..c5b8ab0c83b 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -5,7 +5,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/desktop-bridge/package.json b/packages/desktop-bridge/package.json index 989bfcc9b17..da9dcbd76f2 100644 --- a/packages/desktop-bridge/package.json +++ b/packages/desktop-bridge/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/emcn/package.json b/packages/emcn/package.json index f4f8501e608..b48a0f2e382 100644 --- a/packages/emcn/package.json +++ b/packages/emcn/package.json @@ -9,7 +9,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/logger/package.json b/packages/logger/package.json index 9117cc3c165..94079c51be6 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/platform-authz/package.json b/packages/platform-authz/package.json index e00a4ecacc1..3f78ab68e20 100644 --- a/packages/platform-authz/package.json +++ b/packages/platform-authz/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/realtime-protocol/package.json b/packages/realtime-protocol/package.json index e1eda9cfaeb..6a230d0adef 100644 --- a/packages/realtime-protocol/package.json +++ b/packages/realtime-protocol/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/runtime-secrets/package.json b/packages/runtime-secrets/package.json index f91a78752c4..dd930d73312 100644 --- a/packages/runtime-secrets/package.json +++ b/packages/runtime-secrets/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/security/package.json b/packages/security/package.json index 7f774918811..659e8d2d96b 100644 --- a/packages/security/package.json +++ b/packages/security/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/terminal-protocol/package.json b/packages/terminal-protocol/package.json index 8a41e8a1dce..4a471a651bb 100644 --- a/packages/terminal-protocol/package.json +++ b/packages/terminal-protocol/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/testing/package.json b/packages/testing/package.json index 502fdf79a68..d9befe497b6 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -8,7 +8,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/workflow-persistence/package.json b/packages/workflow-persistence/package.json index e83976c2b72..798636d6e1f 100644 --- a/packages/workflow-persistence/package.json +++ b/packages/workflow-persistence/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/workflow-renderer/package.json b/packages/workflow-renderer/package.json index 1b7105b2d51..31fe9b8f6f0 100644 --- a/packages/workflow-renderer/package.json +++ b/packages/workflow-renderer/package.json @@ -9,7 +9,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": { diff --git a/packages/workflow-types/package.json b/packages/workflow-types/package.json index 895521c7c3c..07e67007778 100644 --- a/packages/workflow-types/package.json +++ b/packages/workflow-types/package.json @@ -6,7 +6,7 @@ "type": "module", "license": "Apache-2.0", "engines": { - "bun": ">=1.3.14", + "bun": ">=1.4.1", "node": ">=20.0.0" }, "exports": {