Bun

Bun v0.1.8

Jarred Sumner ยท August 11, 2022

To upgrade:

bun upgrade

To install:

curl https://bun.sh/install | bash
If you have any problems upgrading

Run the install script (you can run it multiple times):

curl https://bun.sh/install | bash

What's new

A huge thank you to @zhuzilin for all their help on this release. @zhuzilin fixed 4 crashes!

bun link lets you symlink a folder to node_modules. It works like npm link.

fs.copyFileSync gets 2x to 10x faster:

require.resolve works at runtime now instead of only build-time

image

WebSocket is more reliable now. Previously the garbage collector would attempt to free it when the socket was still open ๐Ÿ™‰

bun:ffi's toBuffer and toArrayBuffer functions now support a function pointer to a destructor so that native code can perform cleanup without needing to go through a FinalizationRegistry.

console.log

TypedArray logs the value for the type (instead of in bytes ๐Ÿ™ˆ)

image

console.log(MessageEvent ) is more useful now

image

More:

  • setInterval wouldn't cause the process to stay alive ๐Ÿ˜ข and now that is fixed thanks to @zhuzilin
  • Log error on unhandled rejected promises by @zhuzilin in #1010
  • Log error on uncaught exceptions in event loop
  • bun install gets a symlink backend, which you probably don't want to use in most cases. It's used internally if you do file:./ as a dependency, which some packages do
  • process.revision returns the git sha used to build bun

Bug fixes

  • build issue caused "Illegal instruction" error to return - that is fixed now
  • [wiptest] fix calling toBe in describe by @zhuzilin in #1000
  • Re-register setInterval to VM after completion by @zhuzilin in #1014
  • Fix segfault for query().all() with more than 64 properties by @zhuzilin in #1025
  • Update example Next app to 12.2 by @TiKevin83 in #1033
  • Fix static require by setting the state machine manually by @zhuzilin in #1034
  • #941 fix by @JL102 in #998

Typos:

Misc:

Full Changelog: https://github.com/oven-sh/bun/compare/bun-v0.1.7...bun-v0.1.8