It has been official since 8 July: TypeScript 7.0 is stable, and the tool has little in common with its predecessors. Microsoft rewrote the entire compiler in Go, dropping the TypeScript-written compiler that used to compile itself. The headline gain — roughly 10× faster than 6.0 — holds up on real projects, which is rare enough for a toolchain announcement.
What actually changes
The new compiler runs as machine code and uses shared-memory multithreading. In practice: projects that needed thirty to sixty seconds of type checking drop below the few-second mark.
| Criterion | TypeScript 6.0 | TypeScript 7.0 |
|---|---|---|
| Compiler language | TypeScript (JS) | Go (native) |
| Compilation speed | baseline | ≈ 10× faster |
| Parallelism | limited | shared-memory multithreading |
| Memory footprint | high | reduced (native execution) |
| Status | last JavaScript-based release | stable (8 July 2026) |
Why compilation speed is a real subject
Slow type checking has long been accepted as a fact of life. On monorepos it is paid for in a particular way: the type check becomes the slow link in the pre-commit hook, it gets disabled “just for this commit”, then disabled outright. Type errors then reach production — not because the tool is missing, but because it stopped being used.
Cutting type-check time by ten is not a comfort gain: it is the condition for the safety net to stay switched on.
Migrating from 6.x
Version 6.0, released on 23 March, was explicitly presented as the last one built on the JavaScript code base — a transition step. Moving to 7.0 is designed to be neutral from a language standpoint, but a full rewrite always exposes edge-case behaviour. The recommended migration sequence:
- Move to 6.x first and lock the state (lockfile up to date, continuous integration green).
- Move to 7.0 on a dedicated branch.
- Run the test suite, then
tsc --noEmitand the production build. - Watch plugins and transformers that relied on the internal
tscAPI: those are the breakage points observed so far.
What to take away
TypeScript 7.0 introduces neither new syntax nor a new paradigm. The release is judged on a single criterion: the build chain becomes fast again, and with it the safety nets that slowness had caused teams to disable.
On the client projects where I made the switch, the benefit was not measured in seconds saved but in habits regained: type checking came back into the pre-commit hook because it no longer cost anything. This is the kind of update you adopt without haste, but without hesitation either. — Simon Janvier
Further reading
The announcement and official release notes are published on the Microsoft TypeScript blog.
