TypeScript 5.2 Iteration Plan #54298
Description
Activity
- addedPlanningIteration plans and roadmappingIteration plans and roadmapping
on May 17, 2023 - pinned this issue
on May 17, 2023 DanielRosenwasser commented
on May 18, 2023 MemberAuthorMore actionsThe previous Iteration Plan for TypeScript 5.1 is available here.
Are there any plans or discussions regarding #53656?
Reacted by Niklas Mischkulnig, Tom, Joshua, Tylor Steinberger, Jochen Kühner and mdhAlso interested if you have any plans regarding #41316? Working on libraries seems impossible without it sometimes.
Reacted by Jesper Engberg, virtuallyunknown, Abhinav Achha, Alex, whzx5byb, Tiago Cerqueira and Alexey SelivanovReacted by Jesper Engberg- Reacted by lin72h and Luke Deen Taylor
DanielRosenwasser commented
on Jun 27, 2023 MemberAuthorMore actionsTypeScript Bot (@typescript-bot) sync release-5.2 and LKG
typescript-bot commented
on Jun 27, 2023 ContributorMore actionsHeya 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 commented
on Jun 27, 2023 ContributorMore actionsI'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?
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.
Here's the link to my best guess at the log.
What the… what even kind of bot is this
Bad botReacted by Daniel Rosenwasser, Toni Villena, Jesper Engberg, Ryan Johnson, Luke Stevens, Kirill Groshkov, Degubi and Waqas TahirNot 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-copyReacted by virtuallyunknown, Aleksandr Slepchenkov, Sergey Kozlov, Sebastian Leukhin - mallchel, Marcus Hansson, Tim, Gaspar Dip, Takuya Fukuju, Andrii Oriekhov and talkohavyReacted by lin72h, 湫曗 and Simon GolmsRyanCavanaugh commented
on Jul 7, 2023 MemberMore actionsFYI: #54923
DanielRosenwasser commented
on Aug 7, 2023 MemberAuthorMore actionsTypeScript Bot (@typescript-bot) bump release-5.2
typescript-bot commented
on Aug 7, 2023 ContributorMore actionsHeya 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 commented
on Aug 11, 2023 ContributorMore actionsHow template literals as computed properties on objects are now typed as literals instead of strings seems to not be mentioned in the changelog:
const key = 'foo' // { // foo: number; // "foo-de": string; // } const object = { [key]: 1, [`${key}-de`]: "2" } // Errors in 5.1.6 with "Property 'match' does not exist on type 'string | number'." object['foo-de'].match(/2/) object['foo'] + 1;
vs
const key = 'foo' // { // [x: string]: string | number; // foo: number; // } const object = { [key]: 1, [`${key}-de`]: "2" } // @ts-expect-error object['foo-de'].match(/2/) object['foo'] + 1;
Seems like a good change but probably worth mentioning.
Andarist commented
on Aug 11, 2023 ContributorMore actionsIf im not mistaken this was changed by #53907
Reacted by Sebastian "Sebbie" Silbermann, lin72h and Andrii Oriekhoveps1lon commented
on Aug 14, 2023 ContributorMore actionsAlso positive change: referencing const enums in template literal types used to error under
--isolatedModulesbut doesn't anymore:export declare const enum OBJECT_INDICATION_TYPE { HIGHLIGHTED_DOT = "HIGHLIGHTED_DOT" } type Values<T> = { [K in keyof T]: T[K]; }[keyof T]; export type IndicationType = `${Values<typeof OBJECT_INDICATION_TYPE>}`; // Fixed: ^^^^^^^^^^^^^^^^^^^^^^ Cannot access ambient const enums when 'isolatedModules' is enabled.(274 export {};
DanielRosenwasser commented
on Aug 20, 2023 MemberAuthorMore actionsTypeScript Bot (@typescript-bot) bump release-5.2
typescript-bot commented
on Aug 20, 2023 ContributorMore actionsHeya 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.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?
Reacted by lin72h, Andrei Karushev and TimDanielRosenwasser commented
on Aug 25, 2023 MemberAuthorMore actionsIt's tagged now - but can I ask what you all use the tag for?
It's tagged now - but can I ask what you all use the tag for?
Speaking for myself: Github watch notifications on release tags to know when new releases happen.
Reacted by Holger Jeromin, Daniel Rosenwasser, Andrei Karushev, NicoVIII and Maru AlkaIt's tagged now - but can I ask what you all use the tag for?
— Release notifications / changelogs
— Easy way to compare releasesReacted by Tim, Toni Villena, Daniel Rosenwasser, Andrei Karushev and NicoVIIINot 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
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)Reacted by lvwangyunNot 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-copyI'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)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
Reacted by sacru2redtarget should set to esnext. In tsconfig.json
- unpinned this issue
on Nov 7, 2023
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.
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.5Compiler and Language
usingDeclarationsArraymethod signature mergingtsclib.d.tsUpdatesEditor and Language Service
typeImportsPerformance
.tsbuildinfoWebsite and Docs
Infrastructure