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:

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

[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).
#### Core ![29 new features](https://img.shields.io/static/v1?color=108548&label=new+features&labelColor=525252&message=29&style=flat-square "New features added to this tier in this release") ![119 total badges](https://img.shields.io/static/v1?color=1F75CB&label=total+features&labelColor=525252&message=119&style=flat-square "Total features in this tier")
[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. > >
> >
> > [Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#overview) > automatically detects, builds, tests, deploys, and monitors applications. > Leveraging [Herokuish](https://github.com/gliderlabs/herokuish), it supports > all languages and frameworks available through Heroku buildpacks, such as Ruby, Rails, > Node, PHP, Python, and Java, as well as the ability to customize your own buildpacks. > Read the [quick start guide](https://docs.gitlab.com/ee/topics/autodevops/quick_start_guide.html) > to begin right now. > > _Auto DevOps is currently in Beta and is not recommended for production use just yet._ > {:.alert .alert-info .text-center} > > **Note:** GitLab is not affiliated with Heroku or Glider Labs. > {:.note}
[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.

To top