Repository navigation
Closed
Labels
PlanningIteration plans and roadmappingIteration plans and roadmapping
Description
This document outlines our focused tasks for TypeScript 5.1. 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 |
|---|---|
| March 16th | TypeScript 5.0 Release |
| April 14th | Create 5.1 Beta (5.1.0) Build for Testing |
| April 18th | TypeScript 5.1 Beta Release |
| May 12th | Create 5.1 RC (5.1.1) Build for Testing |
| May 18th | TypeScript 5.1 RC Release |
| May 26th | Create 5.1 Final (5.1.2) Build for Testing |
| May 30th | TypeScript 5.1 Final Release 🚀 |
gantt
dateFormat YYYY-MM-DD
TypeScript 5.0 Stabilization Period : 2023-02-24, 2023-03-10
TypeScript 5.1 Beta Development : 2023-02-27, 2023-04-14
TypeScript 5.1 RC Development : 2023-04-14, 2023-05-12
TypeScript 5.1 Stabilization Period : 2023-05-12, 2023-05-26
todayMarker stroke-width:5px,stroke:#0f0,opacity:0.5
Compiler
usingDeclarations- Investigate Improved Inference and Checking Between Overloads
- Investigate Consulting JSX Factories
- Improved
typeRootsBehaviors - Investigate Custom File-Watching
lib.d.tsUpdates
Language Service
- Move to Existing File
- Mirror Cursor for JSX
@paramSnippet Completions- Auto-Separating Object Literal Completions
- Support Go to Source Definition UX Improvements
- Organize Type Imports
- Automatic Type Acquisition in Web Contexts
- Address Crawler-Detected Crashes
Performance
- Expand Performance Suite
- Optimize JSDoc Parsing
- Reduce Path Probing During Resolution
- Investigate Caching Resolutions in
.tsbuildinfo - Tooling for Inline Cache and Hidden Class Analysis
Infrastructure
Website
Reacted by ExE Boss, Clemens Ley, Vitaliy Ryaboy, CoderHXL, Changwoo Yoo, 吉凯, Alexander Kachkaev, Gao Sun, roottool, eczn* and 18 more
Reacted by CoderHXL
Reacted by Toni Villena, Will Slattum, Thomas Orlowski, Kirill Groshkov, Maxime Richard, Andrii Oriekhov, lin72h, ExE Boss, Steven, Vlad Sazonau and 11 more
Reacted by Toni Villena, ExE Boss, Mouad Ennaciri, Vitaliy Ryaboy, CoderHXL, Ghislain B., Cosimo Chellini, Chuck Driesler, electron-space, Sadegh Barati and 4 more
Reacted by Toni Villena, lin72h, ExE Boss, Vitaliy Ryaboy, CoderHXL, Bulat, Remy, JD Solanki, Sadegh Barati and Steffen Schroeder
Reacted by wenchong, Alex Yang, Vitaliy Ryaboy, CoderHXL, Yves M. and Anton Fjodorov
Metadata
Metadata
Assignees
Labels
PlanningIteration plans and roadmappingIteration plans and roadmapping
Activity
DanielRosenwasser commentedon Mar 1, 2023
The previous Iteration Plan for TypeScript 5.0 is available here.
minecrawler commentedon Mar 1, 2023
How possible is it to investigate #13219 for release 5.1? This feature with 1200+ likes has been open since 2016.
While I understand that a full implementation of all throws clauses in all interfaces is breaking too much and may be a lot of manual work, just implementing support for this proposal for library authors and application developers may be enough. Once it sees adoption, adding support for core JS calls in a later release will be a lot smoother and could until then even be done using third-party or opt-in type declarations hosted on NPM.
alpharder commentedon Mar 1, 2023
Please fix this #9619 issue existing from 2016
RyanCavanaugh commentedon Mar 1, 2023
FYI, how long an issue has been open is not really an input to the prioritization process. Otherwise C++ would have a garbage collector, since people have been asking for it since 1986.
alpharder commentedon Mar 1, 2023
I understand and agree with your point, but it’s too generic and unrelated to what I asked for. With all respect, asking C++ to become GC’ed is incomparable to asking TS built-in types to support ECMAScript spec.
RyanCavanaugh commentedon Mar 1, 2023
My point is just that, within a few years of using a programming language, one can conceive of probably 90% of the possible features you could ever add to that language. The fact that the vast majority of as-yet-unadded features date to ca.2016 is an unremarkable facet in light of TS being somewhat widely used starting in 2013.
minecrawler commentedon Mar 2, 2023
Ryan Cavanaugh (@RyanCavanaugh)
Yes, but it's not about the age and what's in line, but about if the amount of input is enough to warrant further inspection and maybe even inclusion. Your mentioning of C++ GCs doesn't answer my question! Can we pls stay on topic: What's next for TS, is typing for throws a candidate? If not, what's missing and what steps can we take to make progress!?
DaSchTour commentedon Mar 2, 2023
There are also issues that are even older and have a lot of duplicates and are still not solved. I would love to see #299 fixed. It's even a three digit number.
But actually I doubt that it will ever be fixed.
k4b7 commentedon Mar 2, 2023
Is there any chance that #19139 could be considered for inclusion in 5.1 or maybe 5.2? 🙏
fatcerberus commentedon Mar 2, 2023
TypeScript 5.1. 5 + 1 = 6. 6 is half of 12. There are 12 eggs in a dozen. TS 5.1 beta is coming out 2 days after easter. 12 + 2 = 14, but the Easter bunny will steal 1 egg so therefore there will be 13 eggs. A baker's dozen. But also 13 is an unlucky number. So TS 5.1 will be very unlucky for bakers and therefore should implement typing for all bread-related code to prevent bakers from losing their jobs
...okay, that's enough of that
olivermrose commentedon Mar 2, 2023
Did someone say bread 👀
reverofevil commentedon Mar 3, 2023
Maru Alka (@minecrawler)
Anders Hejlsberg (@ahejlsberg) gave a very clear reasoning of why
throwsis not going to become a part of the language: because in order for those to work, you have to specify how higher-order functions handlethrowsfrom their functional arguments, and he doesn't think adding these annotations to every.d.tson DefinitelyTyped is viable.If anyone also remembers the interview and still has a link at hand, please, share.
reverofevil commentedon Mar 3, 2023
I should mention that C++ is developed by a committee, and the choice of features to be or not to be developed is done in the open. While there are Iteration Plans regularly posted here and even logs of Design Meetings, reasons behind feature discussion and implementation are completely opaque.
For example, JSX factories ticket was not only discussed previously, but also implemented. Then it was closed after 3 years without any review because it was "old". So in which situations age matters and in which it doesn't? Were JSX factories important in 2019, became unimportant afterwards, and then suddenly became important again in 2023? Well, we don't know anything about it.
78 remaining items
fix(deps): update dependency typescript to v5.6.2
fix(deps): update dependency typescript to v5.6.2
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3
fix(deps): update dependency typescript to v5.6.3