TypeScript Versions

Last Updated : 12 Apr 2026

These days, TypeScript is booming. It is a superset of JavaScript. In simple terms, we can say that it is just a JavaScript code with strict typing capabilities. In 2012, TypeScript was introduced by Microsoft and Version 0.8 was the very first release. In this article, we will explore various TypeScript Versions. The complete release history of TypeScript is given below. We can also see the full documentation for recent releases on GitHub.

TypeScript Versions

List of TypeScript Versions

The complete TypeScript versions are given below:

  1. Version 0.8: First version of TypeScript which was released on 1st October, 2012. It was developed by Microsoft. The purpose of releasing TypeScript was to address the challenges of large-scale JavaScript development by bringing advanced tooling and static typing.
  2. Version 0.9: It was released on 18th June 2013. It introduced many major changes to the language, compiler and language services. It introduced generics and focused on a more robust compiler. The goal of this version was to provide a more powerful and scalable development experience for TypeScript users.
  3. Version 1.0: This version was released on 12th April 2014. This version provided us a stable and officially supported platform for building large-scale applications.
  4. Version 1.1: This version of TypeScript was released on 6th October 2014. This version was primarily focused on performance improvement. The most important change was a considerable increase in compiler speed.
  5. Version 1.3: This version was released on 12th November 2014. It brought a new feature that is a new access modifier, i.e., protected. It gives access to only the class and its subclasses to utilize the members of the protected class.
  6. Version 1.4: This version was introduced on 20th January 2015. With the release of this version, TypeScript started supporting ES6 template strings and it can compile them down to ES3/ES5
  7. Version 1.5: It was released on 20th July 2015. The important changes it introduced are support for ES6 modules, the namespace keyword, ..of loop support and decorators, etc.
  8. Version 1.6: It was released on 16th September 2015. It was a significant update in TypeScript. It introduced considerable improvements in ECMAScript 6 compatibility and new language features.
  9. Version 1.7: This version was introduced on 30th Nov, 2015. This version gave support for Asynchronous programming with Async/Await and Promises which are very important to the latest programming practices in ES6.
  10. Version 1.8: It was released on 22nd February 2016. It brought several new features and improvements to the language, such as Module augmentation, improved JSX support and introduced string literal types.
  11. Version 2.0: It was introduced on 22nd September 2016. This version brought features like the use of null and undefined data types and received better support for type checking. Previously, it was difficult to identify the errors with null and undefined.
  12. Version 2.1: This version was introduced on 8th November 2016. This version allows us to make some keys optional. It enhanced the key and the lookup types.
  13. Version 2.2: It was introduced on 22nd February 2017. In this version, we can utilize mix-in classes of ES6 and the mix-in constructor It also supports the spread operator in JSX expressions.
  14. Version 2.3: It was released on 27th April, 2017. The features it introduced are Async iteration, generic parameter defaults, --strict option, etc.
  15. Version 2.4: It was introduced on 27th June 2017. Several key features and improvements were introduced in this version. It introduced features like Dynamic Import expression, strict enums, Improved Inference for generics, strict contravariance for callback parameters, Weak Type Detection,
  16. Version 2.5: It was released on 31st August 2017. The key features it includes are optional catch clause variables, type assertion, checkJs mode, deduplicated and redirected packages, --preserveSymlinks compiler flag, extract function and extract method refactorings, etc.
  17. Version 2.6: This version was released on 31st October 2017. It introduced many prominent features and improvements. It includes a key enhancement, a revised implementation of the noUnusedLocals and noUsedParameters compiler options. The release of TypeScript 2.6.1 and 6.2 for Visual Studio 2015 is also shown by this version.
  18. Version 2.7: This version was released on 31st January 2018. It introduced several significant features and stricter checks designed to improve code safety, reliability and interoperability with existing JavaScript code. The features it includes are strict class property checks, fixed-length tuples, unique symbol types, etc.
  19. Version 2.8: It was released on 27th March 2018. This version was primarily focused on enhancing type safety and developer tooling. The key features it includes are predefined conditional types, improvements to mapped types, etc.
  20. Version 2.9: It was released on 14th May 2018. The important key features it includes are enhanced keyof operator and mapped types, new import() type syntax, generic type arguments in tagged templates, etc.
  21. Version 3.0: This version was released on 30th July 2018. This version was primarily focused on enhancing support for large projects and improving developer experience. This version includes features like project references, improved support for tuples in rest parameters and spread expressions, improved JSX support, Generic Rest Parameter, etc.
  22. Version 3.1: It was released on 27th September 2018. This version introduced many key features and made some changes. It was primarily focused on the improvement of type safety and developer experience. The key features it includes are Mapped Types on Tuples and arrays, property declarations on functions, vendor-specific declarations removed, etc.
  23. Version 3.2: This version was introduced on 30th November, 2018. It includes several new features and improvements. The features it includes are Stricter bind, call and apply checking, object spread and rest on generic types, BigInt support, Non-unit types as union discrimination, etc.
  24. Version 3.3: This version was released on 31st January 2019. It was primarily focused on performance improvement. The features and improvements this version includes improved --build -watch performance for composite projects, better behavior for calling union types, etc.
  25. Version 3.4: This version was released on 29th March 2019. This version provides us with the feature -incremental flag for the fast build process of an application. It catches up with the changes accordingly. For that, we need the field incremental to be true in the json file.
  26. Version 3.5: It was released on 29th May 2019. TypeScript 5 version was a significant release focusing on performance improvements and strict type-checking. The key features it includes are speed improvement, type checking speed-ups, --incremental improvements, etc.
  27. Version 3.6: It was released on 28th August, 2019. This version improved on type checking with generators. Earlier, we were not able to recognize whether a value was returned by a generator or yielded. But now we can check the correct type of it. This also greatly supports Unicode It also has smarter auto-import syntax.
  28. Version 3.7: The release date of version 3.7 was 5th November 2019. This version introduces some breaking changes, such as function truthy checks and API changes. Optional chaining was an issue. It also has a nullish coalescing operator(??) like optional chaining. Also, the use of the assert function has been improved.
  29. Version 3.8: This version was released on 20th February, 2020. The features it brought are speed improvement, faster file renaming, improved interface for all & Promise.race, etc.
  30. Version 3.9: This version was released on 12th May 2020. It brought improvement in inference and speed improvements.
  31. Version 4.0: This version was released on 20th August 2020. The key features it includes are Variadic tuple types, labeled tuple elements, custom JSX factories, editor improvement, etc.
  32. Version 4.1: This version was released on 19th November 2020. It introduced features like template literal types, key remapping in Mapped types and recursive conditional
  33. Version 4.2: This version was introduced on 25th February 2021. It introduced several features like leading/middle rest elements in tuple types, smarter type alias printing, stricter in operator checks, etc.
  34. Version 4.3: This version was released on 26th May 2021. It includes features like separate write types on properties, template string type improvements, always truthy promise checks, static index signatures, etc.
  35. Version 4.4: This version was released on 26th August 2021. It brought new features like static blocks in classes, exact optional property types, the useUnknownInCatchVariable flag, etc.
  36. Version 4.5: It was released on 17th November, 2021. The features it includes are ECMAScript Module Support in js, awaited type, support for lib from node_modules, editor support, etc.
  37. Version 4.6: It was released on 28th February 2022. This version brought several enhancements and features. The features it includes allow code in the constructor before super(), improved control flow analysis for dependent parameters, Improvements in Index access inference, etc.
  38. Version 4.7: This version was released on 24th May 2022. This version of TypeScript brought several features and improvements, such as ECMAScript Module Support in Node.js, Instantiation Expressions, moduleDetectionOption, typeof on #private Fields, etc.
  39. Version 4.8: It was released on 25th August 2022. The features this version includes are improved intersection and union typing handling, performance improvement, file watching fixes, better inference for template string types, etc.
  40. Version 4.9: It was officially released on 15th November, 2022. It came with features like satisfies operator, auto-accessors in classes, improvement in type narrowing and checks, etc.
  41. Version 5.0: This version was released on 16th March, 2023. This version brought features like decorators, bundler module resolution, configuration simplifications, etc.
  42. Version 5.1: It was released on 1st June, 2023. The features it brought are easier implicit return for undefined and void, unrelated types for getters and setters, linked cursors for JSX tags, etc.
  43. Version 5.2: Version 5.2 was released on 24th August 2023. The new features brought by this version are decorator metadata, named and anonymous type elements, performance optimizations, the copying array method, etc.
  44. Version 5.3: This version came on 20th November 2023 with many improved features. The features it brought are improved type narrowing, import attributes and checking for super accesses on instance properties.
  45. Version 5.4: This version was released on 6th March, 2024. The features this version includes support for groupBy and Map.groupBy, new enum assignability restrictions, quality-of-life improvement, etc.
  46. Version 5.5: This version was released on 20th June 2024. Several new features and enhancements were introduced in this version. It includes inferred type predicates, regular expression syntax checking, type imports in JSDoc,
  47. Version 5.6: This version was released on 9th September 2024. This version introduced features like disallowed Nullish and Truthy Checks, iterator helper methods, new compiler options, etc.
  48. Version 5.7: This version came on 22nd November 2024. Several new features and improvements were introduced in this version. The features it includes are enhanced type safety with checks for never-initialized variables, support for --target es2024 and --lib es2024.
  49. Version 5.8: On 28th February 2025, Microsoft released version 5.8. This version brought features like improved type safety, improved ECMAScript Module support, better interface for generics, etc.
  50. Version 5.9: It was released on 31st July 2025. The key features it includes are deferred module evaluation, expandable hovers, Changes in Type Argument Interface, etc.
  51. Version 6.0 Beta/ Transitional Version: It was released on 11th Feb, 2026. This version mainly acts as a bridge between TypeScript 5.9 and the upcoming TypeScript 7.0. It mainly focuses on modern JavaScript support, stricter defaults and preparation for TypeScript 7.0.
  52. Version 7.0: It is an upcoming TypeScript version.
