All TypeScript release blog list

Personally, I often find that blog posts announcing new versions have clearer explanations than the official documentation, and I really like them.
So, I used AI to gather links and summaries for all the version posts.

I plan to update this whenever a new version comes out.

Announcing TypeScript 6.0 Beta

  • Date: 2026-02-11.

  • Summary: TypeScript 6.0 Beta is a transition-focused release intended to be the last major version on the current JavaScript codebase, acting as a bridge from 5.9 toward TypeScript 7.0’s upcoming native (Go) port—while still shipping a handful of notable features and significant config/deprecation changes.

    • Most significant topic — preparing for TypeScript 7.0: TS 6.0 aligns behaviors/defaults and introduces migration helpers (like --stableTypeOrdering) so upgrading to the native TS 7.0 toolchain produces fewer surprises.

    • Highlights

      • Smarter inference for this-less methods: functions that never use this are treated as less “contextually sensitive,” improving inference in object literals that use method syntax.
      • Node/package.json ergonomics: support for subpath imports starting with #/, plus more flexibility combining --moduleResolution bundler with --module commonjs.
      • New/updated lib & target surface: es2025 for target/lib, built-in typings for Temporal, typings for new Map/WeakMap “upsert” methods (getOrInsert*), and RegExp.escape.
      • Simplified DOM libs: lib.dom.d.ts now fully includes what used to live in lib.dom.iterable.d.ts / lib.dom.asynciterable.d.ts.
      • Breaking changes & default shifts: strict defaults to true, module defaults to esnext, target defaults to a current-year ES level (currently es2025), plus many deprecations/removals.
    • Table of contents (summarized)

      • Less Context-Sensitivity on this-less Functions: improves inference for method syntax when this isn’t used.

      • Subpath Imports Starting with #/: supports Node’s newer #/ subpath-import style under modern module-resolution modes.

      • Combining --moduleResolution bundler with --module commonjs: enables a practical upgrade path for many projects moving off older Node resolution.

      • The --stableTypeOrdering Flag: helps reduce output/type-ordering diffs between TS 6 and TS 7; can add noticeable type-checking overhead.

      • es2025 option for target and lib: introduces the es2025 target/lib surface (mostly new built-in API typings).

      • New Types for Temporal: adds built-in typings for the Temporal date/time API under esnext (or temporal.esnext).

      • New Types for “upsert” Methods (getOrInsert*): adds typings for Map/WeakMap’s new “get-or-insert” APIs in esnext.

      • RegExp.escape: adds typings for the new standard RegExp.escape helper (in es2025).

      • The dom lib Now Contains dom.iterable and dom.asynciterable: folds iterable/async-iterable DOM declarations into dom.

      • Breaking Changes and Deprecations in TypeScript 6.0: broad modernization + cleanup to match today’s JS ecosystem and prepare for TS 7.0.

        • Up-Front Adjustments: common fixes many projects will need post-upgrade (e.g., types, rootDir).
        • Simple Default Changes: new defaults like strict: true, module: esnext, floating target (currently es2025).
        • Deprecated: target: es5: ES5 output is deprecated; TS’s lowest target is now ES2015.
        • Deprecated: --downlevelIteration: deprecated since it’s tied to ES5 emit.
        • Deprecated: --moduleResolution node (node10): migrate toward nodenext or bundler.
        • Deprecated: amd, umd, systemjs module targets: no longer supported.
        • Deprecated: --baseUrl: deprecated to avoid accidental “lookup root” behavior; prefer explicit paths.
        • Deprecated: --moduleResolution classic: removed; migrate to modern strategies.
        • Deprecated: --esModuleInterop false / --allowSyntheticDefaultImports false: safer interop behavior is always enabled.
        • Deprecated: --alwaysStrict false: TS assumes strict-mode semantics; “sloppy mode” assumptions may need changes.
        • Deprecated: outFile: removed in favor of bundlers.
        • Deprecated: legacy module syntax for namespaces: module Foo {} form is now a hard deprecation; use namespace.
        • Deprecated: asserts keyword on imports: replaced by import attributes with with.
        • Deprecated: no-default-lib directives: /// <reference no-default-lib="true"/> no longer supported.
        • Specifying CLI files when tsconfig.json exists is now an error: makes the “tsconfig is ignored” case explicit; use --ignoreConfig to opt out.
      • Preparing for TypeScript 7.0: guidance on addressing deprecations now so the TS 7 migration is smoother.

      • What’s Next?: beta is “feature stable,” focusing on bug fixes and feedback before release.

  • Link: Announcing TypeScript 6.0 Beta

