386 Commits

Author SHA1 Message Date
Jarred Sumner
7b31393d44 Don't run the "Date" header timer every second all the time (#21850)
### What does this PR do?

Only reschedule the Date header while there are in-flight incoming HTTP
requests.

Update the Date header if, at the time we reschedule it, it is now
stale.

Goal: don't wake up Bun's process on every second when we're idly doing
nothing.

| Metric | this branch | main |
|--------|--------------------------|-------------------|
| **task-clock** | **35.24 msec** 🟢 | **102.79 msec** |
| **context-switches** | 619 🟢 | 1,699 |
| **cpu-migrations** | 11 🟢| 35 |
| **page-faults** | 2,173 | 2,174 |
| **cpu_atom/instructions** | **109,904,685 (1.76 insn/cycle)** 🟢 |
**67,880,002 (0.55 insn/cycle)** |
| **cpu_core/instructions** | **87,183,124 (1.07 insn/cycle)** 🟢 |
**32,939,500 (0.44 insn/cycle)** |
| **cpu_atom/cycles** | 62,527,125 (1.774 GHz) 🔻 | 122,448,620 (1.191
GHz) |
| **cpu_core/cycles** | 81,651,366 (2.317 GHz) 🟢 | 75,584,111 (0.735
GHz) |
| **cpu_atom/branches** | 9,632,460 (273.338 M/sec) 🔻 | 12,119,616
(117.909 M/sec) |
| **cpu_core/branches** | 17,417,756 (494.259 M/sec) 🟢 | 6,901,859
(67.147 M/sec) |
| **cpu_atom/branch-misses** | 192,013 (1.99%) 🟢 | 1,735,446 (14.32%) |
| **cpu_core/branch-misses** | 473,567 (2.72%) 🟢 | 499,907 (7.24%) |
| **TopdownL1 (cpu_core)** | 31.4% backend_bound<br>11.7%
bad_speculation<br>36.0% frontend_bound 🔻<br>20.9% retiring<br>34.1%
bad_speculation<br>41.9% retiring<br>0.0% backend_bound<br>24.0%
frontend_bound 🔻 | 21.3% backend_bound<br>9.6% bad_speculation<br>56.2%
frontend_bound<br>12.9% retiring<br>-20.0% bad_speculation<br>55.2%
retiring<br>26.2% backend_bound<br>38.6% frontend_bound |
| **time elapsed** | 1000.0219 s | 1000.0107 s |
| **user time** | — | 0.042667 s |
| **sys time** | — | 0.060309 s |

### How did you verify your code works?

