Tuleap 11.x

Tuleap 11.18

Nothing to mention.

Tuleap 11.17

Globals settings are no longer loaded into the global scope

Settings defined in /etc/tuleap/conf/local.inc are no longer accessible via $GLOBALS. If you have customized some txt or php files in /etc/tuleap/site-content/, you need to replace every occurrence of $GLOBALS['<setting_name>'] by \ForgeConfig::get('<setting_name>'). Occurrences of $GLOBALS['Language'] must not be replaced.

Tuleap 11.16

Better integration between the Agile Dashboard and the Test Management plugins

This release introduces a new plugin that brings a deeper and better integration between the Agile Dashboard and the Test Management plugins.

To get it, install the tuleap-plugin-testplan package and activate it in the site administration. For more information about plugins installation, see Plugins installation. The previous integration has been removed, so if you were using it you will need to install the new Test Plan.

This new plugin is part of Tuleap Entreprise.

Tuleap 11.15

Nothing to mention.

Tuleap 11.14

Update to PHP Redis 5

Until now was depending on PHP Redis 4. To do the upgrade you will first need to remove it.

When you apply the update instructions, the yum update part must be replaced by:

#> yum shell -y <<EOF
remove php73-php-pecl-redis4
update
run
quit
EOF

The rest of the upgrade should be done as usual.

Warning

It’s a one time change that only applies when you upgrade from prior to 11.14 to newer than 11.14 (e.g. you must also run it this way if you upgrade from 11.12 to 11.16 for instance). However, once done, you no longer need this specific step and you should apply the regular update procedure.

New upgrade command

There is a new command to run whenever you update your tuleap:

$ sudo tuleap-cfg site-deploy

In the current form, you need to run it to have the organisation logo (on the top left of the site) displayed.

The command is now mentioned in the update instructions.

New plugin available

A new plugin OAuth2 and OpenIDConnect Provider (Tuleap Enterprise only) is available. The correponding RPM package name is tuleap-plugin-oauth2-server.

Test Management repository

If you are running Tuleap Enterprise Edition, you should remove the [Tuleap-testmanagement] section from /etc/yum.repos.d/Tuleap.repo. It’s no longer needed.

Tuleap 11.13

Nothing to mention.

Tuleap 11.12

Nothing to mention.

Tuleap 11.11

Missing timers to process some system event queues on CentOS/RHEL7

Some system event queues were not processed due to missing timers, administrators must enable them manually.

$ sudo systemctl enable tuleap-process-system-events-statistics.timer
$ sudo systemctl start tuleap-process-system-events-statistics.timer
$ sudo systemctl enable tuleap-process-system-events-tv3-tv5-migration.timer
$ sudo systemctl start tuleap-process-system-events-tv3-tv5-migration.timer

If you have the Git plugin installed, you must also enable this one:

$ sudo systemctl enable tuleap-process-system-events-grokmirror.timer
$ sudo systemctl start tuleap-process-system-events-grokmirror.timer

Tuleap 11.10

End of support of Digest authentication against Gerrit servers

Tuleap is no more able to use Digest authentication against a Gerrit server. If you had configured a Gerrit server to use Digest authentication in Tuleap, it has been automatically migrated to use Basic authentication.

Note that if you are affected by this change in any way you should consider upgrading your Gerrit server to a supported version (Gerrit 2.16 or ulterior), support of Digest authentication has been removed in Gerrit 2.14.

Tuleap 11.9

Changes on REST endpoint to create projects

REST route POST /projects has been reworked :
  • it does no longer need the delegation permission of REST administrator to be used (but it respects project configuration rule and check if user can create new projects).

  • you can specify trove categories and project field at creation, if they are required and not provided in payload, the REST call will fail.

Tuleap 11.8

Nothing to mention.

Tuleap 11.7

Major update on Docman REST routes

The route GET docman_items/:id/docman_items was returning too much data:
  • for link the link url were returned

  • for embedded file, the embedded file content were returned

Having such info directly accessible without querying docman_items/:id prevented us to take into account user accesses to a document. That’s why we needed to update our API and remove these keys from the route results. If you need to access them, please call docman_items/id.

Distributed SVN

You should manually mark tuleap-svn-updater as active on RHEL7 SVN server:

$ sudo systemctl enable tuleap-svn-updater.service

Note about custom plugins

On our duty to clean the codebase, we renamed the base file of our plugins. If you encounter errors during cache regeneration, you should issue the following command:

rm /var/tmp/tuleap_cache/tuleap_hooks_cache

If you have custom internal plugins, then you must rename the base file of the plugin and remove the .class from the extension. For example if you have a plugin acme, then you must rename plugins/acme/include/acmePlugin.class.php to plugins/acme/include/acmePlugin.php.

Tuleap 11.6

RabbitMQ dependency removed

For platforms leveraging Distributed SVN, this should be completely transparent as the queue management was transferred to Redis that you should already be running. To ensure everything is working smoothly after upgrade, create a new svn repository and ensure the event is properly propagated (ie repository is created and accessible on the SVN server).