Announcing TypeScript 5.8

  • Date: 2025-02-28
  • Summary: This release introduces several new features and improvements:
    • Granular Checks for Branches in Return Expressions: TypeScript now performs more thorough checks on conditional expressions in return statements to catch subtle bugs.
    • Support for require() of ECMAScript Modules: Node.js 22 compatibility allowing CommonJS modules to import ESM modules with the --module nodenext flag.
    • New --module node18 Flag: A stable flag for users fixed on Node.js 18, providing a reference that doesn't incorporate certain behaviors from --module nodenext.
    • The --erasableSyntaxOnly Option: Better compatibility with Node.js 23.6's experimental TypeScript support by ensuring TypeScript syntax can be easily erased.
    • The --libReplacement Flag: More control over TypeScript's behavior when replacing library files during compilation.
    • Preserved Computed Property Names: Better handling of computed property names in declaration files for more predictable emit.
    • Performance Optimizations: Improvements to program loads and updates, making builds and editor scenarios more responsive, especially for large projects.
  • Link: Announcing TypeScript 5.8

Announcing TypeScript 5.7

  • Date: 2024-11-22
  • Summary: This release introduces several enhancements:
  • Checks for Never-Initialized Variables: TypeScript now reports errors when variables are used before being assigned, even if accessed within nested functions.
  • Path Rewriting for Relative Paths: The new --rewriteRelativeImportExtensions compiler option allows TypeScript to rewrite relative import paths ending with TypeScript extensions to their corresponding JavaScript extensions during compilation.
  • Support for --target es2024 and --lib es2024: TypeScript 5.7 adds support for targeting ECMAScript 2024, including features like Object.groupBy, Map.groupBy, and Promise.withResolvers.
  • Searching Ancestor Configuration Files for Project Ownership: The language service now continues searching for tsconfig.json files up the directory tree, allowing for more flexible project structures.
  • Link: Announcing TypeScript 5.7

Announcing TypeScript 5.7 RC

  • Date: 2024-11-08
  • Summary: This release candidate introduces checks for never-initialized variables, enhancing TypeScript's ability to catch uninitialized variables even when accessed within nested functions. It also includes path rewriting for relative paths, improving compatibility with tools that run TypeScript code in-place without a build step.
  • Link: Announcing TypeScript 5.7 RC

Announcing TypeScript 5.6 Beta

  • Date: 2024-07-26
  • Summary: This release includes features like the extends constraint on infer type variables, bundled and modular lib.d.ts files, breaking changes in strictBindCallApply, enabling isolated declaration files by default, stability improvements for the TypeScript language service, enhancements to tsc initialization for large projects, and more.
  • Link: Announcing TypeScript 5.6 Beta

Announcing TypeScript 5.5

  • Date: 2024-06-20
  • Summary: This release includes features like inferred type predicates, control flow narrowing for constant indexed accesses, JSDoc @import tag, regular expression syntax checking, support for new ECMAScript Set methods, isolated declarations, and more.
  • Link: Announcing TypeScript 5.5

Announcing TypeScript 5.4

  • Date: 2024-03-06
  • Summary: This release introduces preserved narrowing in closures, the NoInfer utility type, Object.groupBy and Map.groupBy, support for require() calls in --moduleResolution bundler and --module preserve, checked import attributes and assertions, and more.
  • Link: Announcing TypeScript 5.4

