Skip to content

TypeScript 5.5 Iteration Plan #57475

Description

This document outlines our focused tasks for TypeScript 5.5. 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
2024-03-05 TypeScript 5.4 Release
2024-04-19 Create 5.5 Beta (5.5.0) Build for Testing
2024-04-24 TypeScript 5.5 Beta Release
2024-05-31 Create 5.5 RC (5.5.1) Build for Testing
2024-06-04 TypeScript 5.5 RC Release
2024-06-14 Create 5.5 Final (5.5.2) Build for Testing
2024-06-18 TypeScript 5.5 Final Release 🚀
gantt
    dateFormat  YYYY-MM-DD
    TypeScript 5.4 Stabilization Period : 2024-02-16, 2024-03-05
    TypeScript 5.5 Beta Development : 2024-02-16, 2024-04-19
    TypeScript 5.5 RC Development : 2024-04-20, 2024-05-31
    TypeScript 5.5 Stabilization Period : 2024-06-01, 2024-06-18
todayMarker stroke-width:5px,stroke:#0f0,opacity:0.5
Loading

Compiler and Language

Editor and Language Service

Performance

Website and Docs

Infrastructure

  • Adopt --isolatedDeclarations and Parallelize TypeScript's Build

Activity

  1. DanielRosenwasser commented on Feb 22, 2024

    @DanielRosenwasser
    MemberAuthor
  2. k4b7 commented on Feb 25, 2024

    @k4b7

    How much of an impact will --isolatedDeclarations have on type checking performance in large projects?

  3. jakebailey commented on Feb 26, 2024

    @jakebailey
    Member

    None directly, in the same way that isolatedModules doesn't speed things up in and of itself.

    But, if you have code which passes isolatedModules, it can be safely transpiled by an external tool (like Babel, esbuild, swc). And similarly, code passing isolatedDeclarations can be transpiled into a declaration file by an external tool too (once one exists).

  4. jakebailey commented on Feb 26, 2024

    @jakebailey
    Member

    (This isn't to say that there can't be some speedups possible in TypeScript in the future enabled by this option, just that the flag itself is intended to just be checks.)

  5. JVKdouk commented on Mar 1, 2024

    @JVKdouk

    Hey everyone, any chance of getting #26242 in this release? It was proposed back in 2018 and there has not been much work on the issue up to this point. Getting it at least planned would already be amazing to the TS community. I believe it would substantially improve the power of TS in the long run!

  6. clearfram3 commented on Mar 1, 2024

    @clearfram3

    Just a heads up, I'm working on remaking the website using Sveltekit. Styles will be the same, but the overall structure will be simpler and much quicker to iterate on.

  7. DanielRosenwasser commented on Mar 1, 2024

    @DanielRosenwasser
    MemberAuthor

    @ClearedFram3 while I don't want to discourage experimentation, I don't think we would accept such a large PR without discussing changes ahead of time.

  8. clearfram3 commented on Mar 2, 2024

    @clearfram3

    Daniel Rosenwasser (@DanielRosenwasser) I should've said the codebase structure will be different—the website style/content structure will be the same. After the current codebase is replaced, there will ample room for discussion about changing design and content or even to a different framework haha.

  9. graphemecluster commented on Mar 7, 2024

    @graphemecluster
    Contributor

    I’ve been watching the iteration plan threads from 5.4 seeing my PR (#55600) on the list. I am on standby anytime for any necessary alternations.

  10. jwalkerinterpres commented on Mar 7, 2024

    @jwalkerinterpres

    Is there anything Typescript community members can do to influence this list?

    I think I can speak for every TS React dev on the planet when I say that #29526 (improved syntax for destructuring an argument ... like the React props argument) has languished long enough. The community has essentially reached a consensus on a desired syntax in that ticket (something that was not easy), and now all that's needed is developer will to implement.

    I can't speak for anyone else, but personally I would trade everything on the 5.5 list for this one feature!

  11. aspirisen commented on Mar 16, 2024

    @aspirisen

    A question about Investigate Recursive Object Type References
    Will it help i.e. in zustand in avoiding writing interface for the state, and instead just infer the type from the initial state (create-function argument)?

  12. jcalz commented on Mar 20, 2024

    @jcalz
    Contributor
  13. narcis-ro commented on Apr 2, 2024

    @narcis-ro

    Is there any chance after 10 years.. to introduce nameof?

    Is it super complicated? Honest question

    #1579

  14. 43 remaining items

  15. jakebailey commented on Jun 25, 2024

    @jakebailey
    Member

    These iteration plans are only a prospective list; in this case I had other critical work that preempted me working on anything tangible for LSP.

    What use case do you have where LSP would be valuable?

  16. kronodeus commented on Jun 25, 2024

    @kronodeus

    Jake Bailey (@jakebailey) We met with Daniel a few months ago to discuss our project. It's a TypeScript-based DSL with a custom file extension for which we need to implement our own VS Code extension. Our DSL is a subset of TypeScript so we need to disallow certain things and provide custom completions, etc. We implemented some of this as a tsserver plugin, but we don't want our customers to have tsconfig.json files in their projects. We don't intend to provide any of the same configuration options you get with a tsconfig.json. We have our own config file. We want them to simply install the VS Code extension and for everything to work.

    It is possible to load a tsserver plugin inside a VS Code extension without requiring the user to have a tsconfig.json, but since there is only one instance of tsserver running at a time in VS Code, this plugin would then be active for all of the user's TypeScript files unless they disable the extension.

    Our options are thus: (A) Fork the internal typescript-language-features extension, (B) implement an extension from scratch using a community-developed LSP wrapper like vtsls, or (C) implement an extension from scratch using tsserver directly with our own LSP adapter layer.

  17. jakebailey commented on Jun 25, 2024

    @jakebailey
    Member

    I don't really see how LSP would help that situation; LSP will within reason only change the way tsserver talks to the editor. It'd still be the same ProjectService under the hood, with the same gotchas. What you're describing sounds more suited to plugging into something like volar, the system that vue, mdx, etc, use to slap their custom languages on top of TS. (Not that I have any experience with it, or that it's supported by TS in any way.)

    In any case, I think this is the wrong place to discuss it (pinging everyone interested in the 5.5 release process); the update is just that "I didn't have time to work on it". The current LSP thinking is to slowly onboard calls away from the old protocol onto the new one, so it's not going to be like one day we aren't LSP and one day we are, either.

  18. DanielRosenwasser commented on Jun 26, 2024

    @DanielRosenwasser
    MemberAuthor

    TypeScript Bot (@typescript-bot) bump release-5.5 and LKG

  19. typescript-bot commented on Jun 26, 2024

    @typescript-bot
    Contributor

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

    Command Status Results
    bump release-5.5 and LKG ✅ Started ✅ Results
  20. typescript-bot commented on Jun 26, 2024

    @typescript-bot
    Contributor

    Hey, Daniel Rosenwasser (@DanielRosenwasser)! I've set the version of release-5.5 to 5.5.3 for you.

  21. DanielRosenwasser commented on Jul 1, 2024

    @DanielRosenwasser
    MemberAuthor

    5.5.3 is out with the NuGet/VS issues fixed. Thanks for your patience everyone!

  22. MunMunMiao commented on Jul 3, 2024

    @MunMunMiao

    Will #26242 be implemented in the next version, as it is so important to library developers?

  23. DanielRosenwasser commented on Jul 22, 2024

    @DanielRosenwasser
    MemberAuthor

    TypeScript Bot (@typescript-bot) bump release-5.5 and LKG

  24. typescript-bot commented on Jul 22, 2024

    @typescript-bot
    Contributor

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

    Command Status Results
    bump release-5.5 and LKG ✅ Started ✅ Results
  25. typescript-bot commented on Jul 22, 2024

    @typescript-bot
    Contributor

    Hey, Daniel Rosenwasser (@DanielRosenwasser)! I've set the version of release-5.5 to 5.5.4 for you.

  26. added a commit that references this issue on Jul 25, 2024
  27. yuhuung commented on Sep 10, 2024

    @yuhuung

    Is there any reference link for Improved Performance for Git Branch Switching Scenarios? Daniel Rosenwasser (@DanielRosenwasser) Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    PlanningIteration plans and roadmapping

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions