From 22a0dfff1b8585c831ec702540be717c70fb84a2 Mon Sep 17 00:00:00 2001 From: JPeer264 Date: Thu, 8 Oct 2026 13:44:03 +0200 Subject: [PATCH 1/2] ci(bun): Test the oldest supported Bun version and the newest 1.4 The Bun unit and integration test jobs now run on Bun 1.3.14, the oldest supported version, and on `1.4`, which setup-bun resolves to the newest 1.4.x release on each run. Older 1.3.x releases are not supported: before 1.3.4 `bun:test` has no `jest.advanceTimersByTime`, and up to 1.3.13 an Anthropic stream that fails midway records its response text twice. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/build.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 658fd862749c..bfe174349582 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -503,11 +503,16 @@ jobs: if: github.event_name != 'pull_request' job_bun_unit_tests: - name: Bun Unit Tests + name: Bun (${{ matrix.bun }}) Unit Tests needs: [job_get_metadata, job_build] if: needs.job_build.outputs.changed_bun == 'true' || github.event_name != 'pull_request' timeout-minutes: 10 runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + # 1.3.14 is the oldest supported Bun version + bun: ['1.3.14', '1.4'] steps: - name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }}) uses: actions/checkout@v7 @@ -520,7 +525,7 @@ jobs: - name: Set up Bun uses: oven-sh/setup-bun@v2 with: - bun-version: '1.3.14' + bun-version: ${{ matrix.bun }} - name: Restore caches uses: ./.github/actions/restore-cache with: @@ -904,7 +909,7 @@ jobs: run: yarn test job_bun_integration_tests: - name: Bun Integration Tests (${{ matrix.shard }}/2) + name: Bun (${{ matrix.bun }}) Integration Tests (${{ matrix.shard }}/2) needs: [job_get_metadata, job_build] if: needs.job_build.outputs.changed_bun_integration == 'true' || github.event_name != 'pull_request' runs-on: ubuntu-24.04 @@ -912,6 +917,8 @@ jobs: strategy: fail-fast: false matrix: + # 1.3.14 is the oldest supported Bun version + bun: ['1.3.14', '1.4'] shard: [1, 2] steps: - name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }}) @@ -925,7 +932,7 @@ jobs: - name: Set up Bun uses: oven-sh/setup-bun@v2 with: - bun-version: '1.3.14' + bun-version: ${{ matrix.bun }} - name: Restore caches uses: ./.github/actions/restore-cache with: From b1bee220f3054a8baddb6c44d2c8166d6ae8eaa1 Mon Sep 17 00:00:00 2001 From: JPeer264 Date: Fri, 9 Oct 2026 15:25:27 +0200 Subject: [PATCH 2/2] fixup! ci(bun): Test the oldest supported Bun version and the newest 1.4 --- MIGRATION.md | 2 ++ packages/bun/package.json | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/MIGRATION.md b/MIGRATION.md index 55be1d869f77..9785e86fd6a8 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -37,6 +37,8 @@ Version 11 of the Sentry SDK has new compatibility ranges for runtimes and frame **Deno:** The minimum supported Deno version is now **2.8.3**. +**Bun:** The minimum supported Bun version is now **1.3.14**. + **Browsers:** Support for **Safari 14** was dropped. Sentry now requires Safari 15 or higher. For the rest of the browser support matrix, refer to the [Sentry docs](https://docs.sentry.io/platforms/javascript/#browser-support). ### TypeScript Version Policy diff --git a/packages/bun/package.json b/packages/bun/package.json index 4953d3803e31..13a48fab0dc4 100644 --- a/packages/bun/package.json +++ b/packages/bun/package.json @@ -7,7 +7,8 @@ "author": "Sentry", "license": "MIT", "engines": { - "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" + "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0", + "bun": ">=1.3.14" }, "files": [ "/build"