= Checklist of things to do before a release = A simple reminder list: == Check the t.e.o wiki == * Update the ChangeLog page * Verify TracInstall and TracUpgrade == Check the source == (replace ''trunk'' below with the corresponding branches/0.1X-stable when preparing a minor releases) === Wiki related files * If needed, do a last [TracProject/DefaultWikiPages#RepeatMerge sync] * Verify that [source:trunk/trac/wiki/default-pages] contains all pages listed in TracProject/DefaultWikiPages * Check all default wikipages for TracLinks to nonexistant pages/resources * Update [source:trunk/RELEASE] from wiki ChangeLog * Update [source:trunk/ChangeLog] from wiki ChangeLog * Update [source:trunk/INSTALL] from wiki TracInstall * Update [source:trunk/UPGRADE] from wiki TracUpgrade === Other repository files * Check the [source:trunk/THANKS] file * Update version number in [source:trunk/setup.py] and [source:trunk/trac/wiki/default-pages/WikiStart] * Comment out `tag_build` and `tag_svn_revision` settings in [source:trunk/setup.cfg] == Create dist packages == * Check out trunk (or the release branch) to a '''clean''' sandbox * Build source tarballs: - On Unix: {{{ python setup.py sdist }}} in order to get the files in a `.tar.gz`, with the proper LF line endings. - On Windows: {{{ python setup.py egg_info sdist }}} in order to get the files in a `.zip`, with the proper CRLF line endings. Verify with zipinfo that the content is OK as once the templates were missing... \\//Note: '''egg_info''' before ''sdist'', as otherwise data files will be missing; whether this is needed or not depends on the version of Python. With 2.4.4 it's not needed, with 2.5.4 `sdist` won't work even with this step (!), with 2.6.1 it is needed. // * Build Windows installer * .exe win32 installer {{{ python.exe setup.py compile_catalog python24.exe setup.py build bdist_wininst }}} // Note: Always use the minimum required version for the releases (i.e. 2.3 for 0.11.x, 2.4 for 0.12.x, etc.). With python 2.4, `bdist_wininst` alone won't trigger the localization commands, so we have to issue an explicit **`build`** command before. // * Test installation on all target platforms. \\ Install on a clean system. ''Remove any old Trac installation before testing.'' * Smoke test: - create an environment with `trac-admin`, test it with `tracd` - upgrade an environment created with the previous release' `trac-admin`, test it with `tracd` == Finalize the release * Tag/copy version in subversion * Upload to http://ftp.edgewall.org/pub/trac * Update TracDownload * Test `easy_install Trac` * Update [http://pypi.python.org/pypi/Trac PyPi entry] * Post on Trac-users, Trac-dev (all releases) and Trac-announce (only for non-beta releases) * Update [http://freshmeat.net/projects/trac Freshmeat entry] * Close release coordination ticket (e.g. #9077) ---- See also: TracDev