You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document outlines our focused tasks for TypeScript 3.5, 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
Here's the release plan.
May 10th: Create a release-3.5 branch, and update the version to 3.5.0-rc. master is locked from receiving new feature-work that is not 3.5-bound.
Start a build of TypeScript for Visual Studio for our remote testing team.
May 15th: Last day to adjust the release-3.5 branch with any feedback we receive.
Kick off a final Visual Studio build if necessary.
(2pm Pacific) Produce an insiders release for VS Code.
Morning of May 16th: The release candidate goes out.
May 24th: Merge master into release-3.5 one last time, finalize the version as 3.5.1. master is unlocked. Critical changes for 3.5 must be ported in.
Start a build of TypeScript for Visual Studio for our remote testing team.
May 29th: Last day to adjust the release-3.5 branch with any feedback we receive.
Kick off a final Visual Studio build if necessary.
(2pm Pacific) Produce an insiders release for VS Code which is identical to the final release.
Feedback from customer interviews and social media.
Visual Studio and Visual Studio Code feedback and new functionality demands
Actionable PRs (need to make a call)
Bug backlog
General (compiler/infrastructure/reliability)
Negated types
Rationale: Core type system
Uses: control flow analysis on generic/"higher order" types
Problems: But you end up with lots of vacuous intersections that are "garbage" types.
Will likely lead to a tail of bugs, at least initially
Action item: need to prototype, see what sort of breakage we see with implementations of integration with control-flow analysis, and see what the perf impact is.
β Work on this.
Arbitrary index signatures
Rationale: Core type system
Not a must for negated types
But like to get them done first.
Also need a unifying concept between them and mapped object types.
Resolution: Defer
Compiler API prototyping
Rationale: minification, 3rd party tools integration
In progress
β
Expecting --incremental build issues
Rationale: Stability, scaling, performance
β
Crawler work for testing TSServer
Rationale: Stability
Context:
IntelliCode team crawls public code to train on, but leverages TSServer.
Turns out that it was a great way to test TSServer and catch bugs!
We want to leverage it to get a good litmus that it's stable.
Give partner teams assurance that they can adopt nightly TypeScripts.
β
TSLint -> ESLint migration
Internal engineering
β
New engineer starting!
Ramping-up bugs
Website
Education and UX
β
globalThis-related work
Bug and standards involvement
Issues with block-scoped declarations interfacing with the global object.
This document outlines our focused tasks for TypeScript 3.5, 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
Here's the release plan.
release-3.5branch, and update the version to3.5.0-rc.masteris locked from receiving new feature-work that is not 3.5-bound.release-3.5branch with any feedback we receive.masterintorelease-3.5one last time, finalize the version as3.5.1.masteris unlocked. Critical changes for 3.5 must be ported in.release-3.5branch with any feedback we receive.Work Items
Expected Work Items
globalThisexpressivity fixes--incrementalfixes and improvements--declarationand--allowJs--declarationand--isolatedModules--incrementaland composite projects (--buildmode) π(ππ»β means work has already started)
Deferred Work Items
Planning Meeting Notes
Motivations
General (compiler/infrastructure/reliability)
Negated types
Arbitrary index signatures
Compiler API prototyping
Expecting
--incrementalbuild issuesCrawler work for testing TSServer
TSLint -> ESLint migration
New engineer starting!
globalThis-related work--declarationwith--allowJs--declarationwith--isolatedModulescomposite.Productivity
<T>(x: T): { value: T }