Merge lp:~vila/bzr/rm-tweaks into lp:bzr

Proposed by Vincent Ladeuil
Status: Merged
Approved by: Vincent Ladeuil
Approved revision: no longer in the source branch.
Merged at revision: 6051
Proposed branch: lp:~vila/bzr/rm-tweaks
Merge into: lp:bzr
Diff against target: 625 lines (+261/-146)
3 files modified
doc/developers/releasing.txt (+233/-146)
doc/en/release-notes/bzr-2.5.txt (+2/-0)
doc/en/whats-new/template.txt (+26/-0)
To merge this branch: bzr merge lp:~vila/bzr/rm-tweaks
Reviewer Review Type Date Requested Status
Martin Pool Needs Fixing
bzr-core Pending
Review via email: mp+68274@code.launchpad.net

Commit message

Release instructions refresh.

Description of the change

I've refreshed the release instructions based on my past
experience as RM these last months.

I think I've read this document a bit too much to not be biased
so feel free to propose your modifications as branches so I can
easily merge them.

To post a comment you must log in.
Revision history for this message
Martin Pool (mbp) wrote :

[aside] perhaps it's out of scope for this document but I wonder if we should split the more checklist like parts from the discussion.

It's spelled 'targeted' not 'targetted' despite what you may expect; also not 'targetting'.

> As of July 2010, we mantain four series (and one that is about to be EOLed).

If you're updating this I guess you mean 2011?

> relesase

typo

> 145 +#. the death of a series should be planned ahead of time

We discussed this and I believe we settled on normally stopping them after 18 months, though (as this para says) still leaving open the option to do an update if some later critical bug gets fixed. That gives up to four in flight which is enough.

> mentionning

mentioning

> practive

practice

> asssociated

associated

> chaning

changing

> A word of caution: the instructions above works well for all releases but
there is one special case that requires a bit more care: when you release
the *last* beta for a given ``x.y`` series (from trunk aka lp:bzr), you need
to setup *two* branches for the next cycle:

Since this was the main confusion this time I think perhaps it deserves a section of its own and a more explicit list of steps:

 * increment the version on trunk
 * tag the version just before you bumped the version
 * make a pqm branch from there
 * release that tagged version
 * announce that trunk is now going into the next series
(maybe more details)

I think this avoids people ever getting changes landed to the wrong place.

(perhaps some refinement of this)

> As of July 2011, bzr has applied to the technical board to be added to the `MicroReleaseExceptions
<https://wiki.ubuntu.com/StableReleaseUpdates/MicroReleaseExceptions>`__ category so that whole bugfix releases can more easily be approved.

Well, as of now we have a SRU MRE. The most useful thing here is to mention http://wiki.bazaar.canonical.com/UbuntuStableReleaseUpdates

  * ``natty`` for the 2.3 series,

You might as well also mention oneiric.

You can either treat these as tweaks or ask for a rereview.

review: Needs Fixing
Revision history for this message
Martin Pool (mbp) wrote :

Also, thanks for improving this.

Revision history for this message
Vincent Ladeuil (vila) wrote :

Inserting a comment to get separate inline diffs ;)

Revision history for this message
Vincent Ladeuil (vila) wrote :
Download full text (3.6 KiB)

> [aside] perhaps it's out of scope for this document but I wonder if we should
> split the more checklist like parts from the discussion.

I thought about it too and that's my ultimate goal: a proper
checklist with references to the discussion.

I wanted to cleanup the basis first. I'll look into making (and
validating) such checklists during the next releases.

>
> It's spelled 'targeted' not 'targetted' despite what you may expect; also not
> 'targetting'.

Thanks for catching this (and the others), I've fixed them and
then run a spell-checker that revealed a few others.

>
> > As of July 2010, we mantain four series (and one that is about to be EOLed).
>
> If you're updating this I guess you mean 2011?

Fixed.

> > 145 +#. the death of a series should be planned ahead of time
>

> We discussed this and I believe we settled on normally stopping
> them after 18 months, though (as this para says) still leaving
> open the option to do an update if some later critical bug gets
> fixed. That gives up to four in flight which is enough.

