Microsoft has released the TypeScript 6.0 beta, marking the end of an era. This will be the final version built on JavaScript, as TypeScript 7.0 shifts to a Go-based implementation for dramatically improved performance.
TypeScript 6.0 serves as a transition release. It is intended to prepare developers for the architectural changes coming in 7.0. Microsoft announced last year its plan to rewrite the TypeScript compiler and language service in Go, leveraging native code speed and shared-memory multi-threading. According to Daniel Rosenwasser, principal product manager at Microsoft, this move addresses longstanding performance and scalability challenges that have plagued the JavaScript runtime platform.
“Since the inception of TypeScript more than a decade ago, TypeScript has been written in itself,” explained Anders Hejlsberg, lead architect of TypeScript. “That’s brought a lot of benefits, but it’s also consistently brought some challenges, in particular around performance and scalability.”
Far from being stagnant, TypeScript has instead surged to the top of GitHub in August 2025, surpassing Python with 2.6 million monthly contributors. The language now see significant usage in professional projects. Over time, it is becoming the de facto standard for large-scale web development.
Breaking changes target modern JavaScript
Most changes in TypeScript 6.0 align with shifts in JavaScript development since TypeScript 5.0. The compiler now defaults to strict mode, with module set to esnext and target pointing to ES2025. The types field now defaults to an empty array instead of pulling in all @types packages, a change that Microsoft says has improved build times by 20-50 percent in tested projects.
Developers can bypass these deprecations in 6.0 by setting “ignoreDeprecations”: “6.0” in their tsconfig. However, TypeScript 7.0 will remove support for deprecated options entirely, including ES5 targets, classic module resolution, and several legacy module formats like AMD and UMD.
The rootDir configuration now defaults to the directory containing tsconfig.json rather than being inferred. This change eliminates parsing overhead and makes project structure more predictable. Similarly, baseUrl is deprecated as a module resolution lookup root, though path mappings remain fully supported.
New features and ecosystem updates
Beyond preparation for 7.0, TypeScript 6.0 introduces several new capabilities. The release adds support for ES2025 as a target, bringing types for the Temporal API, RegExp.escape, and ECMAScript’s “upsert” methods (getOrInsert and getOrInsertComputed) for Maps.
The compiler also improves type inference for this-less functions, eliminating context sensitivity issues that previously caused errors with method syntax. Support for Node.js subpath imports starting with #/ is now available under node20, nodenext, and bundler module resolution settings.
A new –stableTypeOrdering flag helps developers diagnose differences between 6.0 and 7.0 by matching the deterministic type ordering that parallel type checking requires. Yet this flag comes with a performance cost of up to 25 percent and is intended only for migration debugging.
Timeline and next steps
Microsoft describes TypeScript 6.0 as “feature stable,” with no additional features or breaking changes planned before release. The team will spend coming weeks addressing issues reported in the beta while continuing work on TypeScript 7.0.
“As to the schedule between TypeScript 6.0 and 7.0, we plan for 7.0 to be released soon after 6.0,” Rosenwasser stated. “This should help us keep some continuity in our development with the chance to address issues sooner after the release of 7.0.”
The transition reflects Microsoft’s recognition that runtime optimization matters as much as type safety. Whether the Go rewrite delivers on its performance promises remains to be seen, but the company’s willingness to rebuild its core tooling shows commitment to addressing developer pain points. The explosive growth of TypeScript adoption suggests the investment is timely.
Also read: Java gains ground for production AI as Oracle loses its grip