Reverse the upgrade process a bit, bump up revision numbers *after* release so that...
[geos.git] / HOWTO_RELEASE
blobd0482c7a1f9b086841fcb388535ed4a8ee9e65f7
1 1: Verify that the versions currently set (see 10 and 11 below) make
2    sense for this release.
4 2: Run 'make distcheck', fix any problem with it.
6 3: Generate the ChangeLog by running 'make cl'
8 4: Update the NEWS file (extract most important things from the ChangeLog)
10 5. Commit the new ChangeLog and NEWS files.
12 6: Tag the release:
13    $ base=http://svn.osgeo.org/geos/
14    $ svn copy -m "Tagged release MAJOR.MINOR.PATCH" \
15                 $base/trunk $base/tags/MAJOR.MINOR.PATCH
17 7: Export the tag and 'make dist'. Un-gzip the tarball and bzip2 it
18    instead. 
19    $ svn export http://svn.osgeo.org/geos/tags/MAJOR.MINOR.PATCH 
20    $ cd MAJOR.MINOR.PATCH
21    $ ./autogen ; ./configure ; make dist
22    $ gzip -d geos-MAJOR.MINOR-PATCH.tar.gz
23    $ bzip2 geos-MAJOR.MINOR-PATCH.tar
25 8: Copy the tarball to upload.osgeo.org:/download_data/download/geos
27 9: Increment all the version numbers for the next release, as below.
29 10: Increment CAPI_INTERFACE_X in configure.in
30    - For a release with no interface changes just bump REVISION.
31      [ Even if *nothing* changed in CAPI ]
32    - Adding interfaces, bump CURRENT/AGE, set REVISION to 0.
33    - Deleting interfaces / compatibility issues - bump CURRENT, others to zero
34      [ THIS MUST BE CAREFULLY AVOIDED ]
36 11: Increment release version:
37    - In configure.in
38    - In source/headers/geos/version.h.vc
39    - In capi/geos_c.h.in
40      - VERSION_PATCH for bugfixes/improvements (even breaking C++ API)
41      - VERSION_MINOR for NEW interfaces in the C lib
42      - VERSION_MAJOR for SUBSTANTIAL additions or C lib ABI break
43        [ THIS MUST BE CAREFULLY AVOIDED ]
44