[discussion]
Yup, that's the idea, I'm not sure 4 will be enough to go from
one LTS to the other but the rules about doing less and less
releases for older stable releases should allow us to reach the
important goals:

- maintain LTS releases,
- don't release stuff nobody cares about

By 'we settled on' do you mean the 'whether we keep supporting
LTS directly or via the ppa' is not an open question anymore ?

> > A word of caution: the instructions above works well for all releases but
> there is one special case that requires a bit more care: when you release
> the *last* beta for a given ``x.y`` series (from trunk aka lp:bzr), you need
> to setup *two* branches for the next cycle:
>
> Since this was the main confusion this time I think perhaps it deserves a
> section of its own and a more explicit list of steps:
>
> * increment the version on trunk
> * tag the version just before you bumped the version
> * make a pqm branch from there
> * release that tagged version

Well, two of the last releases revealed issues at this precise
step, making it necessary to re-tag or or bump the version
(whatever works here depends on what has already been PQM'ed).

Given that both of them (re-tag or bump) are "heavy" it's better
to avoid them. That's what makes the "don't touch the branch, the
RM is working" window longer.

> * announce that trunk is now going into the next series
> (maybe more details)
>
> I think this avoids people ever getting changes landed to the wrong place.
>

Well, you can't forbid people inserting their news entry in the
wrong section (or even file) nor landing on the wrong branch.

We should make it easier to avoid the trap but we can't rewrite
history, if a proposal was made *before* the release, the news
entry cannot be in the right section.

The bit I missed was that *two* branches needed to be opened
concurrently and I mistakenly left trunk dandling while setting
up the 2.4 branch.

> (perhaps some refinement of this)

See inline MP diffs ;)

