Bun 1.4.3 ships bun check, a TypeScript type checker ported from typescript-go
Bun published version 1.4.3 on 10 October. The headline addition is bun check, a TypeScript type checker built into the Bun runtime. It is not a new type system: Bun describes it as a port of typescript-go, Microsoft's Go reimplementation of the TypeScript compiler, and says it reads the project's tsconfig.json and reports the same errors as tsc, without the typescript package installed.
What it does and does not do. bun check only type-checks. It does not emit JavaScript or .d.ts files, and there is no language server, so editors keep using TypeScript's own tooling. It can gate other Bun commands: bun run --check type-checks before running a script (also with --watch, checking before every restart); the test runner can type-check the test files and everything they import before running any test; and the bundler can do the same — Bun.build takes check: true — so a type error fails the build and nothing is written.
Performance claims. Bun says bun check is 3 to 6.4 times faster than tsc 7.0.2 and uses 2.2 to 4.9 times less memory, measured on a 16-core Apple silicon Mac. It uses every CPU core. These are the vendor's own benchmarks.

How Bun tested correctness. The interesting part of the announcement is the evidence offered that the port matches tsc:
- every Bun commit runs TypeScript 7.0.2's complete conformance test suite, which
bun checkpasses in full; - Bun deliberately misconfigured 72 popular open-source repositories — missing
node_modules, mismatched TypeScript versions, no build step — and required every error to matchtscby file, line, column and code. It reports one mismatch, invuejs/core, wheretscitself reports an error only when files are listed in a particular order; - fuzzers generate combinations of language features and diff the two checkers on every commit; in larger offline runs Bun reports 191 mismatches, 162 of them in code that refers to itself while being declared;
- mutation testing broke the source of the Effect library 913 times and compared every error.
Bun asks users to report any difference from tsc as a Bun bug, and documents a command to produce a tsc baseline for comparison.
Also in 1.4.3. Bun.FetchSession gives groups of requests their own TLS, proxy, keep-alive settings and connection pool; NO_PROXY accepts wildcards and CIDR blocks; fetch() now rejects with ERR_PROXY_TUNNEL when a proxy refuses CONNECT, where before it resolved with the proxy's reply as if it came from the origin. A new module-graph API runs several isolated instances of an app in one process, which Bun stresses is not a security sandbox. Bun also reports faster node:http large responses and JSON.parse on repeated object shapes.
Source: Bun blog, Bun v1.4.3 — https://bun.com/blog/bun-v1.4.3