TypeScript 6.0 Release Candidate Released
TypeScript 6.0 has reached the release candidate stage, introducing type-checking model adjustments for function expressions in generic calls announced.
TypeScript 6.0's release candidate is now available, marking it as the final version based on the current JavaScript codebase before the transition to a Go-based compiler in version 7.0. This Go rewrite aims to improve performance and scalability by leveraging native code speed and shared-memory multi-threading. A key update in this release is the adjustment to type-checking for function expressions within generic calls, especially those in generic JSX expressions. This change is intended to align with the behavior of TypeScript 7.0 and may reveal more bugs in existing code, potentially requiring developers to use explicit type arguments in some generic calls. TypeScript 6.0 also deprecates the import assertion syntax in favor of import attributes using the `with` keyword, aligning with evolving JavaScript standards. Additionally, the update includes new built-in types for the Temporal API, allowing developers to experiment with date and time functionalities. The release introduces the `es2025` option for target and lib, incorporating new types for built-in APIs like `RegExp.escape` and moving declarations from `esnext`. The `--stableTypeOrdering` flag assists in migrations to the Go-based TypeScript 7.0 by matching type ordering behavior, though it may slow down type checking.