GitLab.org/GitLab: Release v9.3.0-ee

Name: GitLab

Owner: GitLab.org

Release: GitLab 9.3

Released: 2020-04-03

License: MIT

Release Assets:

![29 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=29&style=for-the-badge "New features added in this release") ![56 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=56&style=for-the-badge "Total features") #### [Premium](https://about.gitlab.com/pricing/premium/) ![3 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=3&style=flat-square "New features added to this tier in this release") ![7 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=7&style=flat-square "Total features in this tier")

[GitLab Code Quality](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) > It's hard to overstate the importance of proper code review. When reviewing changes, you will > need to pay attention to code quality, implementation, formatting, etc. Even with amazing reviewers, > consistency is impossible without the ability to measure quality. > > To speed up code review and to give you the ability to check, measure and improve code quality, > we've built GitLab Code Quality. Code Quality will check your code and report changes in quality > directly in merge requests. This means your code reviews are faster and you guarantee that you're not > accumulating technical debt. Of course, if the quality of your code goes down, > we will show you exactly where, so you can improve your code before merging.
[Multi-Project Pipeline Graphs](https://docs.gitlab.com/ee/ci/multi_project_pipelines.html#multi-project-pipeline-visualization-premium) > Larger projects, especially those adopting [microservices architecture](/blog/2016/08/16/trends-in-version-control-land-microservices/), > often have a set of interdependent components that form the complete product. > It may be difficult for a developer to follow all the links between interconnected projects and understand why a specific pipeline has run, > or if another project has been rebuild because of a commit in the current one. > > GitLab 9.3 is now able to display links for upstream and downstream projects directly on the pipeline graph, > so developers can check the overall status of the entire chain in one single view. > From now on, connections between different projects are clear and simple to follow, and they're automatically created with no extra effort > when using `$CI_JOB_TOKEN` variable with triggers.
[Centralized Audit Log](https://docs.gitlab.com/ee/administration/audit_events.html#audit-log-admin-only) (self-managed only) > Many companies have the need for audit and compliance across the > entire development cycle. In GitLab 9.3 any system administrator has > access to an improved, centralized Audit Log that includes all audit > events from Groups, Projects, and user actions. > > The centralized Audit Log also includes the ability to filter events by > type and name, so you can easily track down events by group, project or user.
#### Core ![26 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=26&style=flat-square "New features added to this tier in this release") ![49 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=49&style=flat-square "Total features in this tier")
[Conversational Development Index](https://docs.gitlab.com/ee/administration/analytics/dev_ops_report.html) (self-managed only) > [Last September we announced](/blog/2016/09/14/gitlab-live-event-recap/) > [Conversational Development (ConvDev)](http://conversationaldevelopment.com), > an evolution of software methodology that accelerates your development lifecycle, > from idea to production. By fully using GitLab's integrated platform of features, > you can reduce that end-to-end cycle time. > > With GitLab 9.3, we are shipping the ConvDev > Index to measure that feature usage. The ConvDev Index even compares your usage > with other top-performers using GitLab, helping you identify which parts of your > workflow you can further improve. > > In this first iteration, the metrics are only available to GitLab > system administrators, aggregating data across your entire GitLab > instance amongst active users.
[Protected Variables for Enhanced Pipelines Security](https://docs.gitlab.com/ee/ci/variables/#protected-secret-variables) > Secret variables are very useful if you want to avoid external people to > access private information for your project, but users that are able to modify the > project could still get access to it. > This might cause unintended people to affect production environments even if > they have no write permissions to the `master` branch. > > In GitLab 9.3, **Protected Variables** introduce an **additional layer of security** > to your sensitive information, such as deploy credentials. > You can now mark a variable as "protected" when defining it in `Settings` -> `CI/CD Pipelines`, making it available only to jobs running on > protected branches, therefore only authorized users can get access to it.
Repository Settings Made Simple > Over time, the number of settings in GitLab has expanded as we've > extended functionality and configuration options for projects and > groups. > > In GitLab 9.3 we will [start to simplify the settings pages](https://gitlab.com/gitlab-org/gitlab-ce/issues/28451) > by making the [Repository Settings](https://gitlab.com/gitlab-org/gitlab-ce/issues/30378) > page a lot more readable. > > Settings will be better grouped and allow people to see an overview of > all the settings available for a certain section.
[JIRA Settings Improvements](https://docs.gitlab.com/ee/integration/jira/) > 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.
[Snippet Descriptions](https://docs.gitlab.com/ee/user/snippets.html) > Snippets now have descriptions. This follows personal snippet comments, which > were added in the [previous release](https://about.gitlab.com/releases/2017/05/22/gitlab-9-2-released/). > 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.
[Group Label Permissions](https://docs.gitlab.com/ee/user/permissions.html) > 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.
Performance Improvements > 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](https://gitlab.com/groups/gitlab-org/issues?scope=all&state=opened&utf8=%E2%9C%93&milestone_title=9.3&label_name%5B%5D=performance) > in GitLab 9.3 that should not only make GitLab feel faster, but reduce > overall impact on server infrastructure.
[Edit Issue Description Inline, Without Losing Context](https://docs.gitlab.com/ee/user/project/issues/index.html) > 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](https://docs.gitlab.com/ee/user/markdown.html) > and paste it back into the description.
[Bulk-Editing Issues Re-Design](https://docs.gitlab.com/ee/user/project/issues/index.html) > 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.
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.
[Search/Filter Bar Improvements](https://docs.gitlab.com/ee/user/search/) > 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.
[Internationalization of Project Home & Repository Files Pages](https://docs.gitlab.com/ee/development/i18n/index.html) > In [GitLab 9.2](/releases/2017/05/22/gitlab-9-2-released/#internationalized-cycle-analytics) > we started the process of > [internationalization](https://gitlab.com/gitlab-org/gitlab-ce/issues/4012) > 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](https://gitlab.com/gitlab-org/gitlab-ce/issues/32951) > and take a look at the > [contributing guidelines](https://docs.gitlab.com/ee/development/i18n/index.html) > to get involved.
[Improvements to GitLab Subgroups](https://docs.gitlab.com/ee/user/group/subgroups/) > In GitLab 9.0 we [introduced Subgroups](/releases/2017/03/22/gitlab-9-0-released/#subgroups-ce-ee), > 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.
[Access private Container Registry images](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) > 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](https://docs.gitlab.com/ee/user/packages/container_registry/index.html) > 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.
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-ci.yml` or > `.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.
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.
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: > > * `*.gemspec` (Ruby) > * `package.json` (Node.js) > * `composer.json` (PHP) > * `Podfile` (Objective-C) > * `*.podspec` (Objective-C) > * `*.podspec.json` (Objective-C) > * `Cartfile` (Objective-C) > * `Godeps.json` (Go) > * `requirements.txt` (Python)
Auto-cancel Redundant Pipelines Now Set to On for All Projects > In order to benefit from the > [automatic cancellation of redundant pipelines](https://about.gitlab.com/releases/2017/04/22/gitlab-9-1-released/#auto-cancel-redundant-pipelines-ce-ees-eep) > 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](https://docs.gitlab.com/ee/ci/pipelines/settings.html#auto-cancel-pending-pipelines) to reflect your needs.
[API Support for Pipeline Schedules](https://docs.gitlab.com/ee/api/pipeline_schedules.html) > In GitLab 9.2 we > [released Pipeline Schedules](/releases/2017/05/22/gitlab-9-2-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.
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](https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/1585). > > This will be a transparent upgrade for users, however if you have added > [your own customizations](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#inserting-custom-nginx-settings-into-the-gitlab-server-block) > to the nginx configuration, please ensure they continue to work with version 1.12.
[Performance Impact of Merge Requests now Quantified](https://docs.gitlab.com/ee/user/project/integrations/prometheus.html#determining-the-performance-impact-of-a-merge) > With > [GitLab 9.2](/releases/2017/05/22/gitlab-9-2-released/#app-performance-feedback-on-merge-requests) > 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.
Debian 9 Support (self-managed only) > Support is available for the recent release of [Debian 9](https://www.debian.org/News/2017/20170617). Official Omnibus packages for GitLab 9.3 can be downloaded from our > [installation page](https://about.gitlab.com/install/).
[GitLab Runner 9.3](https://docs.gitlab.com/runner/) > We're also releasing GitLab Runner 9.3 today! > > ##### Most interesting changes: > > * Add `GIT_CHECKOUT` variable which controls git checkout step ([merge request](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/585)) > * Add basic support for Volumes in Kubernetes executor ([merge request](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/516)) > * Add support for `cpus` option in Docker executor ([merge request](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/586)) > * Add support for `userns` option in Docker executor ([merge request](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/553)) > * Add requests backoff mechanism ([merge request](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/570)) > * Improve docker machine removal for Docker Machine executor ([merge request](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/582)) > > List of all changes can be found in GitLab Runner's [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/v9.3.0/CHANGELOG.md).
[GitLab Mattermost 3.10](https://docs.gitlab.com/omnibus/gitlab-mattermost/) (self-managed only) > GitLab 9.3 includes [Mattermost 3.10](https://about.mattermost.com/mattermost-3-10), [an open source Slack-alternative](https://about.mattermost.com/) with new support for Turkish language, new keyboard shortcuts, and much more.
[Additional GitLab Service Metrics](https://docs.gitlab.com/ee/administration/monitoring/prometheus/gitlab_metrics.html) (self-managed only) > GitLab 9.0 [introduced Prometheus monitoring](https://about.gitlab.com/releases/2017/03/22/gitlab-9-0-released/#monitoring-gitlab-with-prometheus) 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.
[Omnibus Improvements](https://docs.gitlab.com/omnibus/) (self-managed only) > The bundled Git and PostgreSQL packages have been updated. Git is now v2.13.0 and Postgres is v9.6.3.

To top