Announcing TypeScript 5.3

  • Date: 2023-11-20
  • Summary: This release includes features like import attributes, stable support for resolution-mode in import types, narrowing on comparisons to booleans, instanceof narrowing through Symbol.hasInstance, checks for super property accesses on instance fields, and more.
  • Link: Announcing TypeScript 5.3

Announcing TypeScript 5.2

  • Date: 2023-08-24
  • Summary: This release introduces using declarations, decorator metadata, named and anonymous tuple elements, easier method usage for unions of arrays, copying array methods, symbols as WeakMap and WeakSet keys, type-only import paths with TypeScript implementation file extensions, and more.
  • Link: Announcing TypeScript 5.2

Announcing TypeScript 5.1

  • Date: 2023-06-01
  • Summary: This release includes easier implicit returns for undefined-returning functions, unrelated types for getters and setters, decoupled type-checking between JSX elements and JSX tag types, namespaced JSX attributes, typeRoots consulted in module resolution, linked cursors for JSX tags, and more.
  • Link: Announcing TypeScript 5.1

Announcing TypeScript 5.0

  • Date: 2023-03-16
  • Summary: This release brings new features like decorators, const type parameters, support for multiple configuration files in extends, all enums as union enums, --moduleResolution bundler, resolution customization flags, --verbatimModuleSyntax, support for export type *, @satisfies support in JSDoc, and more.
  • Link: Announcing TypeScript 5.0

Announcing TypeScript 4.9

  • Date: 2022-11-15
  • Summary: This release introduces the satisfies operator, unlisted property narrowing with the in operator, auto-accessors in classes, checks for equality on NaN, file-watching improvements, and new editor commands for removing unused imports and sorting imports.
  • Link: Announcing TypeScript 4.9

Announcing TypeScript 4.8

  • Date: 2022-08-25
  • Summary: This release includes improved intersection reduction, union compatibility, and narrowing, improved inference for infer types in template string types, performance improvements for --build, --watch, and --incremental, and various correctness fixes and breaking changes.
  • Link: Announcing TypeScript 4.8

Announcing TypeScript 4.7

  • Date: 2022-05-24
  • Summary: This release introduces ECMAScript module support in Node.js, control flow analysis for destructured discriminated unions, instantiation expressions, and improved function inference in objects and methods.
  • Link: Announcing TypeScript 4.7

Announcing TypeScript 4.6

  • Date: 2022-02-28
  • Summary: This release includes features like control flow analysis for destructured discriminated unions, improved recursion depth checks, and better narrowing for in operator.
  • Link: Announcing TypeScript 4.6

Announcing TypeScript 4.5

  • Date: 2021-11-17
  • Summary: This release introduces the Awaited type, template string type improvements, and support for the import type syntax.
  • Link: Announcing TypeScript 4.5

Announcing TypeScript 4.4

  • Date: 2021-08-26
  • Summary: This release includes control flow analysis for destructured discriminated unions, improved recursion depth checks, and better narrowing for in operator.
  • Link: Announcing TypeScript 4.4

Announcing TypeScript 4.3

  • Date: 2021-05-27
  • Summary: This release introduces separate write types on properties, template string type improvements, and the override keyword.
  • Link: Announcing TypeScript 4.3

Announcing TypeScript 4.2

  • Date: 2021-02-23
  • Summary: This release includes smarter type alias preservation, leading/middle rest elements in tuple types, and abstract construct signatures.
  • Link: Announcing TypeScript 4.2

Announcing TypeScript 4.1

  • Date: 2020-11-20
  • Summary: This release introduces template literal types, key remapping in mapped types, and recursive conditional types.
  • Link: Announcing TypeScript 4.1

Announcing TypeScript 4.0

  • Date: 2020-08-20
  • Summary: This major release includes variadic tuple types, labeled tuple elements, and short-circuiting assignment operators.
  • Link: Announcing TypeScript 4.0

