Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

TypeScript 3.5 Iteration Plan #30555

Copy link
Copy link

Description

@DanielRosenwasser
Issue body actions

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.

  1. 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.
    1. Start a build of TypeScript for Visual Studio for our remote testing team.
  2. May 15th: Last day to adjust the release-3.5 branch with any feedback we receive.
    1. Kick off a final Visual Studio build if necessary.
    2. (2pm Pacific) Produce an insiders release for VS Code.
  3. Morning of May 16th: The release candidate goes out.
  4. 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.
    1. Start a build of TypeScript for Visual Studio for our remote testing team.
  5. May 29th: Last day to adjust the release-3.5 branch with any feedback we receive.
    1. Kick off a final Visual Studio build if necessary.
    2. (2pm Pacific) Produce an insiders release for VS Code which is identical to the final release.
  6. May 30th: Announcing TypeScript 3.5 🚀

Work Items

Expected Work Items

(🏃🏻‍ means work has already started)

Deferred Work Items


Planning Meeting Notes

Motivations

  • Goals and current 6-month roadmap
  • GitHub user feedback (👍s)
  • 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.
  • --declaration with --allowJs

    • TypeScript beyond TypeScript
    • ✅ 🎉
  • --declaration with --isolatedModules

    • User demand
    • Aside: Ensure this all works with composite.
    • Resolution: investigate

Productivity

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    PlanningIteration plans and roadmappingIteration plans and roadmapping

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.