It’s time to grab a nice cup of coffee, 10.2 is here and the list of changes is long. New features for those who organize things, for those who are doing them, for those who are testing things (and if you are doing all that yourself, you are going to be happy). Even if your thing is to write complex math formulae we have something for you !
Scrum and Kanban
Scrum and kanban pushes one step further the visual management.
You can now associate a color to a concept (importance, type of issue, etc). This color can be used as cards’ background in Scrum cardwall & planning views (see below), in Kanban (release outline) and in tracker cardwall renderer.
- story #11543: Use new palette colors as background color in A.D
- story #11542: Update tracker "color picker" to have beautiful colors to associate with select box values
The feature is automatically activated in new Kanban with field "Importance" (default to None) that can be set to "High", associated to Red color, to outline urgent elements (use it sparsely otherwise it defeats the whole purpose of the feature).
For Scrum or tracker cardwall renderer there are no default configurations provided, it’s up to you to adapt to your usage. To configure you will need to set a background color in tracker semantics and the colors are associate to field values using a brand new and beautiful color picker. The color picker replaces the legacy one in all places (including in scrum cardwall columns). The legacy color picker is still available for backward compatibility.
Accessibility is also taken into account. Colorblind people can activate it in their preferences (account settings), then, in addition to colors they will have distinct marks to identify various backgrounds. You can see it in action on tracker cardwall renderer.
Git pull requests
- story #11477: have a dedicated references for pullrequests
Much of this story is an internal refactoring so you won’t see much on the user interface. However it’s a major leap forward in pull request support in Tuleap: pull requests get a real object in git repository.
Until now, pull requests were managed from the source branch of the request: diff was computed based on that, the continuous integration was configured on the source branch, etc. It was working quite well but at some limitations (see hereafter what’s possible now).
Starting Tuleap 10.2, when one create a pull request on repository a new git reference is created internally
(in the form
refs/tlpr/XXX/HEAD for those that are in the git things, and yes we are quite proud of the namespace :D).
This branch is accessible in read-only to all people
who are granted read access to the repository but only Tuleap can write in it. As a developer you won’t see the branch by default
as git UI displays only
refs/tags during listing of branches and tags. However if you run a
git ls-remote the
new objects will show-up.
What does it change you should be aware of ?
- The most important change is related to continuous integration. You should now configure CI for pull request on the target repository moreover the REST end-point to return build status changed. Checkout documentation.
- You should see a performance improvement on loaded server or big repositories as all git related operations are performed in memory (except merge at the moment).
- You can now delete source branches and keep pull requests.
At 10.2 upgrade there will be a conversion phase
- Until all pull requests get there own
refs/tlpr/XXXan automatic conversion will happen live at pull request access by someone.
- There is a nightly job that will convert all pull requests in background.
- story #11343: move follow-up comments
In continuation of the epic of moving artifacts between trackers the move REST route now moves comments (content, authors, dates and changes on moved fields).
- story #11254: reduce notification sent by tracker to status change
The first part of the story got its way into the release. Tracker admins can reduce the amount of notifications sent by their trackers with a new notification option.
When "Status change notification" is selected, instead of getting an email every time someone changes something in an artifact you are involved, you will receive notification only when status (as per semantic) changes.
Note: if you are in a "Global notification" for this tracker, this default will not apply to you.
Test management (Tuleap Enterprise only)
- story #11492: have several steps in my tests
Steps in TTM are getting real and usable. It’s not yet completed but it already brings a net advantage over using test’s description for long tests.
After having added "Step definition" field in "Test definition" tracker and "Step execution" in "Test execution" trackers, you can add Test Definitions artifacts (only in tracker view for the moment, the feature is not yet accessible in TTM modal window for test edition or creation). You can add as many steps as you need. You can also delete steps.
At execution, default action is to mark test as passed but one can select any other value from the select box (see screenshot). The rules are
- you need to have all steps passed to get the test passed.
- as soon as you have one step blocked or failed the whole test is either blocked or failed.
- you can still mark the whole test passed, failed or blocked but steps are not updated (you can have a test passed with failed steps).
Early adopters can start experimenting, those who ain’t time for that should wait a bit. Keep in mind that tests you are modifying to leverage steps now will probably need an update when we introduce the distinction between ‘Actions’ and ‘Expected results’ (due in 10.3).
- request #11506: TestManagement Automated tests should trigger RealTime update
Another nice addition of 10.2 is that tests that get updated by robots (automated tests) are now visible in real time while you are running your manual tests.
- story #11030: add latex to mediawiki
The Math extension provides support for rendering mathematical formulae. An overview of what can currently be done with this extension is found at the English Wikipedia’s documentation.
Checkout administration guide to install the needed packages
- story #11512: Install and use plugin docman
- story #11576: limit who can request a project
It’s now possible to better control how projects are requested. As site admin you have 2 new options:
- Limit the total number of projects that are waiting for validation.
- Limit the number of projects a single user can request at the same time.
Both options aim to ease site admin work regarding project moderation. During this work a couples of things where modified to make project moderation a little bit easier:
- Requester name is now clickable (so one can get the requester email easily).
- Categories that where selected at project creation are displayed in the "Pending" list.
- All the configurations related to project creations are now centralized in "Projects" section in site admin bar and accessible via panes (see screenshot below).
Framework and internals improvements
- request #11623: TLP top and top-right dropdown
- request #11558: Limit concurrency in gulp build to reduce memory usage
- request #11538: Use webpack configurator and upgrade configuration to v4
- request #11528: Update DOMPurify to 1.0.4
- request #11527: Update HTMLPurifier to 4.10.0
- request #11510: Extract translations from Vue template
- request #11501: Bump build and test pipelines to npm@6
- request #11423: Upgrade webpack to v4
On the road to PHP7
request #11507: Remove deprecated ereg functions
request #11545: Use an autoloader generated with Composer in the agiledashboard plugin
request #11544: Use an autoloader generated with Composer in the pullrequest plugin
request #11516: Timetracking uses PSR4 autoloader
request #11524: Move Timetracking tests to PHPUnit
request #11529: BotMattermost uses PHPUnit to un unit tests
PHP7 conversion stats:
- 1601 PHPCompatibility warnings (970 high, 631 normal)
- 14839 simpletest tests
- 337 phpunit tests
- 892 files changed, 37680 insertions(+), 14609 deletions(-)
- They made the release (number of commits, author, company) 153 Marie Ange Garnier (Enalean) 152 Yannis ROSSETTO (Enalean) 108 Thomas Gerbet (Enalean) 76 Joris Masson (Enalean) 58 Nicolas Terray (Enalean) 37 Thomas Gorka (Enalean) 14 Manuel VACELET (Enalean) 13 Benjamin Dauton (Enalean) 2 Matthieu Monnier (Enalean) 2 Romain Lorentz (Enalean) 1 Karim Beji (STMicroelectronics)
- request #11586: Restoration of a deleted document or a specific version of a document does not check permission
- request #11537: Missing CSRF protection in site administration document restoration
- request #11526: Remove completely the user mailboxes feature
- request #11594: Reduce un-necessary DB writes on start scrum
- request #11502: Do not query OPTIONS artifact_temporary_files when there is no File field
- request #11453: Artifact modal can be made unusable if the tracker structure is modified after an initial load
- request #11627: Authentication of replication HTTP users used by Gerrit is always denied
- request #11607: Restricted user might no longer have access to artifact in "public" projects
- request #11574: art and artifact references can be missing in new projects
- request #11569: Tracker CSV BOM can be visible and leads to an import error
- request #11557: MySQL error at tracker widget duplication
- request #11536: Wrong user can be set a submitter while moving an artifact
- request #11509: PermissionOnArtifact XML export could export an empty ugroup tag
- request #11539: PHP notice when reminder are sent and the reviewer do not want HTML email
Time tracking (Tuleap Enterprise)
- request #11585: Pressing Enter in the form of the add/update time closes the modal instead of submitting it
- request #11561: Increase the limitation of artifact in timetracking widget
Test management (Tuleap Enterprise)
- request #11515: Export TestManagement configuration in XML export project
Dynamic credentials (Tuleap Enterprise)
- request #11485: PHP warning when revoking a dynamic credential
- request #11552: Pullrequest file diff must deal with ISO-8859-1 files
- request #10136: Improve mergeability detection status performance
- request #11642: Renaming a project ugroup to an already existing ugroup should not give a fatal error
- request #11540: Legacy tracker system does not generate SQL error at project creation