โ ๏ธ Breaking Change
Impact Score: 7/10
bun v0.0.78
Source available โ automated, not human-reviewed
Component: bun ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
This isn't a breaking change โ you can still use `Bun` as a global same as before.
โก Executive Summary (TL;DR)
Bun bun-v0.0.78. Source highlight: You can now `import` from `"bun"` in bun.js. You can still use the global `Bun`.
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โ ๏ธ Breaking Changes & Deprecations (1)
- This isn't a breaking change โ you can still use `Bun` as a global same as before.
๐ง Bug Fixes & Patches (6)
- [fs] Add missing `isFile` and `isDirectory` functions to `fs.stat()`
- [js parser] Fix a code simplification bug that could happen when using `!` and comma operator - 4de7978b2763d95ddcded6ccda9b7b80cca7e8f1
- [bun bun] Fix using `bun bun` with `--platform=bun` set - 43b18663fdc763c24ae8fa0940019f2aee37c6aa
- [bun dev] Fix race condition in file watcher
- [bun install] Fix falling back to copyfile when hardlink fails on linux due to differing filesystems - 74309a1f9e52a11f2809485f4fc58ef317a7203b
- [Bun.serve] When a `Bun.file` is not found and the error handler is not run, the default status code is now 404
๐ View Raw Release Notes (Original Developer Log)
To upgrade:
```bash
bun upgrade
```
# What's new:
You can now `import` from `"bun"` in bun.js. You can still use the global `Bun`.
Before:
```ts
await Bun.write("output.txt", Bun.file("input.txt"))
```
After:
```ts
import {write, file} from 'bun';
await write("output.txt", file("input.txt"))
```
This isn't a breaking change โ you can still use `Bun` as a global same as before.
<details>
<summary>How it works</summary>
<br />
Bun's JavaScript printer replaces the `"bun"` import specifier with `globalThis.Bun`.
```js
var {write, file} = globalThis.Bun;
await write("output.txt", file("input.txt"))
```
</details>
You'll probably want to update types too:
```bash
bun add bun-types
```
## Bug fixes
- [fs] Add missing `isFile` and `isDirectory` functions to `fs.stat()`
7cd3d1301128c1f9cdcfe5825b1fd34319ff0bdc
- [js parser] Fix a code simplification bug that could happen when using `!` and comma operator - 4de7978b2763d95ddcded6ccda9b7b80cca7e8f1
- [bun bun] Fix using `bun bun` with `--platform=bun` set - 43b18663fdc763c24ae8fa0940019f2aee37c6aa
### Bug fixes from v0.0.77
- [bun dev] Fix race condition in file watcher
- [bun install] Fix falling back to copyfile when hardlink fails on linux due to differing filesystems - 74309a1f9e52a11f2809485f4fc58ef317a7203b
- [Bun.serve] When a `Bun.file` is not found and the error handler is not run, the default status code is now 404
- [Bun.serve] Fix hanging when `Bun.file` sent with sendfile and the request aborts or errors
- [Bun.serve] Decrement the reference count for `FileBlob` sent via sendfile after the callback completes instead of before
- [Bun.serve] Serve `.ts` and `.tsx` files with `text/javascript` mime type by default instead of MPEG2 Video