JIRA Settings Improvements
For JIRA users, we improved the JIRA integration settings in this release, making it easier to set up and test your connection from your GitLab project to a JIRA server instance. There is now also a separate Web URL field and a JIRA API URL. This is useful for when your JIRA instance is configured such that the JIRA REST API and the JIRA issues location do not share the same URL.
Read through the documentation on JIRA integration
Group Label Permissions
The Reporter, Developer, Master, and Owner roles can now create and edit group labels. Previously, only Master and Owner roles could do this. This brings parity with permissions of project labels.
Read through the documentation on GitLab's permission model
Edit Issue Description Inline, Without Losing Context
The issue description serves as the single source of truth when teams collaborate on work and ideas are rapidly flowing in the issue comment thread. With this release, you now edit the issue description by clicking
Edit, as before. But you remain on the same page, instead of going to a separate web form. Just make your changes inline, and click
Save changes to persist the updates without refreshing the page. While editing, you can also easily scroll down on the page to review comments and even copy GFM text and paste it back into the description.
Read through the documentation on GitLab Issues
Issue Board Usability Improvements
We recognize that teams use Issue Boards in a variety of ways. To make it usable for even more teams, we now have collapsible Backlog and Closed columns. We’ve also tweaked adding issues in a board. When you click the plus sign +` to add an issue to a list, it now appears at the top of the list automatically, which is really helpful for long lists.
Learn more about GitLab Issue Boards
Internationalization of Project Home & Repository Files Pages
In GitLab 9.2 we started the process of internationalization with the Cycle Analytics page in German and Spanish. In GitLab 9.3 we are extending this to more frequently used pages such as the Project Home and Repository Files pages.
The GitLab community are already starting to add more languages such as Chinese, Bulgarian, and Brazilian Portuguese. You can follow the progress and take a look at the contributing guidelines to get involved.
Learn how to contribute to translate GitLab
Access private Container Registry images
When you deploy your docker-based project, you need to pull your image every time the deployment environment needs to start them. Since the integrated GitLab Container Registry is the natural choice to store your containers, in GitLab 9.3 you can use it to distribute them too!
By creating a personal access token with the brand new
read_registry scope, you have a persistent deploy token that could be used by external services, like Kubernetes, to access your images every time it’s needed, without giving your full credentials or using a dummy user for this task.
Read through the documentation on Personal Access Tokens
System Note with Link to Change in Outdated Diff Discussion
During merge request code review, we are constantly making code changes and commenting on those changes. It is often difficult to keep track. In particular, suppose we start commenting on a particular code line, and there are subsequent changes to that line. You may end up discussing something that has already changed.
With this release, we added a system note to indicate that a line has already changed, so that when you are participating in comments with respect to a particular line, you know that it’s already been changed, and can even see the change by clicking through.
Auto-cancel Redundant Pipelines Now Set to On for All Projects
In order to benefit from the automatic cancellation of redundant pipelines and save a lot of time during your development process, GitLab 9.3 sets this behavior to on for all existing and new projects.
If you really do want to disable it and keep redundant pipelines running, you can tune the parameter to reflect your needs.
Upcoming Nginx Upgrade
As part of the upcoming GitLab 9.4 release, we will be upgrading the version of nginx included in our Omnibus packages to the new stable release, 1.12. Version 1.12 includes a number of improvements over the previous stable release, including the ability to filter the log output.
This will be a transparent upgrade for users, however if you have added your own customizations to the nginx configuration, please ensure they continue to work with version 1.12.
Debian 9 Support
Support is available for the recent release of Debian 9. Official Omnibus packages for GitLab 9.3 can be downloaded from our installation page.
GitLab Mattermost 3.10
GitLab 9.3 includes Mattermost 3.10, an open source Slack-alternative with new support for Turkish language, new keyboard shortcuts, and much more.
Read through the documentation on GitLab/Mattermost integration
The bundled Git and PostgreSQL packages have been updated. Git is now v2.13.0 and Postgres is v9.6.3.
Read through the documentation on Omnibus GitLab
Snippets now have descriptions. This follows personal snippet comments, which were added in the previous release. Snippets are a great tool for quick and informal collaboration around code ideas. We’re now bringing the power of issues and merge request collaboration to snippets too.
Read through the documentation on GitLab Snippets
We are continuing to make great strides improving the performance of GitLab in every release. Not only will this make individual instances of GitLab even faster, but will also greatly improve the performance of GitLab.com, an instance that has over 1 million users!
In GitLab 9.3 we are continuing to make listing projects a lot faster and improving performance overall server performance by making changes to how we mirror repositories. Syntax highlighting on files will also be cached to improve overall performance and make viewing commits noticeably faster.
There are numerous other performance enhancements in GitLab 9.3 that should not only make GitLab feel faster, but reduce overall impact on server infrastructure.
Bulk-Editing Issues Re-Design
We’ve made bulk editing issues even simpler and more intuitive in this latest release. We’ve leveraged the sidebar paradigm that already pervades GitLab. So users will feel right at home using a transient sidebar when updating multiple issues at once.
Read through the documentation on GitLab Issues
Search/Filter Bar Improvements
We continue to make incremental improvements to the search/filter bar. You can now view user avatars.
Also, by clicking on a filter, it activates the dropdown, allowing you to change filters quickly.
Read through the documentation on searching through GitLab
Improvements to GitLab Subgroups
In GitLab 9.0 we introduced Subgroups, allowing for more flexibility and management of groups and projects.
We are continuing to improve this functionality in every release and in GitLab 9.3 we are making the discoverability and navigation of Subgroups a lot better. On the Groups page you can now see an expandable tree view of all subgroups and projects rather than having to navigate and explore them one page load at a time.
Read through the documentation on GitLab Subgroups
Enhanced View for Repository Files
When viewing files in your repository, some extra information is now automatically extracted and reported in the same page.
Starting with GitLab 9.3, you can see if your
.gitlab/route-map.yml are valid or not, and which are the parsing errors.
LICENSE files are also analyzed, and the information about the specific license is easily accessible with a link for further details about it. Dependency management systems are also exposed to make it clear what the projects rely on.
Autolinking Package Names
Ah, packages, those little gems (hah!) of wisdom wrapped up and ready for re-use. GitLab will now automatically detect and link packages in the file view, saving you valuable clicks every day. Neat, huh?
This functionality will work for the following packages and languages:
API Support for Pipeline Schedules
In GitLab 9.2 we released Pipeline Schedules that can be configured and managed using the UI. Today with GitLab 9.3 we’re also releasing calls to create and manage Pipeline Schedules through a set of APIs, in order to allow integration with other tools simple and effective.
Read through the documentation on Pipeline Schedules' API
Performance Impact of Merge Requests now Quantified
With GitLab 9.2 we added the ability to see the memory impact of a merge, by adding a sparkline to the Merge Request page. As part of GitLab 9.3 we are taking this further and now quantify the change in average memory usage for the 30 minutes before and after the merge.
It is now easier than ever for developers to be cognizant of the impact they are having on service performance, by getting direct feedback within the tool they already use every day.
Read through the documentation on monitoring your apps with Prometheus
GitLab Runner 9.3
We’re also releasing GitLab Runner 9.3 today!
Most interesting changes:
GIT_CHECKOUT variable which controls git checkout step (merge request)
- Add basic support for Volumes in Kubernetes executor (merge request)
- Add support for
cpus option in Docker executor (merge request)
- Add support for
userns option in Docker executor (merge request)
- Add requests backoff mechanism (merge request)
- Improve docker machine removal for Docker Machine executor (merge request)
List of all changes can be found in GitLab Runner’s CHANGELOG.
Read through the documentation on GitLab Runner.
Additional GitLab Service Metrics
GitLab 9.0 introduced Prometheus monitoring of the GitLab service, providing insight into Redis, PostgreSQL, and system performance.
As part of GitLab 9.3 we have added experimental monitoring of our ruby code base, starting with a handful of metrics like pipeline status and user sign ins. We will continue to instrument additional areas of GitLab in subsequent releases.
Read through the documentation on the Additional Metrics