The TypeScript 7.0 beta dropped on April 22, and it's the most significant
architectural change in the language's history. The entire compiler has been
rewritten in Go, making it roughly 10x faster than the JavaScript-based
TypeScript 6.0. The stable release is expected within months.
What changed under the hood
The old tsc was single-threaded JavaScript. The new tsgo CLI (shipped as
@typescript/native-preview@beta) uses native code with shared-memory
multi-threading. On million-line codebases tested at Bloomberg, Canva, Figma,
Google, Notion, Slack, and Vercel, it consistently delivers order-of-magnitude
speedups.
TypeScript 6.0: the bridge release
If you haven't upgraded to 6.0 yet, here's what you need to do before 7.0 lands:
1. Set explicit types
{
"compilerOptions": {
"types": ["node"]
}
}
The new default is [] (empty), which breaks global type resolution.
2. Set explicit rootDir
{
"compilerOptions": {
"rootDir": "./src"
}
}
The new default is . (config directory), output paths may gain an extra
src segment without this.
3. Use ignoreDeprecations
{
"compilerOptions": {
"ignoreDeprecations": "6.0"
}
}
These are removed in 7.0: ES5 target, moduleResolution node/classic,
baseUrl, outFile, AMD/UMD/SystemJS modules, import assertion syntax.
New in the language
TypeScript 6.0 also ships:
#/ subpath imports, Node.js-style package-internal imports
es2025 target and lib, RegExp.escape, Promise.try, Iterator helpers, Set methods
- Temporal API types, full types for the Stage 4
Temporal proposal
- DOM lib consolidation,
dom.iterable and dom.asynciterable merged into dom
strict: true by default, new projects get strict checking without config
The bottom line
Upgrade to TypeScript 6.0 now with the config changes above. Test your
codebase against the 7.0 beta CLI (tsgo) to find issues before the stable
release. The 10x speedup is real, but the deprecated options removed in 7.0
will break builds if you don't prepare.