1curl release procedure - how to do a release 2============================================ 3 4in the source code repo 5----------------------- 6 7- run `./scripts/copyright.pl` and correct possible omissions 8 9- edit `RELEASE-NOTES` to be accurate 10 11- update `docs/THANKS` 12 13- make sure all relevant changes are committed on the master branch 14 15- tag the git repo in this style: `git tag -a curl-7_34_0`. -a annotates the 16 tag and we use underscores instead of dots in the version number. Make sure 17 the tag is GPG signed (using -s). 18 19- run "./maketgz 7.34.0" to build the release tarballs. It is important that 20 you run this on a machine with the correct set of autotools etc installed 21 as this is what then will be shipped and used by most users on \*nix like 22 systems. 23 24- push the git commits and the new tag 25 26- gpg sign the 4 tarballs as maketgz suggests 27 28- upload the 8 resulting files to the primary download directory 29 30in the curl-www repo 31-------------------- 32 33- edit `Makefile` (version number and date), 34 35- edit `_newslog.html` (announce the new release) and 36 37- edit `_changes.html` (insert changes+bugfixes from RELEASE-NOTES) 38 39- commit all local changes 40 41- tag the repo with the same name as used for the source repo. 42 43- make sure all relevant changes are committed and pushed on the master branch 44 45 (the website then updates its contents automatically) 46 47on GitHub 48--------- 49 50- edit the newly made release tag so that it is listed as the latest release 51 52inform 53------ 54 55- send an email to curl-users, curl-announce and curl-library. Insert the 56 RELEASE-NOTES into the mail. 57 58celebrate 59--------- 60 61- suitable beverage intake is encouraged for the festivities 62 63curl release scheduling 64======================= 65 66Release Cycle 67------------- 68 69We do releases every 8 weeks on Wednesdays. If critical problems arise, we can 70insert releases outside of the schedule or we can move the release date - but 71this is rare. 72 73Each 8 week release cycle is split in two 4-week periods. 74 75- During the first 4 weeks after a release, we allow new features and changes 76 to curl and libcurl. If we accept any such changes, we bump the minor number 77 used for the next release. 78 79- During the second 4-week period we do not merge any features or changes, we 80 then only focus on fixing bugs and polishing things to make a solid coming 81 release. 82 83- After a regular procedure-following release (made on Wednesdays), the 84 feature window remains closed until the following Monday in case of special 85 actions or patch releases etc. 86 87If a future release date happens to end up on a "bad date", like in the middle 88of common public holidays or when the lead release manager is away traveling, 89the release date can be moved forwards or backwards a full week. This is then 90advertised well in advance. 91 92Coming dates 93------------ 94 95Based on the description above, here are some planned release dates (at the 96time of this writing): 97 98- March 31, 2021 (7.76.0) 99- May 26, 2021 100- July 21, 2021 101- September 15, 2021 102- November 10, 2021 103- January 5, 2022 104- March 2, 2022 105- April 27, 2022 106- June 22, 2022 107- August 17, 2022 108 109The above (and more) curl-related dates are published in 110[iCalendar format](https://calendar.google.com/calendar/ical/c9u5d64odop9js55oltfarjk6g%40group.calendar.google.com/public/basic.ics) 111as well. 112