features:
  top:
    - name: "Serverless (alpha)"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/clusters/serverless/"
      image_url: "/images/11_6/serverless.png"
      reporter: danielgruesso
      stage: configure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/43959"
      description: |
        Building on the [Knative integration introduced in GitLab 11.5](/blog/2018/11/22/gitlab-11-5-released/#easily-deploy-and-integrate-knative-with-gitlab), our new
        Serverless capability allows users to easily define functions in
        their repository and have them served and managed by Knative.

        By simply defining your function data in the repo's `serverless.yml`
        file and using a `.gitlab-ci.yml` template, each function will be deployed to your cluster, with Knative
        taking care of scaling your function based on request volume. This will
        allow application developers to iterate quickly without
        having to worry about provisioning or managing infrastructure.

  primary:
    - name: "Run CI/CD for merge requests"
      available_in: [core, starter, premium, ultimate]
      gitlab_com: true
      documentation_link: "https://docs.gitlab.com/ee/ci/merge_request_pipelines/index.html"
      image_url: "/images/11_6/verify-mergerequestpipelines.png"
      reporter: jyavorska
      stage: verify
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/15310"
      description: |
        Running a given job only when dealing with a merge request is now easy.
        Using the `merge_requests` value with `only/except` keywords will allow
        you to configure jobs to run only (or except) when in the context of a
        merge request. This allows finer control over pipeline behavior, and
        also allows access to new environment variables indicating the target
        branch and merge request ID when relevant, offering opportunities for
        implementation of other more advanced behaviors.

    - name: "Suggested Changes"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/discussions/#suggest-changes"
      video: 'https://www.youtube.com/embed/LUG8H46sXCI'
      image_url: "/images/11_6/suggested-change.png"
      reporter: jramsay
      stage: create
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/18008"
      description: |
        Collaborating on merge requests is now easier – no more copy/pasting to
        accept a suggested change. Changes can now be suggested when leaving a
        comment on a merge request diff and accepted with a single click.

        Changes can be suggested when commenting on a diff in a merge request,
        and accepted by any user with write permissions to the source branch.

        This feature is available on GitLab.com today, and can be enabled
        for self-hosted GitLab instances using the `diff_suggestions` [feature
        flag](https://docs.gitlab.com/ee/api/features.html). It will be
        enabled by default for self-hosted instances in GitLab 11.7.

    - name: "Web Terminal for Web IDE (beta)"
      available_in: [ultimate]
      gitlab_com: false
      documentation_link: "https://docs.gitlab.com/ee/user/project/web_ide/index.html#interactive-web-terminals-for-the-web-ide-ultimate-only"
      image_url: "/images/11_6/web-terminal.png"
      reporter: jramsay
      stage: create
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/5426"
      description: |
        The Web IDE makes it faster and easier to contribute changes and resolve
        merge request feedback by eliminating the need to stash changes and
        switch branches locally. Yet, without a terminal to run tests,
        experiment in a REPL, or compile your code, making large changes is
        difficult.

        From the Web IDE, you can now launch a Web Terminal so that you can work
        in an editor side by side with a terminal, just like you would locally, to
        inspect API responses or check your syntax in a REPL. The Web Terminal
        is the first server-side evaluation feature of the Web IDE and is
        configured using a new `.gitlab/.gitlab-webide.yml` file.

        Interactive Web Terminals are not yet available on GitLab.com. You can
        follow progress
        [here](https://gitlab.com/gitlab-org/gitlab-ce/issues/52611).
        Changes are not currently synchronized between the editor and the web
        terminal. In an upcoming release, we will add support for [mirroring
        changes](https://gitlab.com/gitlab-org/gitlab-ee/issues/5276) and [live
        preview](https://gitlab.com/gitlab-org/gitlab-ee/issues/4013).

    - name: "Project templates for Groups"
      available_in: [premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/group/custom_project_templates.html"
      image_url: "/images/11_6/group-level-templates.png"
      reporter: akaemmerle
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/6861"
      description: |
        Project templates help you bootstrap new projects quickly. In
        [11.2](/blog/2018/08/22/gitlab-11-2-released/#custom-project-templates-on-the-instance-level),
        we introduced project templates on the
        [instance level](https://gitlab.com/gitlab-org/gitlab-ce/issues/48043).

        With GitLab 11.6, we are happy to announce this functionality is now
        available for groups as well. By creating a sub-group within a new group
        setting, projects in this sub-group become available as templates. This
        streamlines the setup and ensures consistency across your projects,
        especially in larger group structures, such as microservice architectures.

    - name: "Kubernetes clusters for Groups (beta)"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/group/clusters/"
      image_url: "/images/11_6/group-clusters.png"
      reporter: danielgruesso
      stage: configure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/34758"
      description: |
        Often, development teams working on related projects
        need to use the same Kubernetes cluster to deploy their
        applications. Starting with GitLab 11.6, users are able to create a
        group-level Kubernetes cluster that can be used for all projects
        contained within the group or sub-groups.

        This will greatly reduce the time/effort required to configure infrastructure
        for your projects and allow you to focus on developing great
        applications.

    - name: "Cert-manager for Kubernetes"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/clusters/#installing-applications"
      image_url: "/images/11_6/cert-manager.png"
      reporter: danielgruesso
      stage: configure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/40635"
      description: |
        Securing applications is critical for production-grade deployments.
        Cert-manager is a Kubernetes-native certificate management controller
        that will automatically issue and renew SSL certificates using Let's
        Encrypt.

        Using this SSL certificate will enable HTTPS for applications
        served via Auto DevOps as well as for JupyterHub deployments.

    - name: "Vulnerability Chart for Group Security Dashboards"
      available_in: [ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/application_security/security_dashboard/#viewing-the-vulnerabilities"
      image_url: "/images/11_6/dashboard-metrics.png"
      reporter: bikebilly
      stage: secure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/6954"
      description: |
        The [Group Security
        Dashboard](https://docs.gitlab.com/ee/user/application_security/security_dashboard/) is
        the primary tool where Security professionals can manage vulnerabilities
        in their projects. One of the most important requirements is to know how the
        number of vulnerabilities is changing day by day, and understand if the
        team is solving problems quickly enough.

        With GitLab 11.6, the Vulnerability Chart for Group Security
        Dashboards enables you to easily view the graph of vulnerabilities from
        the last month. For each severity level, you can read values for
        vulnerabilities and move over the chart to see more details
        about a specific point in time.

  secondary:
    - name: "Authenticate with a smart card hardware token"
      available_in: [premium, ultimate]
      gitlab_com: false
      documentation_link: "https://docs.gitlab.com/ee/administration/auth/smartcard.html"
      reporter: jeremy
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/726"
      description: |
        For organizations operating in environments that use hardware tokens with
        X.509 certificates and smart card capabilities for authentication (like
        YubiKeys or Common Access Cards), GitLab now supports local user
        creation and login.

        Users can now use hardware tokens to access GitLab, increasing security and
        avoiding the need for managing username/password credentials not
        connected to a physical token.

    - name: "Subscription details for Groups on GitLab.com"
      available_in: [free, bronze, silver, gold]
      documentation_link: "https://about.gitlab.com/gitlab-com/"
      image_url: "/images/11_6/billing_table.png"
      reporter: jeremy
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/7772"
      description: |
        For [paid plans](https://about.gitlab.com/blog/2017/04/11/introducing-subscriptions-on-gitlab-dot-com/)
        on GitLab.com, we want to make it easy to understand the status of your
        subscription.

        In 11.6, we have improved the Billing section underneath a group's
        Settings page to include details on your group's plan. Now, you can
        easily find your group's current and past seat use, as well as the start
        and end date of your subscription.

    - name: "Discord notifications"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/integrations/discord_notifications.html"
      image_url: "/images/11_6/discord-notifications.png"
      reporter: victorwu
      stage: plan
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/21635"
      description: |
        With this release, you can now integrate GitLab with
        [Discord](https://discordapp.com/), allowing you to send notifications
        to a Discord channel in response to GitLab events, such as pushes to a
        repository, updates to an issue, merge requests, and others.

        Thank you [Vitaliy Klachkov](https://gitlab.com/blackst0ne) for the
        contribution!

    - name: "Promote issue to an epic"
      available_in: [ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/group/epics/#promoting-an-issue-to-an-epic"
      image_url: "/images/11_6/promote-to-epic.png"
      reporter: victorwu
      stage: plan
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/7730"
      description: |
        Software development is a creative process involving the whole team, and
        ideas should be welcome from everyone. Ideas that emerge as issues can now
        freely flow up into epics with the new issue promotion feature.

        You can now promote an issue to an epic simply by using a new
        [quick action](https://docs.gitlab.com/ee/user/project/quick_actions.html).
        Just type `/promote` in a comment on the issue and hit **Comment**. This will
        close the issue, and copy over the content of the issue into a new epic,
        in the immediate parent group of the issue's project. Labels,
        participants, and even upvotes/downvotes will be copied over to the
        newly created epic, in addition to the title, description, and comment
        thread itself.

    - name: "Improved issue and merge request dashboard filtering"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/search/"
      image_url: "/images/11_6/issue-dashboard-search-filter-bar-design.png"
      reporter: victorwu
      stage: plan
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/52385"
      description: |
        We've updated the search filter bar design for the issues and merge
        request dashboards, making it consistent with the similar search filter
        bars in the rest of GitLab.

    - name: "Per-user saved sort order in issues, merge requests, and epics"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/group/epics/#searching-for-an-epic-from-epics-list-page"
      image_url: "/images/11_6/sort-order.png"
      reporter: victorwu
      stage: plan
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/39849"
      description: |
        There are now user-specified sort order selections in issues, merge
        requests, epics, and even roadmap views. Which type of attribute you
        choose to sort by, and in which order you choose to sort (ascending or
        descending), is saved to the system, so that when you return to the same
        type of object list, it will remain what you have selected previously.

    - name: "View open or closed epics on roadmap"
      available_in: [ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/group/roadmap/"
      image_url: "/images/11_6/open-closed-epics-roadmap.png"
      reporter: victorwu
      stage: plan
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/8035"
      description: |
        We recently introduced the ability to close epics, as a way to indicate
        that an epic is finished or no longer relevant.

        With this release, we're providing the option to view open epics,
        closed epics, or both on the roadmap view. This is helpful for
        teams that want to focus just on remaining and upcoming work (open
        epics), that want to review finished work (closed epics), or see
        recently finished work in conjunction with current work (both). This
        feature provides that flexibility. Additionally, your selection is saved
        to the system per user, so next time you return to a roadmap view, it
        will be what you have selected previously.

    - name: "Similar issues"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/issues/similar_issues.html"
      image_url: "/images/11_6/similar-issues.png"
      reporter: victorwu
      stage: plan
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/22071"
      description: |
        As projects grow and more issues are created, often the same issues are
        created again and again.

        To help people find answers faster, and save maintainers time, similar issues
        are now shown when creating a new issue. In particular, they are shown when
        entering the title in the new issue web form. This will help users see similar
        issues right away, and allow them to navigate to them, and participate in
        those existing conversations immediately, allowing for more collaboration
        in GitLab.

    - name: "SSH push mirroring support with public-key authentication"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/repository/repository_mirroring.html#pushing-to-a-remote-repository-core"
      reporter: jramsay
      stage: create
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/49565"
      description: |
        Repository mirroring allows you to replicate Git repositories from one
        location to another. This makes it easier to work with multiple GitLab
        instances by mirroring your repository in GitLab to a different server.
        However, some target servers only allow Git access via SSH using
        public-key authentication.

        GitLab now supports SSH push mirroring with public-key authentication,
        in addition to password-authenticated SSH and HTTP push mirroring.

    - name: "Pipelines can now be deleted by project maintainers using API"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/api/pipelines.html#delete-a-pipeline"
      reporter: jyavorska
      stage: verify
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/41875"
      description: |
        Deleting a pipeline is now possible using the API, which allows for
        cases where perhaps secrets have been leaked in a pipeline, many
        unneeded pipelines have been created, or other issues have occurred
        where pipelines need to be deleted.

    - name: "Trigger variables are now hidden in UI by default"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/ci/triggers/README.html#making-use-of-trigger-variables"
      image_url: "/images/11_6/verify-hidetriggervars.png"
      reporter: jyavorska
      stage: verify
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/20422"
      description: |
        All trigger variables are now hidden by default in the UI and require a
        manual action to display. This will prevent unintended exposure of
        values when screen sharing or taking screenshots.

    - name: "Single email notification for Merge Request Reviews"
      available_in: [premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/discussions/index.html#merge-request-reviews-premium"
      reporter: jramsay
      stage: create
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/4326"
      description: |
        Code review is an essential practice of every successful project, but
        receiving email notifications for each comment can be overwhelming.
        Reviews now only send a single email notification listing all the
        feedback to help keep your inbox tidy.

        [Reviews](/blog/2018/10/22/gitlab-11-4-released/#merge-request-reviews),
        added in GitLab 11.4, make code review easier, allowing comments to be
        drafted, reviewed, and submitted in a single action.

        This feature is available on GitLab.com today, and can be enabled
        for self-hosted GitLab instances using the `batch_review_notification`
        [feature flag](https://docs.gitlab.com/ee/api/features.html). It will
        be enabled by default for self-hosted instances in GitLab 11.7.

    - name: "Improved project overview"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/"
      image_url: "/images/11_6/project-overview-ui.png"
      reporter: akaemmerle
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/51243"
      description: |
        With GitLab 11.6, we further iterate on the user interface of our
        project overview page, by introducing a better balance for the project header,
        improving whitespace and contrast to better highlight more frequently used
        actions, and improving the overall information structure.

    - name: "User profile popovers"
      available_in: [core, starter, premium, ultimate]
      image_url: "/images/11_6/user-centric-tooltip.png"
      reporter: akaemmerle
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/50157"
      description: |
        In this release, we introduce enriched popovers when hovering over a
        username, starting with issue and merge request pages. While we previously
        only displayed the full name, you can now view the  user's full
        name, ID, company, and location information, as well as their status if
        available.

        Besides providing this extended tooltip on further pages, we are working
        on follow-up enhancements for
        [issue](https://gitlab.com/gitlab-org/gitlab-ce/issues/54915) and [merge
        request](https://gitlab.com/gitlab-org/gitlab-ce/issues/54916) tooltips
        that will be available shortly.

    - name: "Breadcrumb navigation shows 'New' and 'Edit' for milestones and labels"
      available_in: [core, starter, premium, ultimate]
      image_url: "/images/11_6/breadcrumb-new-edit.png"
      reporter: akaemmerle
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/43998"
      description: |
        With this release, we enhance our GitLab breadcrumb navigation structure
        for milestones and labels. When creating or editing a milestone or label,
        the breadcrumb context shows an additional 'New' or 'Edit' item, now
        consistent with issues and merge requests.

        Thank you [George Tsiolis](https://gitlab.com/gtsiolis) for the
        contribution!

    - name: "HTTPS Support for Auto DevOps"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/topics/autodevops/"
      reporter: danielgruesso
      stage: configure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/41355"
      description: |
        Auto DevOps aims to solve the many challenges posed when delivering
        quality software. GitLab 11.6 furthers its capabilities by adding HTTPS
        support.

        Using Cert-manager for Kubernetes, Auto DevOps will automatically
        serve applications over HTTPS, providing increased security for your
        applications.

    - name: "HTTPS support for JupyterHub"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/clusters/#installing-applications"
      reporter: danielgruesso
      stage: configure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/52753"
      description: |
        JupyterHub notebooks provide a powerful way for data teams to share
        information. Oftentimes, sensitive data requires increased security.

        Using Cert-manager for Kubernetes, JupyterHub will automatically
        serve Jupyter over HTTPS, providing increased security for your
        sensitive data.

    - name: "Show Kubernetes HTTP response code"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/project/clusters/"
      reporter: danielgruesso
      stage: configure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/53628"
      description: |
        To aid troubleshooting the installation of GitLab-managed apps in
        your Kubernetes cluster, our  integration will now return the HTTP
        response code from Kubernetes, so resolving issues will be easier and
        faster.

    - name: "Unlimited free guests for Gold plans"
      available_in: [ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/permissions.html"
      reporter: jeremy
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ee/issues/6448"
      description: |
        In 11.0, we introduced unlimited guest users for Ultimate plans.

        We're extending this to Gold plans, so groups using GitLab.com's highest
        plan, whether self-hosted or cloud SaaS, can benefit from adding guests at no additional cost.

    - name: "Disable impersonation of users by admins"
      available_in: [core, starter, premium, ultimate]
      gitlab_com: false
      documentation_link: "https://docs.gitlab.com/ee/api/README.html#disable-impersonation"
      reporter: jeremy
      stage: manage
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/40385"
      description: |
        For some organizations, allowing admin impersonation presents a security
        risk since the actions of administrators are attributed to the user
        they are impersonating. In order to address this, we're adding a
        configurable option to disable admin impersonations.

    - name: "Markdown front matter filtering for TOML and JSON"
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/ee/user/markdown.html#front-matter"
      reporter: jramsay
      stage: create
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/52007"
      description: |
        Front matter is metadata included at the beginning of a markdown document,
        often used by static site generators such as [Jekyll](https://jekyllrb.com/docs/front-matter/)
        and [Hugo](https://gohugo.io/content-management/front-matter/). When GitLab displays
        markdown files in repositories as rendered HTML, front matter retains its format and is displayed as-is, for clarity.

        In addition to YAML front matter delimeters (`---`), GitLab now also supports TOML delimiters (`+++`), JSON
        delimiters (`;;;`), and arbitrary delimiters, enabling the support of any data format.

        Thank you [Travis Miller](https://gitlab.com/travismiller) for your
        contribution!

    - name: "Auto DevOps support for Group Security Dashboard"
      available_in: [ultimate]
      documentation_link: "https://docs.gitlab.com/ee/topics/autodevops/"
      reporter: bikebilly
      stage: secure
      issue_url: "https://gitlab.com/gitlab-org/gitlab-ce/issues/54160"
      description: |
        In [GitLab
        11.5](https://about.gitlab.com/blog/2018/11/22/gitlab-11-5-released/#group-security-dashboard)
        we released the [Group Security
        Dashboard](https://docs.gitlab.com/ee/user/application_security/security_dashboard/)
        where
        [SAST](https://docs.gitlab.com/ee/user/application_security/sast/)
        results are displayed.

        With 11.6, we update the [Auto
        DevOps](https://docs.gitlab.com/ee/topics/autodevops/) template with the
        latest version of the [SAST
        job](https://docs.gitlab.com/ee/user/application_security/sast/) definition, and
        now results are fully compatible with the Group Security Dashboard, so
        users can enjoy both features at the same time.

        **Note:** The new SAST job definition requires [GitLab
        Runner](https://docs.gitlab.com/runner/) 11.5 or above, you can read
        more details in this [blog
        post](/blog/2018/12/06/gitlab-runner-update-required-to-use-auto-devops-and-sast/).

    - name: "Geo improvements"
      available_in: [premium, ultimate]
      gitlab_com: false
      documentation_link: "https://docs.gitlab.com/ee/administration/geo/replication/configuration.html"
      reporter: akaemmerle
      issueboard_url: "https://gitlab.com/groups/gitlab-org/-/boards/823788?milestone_title=11.6&&label_name[]=Geo"
      description: |
        We continually focus on improving our [Geo](/solutions/geo/)
        feature for distributed teams. Some of the noteworthy improvements in
        GitLab 11.6 include:

        - [Geo now constantly reverifies repositories](https://gitlab.com/gitlab-org/gitlab-ee/issues/7347)
        - [Finalizing Hashed Storage GA](https://gitlab.com/groups/gitlab-org/-/epics/75)

    - name: GitLab Runner 11.6
      available_in: [core, starter, premium, ultimate]
      documentation_link: "https://docs.gitlab.com/runner"
      documentation_text: "Read through the documentation of GitLab Runner"
      description: |
        We're also releasing GitLab Runner 11.6 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:

        * [Docker executor: use DNS, DNSSearch and ExtraHosts settings from
        configuration](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1075)
        * [Fix some invalid links in
        documentation](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1085)
        * [Make k8s object names DNS-1123
        compatible](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1105)

        A list of all changes can be found in GitLab Runner's
        [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/v11.6.0/CHANGELOG.md).

    - name: "Omnibus improvements"
      available_in: [core, starter, premium, ultimate]
      gitlab_com: false
      documentation_link: "https://docs.gitlab.com/omnibus/"
      reporter: joshlambert
      team: distribution
      description: |
        - Postgres is now installed in a directory under its major version name, so updates within a major version no longer require a restart of the database.
        - GitLab now supports [connecting to Redis over SSL (rediss://)](https://docs.gitlab.com/omnibus/settings/redis.html#using-secure-sockets-layer-ssl).
        - The `omnibus-gitlab` container image's sshd config now supports Git Protocol v2 by default.
        - GitLab 11.6 includes [Mattermost 5.5](https://mattermost.com/blog/mattermost-5-5-web-conferencing-integration-hacktoberfest-contributions-and-more/), an [open source Slack-alternative](https://mattermost.com/) whose newest release includes several bug fixes and performance improvements.
        - `postgres` has been updated to 9.6.11, `ruby` to 2.5.3, `docker-distribution` with a partial set of 2.7.0 commits.
        - `prometheus` has been updated 2.5.0, `prometheus-storage-migrator` to 0.2.0, `postgres-exporter` to 0.4.7, and `pgbouncer-exporter` to 0.0.4.

    - name: "Performance improvements"
      available_in: [core, starter, premium, ultimate]
      performance_url: https://gitlab.com/groups/gitlab-org/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&label_name%5B%5D=performance&milestone_title=11.6
      image_url: "/images/11_6/reactive-cache.png"
      reporter: multiple
      team: multiple
      description: |
        We continue to improve the performance of GitLab with every release,
        for GitLab instances of every size.

        In GitLab 11.6 we have significantly reduced the memory usage of the
        `ReactiveCaching` worker by switching to Nokogiri for XML parsing, and we've
        halved the compressed payload size of the merge request discussions
        endpoint.

        These and other noteworthy performance improvements include:

        - [Improve the rendering performance of new and current merge request discussions by reducing the number of dependencies on each discussion object](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22935)
        - [Improve merge request discussions endpoint size by removing unused data](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23570)
        - [Improve performance of projects API by removing N+1 RPC calls to get readme_url](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23357)
        - [Improve performance of issue boards on first load](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23324)
        - [Improve performance of `ReactiveCaching` worker by changing XML parser](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23136)

        The chart shows the reduction in memory usage by the `ReactiveCaching`
        worker since deploying GitLab 11.6 to GitLab.com.

mvp:
  fullname: "Suzanne Hillman"
  gitlab: wispfox
  description: |
    Suzanne assisted GitLab in performing our recent
    [Voluntary Product Accessibility Template](https://design.gitlab.com/accessibility/vpat) (VPAT)
    review by organizing and verifying open accessibility issues, as well as
    helping to assess the current state of the product through static analysis
    tools and manual testing with assistive technologies. The VPAT evaluates
    compliance with accessibility standards and is a great first step towards
    improving accessibility so that everyone can contribute and use GitLab!

    Thank you, Suzanne! We appreciate your contribution that enables more people to use GitLab.

cover_img:
  image_url: "https://unsplash.com/photos/KGc9MaDmjtI"
  licence: Unsplash
  licence_url: "https://unsplash.com/license"

cta:
  - title: "Join us for an upcoming event"
    link: "/events/"

barometer:
  reporter: ahanselka
  description: |
    To upgrade to GitLab 11.6 from the latest 11.5 version, no downtime is
    required for multi-node/HA deployments. To upgrade without downtime, 
    please consult the [documentation on downtimeless
    upgrades](https://docs.gitlab.com/ee/update/README.html#upgrading-without-downtime).

    Due to the [`ruby` upgrade](https://docs.gitlab.com/omnibus/update/gitlab_11_changes.html#116),
    a single GitLab node will be down until the `unicorn` processes have been restarted. The 
    restart is done automatically at the end of `gitlab-ctl reconfigure`, which is run
    by default on upgrade.

    For this release we have migrations, post-deploy migrations, and to help
    with the larger migrations, we have introduced background migrations.

    GitLab.com migrations took approximately 25 minutes and post-deploy
    migrations amounted for a total of around 2 minutes. Background migrations
    on the other hand are sidekiq jobs that will run synchronously. For this
    release these migrations took around 15 minutes to complete, and no side effects
    were expected nor present.

    GitLab Geo users, please consult the documentation on [upgrading
    Geo](https://docs.gitlab.com/ee/administration/geo/replication/updating_the_geo_nodes.html).

deprecations:
  - feature_name: "Ruby 2.5 required"
    due: Dec. 22, 2018.
    reporter: stanhu
    description: |
      Beginning with GitLab 11.6, Ruby 2.5 is required to run
      GitLab. [Omnibus GitLab already ships with Ruby 2.5.3](https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/2806),
      but users of source installations that run Ruby 2.4 will have to upgrade.

  - feature_name: "GitLab Geo will enforce Hashed Storage in GitLab 12.0"
    due: Mar. 22, 2019.
    reporter: mkozono
    description: |
      GitLab Geo requires [Hashed
      Storage](https://docs.gitlab.com/ee/administration/repository_storage_types.html#hashed-storage)
       to mitigate race conditions on Geo secondaries. This was noted in
      [gitlab-ce#40970](https://gitlab.com/gitlab-org/gitlab-ce/issues/40970).

      In 11.5, we added this requirement to the Geo documentation:
      [gitlab-ee#8053](https://gitlab.com/gitlab-org/gitlab-ee/issues/8053).

      With 11.6, `sudo gitlab-rake gitlab:geo:check` checks that Hashed
      Storage is enabled and all projects are migrated:
      [gitlab-ee#8289](https://gitlab.com/gitlab-org/gitlab-ee/issues/8289). If
      you are using Geo, please run this check and migrate as soon as possible.

      In 11.7, we will add a dismissable warning that will be displayed on
      the "Admin Area › Geo › Nodes" page.

      In 12.0, Geo will enforce the Hashed Storage requirement:
      [gitlab-ee#8690](https://gitlab.com/gitlab-org/gitlab-ee/issues/8690).

  - feature_name: "Support for Prometheus 1.x in Omnibus GitLab"
    due: GitLab 12.0
    reporter: joshlambert
    description: |
      With GitLab 11.4 (Oct. 22, 2018) the bundled Prometheus 1.0 version is
      deprecated in Omnibus GitLab. [Prometheus 2.0 is now
      included](#prometheus-20-upgrade-for-omnibus-gitlab), however the metrics
      format is incompatible with 1.0. Existing installations can upgrade to 2.0
      and optionally migrate their data [using an included
      tool](https://docs.gitlab.com/omnibus/update/gitlab_11_changes.html#11-4).

      With GitLab 12.0 any installation not yet running Prometheus 2.0 will be
      automatically upgraded. Metric data from Prometheus 1.0 will not be
      migrated, and will be lost.

  - feature_name: "TLS v1.1 will be disabled by default in 12.0"
    due: GitLab 12.0
    reporter: joshlambert
    description: |
      Beginning with GitLab 12.0, [TLS v1.1 will be disabled by default](https://docs.gitlab.com/omnibus/update/gitlab_11_changes.html#tls-v11-deprecation)
      to improve security. This mitigates numerous issues including Heartbleed
      and makes GitLab compliant out of the box with the PCI DSS 3.1 standard. 

      To disable TLS v1.1 immediately, set `nginx['ssl_protocols'] = "TLSv1.2"` in
      `gitlab.rb` and run `gitlab-ctl reconfigure`.
