With the RC, Microsoft has renamed a number of new types and reverted a change to how the TypeScript language service searched for tsconfig.json files. Credit: Jakub Krechowicz/Shutterstock TypeScript 5.6, an update to Microsoft’s strongly typed JavaScript variant, has moved to the release candidate (RC) stage. With the RC, Microsoft has renamed a number of new types and reverted a change to how the TypeScript language service searched for tsconfig.json files. These features join previous beta capabilities that include disallowing nullish and truthy checks on syntax that never varies on nullishness or truthiness. The TypeScript 5.6 RC, which follows a July 26 beta release, was announced August 23. The RC can be accessed through NPM by running npm install -D typescript@rc. In reverting the change in how the language service searches for tsconfig.json files, the RC addresses a situation in which the language service would keep looking for every possible project file named tsconfig.json that might contain a file. Because this could lead to opening many referenced projects, the behavior has been reverted, while Microsoft investigates ways to bring back the behavior in TypeScript 5.7. Microsoft said several new types have been renamed since the beta. Previously, TypeScript provided a single type called BuiltinInterator to describe every value backed by Iterator.prototype. This type has been renamed IteratorObject in the RC, and has been given a different set of type parameters. It also adds several subtypes such as ArrayIterator and MapIterator. Also in the RC, a new flag called --stopOnBuildErrors has been added for --build mode that stops builds if a project builds with any errors. New editor functionality also has been added including direct support for commit characters and exclude patterns for auto-imports. Prior to the RC, the TypeScript 5.6 beta introduced a variety of changes. For disallowed nullish and truthy checks, the compiler now errors when it can syntactically determine that a truthy or nullish check will always evaluate in a specific way. Microsoft said “many, many bugs” could be caught this way. Some expressions still are allowed even if truthy or nullish. Specifically, true, false, 0, and 1 are all still allowed despite always being truthy or falsy. TypeScript 5.6 also introduces a native or built-in iterable type called BuiltinIterator. It is defined as follows: interface BuiltinIterator { { // … } The first stable release of TypeScript 5.6 is due in a few weeks. TypeScript 5.6 follows TypeScript 5.5, which was released June 20. Other new features and improvements in TypeScript 5.6: A new compiler option is introduced, --noCheck, which allows developers to skip type checking for all input files. This avoids unnecessary type checking when performing semantic analysis necessary for emitting output files. TypeScript 5.6 introduces a new feature called region-prioritized diagnostics or region-prioritized checking. Instead of just requesting diagnostics for a set of files, editors now can provide a relevant region of a given file. The idea is that this will typically be the region of the file that is currently visible to a user. Previously, computed properties marked with override did not correctly check for the existence of a base class member. Similarly, if developers used noImplicitOverride, they would not get an error if they forgot to add an override modifier to a computed property. TypeScript 5.6 now correctly checks computed properties in both cases. Related content news Go language evolving for future hardware, AI workloads The Go team is working to adapt Go to large multicore systems, the latest hardware instructions, and the needs of developers of large-scale AI systems. By Paul Krill Nov 15, 2024 3 mins Google Go Generative AI Programming Languages analysis And the #1 Python IDE is . . . PyCharm, VS Code, and five other popular Python IDEs duke it out. Which one do you think takes home the prize? By Serdar Yegulalp Nov 15, 2024 2 mins Python Programming Languages Software Development news JDK 24: The new features in Java 24 21 features are proposed for the next version of Java including quantum-resistant cryptographic keys designed to secure Java apps against future quantum computing attacks. By Paul Krill Nov 15, 2024 11 mins Java Programming Languages Software Development news Rust Foundation moves forward on C++ and Rust interoperability Problem statement released to address the challenges to making cross-language development with C++ and Rust more accessible and approachable. By Paul Krill Nov 14, 2024 2 mins C++ Rust Programming Languages Resources Videos