Alternatively

1.1. Release Steps

1.1.1. Checkout Tiki

Make sure you don't have any spaces in the path to this new checkout (as of Tiki 5.x).

1.1.2. Setup.sh

When releasing version greater than 9.x there is the Composer to handle external libraries dependencies (as opposed to SVN externals).
It is not clear if there is no need to run 'sh setup.sh' to get the vendor libraries via Composer. Jonny reported that it was not needed for 11.x but it is needed for 12.x. It is needed also if you are doing a pre-release "dry run" which skips some steps, (e.g. using command php doc/devtools/release.php --no-commit --no-check-svn 12.2 preRC1). So it is better to run it anyway than later quit the release script and need to re-run it.

Run:

sh ./setup.sh

And choose 'c' option (fpr composer) instead of 'f', which is not needed for release.

1.1.3. Update lib/setup/twversion.class.php before the release

Look for section with "Release Managers should update this array before release." of twversion.class.php (of your relevant branch)

1.1.4. Run script

You may need to run the release command providing your MySQL credentials for the script to successfully create the secdb file for you. So if you are releasing from your own computer instead of the release server, you may need to use this command which provides the MySQL credentials:

1.1.5. Create and test pre-release packages

This is done by executing the release script with the release version as argument, using the format major.minor preXYZ (XYZ can be RC1, RC2, alpha, beta1, beta2, etc.)

Use the --help option of the release script for advanced help on options (like using a web proxy)

php7.1 doc/devtools/release.php 19.0 preRC1

Note: Use the command for the version of PHP which is the minimum spec for that branch. In this case we need PHP 7.1 for Tiki 19.x, 5.6 for 18.x and 15.x and 5.3 for 12.x, for instance

The release script has an interactive mode, enabled by default, that will ask you if you really want to do each step. It also asks for a confirmation before committing any changes. You can have a look at them with another shell by using this command:

Check for changes made by the release script before validating commits

svn --ignore-externals status
svn --ignore-externals diff

1.1.5.1. Check the generated README file

Check links/content in the generated README file

1.1.6. Launch the release script again

After testing, launch the release script again, now without "pre":

php7.1 doc/devtools/release.php 19.0 RC1

1.1.6.1. Troubleshooting

1.1.6.1.1. Mysql credentials

In step 11 (or 8 ?) of the release script ("8) Generate SecDB file 'db/tiki-secdb_12.1_mysql.sql'?"), you might see this type of error:

Keywords

The following is a list of keywords that should serve as hubs for navigation within the Tiki development and should correspond to documentation keywords.

Each feature in Tiki has a wiki page which regroups all the bugs, requests for enhancements, etc. It is somewhat a form of wiki-based project management. You can also express your interest in a feature by adding it to your profile. You can also try out the Dynamic filter.