Native compiler + real parallelism (and knobs you’ll actually touch)
TypeScript 7.0 is the Go-port (“Corsa”) and the team is blunt about the headline number: builds are often about 10× faster than TypeScript 6.0 thanks to native code and shared-memory parallelism. The important part for engineers is control: the beta introduces –checkers (type-checker workers), –builders (project reference builder parallelism), and –singleThreaded when you need determinism or you’re debugging a heisenbug in diagnostics ordering.
So what? On a fat repo, you can stop pretending incremental builds are enough. You can choose “spend cores, save wall time” for PR validation, and flip to single-threaded when you need stable traces. Also: the blog explicitly warns that builders×checkers multiplies concurrency. Translation: watch peak RSS or the OOM killer will ‘help’ you optimize.
TS 6 deprecations graduate into hard errors (2 AM wake-up class)
TypeScript 7.0 doesn’t just go faster; it tightens the screws. Anything deprecated in TypeScript 6.0 becomes a hard failure in TS 7. The blog calls out the obvious foot-gun: module: amd | umd | systemjs | none is gone. If you still ship those module formats (internal tooling, legacy loader glue, whatever), expect your pipeline to fail before it even gets to interesting code.
So what? This is where “we’ll migrate later” turns into a Saturday. If you skipped TypeScript 6 adoption, your first TS 7 run is going to be a flood of config and compatibility errors, not just type errors.
JavaScript + JSDoc behavior got trimmed; declaration emit from .js won’t match
The typescript-go repo’s CHANGES.md is basically a list of ways your ‘clever’ JSDoc codebase can get punched in the mouth. Corsa explicitly drops a bunch of Closure-specific features and clamps down on expando/constructor-function patterns. It also states that .d.ts emit from .js input substantially changes behavior and matching the old output is not a goal.
So what? Mixed TS/JS repos and libraries that generate typings from JS are the highest risk. You don’t want to discover this after publishing broken types to npm.
API stability is not here yet
The team states there won’t be a stable programmatic API until at least TypeScript 7.1. If your toolchain imports typescript internals (custom transformers, bespoke language-service hacks, build tooling that leans on compiler APIs), treat TS 7.0 beta as an integration test, not a drop-in replacement.
Here’s the unglamorous “why”: the old compiler is paying compound interest on two debts—single-threaded architecture assumptions and a compatibility surface area that keeps expanding. The Go port buys them a runtime that’s good at parallel throughput without turning the compiler into a manual-memory-management project. That’s not trendy. It’s practical.
Also, toolchains are converging on a simple reality: repos are larger, CI is more centralized, and devs expect sub-second feedback loops. Rust gets the hype in JS tooling rewrites, but TypeScript isn’t a bundler; it’s a semantic analyzer with ordering constraints. The beta’s worker model and the forced stableTypeOrdering posture are the maintainers paying down determinism debt so parallelism doesn’t create nondeterministic diagnostics roulette.
Try the beta without torching your existing setup:
npm install -D @typescript/native-preview@beta
npx tsgo --version
# run it where you currently run tsc
npx tsgo -p tsconfig.json --noEmit
Side-by-side strategy (recommended): keep your current tsc as the source of truth, add a CI job that runs tsgo and compares: exit code, diagnostics count, and build time. The dev blog also describes an alias approach for running TS6 tooling alongside TS7 when TS7 eventually owns the typescript package name.
VS Code editor preview:
# in settings.json
{
"js/ts.experimental.useTsgo": true
}
Red Flags (scan your logs):
- Hard errors on deprecated config (especially module values like AMD/UMD/SystemJS/none).
- Peak RSS spikes when you increase –checkers or –builders (multiplicative concurrency).
- Changed or broken .d.ts output when emitting from .js + JSDoc sources.
- Tooling failures that assume a stable compiler API (the team explicitly punts stable API to 7.1+).
🛠️ Try These Free Tools
Select your tech stack and generate an OPML file for automatic release notifications.
Track These Releases