GitLab.org/GitLab: Release v11.9.0-ee

Name: GitLab

Owner: GitLab.org

Release: GitLab 11.9

Released: 2020-04-03

License: MIT

Release Assets:

![43 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=43&style=for-the-badge "New features added in this release") ![707 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=707&style=for-the-badge "Total features") #### [Ultimate](https://about.gitlab.com/pricing/ultimate/) ![9 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=9&style=flat-square "New features added to this tier in this release") ![81 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=81&style=flat-square "Total features in this tier") ##### [Plan](https://about.gitlab.com/stages-devops-lifecycle/plan/)

[Reorder child epics](https://docs.gitlab.com/ee/user/group/epics/manage_epics.html#reorder-child-epics-assigned-to-an-epic) > We recently released [Child Epics](/releases/2019/01/22/gitlab-11-7-released/#multi-level-child-epics), which is the ability to have epics of epics (in addition > to child issues of epics). > > With this release, you can now reorder the child > epics of an epic simply by dragging and dropping, exactly the same as with child > issues. This allows teams to use ordering to represent priority or to prescribe > an order of implementation of work.
[View ancestor epics in the epic sidebar](https://docs.gitlab.com/ee/user/group/epics/) > We recently released [Child Epics](/releases/2019/01/22/gitlab-11-7-released/#multi-level-child-epics), which is the ability to have > epics of epics. > > In GitLab 11.9, we've made it even easier to see > that relationship. You can now see not only your parent epic in a given > epic, but your entire epic tree, right in the sidebar. You can see whether > those epics are closed or not, and even navigate directly to them.
##### [Application security testing](https://about.gitlab.com/stages-devops-lifecycle/application_security_testing/)
[Detect secrets and credentials in the repository](https://docs.gitlab.com/ee/user/application_security/sast/#secret-detection) > A recurring problem when developing applications is that developers may > unintentionally commit secrets and credentials to their remote repositories. > If other people have access to the source, or if the project is public, the > sensitive information is then exposed and can be leveraged by malicious users > to gain access to resources like deployment environments. > > GitLab 11.9 includes a new check called Secret Detection. It scans the > content of the repository to find API keys and other information that should > not be there. GitLab displays results in the SAST report in the merge > request widget, pipelines reports, and the security dashboards. > > If you already have SAST enabled for your app, you don't need to take any > action to benefit from this new feature. It is also already included in > [Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/) default configuration.
[Vulnerability remediation merge request](https://docs.gitlab.com/ee/user/application_security/security_dashboard/#create-a-merge-request-from-a-vulnerability) > Remediation should be a simple process to quickly fix vulnerabilities > in your code. It is important to make security patches easy, allowing developers > to focus on what they are supposed to do. > In GitLab 11.7, we provided a [remediation patch file](/releases/2019/01/22/gitlab-11-7-released/#remediate-vulnerability-with-patch-file), > but users had to download it, apply it locally, and then push changes back to the remote repository. > > GitLab 11.9 automates this flow. Now, remediation can be done without leaving > the GitLab web interface. You can create a merge request directly from the vulnerability details window > and this new branch will already contain the fix. You can then check if it solves the problem, > and merge it into your original branch if the pipeline is green.
[Container Scanning results in the group security dashboard](https://docs.gitlab.com/ee/user/application_security/security_dashboard/) > The group security dashboard allows security engineers to focus on what's > most important to work on, giving a clear and high-level view of all the > possible security vulnerabilities affecting their apps. That's why it is > essential that it contains all the relevant information in a single > place, and allows users to drill down to start the remediation process. > > With GitLab 11.9, Container Scanning results are added to the dashboard, > along with the already present SAST and Dependency Scanning findings. > You now have a complete view in a single place, no matter > the source of the problem.
[CI/CD templates for security jobs](https://docs.gitlab.com/ee/user/application_security/sast/#using-job-definition-template) > GitLab security features are evolving very fast, and they always need to be up to date > to be effective and protect your code. We know that changing the > job definition is difficult if you have to manage multiple projects. > We also know that you don't want to risk using the latest GitLab version if you don't have > confidence it is totally compatible with your current GitLab instance. > > That's why with GitLab 11.7, we introduced a new way to include job definitions, using > [templates](/releases/2019/01/22/gitlab-11-7-released/#include-cicd-files-from-other-projects-and-templates). > > Starting with GitLab 11.9, we ship built-in templates for all the security jobs, like > `sast` and `dependency_scanning`, that are compatible with the GitLab version > they come with. > > You can now include them directly into your configuration, and have them updated with > your system every time you upgrade to a new version of GitLab, without any change to > any pipeline configuration. > > This new way to define security jobs is official and deprecates > any other previous job definition or snippet of code. You should update the definition > to use the new `template` keyword as soon as possible. Support for any other syntax could be removed > in GitLab 12.0 or other future releases. > {: .alert .alert-info}
[Adjustable time ranges for security dashboard charts](https://docs.gitlab.com/ee/user/application_security/security_dashboard/) > The group security dashboard includes a vulnerability chart to have an overview > of the recent security status of your groups' projects. This is very useful to > security directors to tune their processes and understand how the team is performing. > > In GitLab 11.9, you can now select the time range of this vulnerability chart. > The default is the last 90 days, but you can set the time window to 60 or 30 days, > based on the level of details you want to reach. > > This doesn't affect data shown in the counters or in the list, but only data points plotted > on the chart. > {: .alert .alert-info}
[SAST for TypeScript](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks) > [TypeScript](https://en.wikipedia.org/wiki/TypeScript) is a relatively new programming > language based on [JavaScript](https://en.wikipedia.org/wiki/JavaScript). > > With GitLab 11.9, the Static Application Security Testing (SAST) is able to analyze > and detect vulnerabilities in TypeScript code, showing them in the merge request > widget, at the pipeline level, and in the security dashboard. You don't need to change > your current `sast` job definition, and it is also automatically included in > [Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/).
[SAST for multi-module Maven projects](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks) > Maven projects are often organized to aggregate > [multiple modules](https://maven.apache.org/guides/mini/guide-multiple-modules.html) > in one single repository. Previously, GitLab was not able to scan those projects correctly, > and vulnerabilities were not reported to developers and security researchers. > > GitLab 11.9 introduces improved Static Application Security Testing (SAST) support for > this specific project configuration that can now be tested for vulnerabilities out of > the box. Because of the flexibility of our analyzers, the configuration is automatically > detected and you don't need to change anything to see results for your multi-module Maven > apps. As usual, the same improvements are also available as part of > [Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/).
#### [Premium](https://about.gitlab.com/pricing/premium/) ![6 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=6&style=flat-square "New features added to this tier in this release") ![130 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=130&style=flat-square "Total features in this tier")
[Auditing for feature flags](https://docs.gitlab.com/ee/administration/audit_events.html) > Operations like adding, removing, or changing Feature Flags are now recorded > in the GitLab audit log, giving you visibility into what is changing and when. If you're having > an incident and need to see what changed recently, or just need to look back as an auditor on > how your feature flags have been modified, this is now very easy to do.
##### [Plan](https://about.gitlab.com/stages-devops-lifecycle/plan/)
[Navigate to recent issue boards](https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards-starter) > Issue Boards are very powerful and teams are creating many boards per project > and per group. Recently, we added a search bar to quickly filter down to > boards you care about. > > In GitLab 11.9, we've also introduced a **Recent** > section in the dropdown, so that you can quickly navigate to boards you've > recently interacted with.
##### [Create](https://about.gitlab.com/stages-devops-lifecycle/create/)
[Merge request approval rules](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/rules.html#multiple-approval-rules-premium) > Code review is an essential practice of every successful project, but > who should review the changes is not always clear. It is often > desirable to have a variety of reviewers from different teams like > Engineering, UX, and Product. > > Approval Rules allow you to better communicate who should participate > in code reviews by specifying the eligible approvers and the minimum > number of approvals for each. Approval rules are shown in the merge > request widget so the next reviewer can quickly be assigned. > > In GitLab 11.8, Approval Rules were disabled by default. From GitLab > 11.9, they are available by default. > > UPDATE: Approval Rules continue to be > disabled by default due to a > [regression](https://gitlab.com/gitlab-org/gitlab-ee/issues/10356) > > In GitLab 11.3, we introduced > [Code Owners](/releases/2018/09/22/gitlab-11-3-released/#code-owners) > to indicate which team members are responsible for which code in your > project. Code owners are integrated into approval rules so that finding > the right people to review your change is always easy.
[Require merge request approvals from Code Owners](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/rules.html) > It isn't always obvious who you should ask to approve your merge request. > > GitLab now supports requiring merge request approvals based on which > files a merge request changes using [Code Owners](https://docs.gitlab.com/ee/user/project/codeowners/). > Code owners are assigned using a file named `CODEOWNERS`, a format similar to > [`gitattributes`](https://git-scm.com/docs/gitattributes). > > Support for automatically assigning Code Owners as merge request > approvers was added in > [GitLab 11.5](/releases/2018/11/22/gitlab-11-5-released/#assign-approvers-based-on-code-owners).
[Filter the merge request list by assigned approvers](https://docs.gitlab.com/ee/user/project/merge_requests/) > Code review is an essential practice of every successful project but, > as a reviewer, it can be hard to keep track of which merge requests you > have been asked to review. > > In GitLab 11.9, the merge request list can now be filtered by the assigned > approver, so that you can find the merge requests you have been added > to as an approver. > > Thank you, [Glavin Wiechert](https://gitlab.com/Glavin001), for the > contribution!
##### [Verify](https://about.gitlab.com/stages-devops-lifecycle/verify/)
[Upgrade Code Climate to 0.83.0](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) > GitLab [Code Quality](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) > uses the [Code Climate engine](https://codeclimate.com/) to check > how a change will affect the health of your code and project. > > With GitLab 11.9, we've upgraded the engine to the latest release ( > [0.83.0](https://github.com/codeclimate/codeclimate/releases?after=v0.83.1)) to bring the > benefits of additional language and linting support to GitLab Code Quality. > > Thank you GitLab Core Team member [Takuya Noguchi](https://gitlab.com/tnir) for the contribution!
#### Core ![28 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=28&style=flat-square "New features added to this tier in this release") ![496 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=496&style=flat-square "Total features in this tier")
[Move ChatOps to Core](https://docs.gitlab.com/ee/ci/chatops/) > Initially introduced in GitLab Ultimate 10.6, ChatOps has now moved to GitLab Core. > GitLab ChatOps provides the ability to trigger GitLab CI jobs from Slack by using the > [slash commands](https://docs.gitlab.com/ee/user/project/integrations/slack_slash_commands.html) > feature. > > We are open sourcing this feature in alignment with our [buyer-driven tier designation](/blog/2018/12/24/gitlab-chatops-will-become-available-to-everyone/) > to encourage its use and contribution by the community.
[Project templates for .NET, Go, iOS, and Pages](https://docs.gitlab.com/ee/user/project/working_with_projects.html#built-in-templates) > To make it easier for our users to create new projects, we shipped several new projects templates: > > - A starter [.NET Core project template](https://gitlab.com/gitlab-org/gitlab-ce/issues/57794) > that includes a basic application integrated with CI. > - A ready-to-go template that combines the > [Go Micro microservices framework](https://gitlab.com/gitlab-org/gitlab-ce/issues/58082) > with GitLab CI/CD. > - An [iOS "hello world" app](https://gitlab.com/gitlab-org/gitlab-ce/issues/58648) > ready for you to start customizing in GitLab. Note that since iOS builds require a dedicated > macOS runner, you'll need to provide your own build server if you want to use this with > GitLab CI/CD. > - [GitLab Pages templates](https://gitlab.com/gitlab-org/gitlab-ce/issues/57785) configured > to work with Netlify.
[Edit Knative domain post-deployment](https://docs.gitlab.com/ee/user/project/clusters/serverless/#installing-knative-via-gitlabs-kubernetes-integration) > Specifying a custom domain when installing Knative allows different serverless > applications/functions to be served from a unique endpoint. > > GitLab's Kubernetes integration now allows the custom domain to be changed/updated _after_ > Knative has been deployed to your Kubernetes cluster.
[Validate Kubernetes CA certificate format](https://docs.gitlab.com/ee/user/project/clusters/#adding-an-existing-kubernetes-cluster) > When adding an existing Kubernetes cluster, GitLab will now validate that the CA > certificate being entered is in a valid PEM format to reduce possible errors > when using the Kubernetes integration.
[Simplify .gitlab-ci.yml on serverless projects](https://docs.gitlab.com/ee/user/project/clusters/serverless/) > Building on the [`include`](https://docs.gitlab.com/ee/ci/yaml/#include) functionality of GitLab CI, > the serverless `gitlab-ci.yml` template has been greatly simplified, allowing new functionality to be introduced > in future releases without needing to introduce changes to this file.
[Restrict JupyterHub login access only to group/project members](https://docs.gitlab.com/ee/user/project/clusters/runbooks/#3-login-to-jupyterhub-and-start-the-server) > Deploying JupyterHub via GitLab's Kubernetes integration is a great way to serve and share > Jupyter notebooks with large groups. It is also beneficial to control access to notebooks > when sensitive or private data is shared. > > With GitLab 11.9, login to JupyterHub instances deployed via Kubernetes integration is limited to members with > "Developer" project access (via either group or project).
[Support Ingress hostnames](https://docs.gitlab.com/ee/user/project/clusters/#getting-the-external-endpoint) > When deploying a Kubernetes Ingress controller, some platforms may return > an IP address (for example, Google's GKE) while others may return a DNS name (for example, AWS' EKS). > > Our Kubernetes integration now supports both types of endpoints for display > in the `clusters` section of the project. > > Thank you, [Aaron Walker](https://gitlab.com/walkafwalka), for the contribution!
[Add Auto DevOps build job for tags](https://docs.gitlab.com/ee/topics/autodevops/#auto-build) > Auto DevOps' Auto Build stage creates a build of your application by making > use of the project's `Dockerfile` or a Heroku buildpack. > > With GitLab 11.9, the resulting Docker image built in the tag pipeline > will be named similarly to traditional image names using the commit `tag` > instead of the commit `SHA`. > > Thank you, [Aaron Walker](https://gitlab.com/walkafwalka), for the contribution!
[GitLab Runner 11.9](https://docs.gitlab.com/runner) > We're also releasing GitLab Runner 11.9 today! GitLab Runner is the open source project > that is used to run your CI/CD jobs and send the results back to GitLab. > > The following are some of the changes in GitLab Runner 11.9: > > - [Update alpine images to alpine 3.9](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1197). > - [Add windows Dockerfiles for gitlab-runner-helper](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1167) and [add script for building windows helper image](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1178). > - [Update docker API version](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1187). This also [deprecates support for the Docker executor in CentOS 6](#centos-6-support-for-gitlab-runner-using-the-docker-executor). > - [Add ability to mask variables in log trace](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1204) to support [simple masking of protected variables in logs](https://gitlab.com/gitlab-org/gitlab-ce/issues/13784) coming in GitLab 11.10. > - [Add documentation for OS deprecations coming in 12.0](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1210). > - [Update SNTP command to fix time sync in Parallels executor](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1145). > - Migrate multiple scripts including [service wait script](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1195) and [cache bash script](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1201) to Go. > - [Deprecate helper image commands](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1218). > - [Fetch code from provided refspecs](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1203). > - [Resolve memory allocation failure when cloning repositories with LFS objects larger than available RAM](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1200). > > A complete list of changes can be found in GitLab Runner's [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/v11.9.0/CHANGELOG.md).
[GitLab chart improvements](https://docs.gitlab.com/charts/) (self-managed only) > The following improvements have been made to GitLab charts: > > - Support for Google Cloud Memorystore has been added. > - Cron job settings [are now global settings](https://docs.gitlab.com/charts/charts/globals.html#cron-jobs-related-settings) > as they are shared across multiple services. > - The registry has been updated to 2.7.1. > - A new flag has been added that allows the GitLab Registry to be > compatible with versions of Docker prior to 1.10. To enable, set > `registry.compatibility.schema1.enabled: true`.
[Omnibus improvements](https://docs.gitlab.com/omnibus/) (self-managed only) > The following improvements have been made to Omnibus in GitLab 11.9: > > - GitLab 11.9 includes [Mattermost 5.8](https://mattermost.com/blog/mattermost-5-8/), an [open source Slack alternative](https://mattermost.com/) whose newest release includes MFA for Team Edition, improved image performance, and much more. This version also includes [security updates](http://about.mattermost.com/security-updates/) and upgrading is recommended. > - A new flag has been added that allows the GitLab Registry to be compatible with versions of Docker prior to 1.10. To enable, set `registry['compatibility_schema1_enabled'] = true` in `gitlab.rb`. > - The GitLab Registry now exports Prometheus metrics and is automatically monitored by the [bundled Prometheus service](https://docs.gitlab.com/ee/administration/monitoring/prometheus/). > - Support for Google Cloud Memorystore has been added, which requires [`redis_enable_client` to be disabled](https://docs.gitlab.com/omnibus/settings/redis.html#using-google-cloud-memorystore). > - `openssl` has been updated to 1.0.2r, `nginx` to 1.14.2, `python` to 3.4.9, `jemalloc` to 5.1.0, `docutils` to 0.13.1, and `gitlab-monitor` to 3.2.0.
[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.9) > We continue to improve the performance of GitLab with every release > for GitLab instances of every size. Some of the improvements in GitLab > 11.9 are: > > - [Reduce SQL queries in todos API endpoint](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25711). > - [Improve performance of labels dropdown in issues](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25281). > - [Optimize SQL queries used for counting group issues when searching](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25411). > - [Improve performance of rendering labels in the sidebar](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25281).
##### [Plan](https://about.gitlab.com/stages-devops-lifecycle/plan/)
[Reply to comment](https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards-starter) > GitLab has threaded discussions. Up to now, the user writing the > initial comment has to decide at the outset if they want a discussion. > > With this release, we've relaxed that constraint. You can now take > any comment in GitLab (in issues, merge requests, and epics) and reply > to it, thus starting a threaded discussion. This allows for much more organized > collaboration amongst your teams.
[Alphabetically ordered labels](https://docs.gitlab.com/ee/user/project/labels.html) > GitLab labels are incredibly versatile, with teams always finding new ways > to use them. Consequently, users often add many labels to a given issue, > merge request, or epic. > > In GitLab 11.9, we are making consuming those labels a little bit easier. > In issues, merge requests, and epics, the labels showing up in the sidebar > are now ordered alphabetically. This is also the same in the list views > of these objects too.
[Quickly comment when filtering issue activity](https://docs.gitlab.com/ee/user/discussions/#filtering-notes) > We recently released a feature to enable users to filter the activity feed > in an issue, merge request, or epic, allowing users to focus on only comments > or system notes. Since this setting is saved per person in the system, > sometimes a user may not realize they are looking at a filtered feed when > they view an issue a few days later and seem to be unable to comment. > > In this release, we improved this interaction. Users can now quickly > switch back to a mode that allows them to comment without scrolling back > to the top of the feed. This applies to issues, merge requests, and epics.
[Custom header and footer system message in web and email](https://docs.gitlab.com/ee/administration/appearance.html#system-header-and-footer-messages) (self-managed only) > Previously, we added a feature to allow a custom header and footer message > to appear on every page in GitLab. This was extremely well received and teams > are using it to communicate critical information such as system-wide messages > relating to their GitLab instance. > > In this release, we're happy to bring > this feature to Core so that even more users can use it. Additionally, we > are allowing users to optionally have the same custom messages appear in > all emails sent by GitLab, bringing the same consistency to another GitLab user touchpoint.
[Filter by confidential issues](https://docs.gitlab.com/ee/user/search/index.html) > Confidential issues are a useful tool for teams to have private discussions > on sensitive topics in an otherwise public project. In particular, they > are ideal for working on security vulnerabilities. Until now, > it was not particularly easy to manage or surface confidential issues. > > In GitLab 11.9, you can now filter by confidential or non-confidential > issues in issue list views of GitLab. You can also do the same when retrieving > issues via the API. > > Thank you, [Robert Schilling](https://gitlab.com/razer6), for the contribution!
[Link to new issue from a moved and closed issue](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html) > In GitLab, you can easily move an issue to another project via the sidebar > or with a quick action. Behind the scenes, the existing issue is closed, > and a new issue is created in the target project, with everything copied > over, including system notes and sidebar attributes. This is a great feature. > > While there is a system note indicating the move, users have found it confusing > when viewing the now-closed issue, since they may not understand that the issue is closed due > to being moved. > > With this release, we now indicate right in the badge at the top of the issue page > in the closed issue that it has been moved, and also include > a link to the new issue inline, so that anyone arriving at the older issue > can quickly navigate to the new one.
[YouTrack integration](https://docs.gitlab.com/ee/user/project/integrations/youtrack.html) > GitLab integrates with many external issue tracking systems, making it > easier for teams to take advantage of GitLab for other features, while still > maintaining their issue management tool of choice. > > With this release, we now also integrate with YouTrack by JetBrains. > > Thank you, [Kotau Yauhen](https://gitlab.com/bessorion), for the contribution!
##### [Create](https://about.gitlab.com/stages-devops-lifecycle/create/)
[Move files in the Web IDE](https://docs.gitlab.com/ee/user/project/web_ide) > Files and directories can now be moved to a new path in a repository > from the Web IDE when renaming a file or directory.
[Expand merge request diff to an entire file](https://docs.gitlab.com/ee/user/project/merge_requests) > When reviewing the changes in a merge request, the diff for each file > can now be expanded to show the entire file for more context and to leave > comments on unchanged lines.
[De-duplicated Git objects for public forks (Beta)](https://docs.gitlab.com/ee/administration/repository_storage_types.html#hashed-object-pools) (self-managed only) > Forking allows anyone to contribute to open source projects without > needing to give everyone write permissions, by > copying the entire repository into a new project. Storing full copies > of frequently forked Git repositories is inefficient. Using Git > `alternates`, forks now share common objects from the upstream project > in an object pool to reduce disk storage requirements. > > Object pools for forks are only created for public projects when hashed > storage is enabled. Object pools can be enabled using the > `object_pools` feature flag.
[Resizeable merge request file tree](https://docs.gitlab.com/ee/user/project/merge_requests/#merge-request-diff-file-navigation) > When reviewing the changes in a merge request, the file tree can now be > resized to show long filenames or take up less space on smaller screens.
[Keyboard shortcuts for next and previous file in merge request](https://docs.gitlab.com/ee/user/shortcuts.html#issues-and-merge-requests) > When reviewing the changes in a merge request, quickly jump from file > to file using `]` or `j` for the next file, and `[` or `k` for the > previous file.
[Allow protected branches to be created by developers](https://docs.gitlab.com/ee/user/project/repository/branches/protected.html#creating-a-protected-branch) > Protected Branches prevent unreviewed code from being pushed or merged. > However, when no one is allowed to push to a protected branch, no one > is able to create a new protected branch, like a release branch. > > In GitLab 11.9, developers can now create a protected branch from an > already protected branch through GitLab or the API. Using Git to push > a new protected branch is still protected to prevent accidentally > creating new protected branches.
##### [Verify](https://about.gitlab.com/stages-devops-lifecycle/verify/)
[Run specific jobs on merge requests only when certain files change](https://docs.gitlab.com/ee/ci/yaml/#onlychanges--exceptchanges) > In GitLab 11.6, we added the ability to specify [`only: > merge_requests`](https://docs.gitlab.com/ee/ci/merge_request_pipelines/index.html) > for pipeline jobs to enable users to run certain jobs only when creating a > merge request. > > Now, we're expanding that functionality to include > conjunction logic with [`only: > changes`](https://docs.gitlab.com/ee/ci/yaml/#onlychanges--exceptchanges) > so that users can run specific jobs only on merge requests when only > particular files are changed. > > Thank you, [Hiroyuki Sato](https://gitlab.com/hiroponz), for this > contribution!
##### [Monitor](https://about.gitlab.com/stages-devops-lifecycle/monitor/)
[GitLab self-monitoring with Grafana](https://docs.gitlab.com/omnibus/settings/grafana) (self-managed only) > Grafana is now bundled in our Omnibus package, making it easier than ever > to understand how your instance is performing. > > To enable, set `grafana['enable'] = true` in `gitlab.rb`, and Grafana will > then be available at `https://your.gitlab.instance/-/grafana`. In the near future, > we will also be [including a GitLab dashboard](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4180) > out of the box.
[Zoom and scroll the metrics dashboard](https://docs.gitlab.com/ee/user/project/integrations/prometheus.html) > While investigating a performance anomaly, it is often useful to be able to take a closer > look at select portions of a given metric. > > With GitLab 11.9, users can now zoom in on particular time periods on the metrics dashboard, > scroll across the entire time window, as well as easily reset the view back to the original > time span. This makes it quick and easy to investigate these interesting events.

To top