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