GitLab.org/GitLab: Release v11.4.0-ee
Name: GitLab
Owner: GitLab.org
Release: GitLab 11.4
Released: 2020-04-03
License: MIT
Release Assets:


#### [Ultimate](https://about.gitlab.com/pricing/ultimate/)


[Close epics](https://docs.gitlab.com/ee/user/group/epics/)
> Similar to issues and merge requests, you can now close (and re-open) epics
> in GitLab. The epics list now has the Open, Closed, and All tabs, just like
> issues. So when you have completed all the work in an epic, or it is no
> longer relevant, you can close it, and it won't appear anymore in the default
> list view.
>
> You can close (and re-open) an epic via buttons on the epic, via quick actions
> in an epic comment, and also via the API, exactly like issues.
[Add manual entries for License Management](https://docs.gitlab.com/ee/user/compliance/license_compliance/index.html#project-policies-for-license-compliance)
> License Management policy allows developers to define if they want to approve or blacklist
> a specific license for their project. This can be done as soon as a new license is introduced,
> directly in the merge request page. But sometimes project maintainers want to populate the
> list beforehand, so that developers already know if their changes are aligned with the policy.
>
> In GitLab 11.4, we introduce the ability to add manual entries for License Management. Project
> maintainers can prefill the policy in the **Settings > CI/CD > License Management** page by
> choosing from a set of common licenses, or add a custom entry to that list.
[Alert thresholds now displayed on metrics dashboard](https://docs.gitlab.com/ee/user/project/integrations/prometheus.html#setting-up-alerts-for-prometheus-metrics)
> With GitLab 11.4, configured alert thresholds are now displayed directly on the metrics charts.
> This allows easier determination of which metrics are currently generating alerts, and better
> visualization of the interplay of the metric and alert threshold.
[Merge Request Reviews](https://docs.gitlab.com/ee/user/discussions/index.html)
> Code review in merge requests is a powerful feature in GitLab. Team members
> have conversations linked to specific lines of code in a diff, and can even
> resolve them. However, the process can get unwieldy in merge requests with
> large diffs. Often, a reviewer may need to leave upwards of 10 or more comments
> in a single sitting. And the 9th or 10th comment may actually render earlier
> comments unnecessary. The end result is that the merge request author
> gets a slew of notifications and has to sort them out one by one.
>
> With this release, we are introducing Merge Request Reviews. This will
> allow a reviewer to draft as many code comments in a merge requests as they
> wish, make sure they are all consistent, and then submit them all
> as a single action. Since the drafts are saved to GitLab, a reviewer can
> even spread their work over many sessions, say starting a review on their
> desktop at work during the day, and then wrapping it up at home on their
> tablet device later in the evening. Once the draft comments are submitted,
> they appear as normal individual comments. This allows individual team members
> the flexibility to do code review however they want, but still being compatible
> with the entire team.
>
> In future iterations, we will improve the feature to provide a
> [preview](https://gitlab.com/gitlab-org/gitlab-ee/issues/4327)
> before the batch submit action, and also combine all those notifications
> that those comments currently generate, into
> [one batched notification](https://gitlab.com/gitlab-org/gitlab-ee/issues/4326).
[Create and toggle feature flags for your applications (alpha)](https://docs.gitlab.com/ee/operations/feature_flags.html)
> This feature gives you the ability to create and manage feature flags for
> your software directly in the product. Simply create a new feature
> flag, validate it using the simple API instructions in your software,
> and you have the ability to control the behavior of your software
> in the field via the feature flag within GitLab itself.
>
> Feature Flags offer a feature toggle system for your application.
> They enable teams to achieve Continuous Delivery by deploying new
> features to production in smaller batches for controlled testing,
> separating feature delivery from customer launch. This helps reduce
> risk, and allows you to easily manage which features to enable.
>
> Note that this is an alpha feature being introduced for the first time,
> so while we encourage you to check out the feature and provide feedback,
> we want you to be aware that the implementation could change in subsequent
> releases.
[Suggest Code Owners as merge request approvers](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/rules.html)
> Knowing who is the best person to review your changes isn't always
> obvious. Code owners are now shown as suggested approvers when creating
> or editing a merge request to make assigning the right person easy.
>
> Support for defining code owners was introduced in
> [GitLab 11.3](/releases/2018/09/22/gitlab-11-3-released/#code-owners). In
> upcoming releases, code owners will be further integrated into the
> merge request workflow with
> [automatic assignment](https://gitlab.com/gitlab-org/gitlab-ee/issues/1012)
> and
> [required approvals](https://gitlab.com/gitlab-org/gitlab-ee/issues/4418).
[Add timed incremental rollouts to Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#timed-incremental-rollout-to-production)
> You've had the ability within Auto DevOps to setup incremental
> rollouts for a while now, and with this release, we are adding
> an option to also set up _timed_ incremental rollouts where
> the rollout will automatically continue on a timed cadence
> unless there is some error.
[Include new issues created in Burndown Chart](https://docs.gitlab.com/ee/user/project/milestones/burndown_and_burnup_charts.html)
> Burndown Charts help teams track work, as it progresses throughout a milestone.
> Usually, the scope of work is decided and agreed on before the milestone
> begins. But occasionally, there will be important exceptions to the rule,
> (such as an emergency bug or security fix) and new scope needs to be included,
> in the form of new issues.
>
> With this release, burndown charts now accounts for these
> new issues that are created in the middle of a milestone, resulting in an
> uptick of its line.
[Expanded weight values in issues API](https://docs.gitlab.com/ee/api/issues.html)
> In a previous release, we expanded the allowable values of issue weight
> from a small number to effectively unlimited, any number greater than zero.
>
> With this release, we've brought this flexibility to the issues API as well,
> allowing users to set this field with the newly expanded number range with
> the API.
[Geo UX improvements in Admin Area](https://docs.gitlab.com/ee/administration/geo/replication/configuration.html) (self-managed only)
> As a Geo admin, keeping an overview of your secondary nodes setup and the synchronization
> state is crucial when working with distributed teams.
>
> With GitLab 11.4, we improve the Geo-related Admin Area settings by improving and showing even
> more synchronization and verification details in the user interface. On your primary node, a
> new button "Open projects" adds a new quick link to navigate to the "Projects" list of the
> corresponding secondary node.
> On secondary nodes, a new "All" tab gives you a quick overview about the verification state
> of all projects.
>
> [Further UX improvements](https://gitlab.com/groups/gitlab-org/-/epics/369) are in our pipeline!
[Geo improvements](https://docs.gitlab.com/ee/administration/geo/replication/configuration.html) (self-managed only)
> We continually focus on improving our [Geo](/solutions/geo/) feature for distributed teams. Some of the additional noteworthy improvements in GitLab 11.4 include:
>
> - [Major performance improvements](https://gitlab.com/groups/gitlab-org/-/issues?scope=all&utf8=✓&state=closed&label_name%5B%5D=Geo%20Performance&milestone_title=11.4)
> - [Include keep-around references in checksum calculation](https://gitlab.com/gitlab-org/gitlab-ee/issues/5196)
> - [Migrating uploads to object storage does no longer leave behind local files](https://gitlab.com/gitlab-org/gitlab-ee/issues/7108)
> - [Primary node repository verification now always gives the correct checksum](https://gitlab.com/gitlab-org/gitlab-ee/issues/7213)
> - [Reliable Sidekiq queueing ensures data integrity](https://gitlab.com/gitlab-org/gitlab-ee/issues/7279)
>
> Read our fresh blog post on [how we built GitLab Geo](/blog/2018/09/14/how-we-built-gitlab-geo/).
[Geo improvements for SSH Git commands proxy to primary node](https://docs.gitlab.com/ee/administration/geo/replication/configuration.html)
> Making Geo as easy to use as possible is one of our constant goals to support widely distributed
> teams using GitLab. In [11.3](https://about.gitlab.com/releases/2018/09/22/gitlab-11-3-released/#geo-improvements)
> we added initial support for proxying SSH `git push` from secondary nodes to primary nodes.
>
> With this release, we further improve the performance and usability of this feature, allowing
> to clone and push to projects in a Geo scenario without having to maintain multiple configurations or update the remote URL manually.
[File tree for browsing merge request diff](https://docs.gitlab.com/ee/user/project/merge_requests/index.html#merge-request-diff-file-navigation)
> Code review is an essential practice of every successful project, but
> knowing what has changed can be hard to determine from a flat list of
> diffs. GitLab now includes a searchable file tree of changes to make it
> easy to see which files have changed and jump between them.
>
> The file tree summarizes the structure and size of the change, similar
> to `diff-stats`, providing an overview of the change and improving
> navigation between diffs. Search allows reviewers to limit their code
> review to a subset of files by path or filetype, simplifying reviews by
> specialists focussed on only a subset of the merge request.
>
> Previously the list of changed files was available through a searchable
> drop down, that was best suited to jumping to a specific file.
[New user profile page overview](https://docs.gitlab.com/ee/user/profile/#user-profile)
> No matter how engaged you are on GitLab, your activity is a relevant
> source of information and engagement indicator, displayed right at your
> personal profile page. Your personal profile should give a simple insight
> into what you are interested in and working on.
>
> With this release, we introduce a redesigned profile page overview, showing
> your activity via the familiar but shortened contribution graph with your
> latest activities and your most relevant personal GitLab projects.
[Set and show your status message within the user menu](https://docs.gitlab.com/ee/user/profile/#current-status)
> With [GitLab 11.2](/releases/2018/08/22/gitlab-11-2-released/#personal-status-messages)
> we introduced personal status messages for the first time, allowing you to
> share your current availability, mood, or simply your favorite animal.
>
> With this release, we make setting your status even more simple and
> frictionless. A new "Set status" item in your user menu provides a fresh
> modal that allows you to set and clear your status right within context.
> In addition, your set status is also shown in your user menu, on top of
> your full name and user name, including set Emoji and message.
[Move ability to use includes in
> We are very happy to announce in this release that the usage of
> includes within the `.gitlab-ci.yml` is now available in Core. This
> will help ensure templates and other shared resources are always
> compatible between free and non-free users, and also unlocks the
> ability for everyone to do best-practice development using reusable
> snippets in your CI/CD pipelines.
.gitlab-ci.yml
from Starter to Core](https://docs.gitlab.com/ee/ci/yaml/#include)[Run jobs
> A popularly requested feature, we're proud to now offer the
> ability within the `.gitlab-ci.yml` to use `only`/`except` rules for jobs
> based on when modifications occur to a specific file or path (glob).
>
> This will allow more control for users whose repositories contain different
> kinds of assets or builds, ensuring only the appropriate steps are
> executed for the kinds of changes that were committed, speeding up
> overall pipeline execution.
only
/except
for modifications on a path or file](https://docs.gitlab.com/ee/ci/yaml/#onlyrefs--exceptrefs)[Support Kubernetes RBAC for GitLab managed apps](https://docs.gitlab.com/ee/user/project/clusters/#role-based-access-control-rbac)
> Security is paramount when setting up your infrastructure for the first time or connecting to
> existing one. Role-based access control (RBAC) was made generally available as part of Kubernetes'
> 1.8 release, providing more granular controls to regulate access to Kubernetes resources.
>
> Our Kubernetes integration will now offer the capability to either create an RBAC-enabled
> cluster on GKE or to connect with an existing cluster that is RBAC-enabled, providing increased
> security for your infrastructure.
[Auto DevOps support for RBAC](https://docs.gitlab.com/ee/topics/autodevops/)
> Auto DevOps now supports interacting with and deploying applications to RBAC-enabled Kubernetes clusters.
>
> Role-based access control (RBAC) is an important tool that allows operators to ensure the reliability,
> security, and efficiency of their Kubernetes cluster. Using Auto DevOps in conjunction with an RBAC-enabled
> cluster ensures your applications take advantage of the increased infrastructure security.
[Support PostgreSQL DB migration and initialization for Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#auto-deploy)
> Using Auto DevOps to automatically detect, build, test, deploy, and monitor your application
> just got more powerful. Starting in 11.4, Auto DevOps now provides the ability to initialize or
> migrate PostgreSQL databases in your project.
>
> Simply define a project variable to initialize or migrate your PostgreSQL database, and Auto DevOps
> will do the rest.
[List of subscribed labels](https://docs.gitlab.com/ee/user/project/labels.html#searching-for-project-labels)
> Labels in GitLab are very powerful since they can be applied to issues,
> merge requests, and epics. As you use more labels, it can be difficult to
> maintain them.
>
> In a recent previous release, we added the ability to search by labels on
> the project labels list page. With this release, you can now search by labels,
> sort by name/created at/updated at, and even see a list of labels you have
> subscribed to. This is available both in group and project labels list pages.
[Filter by WIP merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/drafts.html)
> Merge requests are a core part of GitLab, allowing team members to collaborate
> on code transparently. In particular, we encourage teams to share their
> work early, and use the WIP (work in progress) feature to indicate that
> a merge request is still undergoing active work and should not be merged
> yet.
>
> With this release, we're making it easier for users to differentiate
> between WIP and non-WIP merge requests by having a dedicated filter in
> both group-level and project-level merge requests lists. This allows users
> to quickly focus in on merge requests that are still in their early stages
> of work, versus those that are toward the final stages of review before
> merge.
[Highlight
> When collaborating in a long discussion in an issue or merge request, often
> many users are involved, making it difficult to quickly at a glance, see
> comments that are directed at you.
>
> With this release, `@mentions` for yourself (i.e. the current user), are highlighted
> in a different color, allowing you to easily see which comments involve you,
> helping you focus on them quickly.
@mentions
for yourself distinctly](https://docs.gitlab.com/ee/user/project/issues/issues_functionalities.html#13-mentions)[Click to insert Markdown table and link](https://docs.gitlab.com/ee/user/markdown.html)
> GitLab supports GitLab Flavored Markdown (GFM) in most places throughout
> GitLab where you enter text, providing the power of rich formatting with
> a simple syntax. In particular, you can create tables in GFM. Previously,
> this was painful to use, especially for large tables, since you had to type
> a lot of characters or paste in a previous table just to format it the way
> you want. Similarly, GFM also supports URL links. But sometimes you may
> forget the particular syntax.
>
> With this release, you can now click on the table button in the GFM editor,
> and this will automatically insert a table for you. You can then easily
> enter table values or extend the table, formatting it just the way you want.
> You can use this in description and comment boxes all throughout GitLab.
>
> You can now also click on the link button, and this will generate the URL
> link syntax skeleton for you. Allowing you to quickly paste in a link and
> write the name of it.
>
> Thank you [George Tsiolis](https://gitlab.com/gtsiolis) for the table contribution!
>
> Thank you [Jan Beckmann](https://gitlab.com/kingjan1999) for the URL link contribution!
[Lock discussion quick action](https://docs.gitlab.com/ee/user/project/quick_actions.html)
> Locking discussions in issues and merge requests is helpful to direct conversations
> to newer issues (or merge requests). It can also be used to control abusive
> or otherwise unproductive behavior.
>
> With this release, we now have quick actions to lock and unlock discussions,
> making it easier to type a comment and lock/unlock all one action.
>
> Thank you [Mehdi Lahmam](https://gitlab.com/mehlah) for the contribution!
[Improve Admin Area settings structure](https://docs.gitlab.com/ee/administration/settings/) (self-managed only)
> Depending on your responsibilities, administrating GitLab can provide
> a very complex challenge due to all things GitLab offers.
>
> With this release, we improve the experience of our Admin Area Settings by
> moving all sections into new, individual Settings sub-pages. This provides
> admins a time-saving shortcut to access any detail to manage.
[Explore projects by popularity](https://docs.gitlab.com/ee/user/search/#projects)
> At GitLab, we do our best to enable you to explore relevant and cool projects
> on your GitLab instance.
> With this release, a new filter "Most stars" provides an incredible useful
> filter to show projects most starred on your instance.
>
> Thank you for this contribution, [Jacopo Beschi](https://gitlab.com/jacopo-beschi)!
[Display code language percentage on project overview](https://docs.gitlab.com/ee/user/project/repository/#repository-languages)
> We recently introduced a new code language bar on the Project overview page,
> providing a quick overview about programming languages involved.
>
> With GitLab 11.4, we introduce an additional absolute measure by showing
> a new percentage value for each relevant code language shown. This provides
> a more quantitative view of your project's technology stack.
>
> Thank you for this contribution, [Johann Hubert Sonntagbauer](https://gitlab.com/johann.sonntagbauer)!
[Download two-factor recovery codes](https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html#recovery-codes)
> Two-factor authentication is a de facto standard for signing up for any relevant web-based
> application. At GitLab we understand and take this seriously. Whenever you set up a two-factor
> authentication initially, we provide limited recovery codes that allow you to regain access
> to your account as a fallback.
>
> With this release, we now support download of recovery codes as a text
> file using the new "Download codes" button.
>
> Thank you for this contribution, [Luke Picciau](https://gitlab.com/Qwertie)!
[Filter admin Runners view by Runner type and state](https://docs.gitlab.com/ee/ci/runners/) (self-managed only)
> The admin runner view now supports the ability to filter
> by runner type and state, giving you more options to manage
> especially large fleets of runners in your environment.
[Add support for interactive web terminal to Docker executor](https://docs.gitlab.com/ee/ci/interactive_web_terminal/) (self-managed only)
> The interactive web terminals feature has been expanded to be
> compatible with Docker executors as well. For now, the Docker session
> is closed as soon as the script exits, but we are aiming to further
> improve this behavior by resolving [#3605](https://gitlab.com/gitlab-org/gitlab-runner/issues/3605) in
> our next release.
[Skip Auto DevOps jobs based on feature availability](https://docs.gitlab.com/ee/topics/autodevops/)
> Starting in 11.4 Auto DevOps will now evaluate the plan (GitLab.com) or tier (self-managed)
> for the instance in which it's running in order to determine which jobs to skip. This will
> result in faster Auto DevOps pipeline when certain features are not in use.
>
> This will not only save you time but will also result in a cleaner view of Auto DevOps pipeline,
> showing you only the relevant jobs for your project.
[Allow pipelines to schedule delayed jobs](https://docs.gitlab.com/ee/ci/yaml/#when)
> It is now possible to set a job to start after a delay
> via the `when` keyword in `.gitlab-ci.yml`. The timer starts
> ticking when the job would have otherwise started, giving you
> control to implement tasks that need to wait for a period of time to occur - for
> example, when implementing timed incremental rollouts, or any
> other delays needed after performing some other action.
[Interactive runbooks with Nurtch and JupyterHub](https://docs.gitlab.com/ee/user/project/clusters/runbooks/)
> Interactive runbooks provide a powerful way for operators to interact with various systems to carry out
> common tasks such as diagnosing, deploying, and measuring infrastructure components.
>
> The JupyterHub app offered via GitLab's Kubernetes integration now ships with Nurtch's
> [Rubix library](https://github.com/amit1rrr/rubix), providing a simple way to create DevOps
> runbooks. A sample runbook is provided, showcasing [common operations](https://youtu.be/Q_OqHIIUPjE).
[Git protocol v2](https://docs.gitlab.com/ee/administration/git_protocol.html)
> Developers fetch refs many times a day to check if the current branch
> is behind the remote branch. Git protocol v2 is a major update to Git's
> [wire protocol](https://www.kernel.org/pub/software/scm/git/docs/technical/pack-protocol.html)
> which defines how clones, fetches, and pushes are communicated between
> the client (your computer) and the server (GitLab). The new wire
> protocol improves the performance of fetch commands and enables future
> protocol improvements.
>
> Previously, all responses to fetch commands included a list of all
> references in the repository. For example, fetching updates for a
> single branch (e.g. `git fetch origin master`) would also retrieve a
> complete list of all references. In the case of large projects, this
> could be over 100,000 refs and 10s of megabytes of data.
>
> Git protocol v2 is supported from Git v2.18.0 and is opt-in. To enable
> globally run `git config --global protocol.version 2`. Git protocol v2
> over SSH is not yet enabled on GitLab.com and must be enabled manually
> for self-managed installations.
[Prometheus 2.0 upgrade for Omnibus GitLab](https://docs.gitlab.com/omnibus/update/gitlab_11_changes.html#11-4) (self-managed only)
> Omnibus GitLab comes out of the box with Prometheus, allowing [easy observability of deployed instances](https://docs.gitlab.com/ee/administration/monitoring/prometheus/).
> The Prometheus team has released a major new version, the 2.x series, which offers a
> [number of improvements](https://prometheus.io/blog/2017/11/08/announcing-prometheus-2-0/).
> These include improved performance and a more efficient time-series database format. Unfortunately
> because of the architectural changes to the database, it is not backwards compatible with the old 1.x format.
>
> With GitLab 11.4, Prometheus 2.4.2 is now available in the Omnibus package so users can take advantage of its benefits.
>
> - New installations of 11.4 and above will start with Prometheus 2.
> - Existing installations will not be automatically upgraded. We have added a new command, `gitlab-ctl prometheus-upgrade`, which can
> be utilized to [upgrade Prometheus and optionally migrate data](https://docs.gitlab.com/omnibus/update/gitlab_11_changes.html#11-4). Prometheus will be stopped during data migration.
> - GitLab 12.0 will [automatically upgrade to Prometheus 2.0](#deprecations). With the automatic upgrade, Prometheus 1.0 data will not be migrated.
>
> For more information on upgrading Prometheus to 2.4.2, please review our [update documentation](https://docs.gitlab.com/omnibus/update/gitlab_11_changes.html#11-4).
[GitLab Runner 11.4](https://docs.gitlab.com/runner)
> We're also releasing GitLab Runner 11.4 today! GitLab Runner is the open source project
> that is used to run your CI/CD jobs and send the results back to GitLab.
>
> #### Most interesting changes:
>
> - [Support JSON logging](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1020)
> - [Add docker support for interactive web terminal](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1008)
> - [Add support docker machine web terminal support](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1046)
> - [Allow disabling docker entrypoint overwrite](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/965)
> - [Add metrics with concurrent and limit values](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1019)
> - [Add a gitlab_runner_jobs_total metric](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1018)
> - [Add a job duration histogram metric](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1025)
> - [Fix command and args assignment when creating containers with K8S executor](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1010)
>
> List of all changes can be found in GitLab Runner's [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/v11.4.0/CHANGELOG.md).
[Omnibus improvements](https://docs.gitlab.com/omnibus/) (self-managed only)
> - `redis` has been updated to 3.2.12, which is a critical security update that fixes multiple vulnerabilities. After upgrading to 11.4, run `sudo gitlab-ctl restart redis` to ensure the new version is running.
> - GitLab 11.4 includes [Mattermost 5.3](https://mattermost.com/blog/mattermost-5-3-enhanced-search-on-desktop-and-mobile-plugin-hackathon-highlights-and-more/),
> an [open source Slack-alternative](https://mattermost.com/) whose newest release includes enhanced search on desktop and mobile, plus much more.
> It includes [security updates](https://about.mattermost.com/security-updates/) and upgrading is recommended.
> - `git` has been updated to 2.18.1, and `libpng` to 1.6.35.
> - `gnupg` has been updated to 2.2.10, `gpgme` to 1.10.0, `libgcrypt` to 1.8.3, `npth` to 1.6, `libgpg-error` to 1.32, and `libassuan` to 2.5.1.
> - Certificates in the `trusted_certs` directory are now set to `0644` permissions instead of `0755`.
[Performance improvements](https://gitlab.com/groups/gitlab-org/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&label_name%5B%5D=performance&milestone_title=11.4)
> Some of the more noteworthy performance improvements in GitLab 11.4 include:
>
> - [Rendering Markdown with many label references is faster](https://gitlab.com/gitlab-org/gitlab-ce/issues/48221)
> - [Issue discussions with many cross-project commit references are faster](https://gitlab.com/gitlab-org/gitlab-ce/issues/43094)
> - [Fetching related branches for an issue runs fewer queries](https://gitlab.com/gitlab-org/gitlab-ce/issues/43097)
> - [Fetching environments for a merge request runs fewer queries](https://gitlab.com/gitlab-org/gitlab-ce/issues/43109)
> - [Computing recipients for notification emails runs fewer queries](https://gitlab.com/gitlab-org/gitlab-ce/issues/47496)
> - [Creating a new diff discussion on a merge request is faster](https://gitlab.com/gitlab-org/gitlab-ce/issues/49002)
> - [Fetching "Last commit" info in tree view makes fewer Gitaly calls](https://gitlab.com/gitlab-org/gitlab-ce/issues/37433)
> - [Loading merge request is faster after removing dead code](https://gitlab.com/gitlab-org/gitlab-ce/issues/51172)