Skip to content

Bump Bun to 1.4 so macOS standalone binaries get a valid code signature - #20578

Merged
RobinMalfait merged 2 commits into
tailwindlabs:mainfrom
i098:fix/tw-20544
Oct 15, 2026
Merged

RobinMalfait merged 2 commits into
tailwindlabs:mainfrom
i098:fix/tw-20544

Conversation

@i098

@i098 i098 commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #20544.

bun build --compile in Bun 1.3.14 writes the ad-hoc Mach-O signature with the hash of the last 4 KiB page taken over a zero-padded page, not the real bytes. codesign --verify reports an invalid signature, and macOS 27 checks that page at launch and kills tailwindcss-macos-arm64. Bun 1.4.1 and later sign the real bytes.

This bumps bun and @types/bun in @tailwindcss/standalone from ^1.3.14 to ^1.4.1. The lockfile now resolves Bun 1.4.3. The fix reaches users with the next release, because the binaries are built at release time.

Test plan

I built the standalone binaries before and after the bump on Linux (cd packages/@tailwindcss-standalone && pnpm build) and hashed every 4096-byte page of dist/tailwindcss-macos-arm64 against its LC_CODE_SIGNATURE CodeDirectory:

Bun bad pages last page hash matches the zero-padded page
main 1.3.14 [(17905, 2736)] yes
this PR 1.4.3 none no

I could not run the binary on macOS 27, so the launch kill itself is not tested here.

Also checked with the bump: pnpm install --frozen-lockfile passes, the build finishes for all 7 targets, and the tailwindcss-linux-x64 binary builds @import "tailwindcss" and generates .flex, .p-4 and hover:underline for a small HTML file.

dist/tailwindcss-macos-arm64 grows from 73.9 MB to 81.3 MB.

I did not run integrations/cli/standalone.test.ts, because it needs pnpm pack tarballs of every package, including the WASM build.

I am new to open source, and this pull request was made with AI assistance.

@RobinMalfait

Copy link
Copy Markdown
Contributor

I rebased this PR on the latest main and force pushed it.

Sent by an AI assistant on behalf of @RobinMalfait.

@RobinMalfait
RobinMalfait marked this pull request as ready for review October 15, 2026 16:22
@RobinMalfait
RobinMalfait requested a review from a team as a code owner October 15, 2026 16:22
@greptile-apps

greptile-apps Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[High impact] The PR appears safe to merge; no blocking issue was found.

Reviews (3) · Last reviewed commit: "Add changelog entry for the Bun bump (#2..." · Reviewed by Greptile

@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0632ed95-eb16-4a12-876f-8b9cd4b500f7
📥 Commits

Reviewing files that changed from the base of the PR and between b852173 and 3fa4783.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 1
  • CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes: 1
  • CHANGELOG.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review.

Walkthrough

The standalone package manifest updates the @types/bun and bun development dependency ranges from ^1.3.14 to ^1.4.1. The Unreleased changelog records a code-signature fix for standalone macOS binaries that were killed at launch on macOS 27.

Priority: ➖ Normal

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to 3fa47

The Bun update targets the standalone macOS launch failure. No concrete regression is evident; merge after normal checks.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the Bun 1.4 update and its purpose of fixing macOS standalone binary code signatures.
Description check Passed The description directly explains the Bun update, the macOS code-signature issue, validation steps, and testing limitations.
Linked Issues check Passed The PR addresses issue #20544 by updating bun and @types/bun in packages/@tailwindcss-standalone/package.json from ^1.3.14 to ^1.4.1. The reported build validation resolved Bun 1.4.3, built …
Out of Scope Changes check Passed The reported changes are limited to the standalone package dependency bump and a related changelog entry. The reported lockfile update supports the dependency bump. These changes directly support issu…
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

RobinMalfait added a commit to i098/tailwindcss that referenced this pull request Oct 15, 2026
i098 and others added 2 commits October 15, 2026 22:45
Bun 1.3.14 writes the last page hash of the ad-hoc Mach-O signature over a
zero-padded page. macOS 27 checks that page at launch and kills the
standalone CLI (tailwindlabs#20544). Bun 1.4.1 and later sign the real bytes.

This bumps `bun` and `@types/bun` in `@tailwindcss/standalone` to
`^1.4.1`. The lockfile resolves Bun 1.4.3.

@RobinMalfait RobinMalfait left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR!

Sent by an AI assistant on behalf of @RobinMalfait.

@RobinMalfait
RobinMalfait merged commit d580998 into tailwindlabs:main Oct 15, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Standalone cli is killed when run on MacOs

2 participants