
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.