Announcing TypeScript 3.9

  • Date: 2020-05-12
  • Summary: This release focuses on performance improvements, enhancements to the inference process, and better support for the import() syntax. It also includes improvements to the editor experience and various bug fixes.
  • Link: Announcing TypeScript 3.9

Announcing TypeScript 3.8

  • Date: 2020-02-20
  • Summary: This release introduces ECMAScript private fields, export * as ns syntax, top-level await, and JSDoc property modifiers. It also includes various improvements and bug fixes.
  • Link: Announcing TypeScript 3.8

Announcing TypeScript 3.7

  • Date: 2019-11-05
  • Summary: This release includes optional chaining, nullish coalescing, assertion functions, and better support for --declaration and --allowJs. It also brings improvements to the editor experience and various bug fixes.
  • Link: Announcing TypeScript 3.7

Announcing TypeScript 3.6

  • Date: 2019-08-28
  • Summary: This release introduces stricter generators, improved UX around promises, and more accurate array spreads. It also includes various improvements and bug fixes.
  • Link: Announcing TypeScript 3.6

Announcing TypeScript 3.5

  • Date: 2019-05-29
  • Summary: This release focuses on type-checking performance improvements and optimizations. It also includes improvements to the --incremental flag and various bug fixes.
  • Link: Announcing TypeScript 3.5

Announcing TypeScript 3.4

  • Date: 2019-03-28
  • Summary: This release introduces type inference from as const expressions, faster subsequent builds with the --incremental flag, and various improvements and bug fixes.
  • Link: Announcing TypeScript 3.4

Announcing TypeScript 3.3

  • Date: 2019-01-30
  • Summary: This release includes improvements to the --build mode, better error UX, and various bug fixes.
  • Link: Announcing TypeScript 3.3

Announcing TypeScript 3.2

  • Date: 2018-11-29
  • Summary: This release introduces stricter checking for bind, call, and apply methods on functions, and improved handling of readonly tuples.
  • Link: Announcing TypeScript 3.2

Announcing TypeScript 3.1

  • Date: 2018-09-24
  • Summary: This release includes mapped types on tuples and arrays, and improvements to the --build mode.
  • Link: Announcing TypeScript 3.1

Announcing TypeScript 3.0

  • Date: 2018-07-30
  • Summary: This major release introduces project references, the unknown type, and improvements to tuple types.
  • Link: Announcing TypeScript 3.0

Announcing TypeScript 2.9

  • Date: 2018-05-31
  • Summary: This release introduces support for import.meta, improved support for Symbol-based types, and various improvements and bug fixes.
  • Link: Announcing TypeScript 2.9

Announcing TypeScript 2.8

  • Date: 2018-03-27
  • Summary: This release includes conditional types, improved type inference for object literals, and JSX namespace improvements.
  • Link: Announcing TypeScript 2.8

Announcing TypeScript 2.7

  • Date: 2018-01-31
  • Summary: This release introduces definite assignment assertions, fixed length tuples, and improvements to the --strict flag.
  • Link: Announcing TypeScript 2.7

Announcing TypeScript 2.6

  • Date: 2017-10-31
  • Summary: This release includes the strictFunctionTypes option, improved error messages, and support for --resolveJsonModule.
  • Link: Announcing TypeScript 2.6

Announcing TypeScript 2.5

  • Date: 2017-08-31
  • Summary: This release introduces optional catch binding parameters, the --preserveSymlinks flag, and improvements to the --strict flag.
  • Link: Announcing TypeScript 2.5

Announcing TypeScript 2.4

  • Date: 2017-06-30
  • Summary: This release includes dynamic import expressions, string enums, and improved inference for generics.
  • Link: Announcing TypeScript 2.4

Announcing TypeScript 2.3

  • Date: 2017-04-27
  • Summary: This release introduces default type arguments, async iterators, and the --downlevelIteration flag.
  • Link: Announcing TypeScript 2.3

Announcing TypeScript 2.2

  • Date: 2017-02-23
  • Summary: This release includes support for object type, improved type inference for this, and various bug fixes.
  • Link: Announcing TypeScript 2.2

