summaryrefslogtreecommitdiff
path: root/RELEASING
blob: 64ebb43fa68a8f154c02b8dde392f5c256156989 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
So far, cairo hasn't reached an initial release. But we can still form
good habits now by practicing the release process with the current
snapshots.

10 easy steps to creating a new cairo snapshot
==============================================

1) Commit code with a significant new feature or backwards
   incompatibility.

	Either of these events triggers the need for a new snapshot.
	Users of cairo snapshots need to be able to specify snapshot
	version numbers in order to get access to a specific set of
	features.

2) Increment CAIRO_VERSION in configure.in

	Right now, in its pre-release form, we are incrementing
	CAIRO_VERSION for each snapshot but we are not changing the
	libtool shared library version information. Until now, we've
	only incremented the sub-minor version. We'll invent rules for
	incrementing major and minor numbers when the time is right.

3) Verify that the code passes "make distcheck"

	Running "make distcheck" should result in no warnings or
	errors and end with a message of the form:

	=============================================
	cairo-X.Y.Z.tar.gz is ready for distribution
	=============================================

	(But the tar file isn't actually ready yet, as we still have
	some more steps to follow).

4) Fill out an entry in the NEWS file

	Sift through the information in ChangeLog since the last
	snapshot. Summarize major changes briefly in a style similar
	to other entries in NEWS. Take special care to note any
	incompatible changes in the API. These should be easy to find
	by looking for cairo.h in the ChangeLog.

5) Commit the changes to NEWS and configure.in

	Don't forget to fill out the ChangeLog just like with any
	other commit. It's especially important to mention the new
	version number in the ChangeLog.

6) Run "make distcheck" to generate the final tar file including the
   changes to NEWS and ChangeLog.

7) Copy the resulting tar file to the cairo snapshots distribution
   directory:

	scp cairo-X.Y.Z-tar.gz cairographics.org:/home/www/cairo/snapshots

8) Tag the entire source tree with a tag of the form SNAPSHOT_X_Y_Z:

	cvs tag SNAPSHOT_X_Y_Z

9) Send a message to cairo-announce@cairographics.org to announce the
   new snapshot.

	The message should provide the URL for the snapshot:

		http://cairographics.org/snapshots/cairo-X.Y.Z.tar.gz

	and should also include the relevant section from the NEWS
	file.

10) Sit back and relax in confidence, or alternately, brace yourself
    for a flood of new bug reports.