Bun 1.1 is finally here, and it's a huge update. JavaScript is complicated. Bun exists to make JavaScript less complicated, more fun, and more productive. We've made Bun faster, more reliable, and reduced memory usage. But we've also added new APIs, and after many months of hard work, we've addressed the number one feature request. Windows support. We're really excited for Windows developers to see the speed and developer experience of Bun. Bun install is 18 times faster than Yarn and PMPM, and 30 times faster than MPM on Windows. And Bun Run and Bun X are over 11 times faster than MPM run on Windows. We've also implemented optimizations for Node.js APIs. FS Reader is 58% faster on Bun compared to Node.js on Windows. Bun on Windows has the same great developer experience as you would expect on Mac OS and Linux. Here, we're saving a file on each keystroke, and you can see how fast Bun is rerunning the changes to the test. We've also fixed that annoying, terminate batch job prompt when you send control C to the process. In Bun, this just works. To install Bun on Windows, run the following command in your terminal. In Bun 1.1, Bun is now a cross-platform shell, like Bash. Different shells have slightly different syntaxes, rules, and commands. On Windows, RM-RF doesn't work. Instead, you have to download the RimRaff and PM package. And environment variables don't work on Windows before the command. To fix this, you have to download and install the cross-nth and PM package. With the Bun shell, the need for these dependencies is gone. You can just write a script using Bash syntax and expect it to work on any platform. And you can use the shell directly from JavaScript. The API uses string templating, which means you can use JavaScript variables as arguments in your commands. It's great for writing quick scripts in your project where you don't want to worry about things like compatibility issues. And it's faster than the existing shells. While Bun has a lot of new APIs, we've also made significant progress towards better Node.js compatibility. In Bun 1.1, the following MPM packages now work in Bun. We've also added and fixed various web standard APIs. In Bun 1.1, WebSocken now passes the industry standard Autobahn conformance test suite and is now stable. If you find an MPM package that doesn't work in Bun, please let us know by opening an issue in Bun's GitHub repository. If it works in Node.js, but not in Bun, it's a bug in Bun. Bun is fast. In Bun 1.1, we've made it even faster. Command line tools like TSC start two times faster than in Bun 1.0. ES build starts 11 times faster, and V and Pridier both start faster in Bun 1.1. We've also optimized a ton of Node.js APIs. In Bun 1.1, the Node HTTP server is 29% faster than in Bun 1.0. And using FS Reader to list files in a directory is 22 times faster than in Node.js. But we didn't just make Bun faster. In Bun 1.1, we've added new APIs to make your life easier as a developer. Bun glob is a fast API for matching strings and files using glob patterns. It's similar to popular MPM packages like FastGlob, except it can match up to three times faster. We've also added BunSember, a built in API for parsing and sorting Sember strings. BunSember is up to 20 times faster than the popular Node Sember package. One of the ways we validate that Bun is efficient and correct is by using its built in test runner. In Bun 1.1, we've made it even easier to switch from just invite test to Bun. We've implemented dozens more expect matches. We've also added module mocking, which supports both common.js and ESM. Bun is able to update Mox on the fly even in the middle of a test. Before you can run code, you need to install dependencies. That's why Bun is also a package manager. In Bun 1.1, we added support for dependency lifecycle scripts. Unlike NPM, Bun will only run scripts from packages that are in the trusted dependencies list in your package JSON. The 500 most dependent on packages on NPM like ES build are already trusted by Bun and will just work. We've also made it even easier to migrate from NPM install to Bun install. When you run Bun install for the first time in a repository, Bun automatically migrates from package lock JSON to Bun's lock file, Bun lock B. We want developers who use NPM or Yarn to feel at home when they switch to Bun. In Bun 1.1, we've also made a lot of improvements to Bun's developer experience. We've simplified stack traces, so it's easier to find the context that matters most to you. We've also added syntax highlighting to the snippet of code above errors for better readability. That's it. That's Bun 1.1. Bun is faster, more reliable, and has tons of new APIs in bug fixes. Most importantly, Bun now supports Windows. To get started with Bun, run any of the following install commands in your terminal. We fix over 900 bugs since Bun 1.0. Instability is our number one priority. If you encounter a bug that we still haven't fixed, don't forget to upvote the GitHub issue or create a new one. And if you want to join our team, check out our careers page. We're hiring systems engineers to help us shape the future of JavaScript. Bun 1.1 is still just the beginning.