Skip to content

TypeScript 3.6 Iteration Plan #31639

@DanielRosenwasser

Description

@DanielRosenwasser

This document outlines our focused tasks for TypeScript 3.6, 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.

Note that this release shifts TypeScript from a 2-month release cycle to a 3-month release cycle.

Dates

  • 3.5 ships (May 29th)
  • TypeScript 3.6 Beta
    • Snap on July 12th
      • Kick off build for CTI
    • Release on July 16th
  • First VS Code Insiders Build: August 1st?
  • TypeScript 3.6 RC
    • Snap on August 9th
      • Kick off build for CTI
      • Kick off insiders for VS Code
    • Release on August 13th
  • TypeScript 3.6 Final
    • Snap on August 23rd
      • Kick off build for CTI
      • Kick off insiders for VS Code
    • Release on August 27th 🚀

Work Items

Expected Work Items

Deferred Work Items

None from planning meeting


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)

General (compiler/infrastructure/reliability)

  • Bugs bugs bugs
    • We simply haven't caught up with these from 3.4/3.5.
    • Committed ✅
  • Strongly typed iterators and generators
    • PR out ✅
  • Stricter types for IteratorResult
    • PR out. ✅
  • ECMAScript private instance fields
    • PR out. ✅
  • APIs for composite projects (--build mode)
    • PR out. ✅
  • More accurate array spread.
    • PR out. ✅
  • UX on Promises
    • High value for all users, useful to partner teams.
    • Committed ✅
  • Investigate TypeScript plugin APIs 🏃
    • Ongoing.
  • --declaration and --allowJs
    • Concerns with edge cases.
    • Can use the GitHub crawler to see how stable it is.
    • Do the work and let the crawler find the tail of bugs before we're ready to commit. ✅
  • Testing infra
    • Automated testing infrastructure for language service on real world code and DefinitelyTyped
    • Test tiering - faster local tests, longer CI runs
    • Release process overhaul
      • Need to enable automated cherry-picking.
      • Enable experimental feature branching
      • Must document the process here.
      • typescript-bot commenting that PRs don't have associated issues with a milestone.
    • All of these, yes ✅
  • Migrate repo to ESLint
    • ✅ Seems doable, @a-tarasyuk seems interested in helping!

Productivity

Metadata

Metadata

Assignees

No one assigned

    Labels

    PlanningIteration plans and roadmapping

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions