TypeScript 3.8 Iteration Plan

Created on 4 Nov 2019  ·  25Comments  ·  Source: microsoft/TypeScript

This document outlines our focused tasks for TypeScript 3.8, as well as some of the discussion that explains how/why we prioritized certain work items. Nothing is set in stone, but we will strive to complete them in a reasonable timeframe.

Dates

Date | Event
--------------|------------------------
November 5th | TypeScript 3.7 Release
January 3rd | Create 3.8 Beta (3.8.0) Build for Testing
January 8th | TypeScript 3.8 Beta Release
January 31st | Create 3.8 RC (3.8.1) Build for Testing
February 4th | TypeScript 3.8 RC Release
February 14th | Create 3.8 Final (3.8.2) Build for Testing
February 18th | TypeScript 3.8 Final Release 🚀

Work Items

Expected Work Items

Deferred Work Items

  • Interactive diagnostics

Planning Meeting Notes

Motivations

  • Bug backlog
  • Goals and current 6-month roadmap
  • GitHub user feedback (👍s)
  • Feedback from customer interviews, social media, past iteration plans
  • Visual Studio and Visual Studio Code feedback, as well as new functionality demands
  • Actionable PRs (need to make a call)

Notes

  • Compiler Features

    • New Export Forms

    • Top-Level Await

    • Private Fields (Flagged?)

    • Address anticipated feedback from 3.7

    • Lib Updates?

    • Declaration emit



      • UX


      • Performance



    • Bug Squashing!



      • Debt reduction for addressing bugs


      • Awareness of release



  • Performance

    • Investigate async file-writing

    • Plugin Investigation: async plugins?

    • Declaration emit

    • updateGraph details in TSServer responses



      • Provides easier analysis for TSServer performance problems.


      • Requires synchronization with editor teams.



    • Investigate recompilation speed



      • tsc --watch isn't as fast as gulp-tsb (because it's less accurate). Is there a fast and loose mode?



  • Tooling

    • dts-downlevel



      • Several library authors have explained that it is hard to support older versions of TypeScript while using the latest.


      • .d.ts files keep artifacts of your version of TS even when "uninteresting" for older versions of TS.


      • Goes back to long-standing request (e.g. readonly properties broke earlier versions of TS)


      • Enabled by typesVersions



    • Editor Productivity



      • Interactive diagnostics ❌





        • Probably won't be able to prioritize during this release.





      • Investigate performance improvements





        • Cross-file go-to-definition







          • Noticed in partner team codebases







        • Request refactorings less often





      • Investigate automatic editor migrations





        • Do existing tools solve the problem?



        • Can we do a good job in the editor?







          • CD & App building









      • Leave room open to refactoring discoverability and triggers.





        • Refactorings without spans might need to be triggerable.





      • Refactorings





  • Infrastructure

    • Triage & Scheduling

    • Weekly Status Mails for Bug Reduction

    • JIT deoptimization analysis



      • VS Code extension


      • CI integration (e.g. @typescript-bot what deoptimizes?)





        • Will be learning here from general perf investigations. Not certain if this will be useful.






    • extendedDiagnostics diffs on PRs

    • GitHub Package Registry publishing for @types.

    • Expand version list for crash dumps



      • We should be looking at beta and RC.



  • Documentation

    • Handbook

    • Website

    • Contributing Guidelines

Planning

Most helpful comment

Just as a heads up, because the RC moved out a bit, and because of Presidents Day yesterday, we're aiming for Thursday for the final release.

All 25 comments

I see "async?" for compiler plugins. That should be the case, at least for GraphQL. GraphQL type generation is currently async because it can be dependent on a network request to the API endpoint for introspection.

@DanielRosenwasser will you be adding the feature list to the Roadmap? It is very useful to have a single spot with all major features in each version.

@DanielRosenwasser It should be February 2020 in the roadmap ! 🐛

https://github.com/microsoft/TypeScript/wiki/Roadmap#38-february-2019

Hope to get any new reviews for #35148 I've fully rewritten it 🧐

JIT deoptimization analysis

more info? it's a bit confusing🤔

I remember seeing 3.8 on the Roadmap, but now it says Orta edited this page on 5 Nov 2019, why was it reverted?

It might not have been added to the page in the TypeScript-wiki repo and got overwritten at some point, shame

Can we get https://github.com/microsoft/TypeScript/pull/36263 into TypeScript 3.8?

If someone could update the wiki again, I would appreciate it. I have a habit of checking the roadmap wiki page now and again to look for changes I have to plan for, if I want the latest stuff. :smile:

Some CI task erased my work on the wiki via a force push, so please be patient as we figure that one out. Sorry for the confusion there.

Thanks a lot, I appreciate that.

with the new import type syntax (I can't actually see where this is mentioned here) in 3.8, we do need to update preProcessFile to be able to resolve imports properly (e.g. produce tests for https://github.com/microsoft/TypeScript/blob/master/src/testRunner/unittests/services/preProcessFile.ts and implemement fixes) - is this already tracked somewhere?

Bit of a delay with TypeScript 3.8 RC... coming soon?

Thanks

Just as a heads up, because the RC moved out a bit, and because of Presidents Day yesterday, we're aiming for Thursday for the final release.

@typescript-bot bump release-3.8

Heya @DanielRosenwasser, the branch 'release-3.8' had a package.json, but it didn't seem to be valid JSON.

Bad bot, I hate you.

@typescript-bot bump release-3.8

Heya @DanielRosenwasser, I've started to update the version number on release-3.8 to 3.8.21 for you. Here's the link to my best guess at the log.

@typescript-bot bump release-3.8

Heya @DanielRosenwasser, I've started to update the version number on release-3.8 to 3.8.3 for you. Here's the link to my best guess at the log.

The 3.9 Iteration Plan is out at #37198, thanks all!

Was this page helpful?
0 / 5 - 0 ratings