Announcing TypeScript 2.1

  • Date: 2016-12-07
  • Summary: This release introduces async/await down-leveling, object spread and rest, and improved type inference for literal types.
  • Link: Announcing TypeScript 2.1

Announcing TypeScript 2.0

  • Date: 2016-09-22
  • Summary: This major release includes non-nullable types, control flow based type analysis, and the readonly modifier.
  • Link: Announcing TypeScript 2.0

These blog posts provide detailed information on the new features and improvements introduced in each TypeScript version, along with guidance on how to get started with the latest release.

Announcing TypeScript 1.8

  • Date: 2016-02-22
  • Summary: This release introduces string literal types, async/await for ES5/ES3, and improved JSX support.
  • Link: Announcing TypeScript 1.8

Announcing TypeScript 1.7

  • Date: 2015-11-30
  • Summary: This release includes async/await for ES6 targets, support for ES6 module syntax in Node.js, and various bug fixes.
  • Link: Announcing TypeScript 1.7

Announcing TypeScript 1.6

  • Date: 2015-09-16
  • Summary: This release introduces support for JSX, class expressions, and the --target ES6 flag.
  • Link: Announcing TypeScript 1.6

Announcing TypeScript 1.5

  • Date: 2015-07-20
  • Summary: This release includes support for ES6 modules, destructuring, and the let and const keywords.
  • Link: Announcing TypeScript 1.5

Announcing TypeScript 1.4

  • Date: 2015-01-22
  • Summary: This release introduces union types, type guards, and template strings.
  • Link: Announcing TypeScript 1.4

Announcing TypeScript 1.3

  • Date: 2014-10-30
  • Summary: This release includes tuple types and the protected access modifier.
  • Link: Announcing TypeScript 1.3

Announcing TypeScript 1.2

  • Date: 2014-07-21
  • Summary: This release introduces support for generics and various bug fixes.
  • Link: Announcing TypeScript 1.2

Announcing TypeScript 1.1

Announcing TypeScript 1.0

  • Date: 2014-04-02
  • Summary: This is the first stable release of TypeScript, marking its readiness for production use.
  • Link: Announcing TypeScript 1.0

Announcing TypeScript 1.0RC

  • Date: 2014-03-05
  • Summary: This release candidate includes final features and improvements leading up to the 1.0 release.
  • Link: Announcing TypeScript 1.0RC

These blog posts provide detailed information on the new features and improvements introduced in each TypeScript version, along with guidance on how to get started with the latest release.

Announcing TypeScript 0.9

  • Date: 2013-06-18
  • Summary: This release represents the largest update to TypeScript to date, bringing significant changes to the language, compiler, and tools. It introduces generics, a new compiler infrastructure, and numerous bug fixes and improvements.
  • Link: Announcing TypeScript 0.9

Announcing TypeScript 0.8.3

  • Date: 2013-01-24
  • Summary: This release adds incremental polish and bug fixes to the TypeScript language and compiler. It includes improvements based on community feedback and aims to enhance the overall development experience.
  • Link: Announcing TypeScript 0.8.3

Announcing TypeScript 0.8.2

  • Date: 2012-12-10
  • Summary: This release focuses on bug fixes and minor improvements to the TypeScript language and compiler. It addresses issues reported by the community and enhances the stability of the language.
  • Link: Announcing TypeScript 0.8.2

Announcing TypeScript 0.8.1

  • Date: 2012-10-22
  • Summary: This release includes various bug fixes and performance improvements. It aims to provide a more stable and efficient development experience for TypeScript users.
  • Link: Announcing TypeScript 0.8.1

Announcing TypeScript 0.8

  • Date: 2012-10-01
  • Summary: This is the initial release of TypeScript, introducing the language to the world. It includes features like static typing, classes, and modules, designed to help developers build large-scale JavaScript applications.
  • Link: Announcing TypeScript 0.8

These blog posts provide detailed information on the new features and improvements introduced in each TypeScript version, along with guidance on how to get started with the latest release.