Stable branch updates

From Inkscape Wiki
Revision as of 19:04, 13 December 2011 by User8192 (talk | contribs) (moved StableBranchUpdates to Stable branch updates: This is a MediaWiki wiki; it doesn't need CamelCase to create wikilinks and spaces in article names are allowed.)
Jump to navigation Jump to search

Stable Branch Updates

After an Inkscape 0.XX.0 release, we sometimes later put out one or more Stable Releases (0.XX.1, 0.XX.2, ...) containing important bug fixes.

The Stable Branch is where we gather these changes to prepare for a Stable Release.

Acceptable Changes for Stable Releases

For the stable release branch, we are looking for fixes to highly important problems. In particular, bugs that result in crashes, data loss, security vulnerabilities, severe regressions, or failure to build or install on some platforms are excellent candidates. Translation updates are okay too.

Feature changes, minor fixes, and cosmetic changes generally are not appropriate for the stable branch, except in exceptional circumstances.

Marking a Bug Needing Fixed in a Stable Release

If you run across a serious bug that definitely meets the criteria for the stable release, please 'milestone' it in Launchpad for the next stable release. This can be done by clicking the down arrow under Affects, and select the appropriate milestone in the Milestone dropdown.

Milestoned bugs will be reviewed by the release manager. Some may be postponed to a later milestone if it is not fixable in time, or have its milestone dropped if it's not considered critical enough.

Nominating Patches for the Stable Branch

If you have a patch for a bug that meets the criteria for the stable release (even if it is not milestoned), prepare it as described below for review and incorporation into the release branch.

Updating Bug Report

1. Verify there is an existing bug report for the patch. If not, create a new one and attach the patch.

2. Verify the issue is fixed in the current development trunk, and its bug report task is "Fix Committed" or "Fix Released". This way, developers focusing on trunk know the issue is taken care of.

3. Use the 'Nominate for release' link (on the left side of the bug report) to mark the bug as a candidate for the Stable Release. This will add a "release task" so the stable release team can track it.

4. Make sure the bug report contains the following information:

* Description of the problem and why it's so severe it needs to go in the stable release
* Steps for reproducing the issue, including test cases or screenshots as appropriate
* Explanation of what the patch does, and why that fixes the issue
* Discussion about regression potential and how it could inadvertently affect users

Preparing Patches

Please create your patches using the following approach:

diff -Nurp inkscape-0.46/src/path/foobar.cpp inkscape-new/src/path/foobar.cpp > patchname.patch

This is the style used by Linux distro packagers, so preparing your patch this way enables them to cherry pick our Stable Release patches for backporting.