Differences between revisions 19 and 20
Revision 19 as of 2012-10-24 06:23:27
Size: 2173
Comment:
Revision 20 as of 2013-07-25 08:02:06
Size: 2532
Editor: mpm
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
The following changes are accepted on the stable branch (at all times): The point of the freeze is to get ''everyone'' to focus on testing and bug fixes for the upcoming release, so please don't distract from that by sending RFC patches or starting feature discussions.

{i} Please be aware that translators need time to synchronize translations before releases so avoid unnecessary string changes in the last few days of the freeze

/!\ All developers should be sure to check out the stable branch after the freeze is declared (no commits on default, also don't merge stable into default)

== Rules for code freeze and stable branch commits ==

Because the code freeze is on the stable branch, the rules for each are the same. The following are allowed:
Line 35: Line 43:
{i} Please be aware that translators need time to synchronize translations before releases so avoid unnecessary string changes in the last few days of the freeze

/!\ All developers should be sure to check out the stable branch after the freeze is declared (no commits on default, also don't merge stable into default)
Everything else (including trivial cleanups) is not allowed.

Time-based Release Plan

How we manage releases.

1. Theory

Up until version 1.1, Mercurial took a "when it's ready" approach to releases. Starting with version 1.2, we've switched to a consistent calendar-based release schedule. This helps us get bug fixes and new features into our users' hands more quickly, improve our planning process, and keep our development cycles from growing stagnant.

2. Major releases

Starting with 2.0, Mercurial now follows a 3-month cycle with the following release dates:

  • Feb 1st
  • May 1st
  • Aug 1st
  • Nov 1st

3. Code Freeze

Each release cycle ends with a code freeze that starts approximately two weeks before the release date. When mpm begins the code freeze, the following things happen:

  • default branch is merged into stable
  • stable branch receives the @ bookmark to be checked out in new clones

  • one -rc testing release is made, including binary packages
  • only patches suitable for the stable branch are accepted
  • packagers should start producing nightly builds if possible

The point of the freeze is to get everyone to focus on testing and bug fixes for the upcoming release, so please don't distract from that by sending RFC patches or starting feature discussions.

{i} Please be aware that translators need time to synchronize translations before releases so avoid unnecessary string changes in the last few days of the freeze

/!\ All developers should be sure to check out the stable branch after the freeze is declared (no commits on default, also don't merge stable into default)

4. Rules for code freeze and stable branch commits

Because the code freeze is on the stable branch, the rules for each are the same. The following are allowed:

  • bug fixes
  • error message improvements
  • doc fixes
  • template fixes
  • improved translations

Everything else (including trivial cleanups) is not allowed.

5. Minor releases

Minor releases will be made by tagging the current state of the stable branch, which is continually kept in a production-ready state, except for possible issues during the early days of the freeze.

Releases will be made in a timely manner for significant behavior regressions, data integrity issues, or security issues.

Barring such issues, minor releases will be made on or about the first of every month that doesn't coincide with a major release.


CategoryDeveloper CategoryProcess

TimeBasedReleasePlan (last edited 2022-01-06 08:36:10 by RaphaelGomes)