aboutsummaryrefslogtreecommitdiffstats
path: root/meson/docs/markdown/Release-procedure.md
diff options
context:
space:
mode:
Diffstat (limited to 'meson/docs/markdown/Release-procedure.md')
-rw-r--r--meson/docs/markdown/Release-procedure.md69
1 files changed, 69 insertions, 0 deletions
diff --git a/meson/docs/markdown/Release-procedure.md b/meson/docs/markdown/Release-procedure.md
new file mode 100644
index 000000000..a7ef689c6
--- /dev/null
+++ b/meson/docs/markdown/Release-procedure.md
@@ -0,0 +1,69 @@
+# Release procedure
+
+**This page is WIP. The following procedure is not yet approved for use**
+
+# Trunk
+
+Meson operates under the principle that trunk should (in theory) be
+always good enough for release. That is, all code merged in trunk must
+pass all unit tests. Any broken code should either be fixed or
+reverted immediately.
+
+People who are willing to tolerate the occasional glitch should be
+able to use Meson trunk for their day to day development if they so
+choose.
+
+# Major releases
+
+Major releases are currently in the form 0.X.0, where X is an
+increasing number. We aim to do a major release roughly once a month,
+though the schedule is not set in stone.
+
+Before a major release is made a stable branch will be made, and
+0.X.0-rc1 release candidate will be made. A new milestone for 0.X.0
+will be made, and all bugs effecting the RC will be assigned to this
+milestone. Patches fixing bugs in the milestone will be picked to the
+stable branch, and normal development will continue on the master
+branch. Every week after after this a new release candidate will be
+made until all bugs are resolved in that milestone. When all of the
+bugs are fixed the 0.X.0 release will be made.
+
+# Bugfix releases
+
+Bugfix releases contain only minor fixes to major releases and are
+designated by incrementing the last digit of the version number. The
+criteria for a bug fix release is one of the following:
+
+ - release has a major regression compared to the previous release (making
+ existing projects unbuildable)
+ - the release has a serious bug causing data loss or equivalent
+ - other unforeseen major issue
+
+In these cases a bug fix release can be made. It shall contain _only_
+the fix for the issue (or issues) in question and other minor bug
+fixes. Only changes that have already landed in trunk will be
+considered for inclusion. No new functionality shall be added.
+
+# Requesting a bug fix release
+
+The process for requesting that a bug fix release be made goes roughly
+as follows:
+
+ - file a bug about the core issue
+ - file a patch fixing it if possible
+ - contact the development team and request a bug fix release (IRC is the
+ preferred contact medium)
+
+The request should contain the following information:
+
+ - the issue in question
+ - whether it has already caused problems for real projects
+ - an estimate of how many people and projects will be affected
+
+There is no need to write a long and complicated request report.
+Something like the following is sufficient:
+
+> The latest release has a regression where trying to do Foo using Bar
+breaks. This breaks all projects that use both, which includes at
+least [list of affected projects]. This causes problems for X amount
+of people and because of this we should do a bugfix release.