Skip to content

Transition to 6.0 Maintenance Mode #62963

@RyanCavanaugh

Description

@RyanCavanaugh

As detailed in our blog post, TypeScript 6.0 serves as a bridge release before TypeScript 7.0, and will be the last scheduled release based on the JavaScript codebase.

Our core priorities going forward are to get a "feature complete" TypeScript 7.0 in everyone's hands, and finalize TypeScript 6.0, as soon as possible. TypeScript 7.0+ is the future of TypeScript development and we want to ensure we're doing everything we can to focus on that goal.

The thousands of community PRs we've merged over the years have been integral to making TypeScript what it is today. We recognize that many of you have invested significant time and effort in pull requests that are currently in progress, and we deeply appreciate that work.

The native rewrite in Go represents an unavoidable discontinuity in development, and the logistical challenge of maintaining two codebases means we have to make some difficult decisions about work that occurred prior to the 7.0 transition. In particular, this means most PRs currently open against the JavaScript codebase won't be merged. We know this may be frustrating to hear, but hope that you'll continue to help us in the Go codebase going forward.

PR Merge Criteria for 6.0

We're accepting a very limited set of changes to ensure stability and minimize coordination overhead between codebases, so that we can get 7.0 ready as soon as possible. For TypeScript 6.0, this means that PRs need to be one of the following:

  • Necessary work related to intentional 6.0 breaks or deprecations (e.g. see #54500)
  • Critical fixes to regressions from recent releases (e.g. worked in 5.6 but started failing in 5.8 or 5.9) that significantly impact users
  • Changes needed to align 6.0 and 7.0 behavior (e.g., deprecation warnings, compatibility fixes)
  • Crashes that repro in both 6.0 and 7.0 and have a portable fix
  • Non-disruptive lib.d.ts changes

PRs that don't meet these criteria won't be merged into 6.0, and thus will be automatically closed in the coming weeks.

Thank you for all the fantastic contributions to TypeScript over the years. We know this transition requires extra effort from our community, and we genuinely appreciate your patience and willingness to adapt. We're committed to making the porting process as smooth as possible, and look forward to your continued participation as TypeScript's journey continues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Meta-IssueAn issue about the team, or the direction of TypeScript

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions