Skip to content

Do we need the RC release? #50999

Closed as not planned
Closed as not planned
@RyanCavanaugh

Description

@RyanCavanaugh

Our current release schedule is as follows:

  • Every night, publish a nightly from the dev branch
  • Publish a "feature-complete" beta from the dev branch roughly halfway through each milestone
  • Publish a "presumed-ready" RC (release candidate) two weeks before the final release. At this point, main becomes the new dev branch, and the release branch becomes terminal and new features can ship in the nightly
  • Publish a "ready" final release. Critical bug fixes from now on are merged into both main and release-X.Y branches
  • Publish as many patches as needed to fix critical issues found in the final release

A recent discussion made us question whether the RC release provides sufficient value to justify its place in the release cadence.

Arguments in favor of removing the RC:

  • Anecdotally, we don't get a spike in bug reports during the RC period, but do during final releases, bad nightlies, and betas. This would indicate that not many people are really kicking the tires on the RC
  • The RC period creates an awkward timeframe wherein bug fixes need to be merged into multiple branches
  • Anyone who wants a pre-release version can just as easily pick up a nightly, including a nightly build corresponding to two weeks prior to the release, and people do so
  • Effectively no one must upgrade their TypeScript version immediately; so anyone who wants a more-stable release can equally wait for two weeks (or more!) after any given release to wait for any last bugs to get ironed out

Arguments in favor of keeping the RC:

  • This creates a clear "you can't say you couldn't have tried it" window for people who want to stably upgrade ASAP
  • Ceteris paribus, the RC lets us ship new features in nightly two weeks earlier
  • If even a small number of people try it, this does reduce the number and size of patch releases

Are we missing anything? Is the RC critical to your workflow in ways we're unaware of?

Metadata

Metadata

Assignees

No one assigned

    Labels

    DiscussionIssues which may not have code impact

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions