TypeScript’s New Release Cadence

One of the things we love about the TypeScript community is the enthusiasm around new features and rapid adoption of new TypeScript releases. Because of this, we have been focusing on increasing the velocity and consistency of TypeScript releases so that you can get your hands on the latest features even more quickly and predictably. This new release cadence has been mostly great, but there has been some confusion on when and how to get the latest TypeScript version. There have also been questions regarding availability of TypeScript in Visual Studio 2017. This blog post aims to clarify our intentions and our general plan for shipping TypeScript in the future, including shipping as a part of Visual Studio and Visual Studio Code.

New release cadence

With TypeScript 2.0 and earlier releases, we didn’t bother keeping a predictable release schedule. New versions were ready when they were ready, and we kept working on a release until it had all the features we wanted to be merged in.

This was nice in that each TypeScript release felt large and impactful, but came with the downside of small fixes getting gated behind significant changes, and seemingly random amounts of time between releases. Furthermore, the scope of impact wasn’t just limited to TypeScripr users. VS Code takes advantage of the TypeScript language service to power its JavaScript editing experience as well. This meant that any bug fixes for VS Code, for both TypeScript and JavaScript, would have to wait for a full release to be completed before shipping. Because VS Code ships every month, it sometimes took several VS Code releases before even minor bugs could be fixed. To both address the needs of VS Code and to get features out to the TypeScript community faster, we’ve moved to a monthly release cadence for TypeScript that mirrors the cadence adapted by Visual Studio Code.

Going forward, TypeScript releases will adhere to the following principles:

Release a full feature release every two months (e.g. 2.1, 2.2, etc.)

Publish at least one TypeScript update to npm every month (either patch or feature releases)

Features that aren’t complete by release time are deferred to the next release

TypeScript’s monthly release should come ~1 week before, and be included in, a VS Code release

Other editors can adopt the new TypeScript version during their next available update

The following diagram may help visualize the new cadence.

We believe that following these principles will benefit everyone in the TypeScript community.

TypeScript updates to Visual Studio

Supporting the latest Typescript release in Visual Studio has been one of the goals that we’ve been working on as a team. However, when Visual Studio 2017 RTM released a few weeks back, we were not able to include the latest TS version (v2.2) with it. Instead, Visual Studio 2017 currently comes with built-in support for Typescript v2.1.5.

With the changing cadence of TypeScript releases, we could not fully align the TypeScript v2.2 release with Visual Studio 2017. Given some key changes that have gone into the new setup authoring process for Visual Studio 2017, we need to do additional work to ensure that TypeScript releases can be applied to Visual Studio 2017 at a faster cadence as users might be used to in Visual Studio 2015 and VS Code.

We’ve heard feedback from several users about their need to move to TypeScript v2.2 in Visual Studio 2017 and understand the confusion and pain this has caused. As a team, we’re actively working on the problem and hope to have a fix available soon. We’ll keep the community updated as we make progress. Once implemented, developers will have full flexibility to update as soon as a new version of TypeScript is available. We apologize for the confusion and want to assure you that fixing this issue is a top priority.

Drop us a line

The great part about being an open source project is that we can make changes, get immediate feedback from the community, and quickly improve in the future. As such, we greatly appreciate your enthusiasm and would love to hear your feedback.

Join the conversation

I would prefer the choice to use newer editions of TypeScript in Visual Studio 2017, such as 2.2.2.0.

That way, when I open a PowersShell prompt after installing both TypeScript_Dev14Full.exe and performing an npm install -g TypeScript, I can get the same output from each of the following commands:

tsc -v
tsc.cmd -v
tsc.exe -v

All of the above *SHOULD* emit the following:

Version 2.2.2

If any of the above does not emit the exact same version information, I know that something is wrong with my PATH variables, both User and System, such as missing or wrong-order of directories.

I examine that PATH information via the following PowerShell command:

$env:PATH -split ‘;’

If I do NOT see C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.2\ listed at all or, if listed, not listed HIGH ENOUGH in the System Path, or worse, see something other than TypesScript\2.2\ (such as TypeScript\1.8\) listed, I use the free Rapid Environment Editor too (running as Administrator) to interactively fix the issue(s).

I still do not understand what was wrong with old approach: open typeascript.org, click on download TS for VS 20xx, land on msdownloads page, get bits installed; recycle on build server.
We could use the edge version or delay transition… but we had it under control.

The TypeScript Playground is also not on version 2.2. Any updates on that?

I’ve been saying this for years- there needs to be a version toggle on the playground. It is incredibly confusing when the banner on top of the TypeScript website says “TypeScript 2.2 is now available. Download our latest version today!” and the playground doesn’t actually support 2.2, and provides no visible indication of what version it actually is running.

Because my project is based already on Typescript 2.3 and now that I reinstalled my PC, I cannot download a VS Community version which can handle my project… (2015 – no installer available, 2017 – does not support new TS).