Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeScript 3.8 Iteration Plan #34898

Closed
DanielRosenwasser opened this issue Nov 4, 2019 · 25 comments
Closed

TypeScript 3.8 Iteration Plan #34898

DanielRosenwasser opened this issue Nov 4, 2019 · 25 comments
Labels
Planning Iteration plans and roadmapping

Comments

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented Nov 4, 2019

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
@mohsen1
Copy link
Contributor

mohsen1 commented Nov 12, 2019

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.

@dragomirtitian
Copy link
Contributor

@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.

@rusco
Copy link

rusco commented Dec 23, 2019

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

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

@Jack-Works
Copy link
Contributor

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

@Kingwl
Copy link
Contributor

Kingwl commented Jan 3, 2020

JIT deoptimization analysis

more info? it's a bit confusing🤔

@markusjohnsson
Copy link
Contributor

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

@orta
Copy link
Contributor

orta commented Jan 17, 2020

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

@ExE-Boss
Copy link
Contributor

Can we get #36263 into TypeScript 3.8?

@w0rp
Copy link

w0rp commented Jan 24, 2020

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. 😄

@DanielRosenwasser
Copy link
Member Author

DanielRosenwasser commented Jan 24, 2020

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.

@orta
Copy link
Contributor

orta commented Jan 24, 2020

I've added it back with microsoft/TypeScript-wiki#246

@w0rp
Copy link

w0rp commented Feb 2, 2020

Thanks a lot, I appreciate that.

@joscha
Copy link
Contributor

joscha commented Feb 5, 2020

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?

@David-Else
Copy link

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

@LittleStoney
Copy link

Thanks

@DanielRosenwasser
Copy link
Member Author

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.

@DanielRosenwasser
Copy link
Member Author

@typescript-bot bump release-3.8

@typescript-bot
Copy link
Collaborator

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

@DanielRosenwasser
Copy link
Member Author

Bad bot, I hate you.

@DanielRosenwasser
Copy link
Member Author

@typescript-bot bump release-3.8

@typescript-bot
Copy link
Collaborator

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.

@DanielRosenwasser
Copy link
Member Author

Good bot, you and I seem to have a good sense of how versioning works.

@DanielRosenwasser
Copy link
Member Author

@typescript-bot bump release-3.8

@typescript-bot
Copy link
Collaborator

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.

@DanielRosenwasser DanielRosenwasser unpinned this issue Mar 3, 2020
@DanielRosenwasser
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Planning Iteration plans and roadmapping
Projects
None yet
Development

No branches or pull requests