diff options
Diffstat (limited to 'Documentation/development/stable-release-policy.md')
-rw-r--r-- | Documentation/development/stable-release-policy.md | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Documentation/development/stable-release-policy.md b/Documentation/development/stable-release-policy.md new file mode 100644 index 0000000..556b20e --- /dev/null +++ b/Documentation/development/stable-release-policy.md @@ -0,0 +1,80 @@ +# Stable Release Policy # + +This document defines the project requirements that must be satisfied in order to create a new +stable release of the KiCad project. It is designed to be a reference for developers and user's +so that both groups expectations are understood. This document is only to be modified by the +project leader or at the request of the project leader. It should be noted that this policy is +not cast in stone and at any time in the future, should the decision be made by the project at +large that it can be revised to suit the ongoing needs of the project and it's users. + +The current release policy is to support the concept of a lightweight stable release. The goal +is to provide regular stable releases of KiCad without the burden of trying to provide long term +support of a full stable release branch. Therefore, once a new release is created, the only +patches that will be made to the stable release branch will be for bugs that cause KiCad to crash +or possible corruption and/or loss of data. No other changes from the current development branch +will be backported to the last stable release by the project. + +[TOC] + +# Stable Release Interval # {#stable_release_interval} + +The criteria required for new stable releases is based on the developers decision that enough +new features and/or improvements have been made to the current development branch to justify a +new stable release. This decision is completely discretionary and can be proposed at any time +by any developer on the KiCad developers mailing list. Once a request for a new stable release +is made, a consensus must be reached by the primary developers to proceed with the release with +the final decision and announcement being made by the project leader. + + +# Feature Freeze # {#feature_freeze} + +Once the announcement has been made that a new stable release is in effect, the current +development branch is frozen. No new features or potentially disruptive core code changes can +be committed with out approval of the primary developers and/or the project leader. + +# Bug Fixing # {#bug_fixing} + +After the development branch has been frozen, work will continue to fix bugs reported against +the development branch. Bugs will be prioritized based on their severity. All bugs that cause +KiCad to crash or cause loss and/or corruption of data must be fixed. All other bugs must be +evaluated to see if they fit into the scope of the stable release. All bugs that fit into the +scope of the stable release will be tagged and must be fixed. All other bugs will be tagged for +the next stable release and fixed when it is convenient. Once the stable release is officially +announced, the bugs tagged as "Fix Committed" that are relevant to the stable release will be +changed to "Fix Released". + +# User Documentation # {#user_docs} + +The user documentation will be updated to reflect the current changes in the code. This includes +all new features, any behavioral changes to existing features, and all screen shots as required. +Completion of the English version of the user documentation is minimum that is required for +release. Foreign language translations can be released at any time as the become available. + +# Stable Release Series Branch # {#stable_branch} + +Once the primary developers decide that the stable release criteria has been met, a new series +branch will be created from the current product branch on Launchpad. At this time the freeze +will be removed from the product branch and normal development can resume. The stable release +version will be incremented from the previous stable release and tagged in the stable release +branch build configuration. + +# System Installers # {#system_installers} + +To proved the best user experience for platforms that do not have package managers, full system +installers will be provided. Currently this only pertains to Windows and OSX. The full system +installers will include all KiCad binary files, all binary library dependencies, user +documentation, component libraries, 3D model libraries, demo project files, and project template +files. Optionally, the footprint libraries can be included for users who prefer not us use the +GitHub plugin. + +# Source Archives # {#source_archives} + +To provide a convenient method for system packagers to build KiCad from known stable sources, +source archives in the most common formats along with the resulting md5sum checksum will be +added to either the KiCad developer's site on Launchpad or the main website at www.kicad-pcb.org. + +# Stable Release Announcement # {#announcement} + +Once all of the above tasks have been completed, the project leader will post an announcement on +the developers mailing list and the Launchpad site. This announcement should include a list of +new features and improvements made since the previous stable release. |