Repository navigation
TypeScript 5.2 Iteration Plan #54298
Copy link
Copy link
Closed
Labels
PlanningIteration plans and roadmappingIteration plans and roadmapping
Description
This document outlines our focused tasks for TypeScript 5.2. 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-05-30 | TypeScript 5.1 Release |
| 2023-06-23 | Create 5.2 Beta (5.2.0) Build for Testing |
| 2023-06-27 | TypeScript 5.2 Beta Release |
| 2023-08-04 | Create 5.2 RC (5.2.1) Build for Testing |
| 2023-08-08 | TypeScript 5.2 RC Release |
| 2023-08-18 | Create 5.2 Final (5.2.2) Build for Testing |
| 2023-08-22 | TypeScript 5.2 Final Release 🚀 |
gantt
dateFormat YYYY-MM-DD
TypeScript 5.1 Stabilization Period : 2023-05-15, 2023-05-30
TypeScript 5.2 Beta Development : 2023-05-15, 2023-06-27
TypeScript 5.2 RC Development : 2023-06-27, 2023-08-04
TypeScript 5.2 Stabilization Period : 2023-08-04, 2023-08-22
todayMarker stroke-width:5px,stroke:#0f0,opacity:0.5
Compiler and Language
- Decorator Metadata
usingDeclarationsArraymethod signature merging- Investigate Type Argument Placeholders
- Investigate Plugins for File-Watching
- Investigate Custom Transformers in
tsc - Investigate Function Implementations Returning Indexed Access and Conditional Types
- Investigate Interop Across TypeScript and Bundlers for Default Imports
lib.d.tsUpdates
Editor and Language Service
- Refactor to Inline Variable
- Open-Ended String Completions
- Full Program Loads and ATA in vscode.dev
- Trailing Comma Completions for Object Members
- Completion Commit Characters
- Organize Imports Respecting
typeImports - Experiment with Better Names for Extracted Code
- Specify Node.js Executable for TSServer in VS Code
- Address Crawler-Detected Crashes
Performance
- Investigate Parallelized Parsing
- Investigate Caching Resolutions in
.tsbuildinfo - Share Path Resolution Between Projects When Possible
- Optimize JSDoc Parsing
- Track Narrowable Entities for Control Flow Analysis
- Deopt Explorer Upkeep
Website and Docs
- Author and Iterate on Module Documentation
- Website Build Speedup
- Scope and Infrastructure Website Changes
- Address Accessibility Issues
Infrastructure
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
PlanningIteration plans and roadmappingIteration plans and roadmapping
Activity
DanielRosenwasser commentedon May 18, 2023
The previous Iteration Plan for TypeScript 5.1 is available here.
fleddri commentedon May 23, 2023
Are there any plans or discussions regarding #53656?
TmLev commentedon Jun 2, 2023
Also interested if you have any plans regarding #41316? Working on libraries seems impossible without it sometimes.
Mike-Dax commentedon Jun 15, 2023
I've been recently hitting up against #53018 and #54029 seems to open a bunch of opportunities for reverse mapped types to receive better inference. It would be a real game changer to our main APIs. Is there anything a community member can do to help with something like this?
max-kamps commentedon Jun 23, 2023
Is #14729 still being investigated? It got closed after #51328 got accepted for 5.1, but has since been re-opened since the PR didn't actually address most of #14729's usecases.
DanielRosenwasser commentedon Jun 27, 2023
TypeScript Bot (@typescript-bot) sync release-5.2 and LKG
typescript-bot commentedon Jun 27, 2023
Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to sync
release-5.2with main for you. Here's the link to my best guess at the log.Andarist commentedon Jun 27, 2023
Michael (@Mike-Dax) my PR isn't (yet) complete - it has some rough edges that I need to figure out. I'd happily collaborate on this one with somebody, I already know what I want to do there just need to find a proper way to fit those ideas into the code and the available data structures.
fatcerberus commentedon Jul 3, 2023
What the… what even kind of bot is this
Bad bot
timbuckley commentedon Jul 6, 2023
Not explicitly mentioned above but this also lands support for Change Array By Copy methods (eg
arr.toReversed(),arr.toSorted(),arr.with(index, value), etc).Issue: #50333
PR: #51367
ECMAScript proposal: https://github.com/tc39/proposal-change-array-by-copy
RyanCavanaugh commentedon Jul 7, 2023
FYI: #54923
DanielRosenwasser commentedon Aug 7, 2023
TypeScript Bot (@typescript-bot) bump release-5.2
typescript-bot commentedon Aug 7, 2023
Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to update the version number on
release-5.2to5.2.1-rcfor you. Here's the link to my best guess at the log.eps1lon commentedon Aug 11, 2023
How template literals as computed properties on objects are now typed as literals instead of strings seems to not be mentioned in the changelog:
Playground Link 5.2.0-beta
vs
Playground Link 5.1.6
Seems like a good change but probably worth mentioning.
Andarist commentedon Aug 11, 2023
If im not mistaken this was changed by #53907
eps1lon commentedon Aug 14, 2023
Also positive change: referencing const enums in template literal types used to error under
--isolatedModulesbut doesn't anymore:Playground Link
DanielRosenwasser commentedon Aug 20, 2023
TypeScript Bot (@typescript-bot) bump release-5.2
typescript-bot commentedon Aug 20, 2023
Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to update the version number on
release-5.2to5.2.2for you. Here's the link to my best guess at the log.dimatakoy commentedon Aug 25, 2023
Version 5.2.2 is already available on npm, but I don't see a corresponding tag and release/changelog in this repository. Can you add the actual release here on the github?
DanielRosenwasser commentedon Aug 25, 2023
It's tagged now - but can I ask what you all use the tag for?
timbuckley commentedon Aug 25, 2023
Speaking for myself: Github watch notifications on release tags to know when new releases happen.
dimatakoy commentedon Aug 26, 2023
— Release notifications / changelogs
— Easy way to compare releases
RHOOPH commentedon Sep 5, 2023
I've upgraded to 5.2.2 but still shows error.
Property 'toSpliced' does not exist on type 'string[]'. Did you mean 'splice'?Am i missing something? Tim (@timbuckley)
timbuckley commentedon Sep 5, 2023
Kowshik Achar (@RHOOPH) I think your runtime (whether browser or Node) still needs to use
toSpliced, independent of whether TypeScript understands that type (which it only does after5.2).Node v20 is the first Node version to support it, for example. Scroll down to that line in this compatibility chart: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#browser_compatibility
sacru2red commentedon Oct 5, 2023
target should set to esnext. In tsconfig.json