TypeScript 7 goes native and Bun 1.4 ships as a Rust rewrite

TypeScript 7 goes native and Bun 1.4 ships as a Rust rewrite

TypeScript 7 is a 10x faster native port with stricter defaults and no API yet. Bun 1.4 is the first Bun in Rust. What to check before you upgrade.

TypeScriptBunRustNode.jsTooling

On July 8, 2026, two JavaScript tools announced large rewrites on the same day. Microsoft announced "the availability of TypeScript 7, a 10x faster native port of TypeScript", and Jarred Sumner published "Rewriting Bun in Rust". Bun 1.4, the first Bun written in Rust, followed on August 20. If you keep React Native, Next.js and Node code in one repository, both releases affect how fast your type checks and tests run, and TypeScript 7 also changes defaults that can break your build.

What shipped in TypeScript 7

TypeScript 7 is a native port of the compiler, and Microsoft's reported build times are concrete. VS Code went from 125.7 s to 10.6 s (11.9x), and Sentry went from 139.8 s to 15.7 s (8.9x). Bluesky, Playwright and tldraw saw similar gains.

The catch is the API. In Microsoft's words, "TypeScript 7.0 is made available without an API." A new API is expected in 7.1. Until then, the @typescript/typescript6 package lets 6.0 run side by side, and the Vue, Angular, Svelte, MDX and Astro language servers stay on 6.0 for now.

TypeScript 7 also changes four defaults:

  • strict is on.
  • module is esnext.
  • target is the current stable ECMAScript version.
  • types defaults to [].

Next.js 16.3, released on August 3, already supports TypeScript 7 for type checking in next build. You opt in with pnpm add -D typescript@^7.

What shipped in Bun 1.4

Before the rewrite, Bun was 535,496 lines of Zig. According to the Bun post, the port took 11 days, from May 3 to May 14, with "about 64 Claudes at a time" using a pre-release Claude Fable 5. The outcome, in the post's words: "100% of Bun's test suite passed in CI on all platforms." Bun discloses that Anthropic acquired it in December 2025, which is useful context when you read that write-up.

Bun 1.4 shipped on August 20, 2026. The reported gains are 5x lower idle CPU, a startup time of about 5.1 ms on Linux (2x faster than 1.3), and 1,517 more passing Node.js tests.

The release also adds APIs: Bun.Image, Bun.WebView (a headless browser), Bun.markdown, Bun.cron() for OS-level schedules, and Bun.Terminal. The test runner gains bun test --parallel, --isolate, --shard and --changed. Patch releases 1.4.1 and 1.4.2 followed on September 4 and September 5.

What it means for your app

In a monorepo that holds a React Native app, a Next.js site and a Node backend, type checking runs on every pull request. A compiler that is about 10x faster changes how often you can afford to run it, including in pre-push hooks and on every commit in CI.

The missing API is the main blocker. Tools that call into the TypeScript API, such as some ESLint plugins and code generators, must wait for 7.1 or keep using the 6.0 package. If your projects use Vue, Angular, Svelte, MDX or Astro, your editor tooling stays on 6.0 for now in any case.

The new defaults are the other risk. A project that relied on the old strict or types behavior can hit a wave of errors right after the upgrade. If you pin those options in tsconfig first, the upgrade changes speed and nothing else.

Bun 1.4 matters if you already run Bun for scripts, tests or a backend. Lower idle CPU and faster startup come with the upgrade, and 1,517 more passing Node.js tests suggest fewer surprises when you run code written for Node. The new test runner flags, especially --shard and --changed, are worth a look for CI; read the Bun 1.4 notes for their exact behavior before you wire them into a pipeline.

The new built-in APIs are relevant for internal tooling. Bun.cron() covers OS-level schedules and Bun.WebView gives you a headless browser, while Bun.Image, Bun.markdown and Bun.Terminal are new as well. Compare them with the packages you use for the same jobs today before you add another dependency.

Upgrade checklist

  1. Before you change the compiler version, set strict, module, target and types explicitly in every tsconfig you own.
  2. List the tools in your repository that use the TypeScript API, such as ESLint plugins and code generators, and decide which ones stay on @typescript/typescript6 until 7.1.
  3. Move one package or app to TypeScript 7 first, and compare type-check time and error count against 6.0.
  4. In Next.js 16.3 projects, run pnpm add -D typescript@^7 to use TypeScript 7 for next build type checking.
  5. Keep Vue, Angular, Svelte, MDX and Astro projects on 6.0 for editor tooling until their language servers move.
  6. If you use Bun, upgrade to 1.4.2 on a branch and run your full test suite before you switch production workloads.
  7. Try bun test --parallel and --shard on your slowest suite, and measure the result before and after.

My take

TypeScript 7 is a quick win for build speed and a slow migration for tooling. I would adopt it for CI type checking now and keep 6.0 for anything that needs the API until 7.1 arrives.

The Bun rewrite is the more interesting story for anyone who uses AI coding agents every day. It is a public case study of agentic coding at scale: parallel agents, adversarial review, and a test suite as the oracle. The part I would copy is the oracle. Agents ported 535,496 lines in 11 days with a test suite telling them, on every platform, whether the work was done.

Read that post with the Anthropic acquisition in mind, and then hold your own projects to the same standard. Without strong test coverage, parallel agents have nothing reliable to check their work against, and the speed turns into review debt.


Sources