This is a great event for the all Tuleap community: here is Tuleap 10!
So many things happened since Tuleap 9 that we thought that a quick recap was needed, if you did read carefully each of the 19 release notes since October 2016 and remember everything, you can go to What’s new since 9.19 to only get the fresh changes.
We take this occasion to warmly thank all the 24 contributors that made 10.0 as well as sponsor companies that drive the OpenRoadmap. They do help the dream to get an open source ALM tool come true.
With 114 user stories developed, 1100 requests solved, almost half a million lines of code added and 9000 files changes, it’s the most in-depth transformation of Tuleap since it’s inception.
New Features
New UI
As you can see in all the screenshots here around, one of the most visible change in Tuleap 10.0 is the introduction of our new Design Framework (tlp) and theme "Burning Parrot". It’s been introduced in various places: site administration, project administration, Scrum, Kanban, Test Management, Dashboards. The work is not complete yet and it will take time to convert everything but we are working hard on it, next candidates are Document Management and Git, stay tuned.
Multiple dashboards & new widgets
Display all dashboards on one page with the tabbed view selecting your favorite widgets that matter to you
The new heartbeat widget is a timeline to help you track the last updated items
Agile: Scrum, Kanban or both
Scrum teams get 2 new charts to help them track project progress.
Burn up highlights gaps towards the final objective. [Learn more]({{ site.data.contact.uri.blog.uri }}/effective-decision-making-using-burnup-chart)
Velocity measures the pace at which a team get work done. [Learn more]({{ site.data.contact.uri.blog.uri }}/velocity-chart-tuleap-open-source-scrum-tool)
Tracker Query Language (TQL)
Run advanced searches in Tuleap Issue Trackers. Much like SQL, TQL lets you create very specific queries, so you see only the artifacts that are relevant to your search. [Learn more]({{ site.data.contact.uri.blog.uri }}/tql-most-powerful-way-query-tuleap-trackers)
Tuleap Test Management (TTM) (Tuleap Enterprise)
Test Management is now integrated in the whole software development lifecycle. You can manage manual and automated tests in one single tool. [Learn more]({{ site.data.contact.uri.blog.uri }}/tuleap-test-management-big-picture-manual-and-automated-tests-together)
Query Multiple Trackers (Tuleap Enterprise)
With the new Cross-Tracker-Search feature, you can now query multiple trackers, multiple projects at the same time. [Learn more]({{ site.data.contact.uri.blog.uri }}/tracking-issues-across-multiple-projects-multiple-trackers)
Git Pull Request
Facilitate online code reviews with the new Git Pull Request plugin. [Learn more]({{ site.data.contact.uri.blog.uri }}/tuleap-pull-request-open-source-code-review-tool)
Time tracking (Tuleap Enterprise)
Make easy for team members to report time they spent by issue. [Learn more]({{ site.data.contact.uri.blog.uri }}/project-management-new-time-tracking-tuleap)
Mattermost integration
Mattermost is an instant messaging, an open source Slack-alternative. With the two new connectors, people get notified when a push occurred in a Tuleap Git repository and receive a scrum stand-up summary. [Learn more]({{ site.data.contact.uri.blog.uri }}/mattermost-connectors-tuleap-scrum-reports-and-git-now-available)
Integration with up to 120 tools
Moving Github or Jira issues to Tuleap. Connect your Tuleap to Docker. This is now possible. Using the Tuleap Stackstorm pack, you can automate actions between Tuleap and up to 120 tools. [Learn more]({{ site.data.contact.uri.blog.uri }}/connecting-tuleap-other-tools-stackstorm-pack)
Get the best of Tuleap and more with Tuleap Enterprise
Some of the features above are included under the Tuleap Enterprise subscription only, in addition to the guarantee of security and premium support by Enalean. With Tuleap Enterprise, you save money and time. Solving incidents by yourself does not save you money. Avoid the hidden costs of maintenance and disaster recovery. Learn more
To help you jump start with a reliable instance at the very outset, we designed two Starter Packs, including an on-prem installation, one year Tuleap Enterprise and more. Pricing
Releases stats
- 8697 files changed, 469545 insertions(+), 390252 deletions(-)
- They made the release (number of commits, author, company)
- 2331 Nicolas Terray (Enalean)
- 1876 Thomas Gerbet (Enalean)
- 1542 Marie Ange Garnier (Enalean)
- 1511 Yannis ROSSETTO (Enalean)
- 879 Joris Masson (Enalean)
- 616 Juliana Leclaire (Enalean)
- 409 Manuel VACELET (Enalean)
- 276 Benjamin Dauton (Enalean)
- 124 Thomas Gorka (Enalean)
- 44 Sandra Echinard (Enalean)
- 28 Matthieu Monnier (Enalean)
- 25 Adrien Hamraoui (Sogilis)
- 22 Marine Pieux (Enalean)
- 18 Simon Denier (Sogilis)
- 6 Marouane Baini (STMicroelectronics)
- 5 Erwan Guyader (Sogilis)
- 4 Seif Eddine Gamoudi (STMicroelectronics)
- 4 Fares BEN KHALIFA (STMicroelectronics)
- 3 Thomas Cottier (Enalean)
- 2 Thomas Hövelmeyer (CJT)
- 2 Omar R Zavala (Ericsson)
- 3 Humbert Moreaux (Enalean)
- 1 Alaney Dória (Alien Group)
- 1 Mohamed Hammami (STMicroelectronics)
- 1 Nouha Terzi (STMicroelectronics)
What’s new since 9.19
This part of the release note covers the change between 9.19 and 10.0.
Enhancements
Agile Dashboard
- story #11189: have a smart bread crumb
Ease navigation in the Agile Dashboard from one milestone to another.
Bug fixed:
- request #11401: Edit button should be a link
- request #11330: In velocity chart, milestone should be ordered
- request #11323: HTML entities in Breadcrumb
- request #10264: Touchscreen can prevent to drag&drop cards in cardwalls or columns in tracker reports
Trackers
- story #11104: specify how to monitor trackers
- Allow tracker users to select the level of notifications they want to get on a tracker
- All notifications will be done regarding user’s permissions (unless tracker admin disable it)
- Access it with “Notifications” tab in tracker/artifact action bar
- In case of conflict (admin set user in a group ”Notify on every change“ and user selected “No notification at all”) it’s the “No notifications” that is taken into account
- Recommended alternative to “mailing-list for tracker notifications”
- story #11196: delete artifacts with REST api
- Users can delete artifacts with automated REST call
- In order to reduce risk of mis-use a rate limit must be configured
- This rate is the number of artifact a single user is allowed to delete per 24 hour sliding window (the window start at first deletion)
- By default feature is disabled by setting rate limit to 0, increase it wisely to avoid big troubles
- If
archivedeleteditem
plugin is installed, an XML dump of the artifact is kept there. It might be possible to re-import it in case of error (check with support team)
Bug fixed:
- request #11412: Fatal error might happen when copying an artifact and a changeset is not found
- request #11405: Permissions are not properly enforced on tracker reminders management
- request #11403: Force artifact form page to not be cached
- request #11325: Formulas in Reports dont’ work with Computed Values
Cross tracker search (tuleap enterprise)
- story #10703: define a query with "people" fields
- Supported fields:
@submitted_by
,@assigned_to
and@last_update_by
- Supported values: literal names of people and
MYSELF()
operator
- Supported fields:
Test managmeent (tuleap enterprise)
- story #11389: snapshot test executions
- Foundation story for support of Steps in TTM
- Starting Tuleap 10.0, when a campaign is created, the version of the tests at campaign creation time is saved and used
- If test definitions evolve. Old campaigns will now display the old version of the test
- Caveats and pitfalls
- If a test is edited in the context of a campaign using the “Edit” button and the modal, test version is automatically updated upon save
- If a test was updated outside the campaign and you want to update a campaign to the latest version of test, you need to remove test and it again
Bug fixed:
- request #11417: TTM Campaign not displayed for non admin members
- request #11406: Can’t load a campaign if there is no assigned to field in the test execution tracker
- request #11388: Fatal error in StartTestManagementController
Misc. features
- story #11182: prevent users to use a breached password
- Only usable for platform that have access to Internet (works across proxy) and manage passwords (no LDAP or OpenID Connect).
- Tuleap will check against have i been pwned? service is the selected password (account creation or password change) was compromised in a known data breach.
-
request #11337: Tooltip should consume OpenGraph protocol information when available.
-
For cross references of type “Other”, Tuleap will try to fetch “OpenGraph” informations.
-
Example with a “wikipedia” cross ref
-
Example with a community reference that points to tuleap.net
-
-
request #11290: CLI command to change platform visibility
-
request #11226: Mediawiki should be exportable
Development
Framework and internals improvements
- request #11375: Integrate mailhog in dev stack
- request #11354: FrontRouter has proper error handling
- request #11334: Reduce copy of webpack configurations and modules
- request #11270: Add realtime server to dev stack
On the road to RHEL7
- story #11322: install git plugin on RHEL7
- It’s now possible to install git plugin
- Works only in https ATM, no ssh access
WARNING: RHEL/Centos7 is not suitable for production yet.
On the road to PHP7
-
story #11261: convert Git plugin to SQL prepared statements
-
story #11385: convert tests to simpletest/php7
-
story #11410: use last simpletest stable version
-
request #11427: Remove unused transaction functions from the db_* API
-
request #11179: Replace safe_mock by Mockery
-
PHP7 conversion stats
- 1771 PHPCompatibility warnings (1140 high, 631 normal)
- 14841 simpletest tests
- 168 phpunit tests
Release stats
- 832 files changed, 29687 insertions(+), 69758 deletions(-)
- They made the release (number of commits, author, company)
- 123 Thomas Gerbet (Enalean)
- 98 Marie Ange Garnier (Enalean)
- 86 Nicolas Terray (Enalean)
- 67 Joris Masson (Enalean)
- 55 Manuel VACELET (Enalean)
- 55 Yannis ROSSETTO (Enalean)
- 20 Thomas Gorka (Enalean)
- 3 Matthieu Monnier (Enalean)
- 1 Benjamin Dauton (Enalean)
Validation scores
Bug fix
Security
- request #11402: TLS verification is disabled when communicating with a Mattermost server
- request #11335: Missing CSRF protection in TestManagement administrative actions
- request #11331: Access rights on all administratives actions of Test Management plugin are not verified
- request #11429: Missing CSRF protection in site administation project information edition
- request #11428: Missing CSRF protection in site administation user information edition
Search
- request #11421: Make global search form submitting data with a GET request
- request #11366: People search with LDAP custom link must be correctly displayed
SVN
- request #11393: SVN plugin content cannot be browsed for some legacy projects
- request #11361: Fatal error when retrieving a non LDAP user by its login name
- request #11353: Path containing characters that need to be URL encoded cannot be copied in a SVN repository
Project administration
- request #11383: Notices are raised when accessing the project permissions per group page without the FRS plugin
- request #11364: Display a lot of project members
- request #11341: Updating status of a service specific to a project updates the status of all services specific to this project
CVS
- request #11378: CVS ViewVC must display revision graph in IE11
Site administration
- request #11369: Massmail feature does not set a Reply-To header to the mails
- request #11243: Fatal error on all project when status is null
File release system
- request #11351: Wrong md5 after downlading a big file through FRS
Project & User dashboard
- request #11215: Fatal error when a user goes to a dashboard containing a Kanban widget he cannot see
- request #11434: Dashboard of a project might not be found if the project uses a short name with upper case characters
Forum
- request #11439: Accessing the forum monitoring tools throw a fatal error