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
Compiler and Language
- Type Narrowing for Variables in Closures Occurring After Last Assignments
- The
NoInfer
Intrinsic - Isolated Declarations
- Investigate
--module preserve
andrequire()
in--moduleResolution bundler
- Investigate and Review Regex Syntax Validation
- Checks for Never-Initialized Variables
- Champion
throw
Expressions - Investigate Function Implementations Returning Indexed Access and Conditional Types
- #56448
- Alleviating Pain-Points around dual-ESM/CJS-published Packages
- Investigate Syntactic Variance Measurement
- Symbol Visibility Walk Optimizations for
.d.ts
Emit - Communicate out Plan for 5.0 Deprecations in Anticipation of 5.5
Editor and Language Service
- Define Initial Sketch of LSP Support
- TSServer File-Watching Events
- Organize Imports Respecting
type
Imports - Investigate AI-powered Refactorings
Performance
- Investigate Running With V8 Snapshots
- Parallelization Experimentation
Website and Docs
Infrastructure
- Expand Performance Suite
- Move DefinitelyTyped to GitHub Actions
- DefinitelyTyped Monorepo Improvements
- arethetypeswrong validation in DefinitelyTyped
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.
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.
Finally!
@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:
@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.
@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?
@typescript-bot bump release-5.4
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.
@Anonymous4078 you ok?
@typescript-bot bump release-5.4
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.