This month, it’s all about going deeper and taking our latest features to the next level: Roadmap with children, always more integration and automation with GitLab, discover the last release of Spring 2021.
Roadmap with children, cross project and progress customization
As announced last month, the work on Roadmap did not slow down and June starts with its load of new features.
Roadmap is now able to display children of activities:
When the artifacts are in different projects like an epic whose stories are in another workspace, the project name is added to the artifact name so the reader can better get how the project is doing.
Each artifact is shown with a progress from 0 to 100%. The way this progress is computed is now customizable at tracker level. The tracker admin can choose between two strategies:
- Effort based: where the percentage is computed out of a remaining effort vs total effort
- Count based: where the progress is the number of open items vs the closed one
This is controlled by a new “Progress” semantic. This semantic is only used in Roadmap for the moment but in the future it will be used in Scrum view for instance.
GitLab integration: closing Tuleap artifacts automatically
Developers are lazy, that’s a quality because their primary job is to (try to) make computers do their job so they don’t have to do it themselves.
Developers don’t like change. Actually nobody likes change unless you are the source of the change and then you wonder why the hell others are so reluctant to change.
That’s what we have learnt from the field for the Tuleap / GitLab integration: developers will want to stay as much as possible within “their tools” be it an IDE or code management platform (interestingly that was the main motivation for the Eclipse integration a few years ago). And that’s exactly what we deliver today: one can close Tuleap artifacts from git commit messages.
The typical integration use case is the following:
- User stories managed in Tuleap
- Code for those stories stored in GitLab
During the development, developers will write their code and push it to GitLab referencing Tuleap artifacts. When the story is completed, the final commit should include “closes TULEAP-1234” and then the story is moved to Done (also works with resolves
and fixes
keywords).
As you can see on the screenshot, you get the full power of Tuleap Workflow with post actions associated to “Done” status to automatically set the close date and the remaining effort.
Of course, you are not limited to reference User Stories. Often Stories might be broken down in tasks for developers and other activities, then developers reference their tasks that are closed commit after commit. The Taskboard is then always up to date for the daily stand-up and so are the burn-down and the burn-up charts.
References in git tags for Tuleap Git and GitLab Integration
In addition to references in commit messages and Merge Requests it’s now possible to reference Tuleap artifacts in annotated git tags pushed on either Tuleap Git (with a message like v1.0 see rel #1234
) or in GitLab tags (with a message like v1.0 see TULEAP-1234
).
PHP 7.4 by default
This one is completely transparent for both end users as well as site administrators. At upgrade Tuleap will automatically runs on PHP 7.4 without any manual intervention. This brings a little speed up by default (as all PHP releases) but more performance improvement should be expected when we will activate “opcache preloading” in a near future (between 10 to 18% speed-up in the initial benchmarks). And of course, this means that we open the activity for support of PHP 8 that is targeted for the second semester 2021.
Bugs and requests
There were 87 bugs fixed and requests implemented during 12.9 release cycle. Bugs and security fixes were already back port on Tuleap Enterprise builds. You will find below a selection of the most notable fixes.
Security
- request #21390 XSS via the login button preview of the OIDC provider creation/edition modal
- request #21391 XSS in the SVN immutable tags preview
Tuleap Scrum
- request #21346 Taskboard cards with no displayed children should be shown as solo items
- request #21365 Explicit backlog not set at project creation
Tuleap Trackers
A series of fixes where made to improve display of big reports (most noticeable when there are 5000+ artifacts returned by the filters):
- request #21377 Optimize CompatPDODataAccess::escapeInt
- request #21364 Optimize retrieval of the list of artifact submitters/updaters
- request #21363 Tracker reports iterate twice on the matching IDs
Other fixes:
- request #21359 OpenGraph description of an artifact should not contain Markdown markup
- request #21009 Selectbox static values descriptions are not displayed
- request #20957 Clear values of a multiselectbox field doesn’t work
- request #20955 Text field value should not be escaped if it’s not a default value
Tuleap tests management
- request #21350 Test execution changes should not take the place of other artifacts in the heartbeats widget
Tuleap Git & Pull Requests
- request #21398 Some Git repositories are hidden when doing a mass update
- request #21393 Gerrit logo must be displayed in Git homepage when repository is handled by the tool
- request #20977 Pull Request: equalizing sides is not useful if one side does not have content
- request #20966 Commit sha1 is not properly centered in pull requests commit list
Tuleap Subversion
- request #20989 Cannot checkout a Subversion repository when the LDAP plugin is not present
Tuleap Document
- request #20992 Document: references are not set on database
Project administration
- request #21397 API endpoint GET /banner should not be accessible via the OAuth2 scope read:project
- request #21340 Project note widget does not extract the references
- request #20991 Project creation webhooks cannot be manipulated once one webhook has some logs