Bun bun-v0.6.0stable Released May 16, 2023
Impact Score: 5/10

Bun v0.6.0

Source available โ€” automated, not human-reviewed

Component: bun ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Bun bun-v0.6.0. Source highlight: **Read Bun v0.6.0's release notes on Bun's blog**

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.

โœจ New Features & Capabilities (6)

  • Add npm benchmark
  • Add tests for `bun test` with preload scripts
  • Add last modify field "mtime" for FileBlob (#1431)
  • docs(cli/bunx): add notice
  • docs: add a section on uninstalling bun
  • feat(tls.Server) basic support (cert, key, rejectUnauthorized, requestCert, ca) #2412

โšก Performance & Enhancements (3)

  • Rewrite Developer Docs, Improve DX for new users, moving away from Devcontainer
  • Improves Body.Value life cycle and Signal life cycle on server.zig
  • bundler tests and improve `Bun.build` return type

๐Ÿ”ง Bug Fixes & Patches (6)

  • Dylan/fix some failing tests
  • fix: modules to have null prototype
  • fix `deepEquals` with array holes and accessors
  • fix: build warnings
  • fix(fetch.proxy) fix proxy authentication
  • fix(ws): export Server
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
**[Read Bun v0.6.0's release notes on Bun's blog](https://bun.sh/blog/bun-v0.6.0)** To install: ```bash curl https://bun.sh/install | bash # or you can use npm # npm install -g bun ``` To upgrade: ```bash bun upgrade ``` <a href="https://bun.sh/blog/bun-v0.6.0"> ![image](https://github.com/oven-sh/bun/assets/709451/25748cba-d842-44a5-ad11-f789cab31c7c) </a> ## What's Changed * Add npm benchmark by @colinhacks in https://github.com/oven-sh/bun/pull/2555 * Dylan/fix some failing tests by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2544 * Implement `import.meta.main` by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2556 * fix: modules to have null prototype by @privatenumber in https://github.com/oven-sh/bun/pull/2561 * fix `deepEquals` with array holes and accessors by @dylan-conway in https://github.com/oven-sh/bun/pull/2557 * In Documentation, move --watch before the script name by @Lawlzer in https://github.com/oven-sh/bun/pull/2569 * fix: build warnings by @privatenumber in https://github.com/oven-sh/bun/pull/2562 * fix(fetch.proxy) fix proxy authentication by @cirospaciari in https://github.com/oven-sh/bun/pull/2554 * Add tests for `bun test` with preload scripts by @jakeboone02 in https://github.com/oven-sh/bun/pull/2566 * Update `typecheck` by @colinhacks in https://github.com/oven-sh/bun/pull/2572 * bun-types: infer strict `Subprocess` from `Bun.spawn()` options by @paperdave in https://github.com/oven-sh/bun/pull/1501 * docs(CONTRIBUTING): reference development guide by @privatenumber in https://github.com/oven-sh/bun/pull/2576 * fix(ws): export Server by @privatenumber in https://github.com/oven-sh/bun/pull/2575 * move resolve tests to another process by @dylan-conway in https://github.com/oven-sh/bun/pull/2578 * bun-types: infer strict `Subprocess` from `Bun.spawn()` options, part 2 by @paperdave in https://github.com/oven-sh/bun/pull/2573 * Add last modify field "mtime" for FileBlob (#1431) by @zhongweiy in https://github.com/oven-sh/bun/pull/2491 * Fix `toEqual` when the second array has extra array holes by @dylan-conway in https://github.com/oven-sh/bun/pull/2580 * docs(cli/bunx): add notice by @xHyroM in https://github.com/oven-sh/bun/pull/2574 * docs: add a section on uninstalling bun by @paperdave in https://github.com/oven-sh/bun/pull/2560 * fix: export `constants` from `fs/promises` by @paperdave in https://github.com/oven-sh/bun/pull/2567 * feat(tls.Server) basic support (cert, key, rejectUnauthorized, requestCert, ca) #2412 by @cirospaciari in https://github.com/oven-sh/bun/pull/2552 * `FileBlob` -> `BunFile`, add `BunFile.lastModified` by @colinhacks in https://github.com/oven-sh/bun/pull/2581 * chore(prettier): simplify glob and enable cache by @privatenumber in https://github.com/oven-sh/bun/pull/2589 * Add TSConfig object type to TranspilerOptions interface by @jakeboone02 in https://github.com/oven-sh/bun/pull/2545 * Bun gets a new bundler by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2312 * Rewrite Developer Docs, Improve DX for new users, moving away from Devcontainer by @paperdave in https://github.com/oven-sh/bun/pull/2588 * Fix callout tag on development docs by @paperdave in https://github.com/oven-sh/bun/pull/2595 * Update TypeScript parsing to 5.0 by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2593 * Fixes #2594 by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2600 * Implement TOML & JSON support in Bun's new bundler by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2609 * Fix symbol renaming bug by @dylan-conway in https://github.com/oven-sh/bun/pull/2613 * fix(sockets) always safe deinit socket context by @cirospaciari in https://github.com/oven-sh/bun/pull/2611 * docs: remove dev container section by @privatenumber in https://github.com/oven-sh/bun/pull/2610 * Update development.md by @rmorey in https://github.com/oven-sh/bun/pull/2625 * continue refining bundler tests 1 by @paperdave in https://github.com/oven-sh/bun/pull/2623 * fix string escaping by @dylan-conway in https://github.com/oven-sh/bun/pull/2639 * fix(fs): remove `promises.readfile` by @privatenumber in https://github.com/oven-sh/bun/pull/2630 * bundler bug fixes by @dylan-conway in https://github.com/oven-sh/bun/pull/2637 * more bundler tests by @paperdave in https://github.com/oven-sh/bun/pull/2635 * fix(net) types and add more reliable tests by @cirospaciari in https://github.com/oven-sh/bun/pull/2621 * fix bundling many entry points by @dylan-conway in https://github.com/oven-sh/bun/pull/2640 * fix expectBundled precheck by @paperdave in https://github.com/oven-sh/bun/pull/2641 * import file path and fix disabled browser require by @dylan-conway in https://github.com/oven-sh/bun/pull/2642 * Upgrade WebKit by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2643 * Fix typo in development.md by @marktani in https://github.com/oven-sh/bun/pull/2647 * fix(server) fixes UAF of uWS headers by @cirospaciari in https://github.com/oven-sh/bun/pull/2648 * fix node-net-test hang by @cirospaciari in https://github.com/oven-sh/bun/pull/2649 * fix ambiguous import by @dylan-conway in https://github.com/oven-sh/bun/pull/2654 * Docs restructuring by @colinhacks in https://github.com/oven-sh/bun/pull/2638 * use a lazyily initialized stream for `node:crypto` `createHash` by @paperdave in https://github.com/oven-sh/bun/pull/2652 * Support `@jsx`, `@jsxRuntime`, `@jsxImportSource`, and `@jsxFragment` pragmas by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2655 * Upgrade Zig by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2656 * [nit] minor typo in tcp.md by @Kruithne in https://github.com/oven-sh/bun/pull/2657 * Support importing `.txt` files as strings by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2660 * toBeFalsy expect counter and test scope check by @will-richards-ii in https://github.com/oven-sh/bun/pull/2661 * more work on bundler tests by @paperdave in https://github.com/oven-sh/bun/pull/2667 * fix(cli): replace unknown unzip link with bun docs by @xHyroM in https://github.com/oven-sh/bun/pull/2669 * more bundler tests by @paperdave in https://github.com/oven-sh/bun/pull/2670 * Get axios working by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2673 * docs: fix code block by @simon04 in https://github.com/oven-sh/bun/pull/2662 * fix typescript decorators with index and number keys by @dylan-conway in https://github.com/oven-sh/bun/pull/2677 * fix parsing `with` keyword by @dylan-conway in https://github.com/oven-sh/bun/pull/2680 * fix package json exports visit by @dylan-conway in https://github.com/oven-sh/bun/pull/2687 * clarify file io docs by @paperdave in https://github.com/oven-sh/bun/pull/2689 * implement `node:events` in javascript by @paperdave in https://github.com/oven-sh/bun/pull/2604 * fix `make setup` by @alexlamsl in https://github.com/oven-sh/bun/pull/2693 * Fix typo in benchmarking docs by @flakey5 in https://github.com/oven-sh/bun/pull/2702 * Symbol minification by @dylan-conway in https://github.com/oven-sh/bun/pull/2695 * template string folding bug fix by @dylan-conway in https://github.com/oven-sh/bun/pull/2705 * chore(docs): add xcode runtime install to docs by @MaanuVazquez in https://github.com/oven-sh/bun/pull/2706 * Add `tsconfig.json` to `bun-types` by @colinhacks in https://github.com/oven-sh/bun/pull/2587 * Update `typescript.md` by @colinhacks in https://github.com/oven-sh/bun/pull/2590 * Make `Bun.build` more reliable by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2718 * Reduce friction for building with npm by @Plecra in https://github.com/oven-sh/bun/pull/2723 * Support plugins in `Bun.build` by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2720 * Continue bundler tests by @paperdave in https://github.com/oven-sh/bun/pull/2691 * [install] fix `bun add` on non-aliased dependency by @alexlamsl in https://github.com/oven-sh/bun/pull/2728 * fix `make setup` by @alexlamsl in https://github.com/oven-sh/bun/pull/2731 * Implement `onResolve` plugins in `Bun.build()`, support multiple onLoad and onResolve plugins by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2739 * bundler tests, testing plugins by @paperdave in https://github.com/oven-sh/bun/pull/2740 * Implement `file` loader in `Bun.build` by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2745 * Basic types for Bun.build by @colinhacks in https://github.com/oven-sh/bun/pull/2713 * Add bundler documentation by @colinhacks in https://github.com/oven-sh/bun/pull/2753 * docs hotfix by @paperdave in https://github.com/oven-sh/bun/pull/2755 * second hotfix to build docs by @paperdave in https://github.com/oven-sh/bun/pull/2756 * Fixes #2746 by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2748 * ensure `super()` is not merged with adjacent statements by @dylan-conway in https://github.com/oven-sh/bun/pull/2757 * Use Ninja to build mimalloc and gitignore test/bun.lockb by @silversquirl in https://github.com/oven-sh/bun/pull/2750 * bundler tests! by @paperdave in https://github.com/oven-sh/bun/pull/2741 * very slightly faster open() and writeFileSync() by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2759 * Remove extra word in docs/index.md by @beeburrt in https://github.com/oven-sh/bun/pull/2758 * fix: make node:crypto Hash.copy work correctly by @silversquirl in https://github.com/oven-sh/bun/pull/2761 * address unicode issue by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2763 * Bundler docs updates + support for `naming` string by @colinhacks in https://github.com/oven-sh/bun/pull/2767 * Improves Body.Value life cycle and Signal life cycle on server.zig by @cirospaciari in https://github.com/oven-sh/bun/pull/2752 * bundler tests: rest of default.test.ts and starting jsx tests by @paperdave in https://github.com/oven-sh/bun/pull/2765 * [install] handle repeated install of GitHub dependency correctly by @alexlamsl in https://github.com/oven-sh/bun/pull/2780 * [install] handle `devDependencies` of local folders by @alexlamsl in https://github.com/oven-sh/bun/pull/2781 * test default condition by @paperdave in https://github.com/oven-sh/bun/pull/2776 * Implement source maps by @dylan-conway in https://github.com/oven-sh/bun/pull/2770 * Bun Test matchers even/odd. Also, .toContains fix and truthy by @will-richards-ii in https://github.com/oven-sh/bun/pull/2754 * Add missing type for sqlite by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2764 * Add StricJS to ecosystem by @aquapi in https://github.com/oven-sh/bun/pull/2747 * Fix checking for dynamic exports by @dylan-conway in https://github.com/oven-sh/bun/pull/2792 * parse and visit catch body scope by @dylan-conway in https://github.com/oven-sh/bun/pull/2796 * Add initial ecosystem tests by @Electroid in https://github.com/oven-sh/bun/pull/2801 * fix source map line offsets by @dylan-conway in https://github.com/oven-sh/bun/pull/2791 * Start esbuild migration guide. More docs. by @colinhacks in https://github.com/oven-sh/bun/pull/2787 * Add missing JSON API to Web APIs page by @Kruithne in https://github.com/oven-sh/bun/pull/2799 * Add tracy by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2817 * added some improvements on server by @cirospaciari in https://github.com/oven-sh/bun/pull/2803 * Fix rebuilds in `Bun.build()` by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2824 * implement build api `define` and `loaders` by @paperdave in https://github.com/oven-sh/bun/pull/2805 * throw returned errors on `wrapWithHasContainer` by @paperdave in https://github.com/oven-sh/bun/pull/2832 * Fix tsconfig paths star only in the key by @dylan-conway in https://github.com/oven-sh/bun/pull/2825 * add `WebAssemblyInstance` and `WebAssemblyGCObject` js types by @dylan-conway in https://github.com/oven-sh/bun/pull/2835 * print space before label by @dylan-conway in https://github.com/oven-sh/bun/pull/2837 * resolve rope strings when folding by @dylan-conway in https://github.com/oven-sh/bun/pull/2838 * [install] operator on root package of workspaces by @alexlamsl in https://github.com/oven-sh/bun/pull/2834 * fix catch scope var declarations by @dylan-conway in https://github.com/oven-sh/bun/pull/2839 * `bun add` from root folder when call within workspaces by @alexlamsl in https://github.com/oven-sh/bun/pull/2841 * use member from parent scope when hoisting by @dylan-conway in https://github.com/oven-sh/bun/pull/2840 * fix(ws) fix closing WS with code and reason by @cirospaciari in https://github.com/oven-sh/bun/pull/2843 * fix(fetch) fix fetch inheritance by @cirospaciari in https://github.com/oven-sh/bun/pull/2842 * make sure vars can be hoisted in catch scope by @dylan-conway in https://github.com/oven-sh/bun/pull/2847 * feat(fetch) add redirect: 'error' support by @cirospaciari in https://github.com/oven-sh/bun/pull/2845 * Implement `describe.skip` by @blackmann in https://github.com/oven-sh/bun/pull/2836 * feat(dns) add support for { all: true } option on dns.lookup by @cirospaciari in https://github.com/oven-sh/bun/pull/2846 * add tests for ws.close by @cirospaciari in https://github.com/oven-sh/bun/pull/2844 * fix(fs) mkdtemp and mkdtempSync errors by @cirospaciari in https://github.com/oven-sh/bun/pull/2851 * fix redirect: 'manual' and setTimeout on node:http request by @cirospaciari in https://github.com/oven-sh/bun/pull/2848 * fix child process tests by @dylan-conway in https://github.com/oven-sh/bun/pull/2584 * bundler tests and improve `Bun.build` return type by @paperdave in https://github.com/oven-sh/bun/pull/2833 * Allow reading config from within plugins, and partially implement esbuild `initialOptions` by @paperdave in https://github.com/oven-sh/bun/pull/2861 * oops by @paperdave in https://github.com/oven-sh/bun/pull/2863 * fix large stdout output by @cirospaciari in https://github.com/oven-sh/bun/pull/2850 * fix(fetch:proxy) return correct status when permission is dennied by @cirospaciari in https://github.com/oven-sh/bun/pull/2860 * `root` bundle option by @dylan-conway in https://github.com/oven-sh/bun/pull/2859 * disable sloppy mode block level functions when not bundling by @dylan-conway in https://github.com/oven-sh/bun/pull/2864 * proper stub for http socket by @cirospaciari in https://github.com/oven-sh/bun/pull/2868 * windows path compatibility by @paperdave in https://github.com/oven-sh/bun/pull/2869 * Single-file standalone Bun executables by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2879 * feat(Timer.refresh) add refresh support on Timer by @cirospaciari in https://github.com/oven-sh/bun/pull/2874 * fix(spawn) add Uint8Array support for stdout by @cirospaciari in https://github.com/oven-sh/bun/pull/2866 * Fix bug with `req.url` set incorrectly by @Jarred-Sumner in https://github.com/oven-sh/bun/pull/2881 * Add plugins for yaml & RSC by @colinhacks in https://github.com/oven-sh/bun/pull/2888 * change the generated `debugId` suffix by @paperdave in https://github.com/oven-sh/bun/pull/2890 * bundler testing by @paperdave in https://github.com/oven-sh/bun/pull/2886 * handle printing missing expressions and add tests by @dylan-conway in https://github.com/oven-sh/bun/pull/2872 * feat(WebSocketServer) WebSocketServer wrapper + socket.io initial support by @cirospaciari in https://github.com/oven-sh/bun/pull/2880 * Fix running commonjs modules as entry point by @paperdave in https://github.com/oven-sh/bun/pull/2885 ## New Contributors * @privatenumber made their first contribution in https://github.com/oven-sh/bun/pull/2561 * @Lawlzer made their first contribution in https://github.com/oven-sh/bun/pull/2569 * @zhongweiy made their first contribution in https://github.com/oven-sh/bun/pull/2491 * @marktani made their first contribution in https://github.com/oven-sh/bun/pull/2647 * @Kruithne made their first contribution in https://github.com/oven-sh/bun/pull/2657 * @will-richards-ii made their first contribution in https://github.com/oven-sh/bun/pull/2661 * @simon04 made their first contribution in https://github.com/oven-sh/bun/pull/2662 * @flakey5 made their first contribution in https://github.com/oven-sh/bun/pull/2702 * @MaanuVazquez made their first contribution in https://github.com/oven-sh/bun/pull/2706 * @Plecra made their first contribution in https://github.com/oven-sh/bun/pull/2723 * @silversquirl made their first contribution in https://github.com/oven-sh/bun/pull/2750 * @aquapi made their first contribution in https://github.com/oven-sh/bun/pull/2747 * @blackmann made their first contribution in https://github.com/oven-sh/bun/pull/2836 **Full Changelog**: https://github.com/oven-sh/bun/compare/bun-v0.5.9...bun-v0.6.0