blob: 5137f55d54b3f259f5dfcfef7773ed8e1c925b76 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001curl release procedure - how to do a release
2============================================
3
4in the source code repo
5-----------------------
6
7- edit `RELEASE-NOTES` to be accurate
8
9- update `docs/THANKS`
10
11- make sure all relevant changes are committed on the master branch
12
13- tag the git repo in this style: `git tag -a curl-7_34_0`. -a annotates the
14 tag and we use underscores instead of dots in the version number.
15
16- run "./maketgz 7.34.0" to build the release tarballs. It is important that
17 you run this on a machine with the correct set of autotools etc installed
18 as this is what then will be shipped and used by most users on *nix like
19 systems.
20
21- push the git commits and the new tag
22
23- gpg sign the 4 tarballs as maketgz suggests
24
25- upload the 8 resulting files to the primary download directory
26
27in the curl-www repo
28--------------------
29
30- edit `Makefile` (version number and date),
31
32- edit `_newslog.html` (announce the new release) and
33
34- edit `_changes.html` (insert changes+bugfixes from RELEASE-NOTES)
35
36- commit all local changes
37
38- tag the repo with the same tag as used for the source repo
39
40- make sure all relevant changes are committed and pushed on the master branch
41
42 (the web site then updates its contents automatically)
43
44on github
45---------
46
47- edit the newly made release tag so that it is listed as the latest release
48
49inform
50------
51
52- send an email to curl-users, curl-announce and curl-library. Insert the
53 RELEASE-NOTES into the mail.
54
55celebrate
56---------
57
58- suitable beverage intake is encouraged for the festivities
59
60curl release scheduling
61=======================
62
63Basics
64------
65
66We do releases every 8 weeks on Wednesdays. If critical problems arise, we can
67insert releases outside of the schedule or we can move the release date - but
68this is very rare.
69
70Each 8 week release cycle is split in two 4-week periods.
71
72- During the first 4 weeks after a release, we allow new features and changes
73 to curl and libcurl. If we accept any such changes, we bump the minor number
74 used for the next release.
75
76- During the second 4-week period we do not merge any features or changes, we
77 then only focus on fixing bugs and polishing things to make a solid coming
78 release.
79
80Coming dates
81------------
82
83Based on the description above, here are some planned release dates (at the
84time of this writing):
85
86- June 14, 2017 (version 7.54.1)
87- August 9, 2017
88- October 4, 2017
89- November 29, 2017
90- January 24, 2018
91- March 21, 2018
92- May 16, 2018