1 2Release checklist: 3 4release=0.12 5git clone https://github.com/json-c/json-c json-c-${release} 6cd json-c-${release} 7 8Check that the compile works on Linux 9Check that the compile works on NetBSD 10Check that the compile works on Windows 11Check ChangeLog to see if anything should be added. 12Make any fixes/changes *before* branching. 13 14 git branch json-c-${release} 15 git checkout json-c-${release} 16 17------------ 18 19Update the version in json_c_version.h 20Update the version in Doxyfile 21Update the version in configure.ac 22 Use ${release}. 23 24Update the libjson_la_LDFLAGS line in Makefile.am to the new version. 25 Generally, unless we're doing a major release, change: 26 -version-info x:y:z 27 to 28 -version-info x:y+1:z 29 30------------ 31 32Generate the configure script and other files: 33 sh autogen.sh 34 git add -f Makefile.in aclocal.m4 config.guess \ 35 config.sub configure depcomp install-sh \ 36 ltmain.sh missing tests/Makefile.in \ 37 INSTALL 38 39 # check for anything else to be added: 40 git status --ignored 41 git commit 42 43------------ 44 45Generate the doxygen documentation: 46 doxygen 47 git add -f doc 48 git commit doc 49 50------------ 51 52cd .. 53echo .git > excludes 54echo autom4te.cache >> excludes 55tar -czf json-c-${release}.tar.gz -X excludes json-c-${release} 56 57echo doc >> excludes 58tar -czf json-c-${release}-nodoc.tar.gz -X excludes json-c-${release} 59 60------------ 61 62Tag the branch: 63cd json-c-${release} 64git tag -a json-c-${release}-$(date +%Y%m%d) -m "Release json-c-${release}" 65 66git push origin json-c-${release} 67git push --tags 68 69------------ 70 71Go to Amazon S3 service at: 72 https://console.aws.amazon.com/s3/ 73 74Upload the two tarballs in the json-c_releases folder. 75 When uploading, use "Reduced Redundancy", and make the uploaded files publicly accessible. 76 77Logout of Amazon S3, and verify that the files are visible. 78 https://s3.amazonaws.com/json-c_releases/releases/index.html 79 80=================================== 81 82Post-release checklist: 83 84git checkout master 85Add new section to ChangeLog 86Update the version in json_c_version.h 87Update the version in Doxyfile 88Update the version in configure.ac 89 Use ${release}.99 to indicate a version "newer" than anything on the branch. 90 91Leave the libjson_la_LDFLAGS line in Makefile.am alone. 92 For more details see: 93 http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html 94 95------------ 96 97Update the gh-pages branch with new docs: 98 99cd json-c-${release} 100git checkout json-c-${release} 101cd .. 102 103git clone -b gh-pages https://github.com/json-c/json-c json-c-pages 104cd json-c-pages 105mkdir json-c-${release} 106cp -R ../json-c-${release}/doc json-c-${release}/. 107cp ../json-c-${release}/README-WIN32.html json-c-${release}/. 108git add json-c-${release} 109git commit 110 111vi index.html 112 Add/change links to current release. 113 114git commit index.html 115 116git push 117 118------------ 119 120Update checksums on wiki page. 121 122cd .. 123openssl sha -sha256 json-c*gz 124openssl md5 json-c*gz 125 126Copy and paste this output into the wiki page at: 127 https://github.com/json-c/json-c/wiki 128 129------------ 130 131Send an email to the mailing list. 132 133