smtp: use the upload buffer size for scratch buffer malloc
[platform/upstream/curl.git] / docs / RELEASE-PROCEDURE
1 curl release procedure - how to do a release
2 ============================================
3
4 in 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
27 in 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
44 on github
45 ---------
46
47 - edit the newly made release tag so that it is listed as the latest release
48
49 inform
50 ------
51
52 - send an email to curl-users, curl-announce and curl-library. Insert the
53   RELEASE-NOTES into the mail.
54
55 celebrate
56 ---------
57
58 - suitable beverage intake is encouraged for the festivities
59
60 curl release scheduling
61 =======================
62
63 Basics
64 ------
65
66 We do releases every 8 weeks on Wednesdays. If critical problems arise, we can
67 insert releases outside of the schedule or we can move the release date - but
68 this is very rare.
69
70 Each 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
80 Coming dates
81 ------------
82
83 Based on the description above, here are some planned release dates (at the
84 time of this writing):
85
86 - November 29, 2017
87 - January 24, 2018
88 - March 21, 2018
89 - May 16, 2018
90 - July 11, 2018
91 - September 5, 2018
92 - October 31, 2018
93 - December 26, 2018
94 - February 20, 2019
95 - April 17, 2019