Tuleap 11.5

Project level information about the document manager plugin given by the REST route GET /project/:id has moved

API users that were exploiting the REST endpoint GET /project/:id to retrieve project level information needs to migrate to the REST endpoint GET /project/:id/docman_service.

Tuleap 11.4

End of support of PHP 7.2

Tuleap now comes with PHP 7.3. All new installations defaults to this setup.

To switch on it, you first need to deploy the PHP FPM configuration for PHP 7.3.

/usr/share/tuleap/tools/utils/php73/run.php --module=fpm

Then stop the PHP FPM service running with PHP 7.2 and start a new one running with PHP 7.3.

On RHEL/CentOS 7:

systemctl daemon-reload
systemctl restart tuleap-php-fpm

On RHEL/CentOS 6:

service php72-php-fpm stop
chkconfig php72-php-fpm off
service php73-php-fpm start
chkconfig php73-php-fpm on # Useful if you want the service to be started on boot

If you have made some tweaks to the configuration file /etc/opt/remi/php72/php-fpm.d/tuleap.conf you will also needs to adapt them for the new configuration at /etc/opt/remi/php73/php-fpm.d/tuleap.conf.

New PHP FPM pool to process long running requests

Tuleap now uses a dedicated PHP FPM pool to process long running requests such as file uploads. A few manual actions is needed:

In the nginx configuration file /etc/nginx/conf.d/tuleap.conf replace the upstream block by:

upstream tuleap-apache {
  server 127.0.0.1:8080;
}

upstream tuleap-php-fpm {
  server 127.0.0.1:9000;
}

upstream tuleap-php-fpm-long-running-request {
  server 127.0.0.1:9002;
}

Do not forget to also redeploy the configuration managed by Tuleap for nginx and restart the service (as for a standard Tuleap update).

On RHEL/CentOS 7:

/usr/share/tuleap/tools/utils/php73/run.php --module=nginx
systemctl restart nginx

On RHEL/CentOS 6:

/usr/share/tuleap/tools/utils/php73/run.php --module=nginx
service nginx restart

Removal of the function \get_server_url()

The function \get_server_url() has been removed and must be replaced by \HTTPRequest::instance()->getServerUrl(). This change impacts you if you have customized one of the following site-content files:

  • site-content/en_US/mail/html_template.php

  • site-content/en_US/project/tos.txt

  • site-content/fr_FR/project/tos.txt

  • site-content/en_US/tos/privacy.txt

  • site-content/fr_FR/tos/privacy.txt

Tuleap 11.3

Nothing to mention.

Tuleap 11.2

Max file size change when uploading an item to the document manager through Webdav

The max file size when uploading an item to the document manager is now global to the document manager plugin for all type of accesses.

This means that the max file size limit that is defined in the configuration file /etc/tuleap/plugins/webdav/etc/webdav.inc is not used anymore for the document manager. Instead, you can change the max allowed size of a file in the document manager plugin from the site administration.

Distributed SVN Setups

After move of svn plugin to “front controller” pattern, nginx configuration must be adapted so svn server can continue to serve the web browsing of svn repo (it’s not necessary if svn server is setup only to serve svn tools related traffic).

On svn server, you should remove the previous location ^~ /plugins/svn { ... } block and add the following snippet:

root /usr/share/tuleap/src/www;
index index.php;

location /index.php {
    include fastcgi_params;

    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index                   index.php;

    fastcgi_param DOCUMENT_ROOT             $realpath_root;
    fastcgi_param SCRIPT_FILENAME   $realpath_root$fastcgi_script_name;
}

location / {
    try_files $uri $uri/ /index.php?$args;
}

location ^~ /plugins/svn/ {
    alias /usr/share/tuleap/plugins/svn/www/;

    if (!-f $request_filename) {
        rewrite ^ /index.php last;
    }
}

Tuleap 11.1

Missing scheduled jobs on CentOS/RHEL7

Some jobs were missing on CentOS/RHEL7 instances and as result some actions might not work. You will need to enable and start those jobs:

#> systemctl enable tuleap-launch-daily-event.timer
#> systemctl enable tuleap-launch-plugin-job.timer
#> systemctl start tuleap-launch-daily-event.timer
#> systemctl start tuleap-launch-plugin-job.timer

Tuleap 11.0

Changes in the document manager REST routes

If you have started using the POST docman_items route, you should adapt your code. In order to have easier to use routes, it has been split in smaller routes:

  • POST /docman_folders/{id}/files: Create a new file

  • POST /docman_folders/{id}/empties: Create a new empty document

  • POST /docman_folders/{id}/wikis: Create a new wiki document

  • POST /docman_folders/{id}/links: Create a new link document

  • POST /docman_folders/{id}/folders: Create a new folder

Full Text Search plugin removal

The plugin was deprecated for a while and has been removed. The plugin will not be available on your instance after your upgrade.