
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 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.

