Enhancements

Tracker

Edition capabilities enhanced

Simple but addictive, integrating images in artifacts has never been so easy. In any textarea or follow-up comment you can drag’n drop images or, even better, paste them directly into the text field.

Copy past of images in artifacts

This works in any "textarea" type of field (you can have as many as you need in your tracker) as well as follow-up comments but only in "Artifact" view at the moment. "Modals" will come in 11.3.

Behind the scenes it’s managed as a regular "Attachment" so you benefit of all the features related to this field (permissions, import/export, reports, etc). For instance, for the feature to work, you need to have an "Attachment" field defined in your tracker and this field must be writable. That means that if you do not want than anybody starts to put enormous duck pics in your precious artifacts, you just have to limit the "Can Update" permission of the attachment field to trusted users.

A new Workflow post action

  • story #12189 prevent field modification according to state
  • story #13216 prevent field modification according to state (continued)
  • story #13353 prevent field modification according to state (continued)(continued)

Frozen field post action in workflow

As you can imagine given the 3 stories listed before, it was tough but it’s finally there: you can freeze fields as part of Tracker Workflow.

The primary use case is to make sure that values can no longer be modified when a given state is reached. For instance, you can freeze the "start date" field of a task when the work starts or a "Initial Budget Forecast" might not change along the project life, etc.

This feature is available as a new "Post Action" called "Frozen Fields" in tracker Workflow.

Workflow XML import/export

The "Simple mode" for workflow is the new default mode. It was not possible to export/import in XML format. It’s now fixed and the [format is described in documentation]({{ site.data.contact.uri.tuleap_doc.uri }}/administration-guide/projects-management/project-export-import.html#workflow-modes)

Easy switch between tracker and Kanban

You do multiple back and forth between tracker and kanban? You will save time with the new shortcut available in the breadcrumb. The shortcut to the corresponding item in "the other world" is available in the breadcrumb.

Switch back and forth between tracker and kanban

Bugs

A couple of bugs and performance improvements in trackers:

  • request #13383 A cycle in the artifact hierarchy should not put the workflow trigger rules processor in a infinite loop
  • request #13409 Ensure the workflow rules manager can not cycle while processing children triggers
  • request #13382 Trigger creation form displays "undefined" values in the field values select box
  • request #13377 Retrieval of the first transition of the current state can crash if there is no changeset or the changeset value for the field does not exist
  • request #13376 Artifact modal can not open an artifact with a field without value on which a workflow is defined
  • request #13359 Done semantic should not load invalid values
  • request #13408 Display of a tracker table report can be slow due to a confusion of the MySQL optimizer
  • request #13396 Prevent moving screen when a checkbox is checked

File Release System

FRS REST API is now almost complete as you can create and get all resources. Only deletion is not already part of the API. Stay tuned!

Document manager

Most of the work on Document Manager was done under the hood during this release but there are a couple of bugs that were fixed (see below).

The most important change for site administrators to know is that the max size defined for documents is now enforced everywhere (web, drag’n drop, REST, SOAP, Webdav). Until now, Webdav had a specific value, it’s no longer used.

  • request #13375 The document manager should use the same max size setting everywhere
  • request #13367 Missing margin between the delete and create button on small resolutions in the quick view panel
  • request #13342 Update the breadcrumb when an embedded file is displayed

Development

  • request #13371 Force usage of shorthand scalar typehints in the docblocks
  • request #13361 Require the nullability symbol to be present when the default value is null
  • request #13360 PHP class constants should always have an explicit visibility
  • request #13357 Plugin base class should not be forced to have .class.php extension
  • request #13354 Make sure PHP annotations are correctly formatted and comments not completely useless
  • request #13314 Tuleap EventManager should be PSR-14 compliant
  • request #13365 Apply msguniq during gettext extraction in plugins
  • request #13260 Remove polyfill code supporting deprecated PHP versions
  • request #13236 Remove deprecated \Http_Client class

Releases stats

  • 2504 files changed, 36468 insertions(+), 23736 deletions(-)
  • They made the release (number of commits, author, company)
    • 152 Thomas Gerbet, Enalean
    • 54 Yannis ROSSETTO, Enalean
    • 51 Manuel VACELET, Enalean
    • 49 Joris Masson, Enalean
    • 49 Nicolas Terray, Enalean
    • 42 Martin Goyot, Enalean
    • 25 Marie Ange Garnier, Enalean
    • 17 Thomas Gorka, Enalean
    • 9 lorentzr, Enalean
    • 7 Clarck Robinson, Enalean

Bug fix

Timetracking

  • request #13388 make the timetracking overview’s title required
  • request #13225 Reload Timetracking overview times when time are changed on Personal Timetracking widgets

SOAP

Project administration

  • request #13379 Adding a non-project member to the project administrators does not update the project member group anymore

Git

  • request #13372 authentification type is deleted when gerrit server is edited
  • request #13366 Gitolite user created by Tuleap packaging is not a system user
  • request #13364 Remove REST API endpoint POST /git/{id}/build_status
  • request #13393 Git over HTTP request can leave a zombie process if the request timeout

Vault Plugin

  • request #13358 Move Tuleap Vault plugin to the API and SDK submodules

Homepage

  • request #13405 Do not retrieve all active project DB rows to count the number of active projects on the homepage