This is an old revision of the document! Table of ContentsRelease ProcessPlan the Release
String FreezeOn the day of the string freeze, update the .ts files for the translators. Use Qt4 to make sure the resulting .ts files can be edited by translators using Qt4. $ QT_SELECT=qt4 scripts/make-ts Commit this and then announce the string freeze/start of the translation period. Release EveOn the eve of the release, send out a reminder for any last minute contributions and translations. Pending ChangesCheck email for any pending changes or requests that need to be included in this release. Make those changes as appropriate. Test a Release BuildOn the release date, do a Release build and a few sanity checks to make sure nothing is broken. Update Release NotesMake a note of the svn revision of the last release. E.g. for release 14.02, the revision according to the tags was 13662. (Note that this might not match up since the tags can be made long after the release. However, with the current build script this should only be “off by one” from the actual revision.) In a working copy, do an svn log to see the log entries from the previous release to the latest. $ svn log -v -r 13662:HEAD | less An alternative would be to browse the commits on sourceforge. I find it cumbersome, however. Update the release notes to reflect the commits since the last release. http://www.rosegardenmusic.com/wiki/dev:next_version When finished, move the release notes from the “Upcoming Release” page on the wiki to an official versioned release notes page on the wiki. Consider including the release notes within the tarball in the future. Maybe just accumulate them in a single file. What do other projects do? Changelog! Update the READMEUpdate copyright year as needed. Update anything else that seems like it needs updating. Update data.qrcRun “scripts/rebuild-qrc” to make sure the data.qrc file is up-to-date. Check Code Name and VersionCheck/adjust the code name/version number in CMakeLists.txt. The code name/version number will be bumped after delivery, so this should be OK. Commit Changessvn commit -m "Updates for version xx.xx" Create tarballUse the make-release-tarball script: scripts/make-release-tarball RELEASE Sanity test the tarball. Build and run from it. Deliver
Update WebsiteUpdate the website to point to the new version. The website can be updated by committing changes to the website directory in svn. These are automatically uploaded to the web server. The webpages use Server Side Includes (SSI), so you'll need to set up a web server to test before uploading changes.
Test, commit, wait for the auto upload (takes a while), and test. See https://sourceforge.net/p/rosegarden/code/14701/ for an example. Update CMakeLists.txtBump the version number and codename. Commit. Announce
See also |