GitLab.org/GitLab: Release v10.0.0-ee
Name: GitLab
Owner: GitLab.org
Release: GitLab 10.0
Released: 2020-04-03
License: MIT
Release Assets:


#### [Premium](https://about.gitlab.com/pricing/premium/)


[Group Issue Boards](https://docs.gitlab.com/ee/user/project/issue_board.html#group-level-issue-boards)
> Many teams work as a GitLab group, with work spanning many projects in that group.
> For example, many organizations are moving toward or have already adopted a microservices
> architecture where each microservice is one code repository (housed in one GitLab project).
> This means a team may naturally be working across multiple projects, making it extremely helpful
> to manage issues across all those projects together.
>
> With this release we are proud to ship our
> [most requested feature](https://gitlab.com/gitlab-org/gitlab-ee/issues/928),
> GitLab's **Group-level Issue Boards**!
>
> Now you can manage all issues across all projects within a group single and concentrated
> view. Lists, labels, and milestones are all managed at the group level, allowing you to
> focus on the group.
[Object Storage for Git LFS](https://docs.gitlab.com/ee/administration/lfs/index.html#setting-up-s3-compatible-object-storage)
> [Git LFS](https://docs.gitlab.com/ee/topics/git/lfs/index.html)
> provides a great way to efficiently store large files in Git.
>
> Large files have a habit of using a lot of disk space and managing very large
> storage clusters can become painful as usage grows.
>
> GitLab Enterprise Edition Premium now offers the ability to store LFS files in
> an object storage system such as the open source [Minio](https://minio.io) or [Amazon's S3](https://gitlab.com/gitlab-org/gitlab-ee/issues/2841).
[Access GitLab Commits and Branches in JIRA Development Panel](https://docs.gitlab.com/ee/integration/jira/)
> Many GitLab users are also JIRA users. With this release, we are significantly
> improving our JIRA integration by introducing linked commits and branches in a JIRA
> issue's [development panel](https://confluence.atlassian.com/jirasoftwarecloud/viewing-the-development-information-for-an-issue-777002795.html).
> As you are interacting with a JIRA issue, you can now quickly click through to associated
> GitLab commits or branches, further tightening the GitLab-JIRA integration.
[Dedicated Page for Service Desk Issues](https://docs.gitlab.com/ee/user/project/service_desk.html)
> Previously, managing Service Desk issues required searching for issues authored by
> the Support Bot on a project's issue page. We now have a dedicated page accessible in the
> navigation that does that for you automatically. We also display the support email
> address itself on the page, allowing you to share it easily with anyone who you want
> to send in support requests with Service Desk.
[Time Tracking for Issues CSV Export](https://docs.gitlab.com/ee/user/project/issues/csv_export.html)
> We have now included time tracking information (time estimate and time spent) in the
> existing issues CSV export functionality. This allows roles such as team leads or
> managers to manage time tracking information easily in issues using spreadsheets.
>
> Thank you [Bohdan V.](https://gitlab.com/g3dinua) for the contribution.
[LDAP Group Sync Improvements for External Users](https://docs.gitlab.com/ee/administration/auth/ldap/index.html#group-sync) (self-managed only)
> LDAP Group Sync is available in GitLab Enterprise Edition and provides a
> great hassle-free way to manage user permissions by leveraging your existing
> LDAP group system and permissions.
>
> GitLab further supports [external users](https://docs.gitlab.com/ee/user/permissions.html#external-users-permissions)
> allowing more restrictive control on projects on a case-by-case basis.
>
> In GitLab 10.0 synchronizing external user permissions will happen at login, in addition
> to the existing periodic synchronization. This means that any changes to permissions
> in your LDAP system can be immediately available to the user after logging in and denying
> access to unauthorized projects.
[LDAP Group Sync API](https://docs.gitlab.com/ee/api/groups.html#sync-group-with-ldap) (self-managed only)
> GitLab's LDAP Group Sync is now available via API, allowing you to programmatically
> request a sync event. This means that any group automation such as creation of groups
> performed via the API can immediately be programmatically synchronized to LDAP with one
> simple API call.
[GitLab Geo Improvements](https://docs.gitlab.com/ee/administration/geo/) (self-managed only)
> Notable changes shipped with GitLab 10.0:
>
> - GitLab Geo has fully removed the use of system hooks. If you upgrade to GitLab 10.0, you MUST
> [enable SSH key lookups via the database](https://docs.gitlab.com/ee/administration/geo/replication/updating_the_geo_nodes.html).
> We highly recommend Geo installations either [upgrade to CentOS 7.4](https://lists.centos.org/pipermail/centos-announce/2017-September/022532.html) or use Ubuntu 16.04 to get the required OpenSSH version.
> - We [improved the Geo download scheduler](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2796) to skip over projects that recently failed.
> - We added improvements to the admin page for monitoring the database replication lag and log cursor state under an "Advanced" toggle (see screenshot below).
> - See the full list of changes [here](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&label_name[]=Geo&milestone_title=10.0).
[Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/)
> Auto DevOps brings DevOps best practices to your project by automatically
> configuring your build, test, code quality assurance, review apps, deployment,
> and monitoring in a single environment. In GitLab 10.0, we
> have introduced out-of-the-box templates to quickly set up an end-to-end DevOps
> lifecycle, built on top of [GitLab CI/CD](/features/continuous-integration/).
>
> As it stands, GitLab offers a single environment where a code change can not only initiate a build,
> but deploy a [Review App](/stages-devops-lifecycle/review-apps/) to preview your changes from
> within each merge request. During the review process GitLab's recently introduced ability to measure
> [Code Quality](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#code-quality)
> ensures changes improve the overall quality of your software.
>
> After code review, GitLab's deployment capabilities easily allow you to deploy to
> canary or production environments, as well as using [GitLab Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/stages.html#auto-deploy-quick-start-guide)
> to deploy straight to Google Cloud. Post-deployment metrics with
> [GitLab Auto Monitoring](https://docs.gitlab.com/ee/topics/autodevops/stages.html#auto-monitoring)
> provide response and system metrics to make sure newly deployed code is performant.
>
> Now, GitLab 10.0 brings this entire lifecycle together in an automated way, allowing
> you to go from idea to production in the blink of an eye with GitLab Auto Devops.
>
> [New User Experience](/blog/2017/09/13/unveiling-gitlabs-new-navigation/)
> In GitLab 10.0 we are excited to unveil our new user experience, making it
> much easier to navigate GitLab!
>
> For the last few months, we have been [testing out](/blog/2017/07/17/redesigning-gitlabs-navigation/)
> a new way to navigate through GitLab. Based on feedback and user testing, we found
> that people had a few problems with the existing navigation. Understanding
> exactly which group or project you were currently viewing was often not
> obvious, switching between different areas of GitLab was cumbersome and
> there were a lot of inconsistencies with spacing and hierarchy that caused
> confusion.
>
> GitLab 10.0 introduces a more consistent navigation experience. The colored
> top bar represents all global and personal aspects of GitLab – your groups,
> projects, issues, merge requests, todos and personal information. The new left
> navigation is contextual to the group or project you are viewing and also allows
> quicker navigation between areas of the project, with pull-out menus saving you
> clicks and page loads.
>
> As an additional bonus, we've also brought back the ability to personalize your
> experience, allowing you to change the color theme of GitLab because, well, not
> everyone loves purple like we do!
[Protected GitLab Runners](https://docs.gitlab.com/ee/ci/runners/configure_runners.html#prevent-runners-from-revealing-sensitive-information)
> When running sensitive jobs in CI/CD pipelines, for example deployments
> to production environments, you want to be sure that nobody can access credential
> information or private configuration options.
> In order to avoid any data leakage, you can set the protected flag for a
> specific GitLab Runner, so only jobs running on
> [protected branches](https://docs.gitlab.com/ee/user/project/repository/branches/protected.html)
> are picked up.
>
> Combining this feature with [mandatory approval](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/rules.html)
> and [Runner selection by tags](https://docs.gitlab.com/ee/ci/runners/configure_runners.html#use-tags-to-control-which-jobs-a-runner-can-run),
> you can guarantee that **only trusted code** is executed on the Protected Runner.
[SSH Key Length Restrictions](https://docs.gitlab.com/ee/security/ssh_keys_restrictions.html) (self-managed only)
> With thanks to our community contributor [Corey Hinshaw](https://gitlab.com/electrickite)
> GitLab 10.0 now allows administrators to add restrictions on SSH keys.
>
> This functionality allows administrators to restrict not only the type of
> SSH keys that may be used, but also the minimal key length, giving you a more
> secure way to manage your GitLab SSH access environment.
[API Support for Wikis](https://docs.gitlab.com/ee/api/wikis.html)
> You can now use the GitLab API to work with wiki pages! With the additions
> to the API, it is possible to get a list of all wiki pages, get a particular page,
> create a new wiki page, as well as edit and delete pages, providing a great way
> to programmatically access GitLab's wiki functionality.
>
> Many thanks to our community contributor, [Vitaliy Klachkov](https://gitlab.com/blackst0ne) for adding this functionality.
[Weekly View for Cycle Analytics](https://docs.gitlab.com/ee/user/analytics/value_stream_analytics.html)
> Cycle Analytics measures the time it takes to go from an idea to production
> for each project you have. This is achieved not only by indicating the
> total time it takes to reach that point, but the total time is broken down
> into the multiple stages an idea has to pass through to be shipped.
>
> With thanks to our community contributor, [Mehdi Lahmam](https://gitlab.com/mehlah)
> it is now possible to view your cycle over a seven-day period which is great
> for teams with very short release cycles.
[GitLab Runner 10.0](https://docs.gitlab.com/runner)
> We're also releasing [GitLab Runner](https://docs.gitlab.com/runner/) 10.0 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:
>
> - Register command [locks Runner to a project by default](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/657)
> - Add [handling of non-existing images for Docker >= 17.07](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/664)
> - [Fix variable file permission issue](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/655) with Kubernetes executor
>
> List of all changes can be found in GitLab Runner's [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/v10.0.0/CHANGELOG.md).
New GitLab Runner Repository
> At 12th September 2017 we've moved GitLab Runner to a new repository path.
> From now on Runner is available at [https://gitlab.com/gitlab-org/gitlab-runner](https://gitlab.com/gitlab-org/gitlab-runner)!
>
> Please update your bookmarks!
[GitLab Runner Locked to Project by Default](https://docs.gitlab.com/runner/register/)
> During the [initial registration](https://docs.gitlab.com/runner/register/) of a new GitLab Runner,
> you are asked if you want to **lock it to the project** for which you are providing the token.
> Before GitLab 10.0, the default choice was `false`, but it was not clear that this allows any Master
> of the project to enable the Runner also for other projects, and this might be a security risk.
> With GitLab 10.0, the default choice is now `true`, so the Runner cannot be easily assigned to other projects.
>
> This behavior can be changed later in the Runner settings, if there is the need. It can be also set
> during registration manually (for interactive mode) or with the `--locked=false` option (for
> non-interactive mode).
[New Predefined Variables for User Identity](https://docs.gitlab.com/ee/ci/variables/#predefined-variables-environment-variables)
> When running pipelines, we have a lot of **environment variables** that are automatically set by GitLab,
> giving your scripts the ability to access important information. Starting with GitLab 10.0, two new
> variables, `GITLAB_USER_NAME` and `GITLAB_USER_LOGIN`, are now available to access the **full name** and
> the **login username** associated to the account that is running the job.
[Simplified Project Permissions](https://docs.gitlab.com/ee/user/project/settings/#sharing-and-permissions)
> One of GitLab's many distinguishing features is the granularity of permissions
> and access to project capabilities.
>
> In GitLab 10.0 we have simplified the user interface, allowing you to maintain
> precise control of your project visibility, features and permissions, but doing so
> in an easy-to-use and beautiful interface.
[Variables for Pipeline Schedules API](https://docs.gitlab.com/ee/api/pipeline_schedules.html#pipeline-schedule-variable)
> In GitLab 9.2 we introduced [Pipeline Schedules](/releases/2017/05/22/gitlab-9-2-released/#pipeline-schedules),
> and in the following release we added
> [API](/releases/2017/06/22/gitlab-9-3-released/#api-support-for-pipeline-schedules) and
> [variables](/releases/2017/07/22/gitlab-9-4-released/#variables-in-pipeline-schedules) support.
> In GitLab 10.0, we complete the cycle adding **variables support** also to **API** calls.
> Now automatic interaction with Pipeline Schedules by third-party applications can benefit of more flexibility.
[Improved Subgroup Permissions](https://docs.gitlab.com/ee/user/group/subgroups/)
> In [GitLab 9.0](/releases/2017/03/22/gitlab-9-0-released/#subgroups-ce-ees-eep)
> we released subgroups, giving you more flexibility in how you organize
> projects and groups inside of GitLab. If you haven't tried them out before,
> you can find out more about subgroups in our [documentation](https://docs.gitlab.com/ee/user/group/subgroups/).
>
> We've now added the ability to allow owners to create subgroups if group creation
> has been restricted, making it easier for delegated users to manage the group
> structure of GitLab.
[Share Locking Support for Subgroups](https://docs.gitlab.com/ee/user/group/index.html#share-with-group-lock)
> GitLab provides the ability to share projects between different groups, giving
> you even more flexibility with project structure and permissions.
>
> [Share locking](https://docs.gitlab.com/ee/user/group/index.html#share-with-group-lock)
> provides the ability to restrict projects in particular groups from being shared, to enforce
> centralized security and policy.
>
> Share locking has now been extended to subgroups, allowing subgroups to either
> inherit or override share locking from the parent group, giving more granular
> control over how projects can be distributed.
[Group Merge Requests Search and Filter Bar](https://docs.gitlab.com/ee/user/project/merge_requests/#merge-requests-per-group)
> We have updated the group merge requests list page with the latest
> search and filter bar UI. This allows you to narrow down the
> merge requests you care about quickly, by author, assignee, milestone, label,
> or weight, similarly to what you've been able to do for a few releases now
> on the issue side.
>
> Thank you [Hiroyuki Sato](https://gitlab.com/hiroponz) for the contribution.
[Filter by Reactions](https://docs.gitlab.com/ee/user/search/#issues-and-merge-requests-per-project)
> Throughout GitLab, when you are filtering issues and merge requests, you
> can now filter by reactions you have added. You can use this as a generalized
> bookmarking feature. Just react to issues and merge requests by awarding
> different emoji, and now you access those objects quickly by filtering on them.
>
> Thank you [Hiroyuki Sato](https://gitlab.com/hiroponz) for the contribution.
[Move Issues from the Sidebar](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html)
> The move issue functionality is now in the issue sidebar. This groups other
> useful actions outside the main issue area, which is now focused on the title
> and description only.
[Move Issue Quick Action](https://docs.gitlab.com/ee/user/project/quick_actions.html)
> There is now a move issue quick action to speed up your workflows even more.
> So you can now type comments, and perform yet another action (moving an issue),
> all within the comment box itself.
>
> Thank you [Manolis](https://gitlab.com/frite) for the contribution.
[Merge Request Inherits Issue Milestone and Labels](https://docs.gitlab.com/ee/user/project/issues/issues_functionalities.html#18-new-merge-request)
> If you are using milestones and labels for your merge requests, you may
> often be copying these objects from the issue to an associated merge request.
> Now when you create a merge request from within an issue using the dedicated
> button, the milestone and labels are automatically inherited into the merge
> request.
>
> Thank you [haseeb](https://gitlab.com/haseebeqx) for the contribution.
[Redesigned System Notes Icons](https://docs.gitlab.com/ee/development/ux_guide/basics.html#icons)
> As part of our continuing effort to [define and distinguish our unique
> GitLab personality](https://gitlab.com/gitlab-org/gitlab-ce/issues/32894),
> we now have a redesigned set of system note icons.
[Automatically Resolve Outdated MR Discussions](https://docs.gitlab.com/ee/user/discussions/index.html#automatically-resolve-merge-request-diff-discussions-when-they-become-outdated)
> For some users, resolving a merge request diff discussion means simply pushing new code to replace
> the code in question. We've introduced a merge request setting to achieve exactly that. If the
> setting is on, any diff discussions will be resolved if a push makes that diff section outdated.
> Note that discussions on lines that don't change and top-level resolvable discussions are _not_
> automatically resolved.
>
> Thank you [Ashley Dumaine](https://gitlab.com/AshleyDumaine) for the contribution.
[Improved Monitoring Dashboard](https://docs.gitlab.com/ee/ci/environments/index.html#monitoring-environments)
> The environment monitoring dashboard has been significantly improved, with an improved look and feel as well as support for multiple series in a single chart.
> This provides a deeper-level insight into performance as well as easy comparisons. For example, an application's throughput can now be broken out by HTTP response type,
> providing a single chart for both successful and failed request rates, as well as potential missing pages.
[New Filter for Archived Projects](https://docs.gitlab.com/ee/user/search/#projects)
> With thanks (again!) to our community contributor [Mehdi Lahmam](https://gitlab.com/mehlah)
> it is now possible to filter the project view to show archived projects only.
>
> This may be useful when managing projects to see a distinct list of all archived projects
> and allow for easy deletion of archived projects by administrators.
[LDAP Config "verify_certificates" Defaults to Secure](https://docs.gitlab.com/ee/administration/auth/ldap/index.html) (self-managed only)
> The LDAP config option `verify_certificates` now defaults to true for security.
> This option was added in 9.4.2 but defaulted to false for backwards-compatibility.
>
> Installations that are using `start_tls` or `simple_tls` for the encryption
> parameter and that unknowingly do not have SSL configured properly between the
> LDAP server and the GitLab server, may break if the LDAP server's SSL
> certificate cannot be verified by the GitLab server.
[Internationalized Project Activity Page](http://translate.gitlab.com)
> As part of our [ongoing effort](https://gitlab.com/gitlab-org/gitlab-ce/issues/4012) to
> translate GitLab into new languages, the Project Activity Page has now been made ready for translating.
>
> We have recently created a [Translation Community on CrowdIn](http://translate.gitlab.com) making
> it easy for anyone to help translate pages on GitLab. If you wanted to get involved, please
> feel free to sign up through the community.
[Streamlined Omnibus GitLab Installation](https://docs.gitlab.com/omnibus/) (self-managed only)
> Installation of GitLab is now easier and faster than ever! GitLab 10 adds support for specifying the GitLab URL
> directly when installing the package. When specified, GitLab will automatically be reconfigured with the
> URL and started, removing two steps from the installation process.
[Omnibus Improvements](https://docs.gitlab.com/omnibus/) (self-managed only)
> * Ruby has been updated to [2.3.5](https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/1930).
> * libyaml has been [updated to 0.1.7](https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/1930).
[Performance Improvements](https://gitlab.com/groups/gitlab-org/issues?scope=all&utf8=%E2%9C%93&state=closed&milestone_title=10.0&label_name[]=performance)
> With every release we aim to make GitLab faster, more available, and more stable.
> [We're committed](/handbook/product/gitlab-the-product/#performance) not only to making
> individual instances of GitLab even faster, but also to greatly improving
> the performance of GitLab.com, an instance that hosts 1 million users!
>
> In GitLab 10.0 we have doubled down on this commitment and addressed more
> performance issues than any other previous release.
>
> We are addressing high memory usage issues, making numerous pages a lot
> faster as well as improving the speed of creating projects and performing commits.
[GitLab Mattermost 4.2](https://docs.gitlab.com/omnibus/gitlab-mattermost/) (self-managed only)
> GitLab 10.0 includes [Mattermost 4.2](https://about.mattermost.com/blog/mattermost-4-2/), an
> [open source Slack-alternative](https://about.mattermost.com/) whose newest release includes interactive
> message buttons to simplify complex workflows, plus much more.
>
> This version includes [security updates](http://about.mattermost.com/security-updates/) and an upgrade is recommended.