microsoft/TypeScript

TypeScript 5.4 Iteration Plan

DanielRosenwasser opened this issue ยท 35 comments

This document outlines our focused tasks for TypeScript 5.4. It minimally indicates intent to investigate tasks or contribute to an implementation. Nothing is set in stone, but we will strive to complete these tasks in a reasonable timeframe.

Date Event
2023-11-20 TypeScript 5.3 Release
2024-01-19 Create 5.4 Beta (5.4.0) Build for Testing
2024-01-23 TypeScript 5.4 Beta Release
2024-02-16 Create 5.4 RC (5.4.1) Build for Testing
2024-02-20 TypeScript 5.4 RC Release
2024-03-01 Create 5.4 Final (5.4.2) Build for Testing
2024-03-05 TypeScript 5.4 Final Release ๐Ÿš€
gantt
    dateFormat  YYYY-MM-DD
    TypeScript 5.3 Stabilization Period : 2023-11-03, 2023-11-20
    TypeScript 5.4 Beta Development : 2023-11-03, 2024-01-19
    TypeScript 5.4 RC Development : 2024-01-20, 2024-02-16
    TypeScript 5.4 Stabilization Period : 2024-02-16, 2024-03-05
todayMarker stroke-width:5px,stroke:#0f0,opacity:0.5
Loading

Compiler and Language

Editor and Language Service

Performance

Website and Docs

Infrastructure

This is one of the most exciting release points for us in typescript-eslint in a long time. Very high benefit here. Very much hoping there's no last-minute issue discovered. Thank you! ๐Ÿ™Œ

Define Initial Sketch of LSP Support

It's not clear to me what this means. I thought TSC already was LSP-compliant?

tsserver uses the tsserver protocol, which predates LSP. It does not (yet) implement LSP.

tsserver uses the tsserver protocol, which predates LSP. It does not (yet) implement LSP.

I've been using https://github.com/typescript-language-server/typescript-language-server#readme (a LSP implementation for TypeScript wrapping tsserver) with Emacs for quite some time and it works perfectly well, but I've never used tsserver directly so I'm not sure if there are any features that I'm missing.

Would a native implementation of LSP have any user-visible consequences, compared to using a wrapper like this one? Or is it mostly about supporting LSP officially and removing the need for a third-party wrapper?

Would a native implementation of LSP have any user-visible consequences, compared to using a wrapper like this one? Or is it mostly about supporting LSP officially and removing the need for a third-party wrapper?

The latter, though there are of course other benefits.

jfet97 commented

I'll share a link to Reverse mapped types with intersection constraint as well ๐Ÿ˜›, both for its enabling of type inference and Excess Property Checking together, and for doing some advertising for reverse mapped types, making @Andarist happy.

@typescript-bot create release-5.4

Heya @DanielRosenwasser, I've started to create the release-5.4 branch for you. Here's the link to my best guess at the log.

Jake says he fixed the build.

@typescript-bot create release-5.4

Heya @DanielRosenwasser, I've started to create the release-5.4 branch for you. Here's the link to my best guess at the log.

@typescript-bot sync release-5.4

Heya @DanielRosenwasser, I've started to sync release-5.4 with main for you. Here's the link to my best guess at the log.

Just as a heads up, we will probably go out with the 5.4 beta next Monday, since we're having some issues with the NuGet side of the build pipeline.

@typescript-bot sync release-5.4

Heya @DanielRosenwasser, I've started to sync release-5.4 with main for you. Here's the link to my best guess at the log.

Just as a heads up, we will probably go out with the 5.4 beta next Monday, since we're having some issues with the NuGet side of the build pipeline.

Also when are we probably going to see the devblog? Just be really excited to see it.

5.4 Beta is now published:

Heya @DanielRosenwasser, I've started to sync release-5.4 with main for you. Here's the link to my best guess at the log.

@typescript-bot bump release-5.4

Heya @DanielRosenwasser, I've started to update the version number on release-5.4 to 5.4.1-rc for you. Here's the link to my best guess at the log.

@DanielRosenwasser is the v5.4 RC release still scheduled for today? I don't see it yet on NPM. Thanks

No, unfortunately another issue with our build pipeline occurred. Otherwise, you can use the most recent nightly version of TypeScript to capture a (mostly?) identical version.

The previous comments mention an issue with the build pipeline around the RC release, but I now see a 5.4.1-rc release on npm. Would it be correct to assume that the 5.4 RC is out now?

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
bump release-5.4 โœ… Started โœ… Results

Hey, @DanielRosenwasser! I've set the version of release-5.4 to 5.4.2 for you.

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
bump release-5.4 โœ… Started โœ… Results

Hey, @DanielRosenwasser! I've set the version of release-5.4 to 5.4.3 for you.