- Update ChangeLog.md. - Change version number in configure.ac, mysql++.bkl, and ~/tangentsoft.com/mysqlpp/GNUmakefile All other places the version number occurs are generated from the first two. If there's a corresponding *.in file for the one you're looking at, the version number was substituted in by autoconf from configure.ac. Otherwise, the file was most likely created by the build system using the version number in mysql++.bkl. - Run "make abicheck". There should be no changes. You may have to run the following command in the current "stable" directory before this will succeed, since it depends on there being an ACC dump file in place already. $ abi-compliance-checker -lib mysqlpp -dump abi.xml ("Stable" is assumed to be in ../3.1.0 relative to the trunk checkout, as I write this.) This dependence on an existing ABI dump file is deemed reasonable since the ABI of the stable version had better not be changing! Plus, it saves some processing time, since ACC can load the stable ABI info without re-parsing its headers and library file. - Re-bootstrap the system in pedantic mode, then do a clean rebuild. Fix any new errors and warnings. Known bogus warnings: - Query's std::basic_ios<> base class is not being initialized. Yes, we know. We don't care. - The "==" float comparisons in lib/stadapter.cpp are harmless. They're comparisons against special NaN and infinity constants. Those are safe. - Re-bootstrap it again without "pedantic", to avoid shipping the pedantic build files. - Run tools/mkrel to check the new ChangeLog.md, configure.ac, and mysqyl++.bkl files in with the proper version tag and to merge it into the release branch. This also creates mysql++-$(VERSION).tar.gz and synchs it up to tangentsoft.com in the MySQL++ releases directory. - On a CentOS 7 box, say "make rpm" from the "release" branch tree. Copy the resulting ~/rpmbuild/SRPMS/mysql++-$(VERSION)-1.el7.src.rpm to that same releases directory. - Update "MySQL++" wiki document to point to new release packages.