RELEASING ========= When making a new release; - Verify your working directory is clean: $ git reset --hard $ git clean -xdf - Run: $ ./autogen.sh --enable-gtk-doc $ make all - Run: $ make distcheck and fix eventual issues. Commit the fixes. - Update NEWS (New feature details, bug #'s), README (Any API changes relevant to developers + version), AUTHORS if relevant. - Clean everything again with: $ git clean -xdf - Verify versioning in configure.ac, increasing relevant clutter_major_version/clutter_minor_version/clutter_micro_version value. For point releases, bump clutter_micro_version to the next even number. - If there was no API change (addition, deprecation), increment clutter_interface_age by two. If there was an API change, set clutter_interface_age to zero. The interface_age is used to keep the soname the same across releases. - Build everything again, and run distcheck to create the tarball. - Tag the release: $ git tag -s - Bump clutter_micro_version to the next odd number version and commit. - Push the branch and then the tag, e.g.: $ git push origin master $ git push origin 1.2.4 - Upload the tarball to clutter-project.org. - Announce release to the waiting world on the blog and mailing lists - Release any dependant add-ons following similar rules to above.