1 @c -*- coding: us-ascii; mode: texinfo; -*-
7 * Minor release checklist::
8 * Major release checklist::
13 @node Development phases
14 @section Development phases
16 There are 2.5 states of development for LilyPond.
20 @item @strong{Stable phase}:
21 Starting from the release of a new major version @code{2.x.0}, the
22 following patches @strong{MAY NOT} be merged with master:
25 @item Any change to the input syntax. If a file compiled with a
26 previous @code{2.x} version, then it must compile in the new
29 @item New features with new syntax @emph{may be committed},
30 although once committed that syntax cannot change during the
31 remainder of the stable phase.
33 @item Any change to the build dependencies (including programming
34 libraries, documentation process programs, or python modules used
35 in the buildscripts). If a contributor could compile a previous
36 lilypond @code{2.x}, then he must be able to compile the new
41 @item @strong{Development phase}:
42 Any commits are fine. Readers may be familiar with the term
43 @qq{merge window} from following Linux kernel news.
46 @item @strong{Release prep phase}:
47 FIXME: I don't like that name.
49 A new git branch @code{stable/2.x} is created, and a major release
54 @item @code{stable/2.x branch}:
55 Only translation updates and important bugfixes are allows.
58 Normal @qq{stable phase} development occurs.
62 If we discover the need to change the syntax or build system, we
63 will apply it and re-start the release prep phase.
67 This marks a radical change from previous practice in LilyPond.
68 However, this setup is not intended to slow development -- as a
69 rule of thumb, the next development phase will start within a
70 month of somebody wanting to commit something which is not
71 permitted during the stable phase.
75 @node Minor release checklist
76 @section Minor release checklist
78 A @qq{minor release} means an update of @code{y} in @code{2.x.y}.
80 email brief summary to info-lilypond
84 @node Major release checklist
85 @section Major release checklist
87 A @qq{major release} means an update of @code{x} in @code{2.x.0}.
91 * write release notes. note: stringent size requirements for
92 various websites, so be brief.
94 * write preface section for manual.
96 * submit pots for translation : send url of tarball to
97 translation@@iro.umontreal.ca, mentioning lilypond-VERSION.pot
101 * Check all 2ly scripts.
103 * Run convert-ly on all files, bump parser minimum version.
105 * Make FTP directories on lilypond.org
108 - Make new table in download.html
110 - add to documentation list
112 - revise examples tour.html/howto.html
114 - add to front-page quick links
116 - change all links to the stable documentation
118 - doc auto redirects to v2.LATEST-STABLE
123 comp.os.linux.announce
130 info-lilypond@@gnu.org
132 linux-audio-announce@@lists.linuxaudio.org
133 linux-audio-user@@lists.linuxaudio.org
134 linux-audio-dev@@lists.linuxaudio.org
136 tex-music@@icking-music-archive.org
139 abcusers@@blackmill.net
141 rosegarden-user@@lists.sourceforge.net
143 noteedit-user@@berlios.de
145 gmane.comp.audio.fomus.devel
146 gmane.linux.audio.users
147 gmane.linux.audio.announce
148 gmane.comp.audio.rosegarden.devel
155 http://www.apple.com/downloads
156 harmony-central.com (news@@harmony-central.com)
157 versiontracker.com [auto]
163 @node Making a release
164 @section Making a release
169 Build with GUB, and check the regtests.
172 Upload the tarballs and sh scripts.
176 Branch MASTER to stable/2.x.