Microsoft has announced the release of TypeScript 7.0 Beta.
They say that this represents a fundamental architectural shift for the language, with the entire compiler rewritten in Go rather than bootstrapped TypeScript. The rewrite delivers approximately 10x performance improvements over TypeScript 6.0 through native code execution and shared memory parallelism, while maintaining strict semantic compatibility with the previous version. They say the port was done intentionally to ensure that type-checking logic remains structurally identical to 6.0, validated against Microsoft's decade-old internal test suite and against real-world codebases across design tools (Figma, Canva, Miro, Notion), editors (Linear), and the Vercel stack.
The new compiler introduces sophisticated parallelization controls. Type-checking now runs across fixed worker pools (configurable via --checkers, defaulting to 4), each with its own view of the program. Workers may duplicate some shared setup, but given the same input they partition files identically and produce the same results. Project reference builds can also parallelize via --builders, though teams must balance the multiplicative effect on memory usage (a common theme with multithreading pretty much anything). A --singleThreaded mode exists for debugging and resource-constrained environments, as well as for comparison to prior releases.
The beta ships as @typescript/native-preview with a tsgo executable, allowing side-by-side validation against tsc, while a @typescript/typescript6 compatibility package provides tsc6 to avoid binary conflicts during migration.
TypeScript 7.0 adopts all of 6.0's breaking changes as hard errors, including strict mode by default, removal of es5 target support, and elimination of deprecated module formats like amd and umd. The types compiler option now defaults to an empty array rather than auto-including all @types packages, and rootDir defaults to the project root. JavaScript support has been fundamentally reworked to align with TypeScript file analysis, dropping many JSDoc quirks and Closure-specific patterns like @enum special-casing, postfix ! notation, and Closure function syntax. The team reports the beta is production-ready for daily use, though a stable programmatic API won't arrive until TypeScript 7.1.
A stable 7.0 release is expected within two months, with a release candidate a few weeks before. The team says that the beta is ready for daily use, but less adventurous readers may wish to wait for the release candidate to dive in.
Given how pervasive TypeScript is in the clientside development space, this could be very interesting to watch; this site uses TypeScript via Next.js, and we may be kicking the tires to see how well it works "for reals."