This document outlines our focused tasks for TypeScript 4.0, as well as some of the discussion that explains how/why we prioritized certain work items. Nothing is set in stone, but we will strive to complete them in a reasonable timeframe. Date | Event --------------|------------------------- May 12th | TypeScript 3.9 Release (past) June 22nd | Create 4.0 Beta (4.0.0) Build for Testing June 25th | **TypeScript 4.0 Beta Release** July 31st | Create 4.0 RC (4.0.1) Build for Testing August 6th | **TypeScript 4.0 RC Release** August 14th | Create 4.0 Final (4.0.2) Build for Testing August 20th | **TypeScript 4.0 Final Release** 🚀 ## Language Features * [Short-Circuiting Assignment Operators](https://github.com/microsoft/TypeScript/issues/37255) * [Labeled Tuple Elements](https://github.com/Microsoft/TypeScript/issues/28259) * [Class Property Inference from Constructors](https://github.com/microsoft/TypeScript/pull/37920) * [Forward Declarations](https://github.com/microsoft/TypeScript/issues/31894) * [Investigate the `awaited` Type](https://github.com/microsoft/TypeScript/issues/27711) * [JSX Factory Updates](https://github.com/microsoft/TypeScript/issues/34547) * [`unknown` on `catch` Clause Bindings](https://github.com/microsoft/TypeScript/issues/36775) * [Variadic Tuples](https://github.com/microsoft/TypeScript/issues/5453) ## Editor Productivity * Refactorings * [Convert to Optional Chaining and Coalescing](https://github.com/microsoft/TypeScript/issues/35018) * [Discoverability in Refactoring](https://github.com/microsoft/TypeScript/issues/34930) ([ideas](https://github.com/microsoft/TypeScript/issues/37895)) * [Lightweight Navigation](https://github.com/microsoft/TypeScript/issues/37713) * [Improved Auto-Import](https://github.com/microsoft/TypeScript/issues/37812) * [Editor support for `/** @deprecated */` tags](https://github.com/microsoft/TypeScript/issues/390) * [Editor support for `/** @see */` tags](https://github.com/microsoft/TypeScript/issues/35524) * [Semantic Highlighting](https://github.com/microsoft/TypeScript/issues/38435) ## Performance * More Type-Checking Optimizations * Investigate Bottlenecks in Larger Apps ## Infrastructure * [Migrate TypeScript to Modules](https://github.com/microsoft/TypeScript/pull/35561) * Expand Commands Tested in TSServer Crawler * GitHub Crawler Infrastructure to Find Breaking Changes ## Investigate High-Demand Bug Fixes * [Don't Widen Computed Property Keys](https://github.com/microsoft/TypeScript/issues/13948) * [Cleaning Files Under `--watch`](https://github.com/microsoft/TypeScript/issues/16057) * [Higher Order Component Issues](https://github.com/microsoft/TypeScript/issues/28938) * [Remove `--declaration` Emit Error](https://github.com/microsoft/TypeScript/issues/17293) * [Inference for Proxies](https://github.com/microsoft/TypeScript/issues/20846) * [`change` events on `<input type="file">`have no `files` field](https://github.com/microsoft/TypeScript/issues/31816) * [Poor Error for `isolatedModules`](https://github.com/microsoft/TypeScript/issues/15230)