Skip to content

Commit d580998

Browse files
i098RobinMalfait
andauthored
Bump Bun to 1.4 so macOS standalone binaries get a valid code signature (#20578)
## 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. --------- Co-authored-by: Robin Malfait <robin.malfait@shopify.com>
1 parent 1f18d20 commit d580998

3 files changed

Lines changed: 136 additions & 13 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5353
- Don't generate CSS for arbitrary values with unbalanced parentheses or brackets (e.g. `w-[calc(1px]` or `[--x:a[b]`) ([#20577](https://github.com/tailwindlabs/tailwindcss/pull/20577))
5454
- Canonicalization: prevent `collapse: true` from taking exponentially longer when classes are linked through a utility that sets many properties (e.g. `sr-only`) ([#20558](https://github.com/tailwindlabs/tailwindcss/pull/20558))
5555
- Ensure `&` is substituted inside `:-moz-any(…)` and `:-webkit-any(…)` in custom variants (e.g. `@custom-variant firefox (:-moz-any(&));`) ([#20486](https://github.com/tailwindlabs/tailwindcss/pull/20486))
56+
- Ensure the standalone macOS binaries have a valid code signature, so macOS 27 no longer kills them at launch ([#20578](https://github.com/tailwindlabs/tailwindcss/pull/20578))
5657

5758
## [4.3.3] - 2026-07-16
5859

‎packages/@tailwindcss-standalone/package.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
"@parcel/watcher-linux-x64-glibc": "catalog:",
4343
"@parcel/watcher-linux-x64-musl": "catalog:",
4444
"@parcel/watcher-win32-x64": "catalog:",
45-
"@types/bun": "^1.3.14",
46-
"bun": "^1.3.14",
45+
"@types/bun": "^1.4.1",
46+
"bun": "^1.4.1",
4747
"lightningcss-darwin-arm64": "catalog:",
4848
"lightningcss-darwin-x64": "catalog:",
4949
"lightningcss-linux-arm64-gnu": "catalog:",

‎pnpm-lock.yaml‎

Lines changed: 133 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)