Release checklist: release=0.12 git clone https://github.com/json-c/json-c json-c-${release} cd json-c-${release} Check that the compile works on Linux Check that the compile works on NetBSD Check that the compile works on Windows Check ChangeLog to see if anything should be added. Make any fixes/changes *before* branching. git branch json-c-${release} git checkout json-c-${release} ------------ Update the version in json_c_version.h Update the version in Doxyfile Update the version in configure.ac Use ${release}. Update the libjson_la_LDFLAGS line in Makefile.am to the new version. Generally, unless we're doing a major release, change: -version-info x:y:z to -version-info x:y+1:z ------------ Generate the configure script and other files: sh autogen.sh git add -f Makefile.in aclocal.m4 config.guess \ config.sub configure depcomp install-sh \ ltmain.sh missing tests/Makefile.in \ INSTALL # check for anything else to be added: git status --ignored git commit ------------ Generate the doxygen documentation: doxygen git add -f doc git commit doc ------------ cd .. echo .git > excludes echo autom4te.cache >> excludes tar -czf json-c-${release}.tar.gz -X excludes json-c-${release} echo doc >> excludes tar -czf json-c-${release}-nodoc.tar.gz -X excludes json-c-${release} ------------ Tag the branch: cd json-c-${release} git tag -a json-c-${release}-$(date +%Y%m%d) -m "Release json-c-${release}" git push origin json-c-${release} git push --tags ------------ Go to Amazon S3 service at: https://console.aws.amazon.com/s3/ Upload the two tarballs in the json-c_releases folder. When uploading, use "Reduced Redundancy", and make the uploaded files publicly accessible. Logout of Amazon S3, and verify that the files are visible. https://s3.amazonaws.com/json-c_releases/releases/index.html =================================== Post-release checklist: git checkout master Add new section to ChangeLog Update the version in json_c_version.h Update the version in Doxyfile Update the version in configure.ac Use ${release}.99 to indicate a version "newer" than anything on the branch. Leave the libjson_la_LDFLAGS line in Makefile.am alone. For more details see: http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html ------------ Update the gh-pages branch with new docs: cd json-c-${release} git checkout json-c-${release} cd .. git clone -b gh-pages https://github.com/json-c/json-c json-c-pages cd json-c-pages mkdir json-c-${release} cp -R ../json-c-${release}/doc json-c-${release}/. cp ../json-c-${release}/README-WIN32.html json-c-${release}/. git add json-c-${release} git commit vi index.html Add/change links to current release. git commit index.html git push ------------ Update checksums on wiki page. cd .. openssl sha -sha256 json-c*gz openssl md5 json-c*gz Copy and paste this output into the wiki page at: https://github.com/json-c/json-c/wiki ------------ Send an email to the mailing list.