Difference between revisions of "Stable branch updates"

From Inkscape Wiki
Jump to navigation Jump to search
(New page: = 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...)
 
Line 7: Line 7:
 
== Acceptable Changes for Stable Releases ==
 
== 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 or data loss are excellent candidates.
+
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.
  
 
Feature changes, minor fixes, and cosmetic changes generally are not appropriate for the stable branch, except in exceptional circumstances.
 
Feature changes, minor fixes, and cosmetic changes generally are not appropriate for the stable branch, except in exceptional circumstances.
Line 19: Line 19:
 
== Nominating Patches for the Stable Branch ==
 
== 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), you can mark it to be put in to the release via the 'Nominate for release' link (or 'Target to release' if you're an admin)The release manager will review these and accept or decline them. Once they are accepted, they will also be incorporated into the release 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.
 +
 
 +
4Make 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.

Revision as of 00:45, 7 March 2008

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.

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.