>
> > As of July 2011, bzr has applied to the technical board to be added to the
> `MicroReleaseExceptions
> <https://wiki.ubuntu.com/Stabl...

Read more...

Revision history for this message
Martin Pool (mbp) wrote :

> > We discussed this and I believe we settled on normally stopping
> > them after 18 months, though (as this para says) still leaving
> > open the option to do an update if some later critical bug gets
> > fixed. That gives up to four in flight which is enough.
>
> [discussion]
> Yup, that's the idea, I'm not sure 4 will be enough to go from
> one LTS to the other but the rules about doing less and less
> releases for older stable releases should allow us to reach the
> important goals:
>
> - maintain LTS releases,
> - don't release stuff nobody cares about
>
> By 'we settled on' do you mean the 'whether we keep supporting
> LTS directly or via the ppa' is not an open question anymore ?

I think for LTSes we should
 - keep the bzr branch alive - we don't need to merge every fix there but we should merge safe serious fixes
 - make releases from that branch that are pushed into SRUs
 - also publish a PPA with builds of the current stable release of bzr (where that is possible; the python 2.6 transition is a case where it's not, so we'll stick at 2.3)

Does that answer the question?

Revision history for this message
Martin Pool (mbp) wrote :

+Since September 2010, bzr has receive approval by the technical

"Has received"

Revision history for this message
Vincent Ladeuil (vila) wrote :

> > By 'we settled on' do you mean the 'whether we keep supporting
> > LTS directly or via the ppa' is not an open question anymore ?
>
> I think for LTSes we should
> - keep the bzr branch alive - we don't need to merge every fix there but we
> should merge safe serious fixes
> - make releases from that branch that are pushed into SRUs
> - also publish a PPA with builds of the current stable release of bzr (where
> that is possible; the python 2.6 transition is a case where it's not, so we'll
> stick at 2.3)
>
> Does that answer the question?

Mostly, I agree with your rules but we didn't SRU for 2.0 and we probably won't. The actual situation is therefore that the stable PPA is still the way to go for some users. No big deal. I've tweaked the sentence to clarify.

Revision history for this message
Vincent Ladeuil (vila) wrote :

sent to pqm by email

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'doc/developers/releasing.txt'
2--- doc/developers/releasing.txt 2011-05-26 20:42:13 +0000
3+++ doc/developers/releasing.txt 2011-08-04 11:48:39 +0000
4@@ -2,79 +2,141 @@
5 ################
6
7 This document describes the processes for making and announcing a Bazaar
8-release, and managing the release process. This is just one phase of
9-the `overall development cycle
10-<http://doc.bazaar.canonical.com/developers/cycle.html>`_, (go re-read
11-this document to ensure it hasn't been updated) but it's the most
12-complex part. This document gives a checklist you can follow from start
13-to end in one go.
14+release, and managing the release process. This is just one phase of the
15+`overall development cycle
16+<http://doc.bazaar.canonical.com/developers/cycle.html>`_, (go re-read this
17+document to ensure it hasn't been updated since you last read it) but it's
18+the most complex part.
19+
20+If you're doing your first release you can follow this document and read
21+each step explanation. It's also a good practice to read it for any release
22+to ensure you don't miss a step and to update it as the release process
23+evolves.
24
25 If you're helping the Release Manager (RM) for one reason or another, you
26 may notice that he didn't follow that document scrupulously. He may have
27 good reasons to do that but he may also have missed some parts.
28
29-Follow the document yourself and don't hesitate to create the missing
30-milestones for example (we tend to forget these ones a lot).
31-
32 .. contents::
33
34
35 Preconditions
36 =============
37
38+#. PQM access rights (or you won't be able to land any change)
39+
40 #. Download the pqm plugin and install it into your ``~/.bazaar/plugins``::
41
42 bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm
43
44+#. Alternatively, you can download and install ``lp:hydrazine`` (the main
45+ difference is that hydrazine requires the branch to land to be hosted on
46+ launchpad).
47+
48+What do we release
49+==================
50+
51+In this document, we're talking about source releases only, packages and
52+installers are built from this but we won't talk about them here.
53+
54+Every release is part of a series, ``bzr-2.4.1`` is part of series ``2.4``.
55+
56+We do two different kind of releases: the betas releases and the stable
57+releases for a given series.
58+
59+For a given series, releases will be done to deliver new versions of bzr to
60+different kinds of users:
61+
62+#. beta releases: named ``x.ybn`` where ``x.y`` is the series and ``n``
63+ starts at 1 and is incremented. These releases are targeted to beta
64+ testers who don't want to run from source but are interested in features
65+ or improvements.
66+
67+#. stable releases: name ``x.y.z`` where ``x.y.`` is the series and ``z``
68+ starts at 1 and is incremented. These releases are targeted at people
69+ that want bugfixes only and no new features.
70+
71+
72+Differences in the release process between beta and stable release will be
73+mentioned when needed.
74
75 When do we relase ?
76 ===================
77
78-As of October 2010, we mantain four series. Concurrently releasing them
79-all at the same time makes it harder to shorten the delay between the
80-source availability and the package building longer than necessary (we
81-delay the official announcement until most of our users can install the new
82-release).
83+As of July 2011, we maintain four series (and one that is about to be EOLed).
84+Concurrently releasing them all at the same time makes it harder to shorten
85+the delay between the source availability and the package building longer
86+than necessary (we delay the official announcement until most of our users
87+can install the new release).
88
89 In order to continue to do time-based releases, we need to plan the
90 releases by series to minimize the collisions. In the end, it's the Release
91 Manager call to decide whether he prefers to do all releases at once
92 though, so the rules presented here are a conservative approach.
93
94-We want to respect the following rules::
95-
96- #. as much as possible releases should not disturb development, and
97- ongoing development should not disturb releases,
98-
99- #. the most recent development series should release once a month during
100- the beta period (see `Development cycles <cycle.html>`_ for more
101- details),
102-
103- #. the most recent stable series should release every other month (based
104- on the amount of bug fixes, this can be shorter or longer depending on
105- the bugs importance),
106-
107- #. previous series should relesase on a regular basis without interfering
108- with the most recent series with a decreasing order of priority (again
109- this should be based on bugs importance and user feedback),
110-
111- #. the death of a series should be planned ahead of time. 6 months should
112- give enough time to our users to migrate to a more recent series. This
113- doesn't mean we will make a release at the end of the series, just that
114- before the end date we _could_ possibly put out another release if
115- there was a sufficiently important fix. Beyond that date, we won't
116- even land changes on that branch (unless something causes a miraculous
117- resurrection.)
118-
119- #. there should not be more than 2 releases in the same week (but the
120- Release Manager is free to ignore this (get in touch with packagers
121- though),
122-
123- #. the series are aligned with Ubuntu releases for convenience since we
124- create a new series every 6 months. This means that we support the
125- stable series for 18 months. Note that we also propose the most recent
126- stable series via the ppa, so whether we keep supporting LTS directly
127- or via the ppa is still an open question.
128+We want to respect the following rules:
129+
130+#. as much as possible releases should not disturb development, and
131+ ongoing development should not disturb releases,
132+
133+#. the most recent development series should release once a month during
134+ the beta period (see `Development cycles <cycle.html>`_ for more
135+ details),
136+
137+#. the most recent stable series should release every other month (based
138+ on the amount of bug fixes, this can be shorter or longer depending on
139+ the bugs importance),
140+
141+#. previous series should release on a regular basis without interfering
142+ with the most recent series with a decreasing order of priority (again
143+ this should be based on bugs importance and user feedback),
144+
145+#. the death of a series should be planned ahead of time. 6 months should
146+ give enough time to our users to migrate to a more recent series. This
147+ doesn't mean we will make a release at the end of the series, just that
148+ before the end date we *could* possibly put out another release if
149+ there was a sufficiently important fix. Beyond that date, we won't
150+ even land changes on that branch (unless something causes a miraculous
151+ resurrection.)
152+
153+#. there should not be more than 2 releases in the same week (but the
154+ Release Manager is free to ignore this (get in touch with packagers
155+ though),
156+
157+#. the series are aligned with Ubuntu releases for convenience since we
158+ create a new series every 6 months. This means that we support the
159+ stable series for 18 months. Note that we also propose the most recent
160+ stable series via the stable PPA but that the SRU processs allow us to
161+ reach a wider audience.
162+
163+At the start of a series cycle
164+==============================
165+
166+To start a new series cycle:
167+
168+#. Create a new series ``x.y`` at <https://launchpad.net/bzr/+addseries>.
169+
170+#. Add milestones at <https://launchpad.net/bzr/x.y/+addmilestone> to that
171+ series for the beta releases and the stable series mentioning their
172+ expected dates. Only the milestone associated to the next release in
173+ this series should be left active to avoid clutter when targeting bugs.
174+
175+#. If you made a new series, you will need to create a new pqm-controlled
176+ branch for this release series. This branch will be used only from the
177+ first non-beta release onwards. It needs to be created by a Canonical
178+ sysadmin (ask the core devs for instructions or to do it for you).
179+
180+#. Start a new release-notes file::
181+
182+ cd doc/en/release-notes
183+ cp series-template.txt bzr-x.y.txt # e.g. bzr-2.3.txt
184+ bzr add bzr-x.y.txt
185+
186+#. Start a new whats-new file::
187+
188+ cd doc/en/whats-new
189+ cp template.txt bzr-x.y.txt # e.g. bzr-2.6.txt
190+ bzr add bzr-x.y.txt
191
192
193 At the start of a release cycle
194@@ -82,45 +144,32 @@
195
196 To start a new release cycle:
197
198-#. If this is the first release for a given *x.y* then create a new
199- series at <https://launchpad.net/bzr/+addseries>. There is one series
200- for every *x.y* release.
201-
202-#. If you made a new series, create a new pqm-controlled branch for this
203- release series, by asking a Canonical sysadmin. This branch means that
204- from the first release beta or candidate onwards, general development
205- continues on the trunk, and only specifically-targeted fixes go into
206- the release branch.
207-
208-#. If you made a new series, add milestones at
209- <https://launchpad.net/bzr/x.y/+addmilestone> to that series for
210- the beta release, release candidate and the final release, and their
211- expected dates.
212-
213-#. Create a new milestone <https://launchpad.net/bzr/x.y/+addmilestone>
214- and add information about this release. We will not use it yet, but it
215- will be available for targeting or nominating bugs.
216-
217 #. Send mail to the list with the key dates, who will be the release
218 manager, and the main themes or targeted bugs. Ask people to nominate
219 objectives, or point out any high-risk things that are best done early,
220 or that interact with other changes. This is called the metronome mail
221 and is described in `Development cycles <cycle.html>`_.
222
223-#. Make a local branch for preparing this release. (Only for the first
224- release in a series, otherwise you should already have a branch.) ::
225-
226- bzr branch trunk prepare-1.14
227+#. Make a local branch to prepare the release::
228+
229+ bzr branch lp:bzr/x.y x.y-dev
230+
231+ If you're doing your first beta release, branch from trunk::
232+
233+ bzr branch lp:bzr x.y-dev
234+
235+ Note that you will generally reuse the same branch for all releases in a
236+ given series.
237
238 #. Configure pqm-submit for this branch, with a section like this (where
239- x.y is the version to release). **Or use hydrazine for easy use**
240- ``~/.bazaar/locations.conf``::
241+ ``x.y`` is the series for your release). **Or use hydrazine for easier
242+ setup** ``~/.bazaar/locations.conf``::
243
244- [/home/mbp/bzr/prepare-x.y]
245+ [/home/mbp/bzr/x.y-dev]
246 pqm_email = Canonical PQM <pqm@bazaar-vcs.org>
247 submit_branch = http://bazaar.launchpad.net/~bzr-pqm/bzr/x.y
248 parent_branch = http://bazaar.launchpad.net/~bzr-pqm/bzr/x.y
249- public_branch = http://bazaar.example.com/prepare-x.y
250+ public_branch = http://bazaar.example.com/x.y-dev
251 submit_to = bazaar@lists.canonical.com
252 smtp_server = mail.example.com:25
253
254@@ -132,18 +181,17 @@
255
256 version_info = (x, y, z, 'dev', 0)
257
258-#. If you made a new series, then start a new release-notes file::
259-
260- cd doc/en/release-notes
261- cp series-template.txt bzr-x.y.txt # e.g. bzr-2.3.txt
262- bzr add bzr-x.y.txt
263-
264 #. Add a new section at the top of the current release notes (in
265 ``doc/en/release-notes``) about the new release, including its version
266 number and the headings from ``release-template.txt``.
267
268 #. Update the "What's New" documents in ``doc/en/whats-new``.
269
270+#. Make sure a milestone exists for your release and that it is active,
271+ <https://launchpad.net/bzr/x.y> lists the existing milestones,
272+ <https://launchpad.net/bzr/x.y/x.y.z/+edit> allows you to toggle the
273+ active flag.
274+
275 #. Commit this and send it to PQM.
276
277
278@@ -161,7 +209,7 @@
279 #. In the release branch, update ``version_info`` in ``./bzrlib/__init__.py``.
280 Make sure the corresponding milestone exists.
281 Double check that ./bzr ``_script_version`` matches ``version_info``. Check
282- the output of ``bzr --version``.
283+ the output of ``./bzr --version``.
284
285 For beta releases use::
286
287@@ -171,10 +219,6 @@
288
289 version_info = (2, 1, 0, 'beta', 1)
290
291- For release candidates use::
292-
293- version_info = (2, 0, 1, 'candidate', SERIAL)
294-
295 For stable releases use::
296
297 version_info = (2, 1, 2, 'final', 0)
298@@ -187,7 +231,7 @@
299
300 See *2.1.1* or similar for an example of what this looks like.
301
302-#. Add a summary of the release into the "What's New" document.
303+#. Add or check the summary of the release into the "What's New" document.
304
305 #. To check that all bugs mentioned in the release notes are actually
306 marked as closed in Launchpad, you can run
307@@ -195,10 +239,12 @@
308
309 ./tools/check-newsbugs.py doc/en/release-notes/bzr-x.y.txt
310
311- As of 2011-05-26, only a few false positives remain in the older
312- series. Don't let this slow you down too much. This script accepts
313- options you may find useful, use ``./tools/check-newsbugs.py`` to display
314- its usage.
315+ As of 2011-07-18, all bugs mentioned in the output of the script requires
316+ some sort of intervention (either changing the status if it's not 'Fix
317+ Released' or setting a different milestone if the bug hasn't been
318+ fixed). A few false positives may remain in the older series, don't let
319+ this slow you down too much. This script accepts options you may find
320+ useful, use ``./tools/check-newsbugs.py`` to display its usage.
321
322 #. Commit these changes to the release branch, using a command like::
323
324@@ -276,10 +322,10 @@
325
326 bzr tag bzr-2.3.1
327
328-#. Push those changes to a bzr repository that is public and accessible on
329- the Internet. PQM will pull from this repository when it attempts to merge
330- your changes. Then submit those changes to PQM for merge into the
331- appropriate release branch::
332+#. Push those changes to a bzr branch that is public and accessible on the
333+ Internet. PQM will pull from this branch when it attempts to merge your
334+ changes. Then submit those changes to PQM for merge into the appropriate
335+ release branch::
336
337 bzr push
338 bzr pqm-submit -m "(vila) Release 2.3.1 (Vincent Ladeuil)"
339@@ -320,7 +366,7 @@
340 Publishing the source tarball
341 -----------------------------
342
343-#. Go to the relevant series page in Launchpad.
344+#. Go to the relevant <https://launchpad.net/bzr/x.y> series page in Launchpad.
345
346 #. Create a release of the milestone, and upload the source tarball and
347 the GPG signature. Or, if you prefer, use the
348@@ -331,6 +377,56 @@
349 <https://bugs.launchpad.net/launchpad/+bug/586445>
350
351
352+Kick off the next cycle
353+-----------------------
354+
355+From that point, there is no possible return, the tarball has been uploaded
356+so you can relax a bit.
357+
358+You're still holding a "social" lock on the launchpad branch though. Until
359+your start the next cycle, nobody should land anything on this branch. If
360+they do, they either targeted the wrong branch or didn't update the news
361+file correctly, so the sooner the branch is opened again, the better.
362+
363+This matters more for ``lp:bzr`` than for ``lp:bzr/x.y``, ``lp:bzr`` should
364+always be open for landing, so you should do `At the start of a release
365+cycle`_ as soon as possible (i.e. update the version number in ``bzr`` and
366+``bzrlib/__init__``, create/update the news files and create/update the
367+milestone for the next relase).
368+
369+You may also need to do `At the start of a series cycle`_ if you're starting
370+a new series.
371+
372+A word of caution: the instructions above works well for all releases but
373+there is one special case that requires a bit more care: when you release
374+the *last* beta for a given ``x.y`` series (from trunk aka lp:bzr), you need
375+to setup *two* branches for the next cycle:
376+
377+#. ``lp:bzr`` needs to be opened for the next *series* ``x.(y+1)``
378+
379+#. ``lp:bzr/x.y`` needs to be opened for the next *release* ``x.y.0`` in the
380+ series. Since this is first real use of ``lp:bzr/x.y``, this is also the
381+ deadline for the PQM branch to be created.
382+
383+Both are important as ``lp:bzr`` should remain open so any change can be
384+landed, ``lp:bzr/x.y`` on the other hand should be ready to receive bug
385+fixes.
386+
387+``lp:bzr`` is generally more important as the bug fixes on ``lp:bzr/x.y``
388+won't be released sooner than a month from now whereas people may already
389+been waiting to land on ``lp:bzr``.
390+
391+In a nutshell:
392+
393+#. Create or update the ``x.y`` PQM branch based on whatever
394+ revision you want to release
395+
396+#. Open ``lp:bzr`` for ``x.(y+1)``
397+
398+#. Release ``x.y.0`` from ``lp:bzr/x.y``
399+
400+#. Open ``lp:bzr/x.y`` for bug fixes
401+
402 Announcing the source freeze
403 ----------------------------
404
405@@ -341,13 +437,6 @@
406 for platform maintainers and plugin authors to update their code. This
407 is done before the general public announcement of the release.
408
409-
410-Kick off the next cycle
411------------------------
412-
413-#. To let developers work on the next release, do
414- `At the start of a release cycle` now.
415-
416 #. Pause for a few days.
417
418
419@@ -378,13 +467,14 @@
420
421 #. Make an announcement mail.
422
423- For release candidates or beta releases, this is sent to the ``bazaar``
424- list only to inform plugin authors and package or installer managers.
425+ For beta releases, this is sent to the ``bazaar@lists.canonical.com``
426+ list only to inform plugin authors and people responsible for building
427+ packages or installers.
428
429 Once the installers are available, the mail can be sent to the
430 ``bazaar-announce`` list too.
431
432- For final releases, it should also be cc'd to ``info-gnu@gnu.org``,
433+ For stable releases, it should also be cc'd to ``info-gnu@gnu.org``,
434 ``python-announce-list@python.org``, ``bug-directory@gnu.org``.
435
436 In all cases, it is good to set ``Reply-To: bazaar@lists.canonical.com``,
437@@ -413,17 +503,13 @@
438
439 #. Make an announcement through <https://launchpad.net/bzr/+announce>
440
441-#. Update the IRC channel topic. Use the ``/topic`` command to do this,
442- ensuring the new topic text keeps the project name, web site link, etc.
443-
444 #. Announce on http://freshmeat.net/projects/bzr/
445
446- This should be done for beta releases, release candidates and final
447- releases. If you do not have a Freshmeat account yet, ask one of the
448- existing admins.
449+ This should be done for beta releases and stable releases. If you do not
450+ have a Freshmeat account yet, ask one of the existing admins.
451
452 The purpose here is to point users to the latest stable release while still
453- publishing announcements for development releases.
454+ publishing announcements for beta releases.
455
456 There are several kinds of modifications that could be done there via the
457 ``Administration`` box in the lower right area of the page:
458@@ -432,32 +518,31 @@
459 ``Links`` box are edited. This should rarely change except for the URLs
460 related to the latest stable release.
461
462- * New announcement: When doing a release (beta, candidates, final), put the
463- summary of the release (you can't embed URLs there, the moderation staff
464- remove them). Users can still access the releases notes via the ``Release
465- Notes`` URL in the ``Links`` box in the upper right area of the
466- page. When doing the first stable release in a series, delete the
467- ``Unstable installers`` <https://launchpad.net/bzr/x.y/x.ybn> and
468- ``Unstable source tarball``
469+ * New announcement: When doing a release, put the summary of the release
470+ (you can't embed URLs there, the moderation staff remove them). Users
471+ can still access the releases notes via the ``Release Notes`` URL in
472+ the ``Links`` box in the upper right area of the page. When doing the
473+ first stable release in a series, delete the ``Unstable installers``
474+ <https://launchpad.net/bzr/x.y/x.ybn> and ``Unstable source tarball``
475 <http://launchpad.net/bzr/x.y/x.ybn/+download/bzr-x.ybn.tar.gz>
476- links. Conversely, when creating the first beta in a development series,
477- create these links again. Check all links when doing other kinds of
478- release.
479+ links. Conversely, when creating the first beta in a development
480+ series, create these links again. Check all links when doing other
481+ kinds of release.
482
483 * Set direct download: When releasing a new stable release, this should
484 point to the corresponding launchpad page:
485 <https://launchpad.net/bzr/x.y/x.y.z/>
486
487 #. Update `<http://en.wikipedia.org/wiki/Bazaar_(software)>`_ -- this should
488- be done for final releases but not for beta releases or Release Candidates.
489+ be done for the stable and beta releases.
490
491 #. Update the python package index: <http://pypi.python.org/pypi/bzr> - best
492 done by running ::
493
494 python setup.py register
495
496- Remember to check the results afterwards -- this should be done for
497- final releases but not for beta releases or Release Candidates.
498+ Remember to check the results afterward -- this should be done for
499+ stable releases but not for beta releases.
500
501 To be able to register the release you must create an account on
502 <http://pypi.python.org/pypi> and have one of the existing owners of
503@@ -467,10 +552,9 @@
504 Merging the released code back to trunk
505 ---------------------------------------
506
507-Merge the release branch back into the trunk. The
508-``doc/en/release-notes`` changes should be merged into the right place
509-because each release series has its own release-notes file, but
510-double-check.
511+Merge the release branch back into the trunk. The ``doc/en/release-notes``
512+changes should be merged into the right place because each release series
513+has its own release-notes file, but double-check.
514
515 If it's not already done, advance the version number in ``bzr`` and
516 ``bzrlib/__init__.py``. Submit this back into pqm for bzr.dev.
517@@ -479,24 +563,21 @@
518 created the corresponding milestone to ensure the continuity in bug
519 targeting or nominating. Depending on the change, you may even have to
520 create a new series (if your change the major or minor release number), in
521-that case go to `At the start of a release cycle` and follow the instructions from there.
522+that case go to `At the start of a series cycle`_ and follow the
523+instructions from there.
524
525-You should also merge (not pull) the release branch into
526-``lp:~bzr/bzr/current``, so that branch contains the current released code
527-at any time.
528
529 Releases until the final one
530 ----------------------------
531
532-Congratulations - you have made your first release. Have a beer
533-or fruit juice - it's on the house! If it was a beta, or
534-candidate, you're not finished yet. Another beta or candidate or
535-hopefully a final release is still to come.
536+Congratulations - you have made your first release. Have a beer or fruit
537+juice - it's on the house! If it was a beta, you're not finished
538+yet. Another beta or hopefully a stable release is still to come.
539
540-The process is the same as for the first release. Goto `Doing a
541-particular release`_ and follow the instructions again. Some details change
542-between beta, candidate and final releases, but they should be
543-documented. If the instructions aren't clear enough, please fix them.
544+The process is the same as for the first release. Goto `Doing a particular
545+release`_ and follow the instructions again. Some details change between
546+beta and stable releases, but they should be documented. If the instructions
547+aren't clear enough, please fix them.
548
549
550 Getting the release into Ubuntu
551@@ -515,10 +596,15 @@
552 the `SRU (Stable Release Updates)
553 <https://wiki.ubuntu.com/StableReleaseUpdates>`__ process.
554
555-As of September 2010, bzr has applied to the technical board to be added
556-to the `MicroReleaseExceptions
557+Since September 2010, bzr has received approval by the technical
558+board for the `MicroReleaseExceptions
559 <https://wiki.ubuntu.com/StableReleaseUpdates/MicroReleaseExceptions>`__
560-category so that whole bugfix releases can more easily be approved.
561+category so that whole bugfix releases can more easily be
562+approved.
563+
564+Progress on these realeases is tracked on the `SRU wiki
565+<http://wiki.bazaar.canonical.com/UbuntuStableReleaseUpdates>`_
566+page.
567
568 **After making a bzr stable-release release, nominate the most serious bug
569 for the appropriate Ubuntu release and subscribe the `ubuntu-sru` team.**
570@@ -535,9 +621,10 @@
571 button and select the right Ubuntu release. As of September 2010, this
572 means:
573
574+ * ``oneiric`` for the 2.4 series,
575+ * ``natty`` for the 2.3 series,
576 * ``maverick`` for the 2.2 series,
577 * ``lucid`` for the 2.1 series,
578- * ``karmic`` for the 2.0 series.
579
580 * Subscribe the ``~ubuntu-sru`` team to the bug.
581
582
583=== modified file 'doc/en/release-notes/bzr-2.5.txt'
584--- doc/en/release-notes/bzr-2.5.txt 2011-08-03 14:35:06 +0000
585+++ doc/en/release-notes/bzr-2.5.txt 2011-08-04 11:48:39 +0000
586@@ -85,6 +85,8 @@
587
588 .. Improved or updated documentation.
589
590+* Release instructions refreshed. (Vincent Ladeuil)
591+
592 API Changes
593 ***********
594
595
596=== added file 'doc/en/whats-new/template.txt'
597--- doc/en/whats-new/template.txt 1970-01-01 00:00:00 +0000
598+++ doc/en/whats-new/template.txt 2011-08-04 11:48:39 +0000
599@@ -0,0 +1,26 @@
600+*************************
601+What's New in Bazaar x.y?
602+*************************
603+
604+Bazaar x.y is still under development, and will be released in Month Year.
605+This document accumulates a high level summary of what's changed. See the
606+:doc:`../release-notes/index` for a full list.
607+
608+<topics of interest here>
609+
610+Further information
611+*******************
612+
613+For more detailed information on the changes made, see the the
614+:doc:`../release-notes/index` for:
615+
616+* the interim bzr `milestones <https://launchpad.net/bzr/x.y>`_
617+* the plugins you use.
618+
619+For a summary of changes made in earlier releases, see:
620+
621+* :doc:`whats-new-in-2.1`
622+* :doc:`whats-new-in-2.2`
623+* :doc:`whats-new-in-2.3`
624+<intermediate series here>
625+* :doc:`whats-new-in-x.(y-1)`