SNVersionRelease DateSignificant Changes
1.0.801-10-2012Performance improvement
2.0.918-06-2013Language, Compiler, Language Services, etc
3.1.012-04-2014Performance improvement
4.1.106-10-2014Performance Improvements
5.1.312-11-2014Tuple type's interaction with the new access modifiers
6.1.420-01-2015union types, let and const declarations, type guards, type aliases, template strings
7.1.520-07-2015ES6 modules, decorators, for..of support, namespace keyword
8.1.616-09-2015JSX support, abstract classes and methods, local type declarations, intersection types, user-defined type guard functions
9.1.730-11-2015Async-await support, promises, etc.
10.1.822-02-2016constraints generic, control flow analysis errors, string literal types, allowJs
11.2.022-09-2016control flow based type analysis, null-and undefined-aware types, never type, discriminated union types, readonly keyword, type of this for functions
12.2.108-11-2016mapped types, keyof and lookup types, object spread and rest
13.2.222-02-2017object type, mix-in classes
14.2.327-04-2017async iteration, strict option, generic parameter defaults, --strict option, etc.
15.2.427-06-2017dynamic import expressions, improved inference for generics, string enums, strict contravariance, for callback parameters
16.2.531-08-2017optional catch clause variables, type assertion, checkJs mode, etc.
17.2.631-10-2017strict function types
18.2.731-01-2018fixed length tuples, constant-named properties
19.2.827-03-2018improved keyof with intersection types, conditional types
20.2.914-05-2018support for symbols and numeric literals in keyof and mapped object types
21.3.030-07-2018project references, extracting and spreading parameter lists with tuples
22.3.127-09-2018Mapped tuple and array types
23.3.230-11-2018Stricter bind, call checking, apply checking, object spread, and rest, etc.
24.3.331-01-2019Improved behavior on methods of union types, incremental builds for composite projects.
25.3.429-03-2019Faster incremental builds with the --incremental flag, type inference from generic functions, readonly modifier for arrays and tuples, const assertions, type-checking for globalThis.
26.3.529-05-2019speed improvements, Improved excess property checks in union types, faster incremental builds, omit helper type, smarter union type checking
27.3.628-08-2019Strict Generators, Improved UX around Promises, Semicolon-aware Auto-import, etc.
28.3.75-11-2019Optional Chaining, Nullish Coalescing, Assertion Functions, Recursive Type Aliases, etc.
29.3.820-02-2020Type-Only Imports and Exports, Top Level await, Fast and Loose Incremental Checking, export * as ns etc. improved directory watching and watchOptions, etc.
30.3.912-05-2020Improvements in inference, Speed improvement.
31.4.020-08-2020Labeled Tuple Elements, New Assignment Operators, Improved Control Flow Analysis for catch Clause Variables, etc.
32.4.119-11-2020Template Literal Types, Recursive Conditional Types, React 17 JSX Factories, etc.
33.4.225-02-2021Leading/Middle rest Elements in Tuple Types, Smarter Type Alias Preservation, abstract construct Signature, etc.
34.4.326-05-2021Separated Write Types on Properties, Template String Type Improvements, Template String Type Improvements, etc.
35.4.426-08-2021Exact Optional Property Types, Symbol and Template String Pattern Index Signatures, Spelling Suggestions for JavaScript, Inlay Hints, etc.
36.4.517-11-2021The Awaited Type and Promise Improvements, Template String Types as Discriminants, Private Field Presence Checks and Import Assertions, etc.
37.4.628-02-2022Allowing code in the constructor before super(), improved control flow analysis for dependent parameters, Improvements in Index access inference, etc.
38.4.724-05-2022ECMAScript Module Support in Node.js, Better Control-Flow Analysis for Computed Properties, typeof on #private Fields
39.4.825-08-2022Improved intersection and union typing handling, Performance improvement, File watching fixes, Better inference for template string type, etc.
40.4.915-11-2022Satisfies operator, auto-accessors in classes, Improvement in type narrowing and checks, etc.
41.5.016-03-2023Decorators, Configuration simplifications, Bundler module resolution, etc.
42.5.11-06-2023Easier implicit return for undefined and void, Unrelated types for getters and setters, Linked cursors for JSX tags, etc.
43.5.224-08-2023Decorator metadata, named and anonymous type elements, copying array method, performance optimizations, etc.
44.5.320-11-2023Improved type narrowing, import attributes, check for super accesses on instance properties, etc.
45.5.46-03-2024Support for object.groupBy and Map.groupBy, New enum assignability restrictions, Quality of life improvement, etc.
46.5.520-06-2024Inferred type predicates, regular expression syntax checking, type imports in JsDoc, etc.
47.5.69-09-2024Disallowed Nullish, Truthy checks, Iterator helper methods, new compiler option, etc.
48.5.722-11-2024Enhanced type safety with checks for never-initialized variables, support for -target es2024 and -lib es2024, etc.
49.5.828-02-2025Improved type safety, improved ECMAScript Module support, better interface for generics, etc.
50.5.931-07-2025Deferred Module Evaluation, Expandable hovers, Changes in Type Argument Inference, etc.
51.6.0 Beta/ Transitional Version11-02-2026ES2025 support, stricter default compiler settings, Node.js subpath imports, etc. It is a transition release before TypeScript 7.0.
52.7.0Not releasedGo-based native compiler, faster compilation (up to 10×), improved IDE performance, etc. It is an upcoming major version.