TypeScript 6.0 RC Released: Last JS-Based Compiler, Major Breaking Changes Before Native Go Port
Microsoft released the TypeScript 6.0 Release Candidate on March 6, 2026, marking the final TypeScript version built on the existing JavaScript codebase before TypeScript 7.0 ships as a native Go port with parallel type-checking. The RC introduces significant breaking changes to defaults: `strict` is now `true` by default, `types` defaults to `[]` (empty array) instead of auto-loading all `@types/*` packages, `module` defaults to `esnext`, `--target es5` is deprecated, and `--outFile` has been removed entirely. Developers upgrading from TypeScript 5.9 should audit tsconfig.json defaults, add explicit `"types": ["node"]` where needed, and use the new `--stableTypeOrdering` flag to preview TS 7.0's deterministic type ordering behavior.
Key Takeaways
- Install via `npm install -D typescript@rc`; breaking defaults: `strict: true`, `types: []`, `module: esnext`, `target: es2025` — projects relying on old defaults must now set these explicitly in tsconfig.json
- Deprecations that become hard errors in TS 7.0: `--target es5`, `--outFile`, `--moduleResolution node/classic`, `--module amd/umd/systemjs`, `--baseUrl`, `esModuleInterop: false`, `--downlevelIteration`
- New features: Temporal API built-in types (`esnext`), `Map.getOrInsert`/`getOrInsertComputed` (Stage 4), `RegExp.escape` (ES2025), `#/` subpath imports, `--stableTypeOrdering` flag for TS 7.0 migration prep
Original source: Microsoft TypeScript Blog