Bun

Bun v0.1.7


Jarred Sumner · August 6, 2022

To upgrade:

bun upgrade

To install:

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

If you have any problems upgrading

What's new

bun init quickly start a new, empty project that uses Bun (similar to npm init). bun init is a new subcommand in bun.

bun install now supports private npm registries & scoped (authenticated) packages

Thank you @soneymathew for your help with this.

image

bun install now supports lifecycle hooks for project-level package.json (not dependencies)

image

It runs postinstall scripts for your app's package.json, but ignores dependencies lifecycle hooks. This lets you use husky, lint-staged, and other postinstall-dependent packages tools

More new stuff:

  • express is partially supported, thanks to @zhuzilin and @evanwashere. There is a lot more work to be done - it's not fast yet and it logs a spurious error on request, but it is better than not working
  • bun create now lets you specify a start command so that you can say how to run the program in the output
  • process.revision has the git sha that bun was built with

Breaking changes

  • bun install will invalidate the lockfiles on upgrade if it exists. Unfortunately, this is necessary to support private/scoped package installs

Bug fixes

  • Fix a handful of crashes that occurred in rare cases in Bun.Transpiler, bun:ffi and a couple other places thanks to @sno2
  • Buffer.isBuffer no longer checks that this is the Buffer constructor
  • Bun.Transpiler no longer does bun-specific transforms when it shouldn't
  • Make internal APIs that iterate through JS objects more reliable @sno2 in https://github.com/oven-sh/bun/pull/974
  • Fix u32 jsNumber cast by @zhuzilin in https://github.com/oven-sh/bun/pull/964
  • fix import in http polyfill by @zhuzilin in https://github.com/oven-sh/bun/pull/973
  • fix path.normalize on ... by @zhuzilin in https://github.com/oven-sh/bun/pull/966
  • allow setting status code in Response.redirect by @zhuzilin in https://github.com/oven-sh/bun/pull/985
  • Fix for bearer tokens missing from request headers on bun install step by @soneymathew in https://github.com/oven-sh/bun/pull/991
  • Fix of panic in threads while downloading scoped packages by @soneymathew in https://github.com/oven-sh/bun/pull/992
  • feat(util): export util.TextDecoder by @xHyroM in https://github.com/oven-sh/bun/pull/990
  • Fixed bugs in latin1 and binary encodings in Bun's Buffer implementation

Misc:

  • fix(makefile) fix devcontainer rule by @zhuzilin in https://github.com/oven-sh/bun/pull/957
  • refactor: create a high-level property iterator by @sno2 in https://github.com/oven-sh/bun/pull/972
  • fix(makefile): mkdir DEBUG_OBJ_DIR before compiling bindings by @zhuzilin in https://github.com/oven-sh/bun/pull/975
  • Convert landing page to zero-JS Next.js application. by @leerob in https://github.com/oven-sh/bun/pull/945
  • benchmarks(sqlite): invalid northwind database url by @xHyroM in https://github.com/oven-sh/bun/pull/989
  • Update README for development help by @JL102 in https://github.com/oven-sh/bun/pull/982

New Contributors

  • @zhuzilin made their first contribution in https://github.com/oven-sh/bun/pull/964
  • @leerob made their first contribution in https://github.com/oven-sh/bun/pull/945

Full Changelog