Home | History | Annotate | Download | only in docs
      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 - March 23, 2016 (version 7.48.0)
     87 - May 18, 2016
     88 - July 13, 2016
     89 - September 7, 2016
     90 - November 2, 2016
     91 - December 28, 2016
     92 - February 22, 2017
     93