This is the list of release activities needed for every TypeScript release. Additional activities are also needed if a new syntax is introduced or a new compiler option gets added.
The primary people managing a release should oversee these tasks along with the overall release process.
- Add all tslib updates
- Review next version number
Once main
's version is updated, the @definitelytyped packages must be aware of the nightly's new version so that nightly versions of ATA continue to work. ATA relies on tsX.Y
tags on @types/*
packages.
- Update @definitelytyped/typescript-versions and @definitelytyped/typescript-packages to support the next version, update tests, and publish a new release.
- in other words, if we're releasing TypeScript 3.9, DefinitelyTyped needs to support
4.0
. - An example PR
- in other words, if we're releasing TypeScript 3.9, DefinitelyTyped needs to support
- Review perf dashboard to identify regressions
- Review crawler-discovered crashes (and ensure these have been running) (and ensure these have been running)
- Review NewErrors breaking change issues (and ensure these have been running)
- Update What's new in TypeScript
- Update Breaking Changes
- Update API Breaking Changes
- Add new Release Notes page for the new release
- Update Handbook (As needed)
- Publish new version of typescript
- Publish new version of tslib (if needed) by creating a tag
- Publish new release to https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild/
- Publish VS 2015 and VS 2017 installers under TypeScript team
- Update version of tsserver, test, and tag
After the release version is published to npm:
- Update @definitelytyped/typescript-versions: move the newly published version from
supported
toshipped
(in the example above, that's 3.9), and publish a new release of @definitelytyped.
- Update Handbook
- Add new release notes page
When a new syntax or a new compiler option is introduced, find below the list of additional release activities needed:
- Add support for new option in MSBuild tasks and targets (see handbook)
- Add colorization support in TypeScript-TmLanguage
- Add parsing support in Babylon
- Add emit support to babel-plugin-syntax-typescript
- Update the TypeScript-Babel-Starter as needed
- Add new section for the new feature in the handbook