| Version 4 (modified by till, 4 years ago) (diff) |
|---|
How do we release a new version of RoundCube? This document aims to provide an answer.
Creating a new release
Version
version legend:
- x.y.z
- x = major
- y = minor
- z = fix (0 can be omitted)
Creating a new release branch
svn cp trunk/ branches/release-x.y svn del branches/release-x.y/bin/dumpschema.php svn del branches/release-x.y/bin/makedoc.sh svn del branches/release-x.y/tests
- edit branches/release-x.y/CHANGELOG
- edit branches/release-x.y/README and remove SVN disclaimer
- bump up RoundCube's version in config/main.inc.php.dist
- bump up RoundCube's version in index.php
- bump up RoundCube's version in program/include/iniset.php
svn ci -m "new x.y release branch" svn cp branches/release-x.y tags/release-x.y svn ci -m "new x.y release tag"
The differences between branches and tags are the following:
- a tag may not be "patched" or "hotfixed"
- branch may be "patched" or "hotfixed"
- in case you apply a fix to a branch, please create a new tag from it
Creating a tag after a fix
svn ci -m " * important security fix in x.y release" branches/release-x.y svn cp branches/release-x.y tags/release-x.y.z
Create Download
Major Relase
svn export http://trac.roundcube.net/branches/release-x.y ./roundcubemail tar -cf roundcubemail-x.y.tar ./roundcubemail gzip roundcubemail-x.y.tar rm -rf ./roundcubemail
- the version naming should obviously match the branch/tag
- distribute release on SourceForge?
- adjust naming in case of a "hotfix" / "patch"
Minor Release / Hotfix
- repeat entire process
- supply a patch in addition:
svn diff branches/release-x.y tags/x.y.z > ./roundcubemail-patch-x.y.z.patch gzip ./roundcubemail-patch-x.y.z.patch
- distribute patch on SourceForge?
Announcements
- write news entry on SourceForge?
- post on Twitter (Till)
- email announce@, dev@ and users@
TBD
- encourage maintainers to subscribe to announce@
- seperately ping distros
- maybe a PEAR package with replacement tasks? (@package_version@)
Snapshots
...