Added a test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-14 15:39:09 -07:00
Jarred Sumner
fac5e71a0c Split subprocess into more files (#21842)
### What does this PR do?

Split subprocess into more files

### How did you verify your code works?

check

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-13 20:47:50 -07:00
pfg
bf24d1b527 Split expect.zig into one file per expect matcher (#21810)
That's 75 files and 955 extra lines of imports. Maybe too many files.
2025-08-13 20:26:58 -07:00
taylor.fish
a4555ee3df Add owned pointer types (#21776)
Add an owned pointer type—a wrapper around a pointer and an allocator.

`Owned(*Foo)` and `Owned([]Foo)` contain both the pointer/slice and the
allocator that was used to allocate it. Calling `deinit` on these types
first calls `Foo.deinit` and then frees the memory. This makes it easier
to remember to free the memory, and hard to accidentally free it with
the wrong allocator.

Optional pointers are also supported (`Owned(?*Foo)`, `Owned(?[]Foo)`),
and an unmanaged variant which doesn't store the allocator
(`Owned(*Foo).Unmanaged`) is available for cases where space efficiency
is a concern.

A `MaybeOwned` type is also provided for representing data that could be
owned or borrowed. If the data is owned, `MaybeOwned.deinit` works like
`Owned.deinit`; otherwise, it's a no-op.

(For internal tracking: fixes STAB-920, STAB-921)
2025-08-12 22:25:49 -07:00
taylor.fish
0c83ff3f7e Fix z_allocator implementation when use_mimalloc is false; make Bun compile with use_mimalloc false (#21771)
We can't use `std.heap.c_allocator` as `z_allocator`; it doesn't
zero-initialize the memory. This PR adds a fallback implementation.

This PR also makes Bun compile successfully with `use_mimalloc` set to
false. More work is likely necessary to make it function correctly in
this case, but it should at least compile.

(For internal tracking: fixes STAB-978, STAB-979)
2025-08-11 20:20:58 -07:00
taylor.fish
a57dee5721 Various safety improvements (safety.ThreadLock, stack traces, MimallocArena, RefCount, safety.alloc) (#21726)
* Move `DebugThreadLock` to `bun.safety`
* Enable in `ci_assert` builds, but store stack traces only in debug
builds
  * Reduce size of struct by making optional field non-optional
* Add `initLockedIfNonComptime` as a workaround for not being able to
call `initLocked` in comptime contexts
* Add `lockOrAssert` method to acquire the lock if unlocked, or else
assert that the current thread acquired the lock
* Add stack traces to `CriticalSection` and `AllocPtr` in debug builds
* Make `MimallocArena.init` infallible
* Make `MimallocArena.heap` non-nullable
* Rename `RefCount.active_counts` to `raw_count` and provide read-only
`get` method
* Add `bun.safety.alloc.assertEq` to assert that two allocators are
equal (avoiding comparison of undefined `ptr`s)

(For internal tracking: fixes STAB-917, STAB-918, STAB-962, STAB-963,
STAB-964, STAB-965)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-11 13:40:07 -07:00
robobun
3766f183e6 deps: bump WebKit to eb92990ae9e0a8df3141b8cf946a4f250393e213 (#21702)
## Summary
- Updates WebKit from 75f6499 to eb92990 (latest release from
oven-sh/webkit)
- This brings in the latest WebKit improvements and fixes

## Test plan
- [ ] Verify the build completes successfully
- [ ] Run existing test suite to ensure no regressions

🤖 Generated with [Claude Code](https://claude.ai/code)

---------

Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-09 05:00:46 -07:00
Jarred Sumner
46e1c5a0fa Downgrade mimalloc + set libc musl flag (#21684)
### What does this PR do?

### How did you verify your code works?

---------

Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
2025-08-08 18:02:19 -07:00
Jarred Sumner
df61e88dc0 Fix potential crash in new Bun.Transpiler() (#21650)
### What does this PR do?

The `then` function in `transpiler.transform` can cause GC, which means
it can cause the `Transpiler` to become freed, which means that if that
same transpiler is in use by another run on the other thread, it could
have pointers to invalid memory.

Also, `ESMCondition` has unnecesasry memory allocations and there is a
very tiny memory leak in optionsFromLoaders

### How did you verify your code works?

Existing tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-07 15:16:44 -07:00
pfg
3652008b0d Update bun:test diff (#21158)
Fixes #6229 (Fixes BAPI-655): 

|before|<img width="806" height="84" alt="image"
src="https://github.com/user-attachments/assets/6d6c8628-40a8-4950-a7a4-8a85ee07a302"
/>|
|-|-|
|after|<img width="802" height="87" alt="image"
src="https://github.com/user-attachments/assets/c336a626-2b08-469e-aa73-676f43a0f176"
/>|

Fixes #21498 (Fixes BAPI-2240), Fixes #10852 (Fixes BAPI-743):

|before|after|
|-|-|
|<img width="474" height="147" alt="image"
src="https://github.com/user-attachments/assets/bf2225de-a573-4672-a095-f9ff359ec86c"
/>|<img width="283" height="226" alt="image"
src="https://github.com/user-attachments/assets/89cb0e45-b1b7-4dbb-9ddb-b9835baa4b74"
/>|
|<img width="279" height="176" alt="image"
src="https://github.com/user-attachments/assets/e9be7308-dc38-43d2-901c-c77ce4757a51"
/>|<img width="278" height="212" alt="image"
src="https://github.com/user-attachments/assets/8c29b385-a053-4606-9474-3e5c0e60278c"
/>|

Improves multiline string and long output

|before|after|
|-|-|
|<img width="537" height="897" alt="image"
src="https://github.com/user-attachments/assets/034800c5-ab22-4915-90d9-19831906bb2e"
/>|<img width="345" height="1016" alt="image"
src="https://github.com/user-attachments/assets/fa95339e-c136-4c7c-af94-5f11400836dd"
/>|

Improves long single line string output

|before|<img width="1903" height="191" alt="image"
src="https://github.com/user-attachments/assets/bae35c81-0566-4291-810e-e65dc0381aef"
/>|
|-|-|
|after|<img width="1905" height="123" alt="image"
src="https://github.com/user-attachments/assets/bf9f492a-1d52-4cfc-9b1b-c6544a072814"
/>|

Puts 'expected' before 'received' on object diffs. The new version
matches Jest and Vitest, and I find it more intuitive:

|before|after|
|-|-|
|<img width="344" height="221" alt="image"
src="https://github.com/user-attachments/assets/44d42655-c441-411e-9b67-c0db7a5dce08"
/>|<img width="342" height="293" alt="image"
src="https://github.com/user-attachments/assets/565e3934-a2a2-4f99-9d6f-b7df1905f933"
/>|

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-06 06:44:46 -07:00
Jarred Sumner
455f3a65b9 enable mimalloc simd (#21644)
### What does this PR do?

### How did you verify your code works?
2025-08-06 06:38:34 -07:00
Meghan Denny
4d301cc3c4 deps: bump WebKit (#21647)
642e2252f6...75f6499360
2025-08-06 06:35:55 -07:00
Jarred Sumner
ccbd3f3575 Update BuildMimalloc.cmake 2025-08-05 22:27:01 -07:00
pfg
a72d74e09a Split JS parser into multiple files (#20880)
Splits up js_parser.zig into multiple files. Also changes visitExprInOut
to use function calls rather than switch

Not ready:

- [ ] P.zig is ~70,000 tokens, still needs to get smaller
- [x] ~~measure zig build time before & after (is it slower?)~~ no
significant impact

---------

Co-authored-by: pfgithub <6010774+pfgithub@users.noreply.github.com>
2025-08-05 20:52:16 -07:00
Jarred Sumner
d3d08eeb2d CI: disable --icf=safe in debug builds and asan builds 2025-08-04 18:34:47 -07:00
Jarred Sumner
47727bdbe3 CI: Add ENABLE_ZIG_ASAN option to enable/disable asan for zig specifically with a value that inherits from ENABLE_ASAN 2025-08-04 18:27:15 -07:00
Jarred Sumner
4494353abf Split up some of sys.zig into more files (#21603) 2025-08-04 07:02:06 -07:00
github-actions[bot]
276eee74eb deps: update hdrhistogram to 0.11.8 (#21575)
## What does this PR do?

Updates hdrhistogram to version 0.11.8

Compare:
652d51bcc3...8dcce8f685

Auto-updated by [this
workflow](https://github.com/oven-sh/bun/actions/workflows/update-hdrhistogram.yml)

Co-authored-by: Jarred-Sumner <Jarred-Sumner@users.noreply.github.com>
2025-08-03 18:13:53 -07:00
github-actions[bot]
711de8a667 deps: update libarchive to v3.8.1 (#21574)
## What does this PR do?

Updates libarchive to version v3.8.1

Compare:
7118f97c26...9525f90ca4

Auto-updated by [this
workflow](https://github.com/oven-sh/bun/actions/workflows/update-libarchive.yml)

Co-authored-by: RiskyMH <RiskyMH@users.noreply.github.com>
2025-08-02 23:30:07 -07:00
Jarred Sumner
a5af485354 Refactor h2_frame_parser to use GC-visited fields (#21573)
### What does this PR do?

Instead of holding a strong for the options object passed with the
handlers, we make each of the callbacks kept alive by the handlers and
it detaches once the detachFromJS function is called.

This should fix #21570, which looks like it was caused by wrapper
functions for AsyncLocalStorage getting collected prematurely.

fixes #21254
fixes #21553
fixes #21422

### How did you verify your code works?

Ran test/js/node/http2/node-http2.test.js
2025-08-02 20:38:49 -07:00
Jarred Sumner
68d322f05f Fix mimalloc memory usage regression (#21550)
### What does this PR do?

### How did you verify your code works?

---------

Co-authored-by: taylor.fish <contact@taylor.fish>
2025-08-01 23:38:34 -07:00
Dylan Conway
53b24ace79 sync webkit (#21436)
### What does this PR do?

<!-- **Please explain what your changes do**, example: -->

<!--

This adds a new flag --bail to bun test. When set, it will stop running
tests after the first failure. This is useful for CI environments where
you want to fail fast.

-->

### How did you verify your code works?
ran fuzzy-wuzzy.test.ts
<!-- **For code changes, please include automated tests**. Feel free to
uncomment the line below -->

<!-- I wrote automated tests -->

<!-- If JavaScript/TypeScript modules or builtins changed:

- [ ] I included a test for the new code, or existing tests cover it
- [ ] I ran my tests locally and they pass (`bun-debug test
test-file-name.test`)

-->

<!-- If Zig files changed:

- [ ] I checked the lifetime of memory allocated to verify it's (1)
freed and (2) only freed when it should be
- [ ] I included a test for the new code, or an existing test covers it
- [ ] JSValue used outside of the stack is either wrapped in a
JSC.Strong or is JSValueProtect'ed
- [ ] I wrote TypeScript/JavaScript tests and they pass locally
(`bun-debug test test-file-name.test`)
-->

<!-- If new methods, getters, or setters were added to a publicly
exposed class:

- [ ] I added TypeScript types for the new methods, getters, or setters
-->

<!-- If dependencies in tests changed:

- [ ] I made sure that specific versions of dependencies are used
instead of ranged or tagged versions
-->

<!-- If a new builtin ESM/CJS module was added:

- [ ] I updated Aliases in `module_loader.zig` to include the new module
- [ ] I added a test that imports the module
- [ ] I added a test that require() the module
-->
2025-07-30 15:49:15 -07:00
taylor.fish
3de884f2c9 Add helper type to detect unsynchronized concurrent accesses of shared data (#21476)
Add a helper type to help detect race conditions. There's no performance
or memory use penalty in release builds.

Actually adding the type to various places will be left for future PRs.

(For internal tracking: fixes STAB-852)
2025-07-30 00:46:42 -07:00
Zack Radisic
3d6dda6901 Add asan checks to HiveArray (#21449) 2025-07-29 19:35:46 -07:00
Jarred Sumner
93f92658b3 Try mimalloc v3 (#17378)
(For internal tracking: fixes ENG-19852)

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Kai Tamkun <kai@tamkun.io>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: taylor.fish <contact@taylor.fish>
2025-07-29 18:07:15 -07:00
Jarred Sumner
003d13ec27 Introduce yarn.lock -> bun.lock{b} migrator (#16166)
### What does this PR do?

fixes #6409

This PR implements `bun install` automatic migration from yarn.lock
files to bun.lock, preserving versions exactly. The migration happens
automatically when:

1. A project has a `yarn.lock` file
2. No `bun.lock` or `bun.lockb` file exists  
3. User runs `bun install`

### Current Status:  Complete and Working

The yarn.lock migration feature is **fully functional and
comprehensively tested**. All dependency types are supported:

-  Regular npm dependencies (`package@^1.0.0`)
-  Git dependencies (`git+https://github.com/user/repo.git`,
`github:user/repo`)
-  NPM alias dependencies (`alias@npm:package@version`)
-  File dependencies (`file:./path`)
-  Remote tarball URLs (`https://registry.npmjs.org/package.tgz`)
-  Local tarball files (`file:package.tgz`)

### Test Results

```bash
$ bun bd test test/cli/install/migration/yarn-lock-migration.test.ts
 4 pass, 0 fail
- yarn-lock-mkdirp (basic npm dependency)
- yarn-lock-mkdirp-no-resolved (npm dependency without resolved field)
- yarn-lock-mkdirp-file-dep (file dependency)
- yarn-stuff (all complex dependency types: git, npm aliases, file, remote tarballs)
```

### How did you verify your code works?

1. **Comprehensive test suite**: Added 4 test cases covering all
dependency types
2. **Version preservation**: Verified that package versions are
preserved exactly during migration
3. **Real-world scenarios**: Tested with complex yarn.lock files
containing git deps, npm aliases, file deps, and remote tarballs
4. **Migration logging**: Confirms migration with log message `[X.XXms]
migrated lockfile from yarn.lock`

### Key Implementation Details

- **Core parser**: `src/install/yarn.zig` handles all yarn.lock parsing
and dependency type resolution
- **Integration**: Migration is built into existing lockfile loading
infrastructure
- **Performance**: Migration typically completes in ~1ms for most
projects
- **Compatibility**: Preserves exact dependency versions and resolution
behavior

The implementation correctly handles edge cases like npm aliases, git
dependencies with commits, file dependencies with transitive deps, and
remote tarballs.

---------

Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: RiskyMH <git@riskymh.dev>
Co-authored-by: RiskyMH <56214343+RiskyMH@users.noreply.github.com>
2025-07-29 13:07:47 -07:00
Jarred Sumner
245abb92fb Cleanup some code from recent PRs (#21451)
### What does this PR do?

Remove some duplicate code

### How did you verify your code works?

Ran the tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-28 23:35:46 -07:00
CountBleck
2956281845 Support WebAssembly.{instantiate,compile}Streaming() (#20503)
### What does this PR do?

<!-- **Please explain what your changes do** -->

This PR should fix #14219 and implement
`WebAssembly.instantiateStreaming()` and
`WebAssembly.compileStreaming()`.

This is a mixture of WebKit's implementation (using a helper,
`handleResponseOnStreamingAction`, also containing a fast-path for
blobs) and some of Node.js's validation (error messages) and its
builtin-based strategy to consume chunks from streams.

`src/bun.js/bindings/GlobalObject.zig` has a helper function
(`getBodyStreamOrBytesForWasmStreaming`), called by C++, to validate the
response (like
[Node.js](214e4db60e/lib/internal/wasm_web_api.js)
does) and to extract the data from the response, either as a slice/span
(if we can get the data synchronously), or as a `ReadableStream` body
(if the data is still pending or if it is a file/S3 `Blob`).

In C++, `handleResponseOnStreamingAction` is called by
`compileStreaming` and `instantiateStreaming` on the
`JSC::GlobalObjectMethodTable`, just like in
[WebKit](97ee3c598a/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (L517)).
It calls the aforementioned Zig helper for validation and getting the
response data. The data is then fed into `JSC::Wasm::StreamingCompiler`.

If the data is received as a `ReadableStream`, then we call a JS builtin
in `WasmStreaming.ts` to iterate over each chunk of the stream, like
[Node.js](214e4db60e/lib/internal/wasm_web_api.js (L50-L52))
does. The `JSC::Wasm::StreamingCompiler` is passed into JS through a new
wrapper object, `WebCore::WasmStreamingCompiler`, like
[Node.js](214e4db60e/src/node_wasm_web_api.h)
does. It has `addBytes`, `finalize`, `error`, and (unused) `cancel`
methods to mirror the underlying JSC class.

(If there's a simpler way to do this, please let me know...that would be
very much appreciated)

- [x] Code changes

### How did you verify your code works?

<!-- **For code changes, please include automated tests**. Feel free to
uncomment the line below -->

I wrote automated tests (`test/js/web/fetch/wasm-streaming.test`).

<!-- If JavaScript/TypeScript modules or builtins changed: -->

- [x] I included a test for the new code, or existing tests cover it
- [x] I ran my tests locally and they pass (`bun-debug test
test/js/web/fetch/wasm-streaming.test`)

<!-- If Zig files changed: -->

- [x] I checked the lifetime of memory allocated to verify it's (1)
freed and (2) only freed when it should be (NOTE: consumed `AnyBlob`
bodies are freed, and all other allocations are in C++ and either GCed
or ref-counted)
- [x] I included a test for the new code, or an existing test covers it
(NOTE: via JS/TS unit test)
- [x] JSValue used outside of the stack is either wrapped in a
JSC.Strong or is JSValueProtect'ed (NOTE: N/A, JSValue never used
outside the stack)
- [x] I wrote TypeScript/JavaScript tests and they pass locally
(`bun-debug test test/js/web/fetch/wasm-streaming.test`)

---------

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
2025-07-28 11:59:45 -07:00
taylor.fish
712d5be741 Add safety checks to MultiArrayList and BabyList (#21063)
Ensure we aren't using multiple allocators with the same list by storing
a pointer to the allocator in debug mode only.

This check is stricter than the bare minimum necessary to prevent
illegal behavior, so CI may reveal certain uses that fail the checks but
don't cause IB. Most of these cases should probably be updated to comply
with the new requirements—we want these types' invariants to be clear.

(For internal tracking: fixes ENG-14987)
2025-07-25 18:12:21 -07:00
Zack Radisic
71e2161591 Split DevServer.zig into multiple files (#21299)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-23 05:29:22 +00:00
taylor.fish
07cd45deae Refactor Zig imports and file structure (part 1) (#21270)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-22 17:51:38 -07:00
Jarred Sumner
aac646dbfe Suppress linker alignment warnings in debug build on macOS 2025-07-21 21:24:35 -07:00
robobun
718e7cdc43 Upgrade libarchive to v3.8.1 (#21250)
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Zack Radisic <zack@theradisic.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-21 20:08:00 -07:00
pfg
60faa8696f Auto cpp->zig bindings (#20881)
Co-authored-by: pfgithub <6010774+pfgithub@users.noreply.github.com>
Co-authored-by: Ben Grant <ben@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-21 16:26:07 -07:00
robobun
74d3610d41 Update lol-html to v2.6.0 (#21251)
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-21 02:08:35 -07:00
robobun
cc5d8adcb5 Enable Windows long path support (#21244)
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-20 23:04:17 -07:00
Zack Radisic
f4339df16b SSG stuff (#20998)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-07-20 22:37:50 -07:00
Dylan Conway
1a9bc5da09 fix(install): isolated install aliased dependency name fix (#21138)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>
Co-authored-by: Meghan Denny <meghan@bun.sh>
2025-07-19 01:59:52 -07:00
taylor.fish
a1c0f74037 Simplify/fix threading utilities (#21089)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-18 22:02:36 -07:00
Meghan Denny
89e322e3b5 cmake: set nodejs_version statically (#21164) 2025-07-18 04:14:11 -07:00
Jarred Sumner
804e76af22 Introduce bun update --interactive (#20850)
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-17 04:33:30 -07:00
Dylan Conway
0bb7132f61 [ENG-15045] add --linker and copyfile fallback for isolated installs (#21122)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-16 23:02:52 -07:00
Jarred Sumner
7bbb4e2ad9 Enable ASAN by default on Linux x64 & arm64 debug builds 2025-07-16 17:57:00 -07:00
Michael H
0ee633663e Implement bun why (#20847)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-16 02:00:53 -07:00
Jarred Sumner
d8b37bf408 Shrink MimeType list (#21004)
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Meghan Denny <meghan@bun.sh>
2025-07-15 22:37:09 -07:00
jarred-sumner-bot
32ce9a3890 Add Windows PE codesigning support for standalone executables (#21091)
Co-authored-by: Claude Bot <claude-bot@bun.sh>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-07-15 22:31:54 -07:00
Michael H
20db4b636e implement bun pm pkg (#21046) 2025-07-15 22:14:00 -07:00
taylor.fish
3b2289d76c Sync Mutex and Futex with upstream and port std.Thread.Condition (#21060)
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2025-07-15 01:16:40 -07:00
Michael H
8898c4c455 Vscode test runner support (#20645) 2025-07-13 21:57:44 -07:00
Zack Radisic
eae8fb34b8 Don't strip out debug symbols for lldb (#20874)
Co-authored-by: CountBleck <Mr.YouKnowWhoIAm@protonmail.com>
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Michael H <git@riskymh.dev>
Co-authored-by: 190n <ben@bun.sh>
Co-authored-by: Alistair Smith <hi@alistair.sh>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com>
Co-authored-by: cirospaciari <6379399+cirospaciari@users.noreply.github.com>
Co-authored-by: Kai Tamkun <13513421+heimskr@users.noreply.github.com>
Co-authored-by: Claude <claude@anthropic.ai>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jarred-Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Co-authored-by: Meghan Denny <meghan@bun.sh>
2025-07-12 17:13:34 -07:00