Product Vision

This is the vision for the end of 2018.

GitLab reimagines the scope of DevOps tooling to include developers, operations, and security teams in one single application. This dramatically reduces friction, increases collaboration, and drives a competitive advantage. Doing away with context switching and having all of the necessary information in one place closes the loop and enables a better understanding of each team's needs.

To make our vision a reality, we're working on a number of new features and improving on existing ones. This page describes the Product Vision for 2018. Internally, we're intending on implementing everything in here before the 2018 summit, scheduled for Aug 23, 2018. Of course that's incredibly aggressive, so as a customer or prospect, please don't count on that date. Some of these might only get to a minimal, or even just a demoable state by then.

Many of the issues describe development of an n-tier web app, but could equally be applied to an iOS app, Ruby gem, static website, or other type of project.

Grouping is based on stages in the DevOps Toolchain and our product categories, including several new ones for 2018. Also see our blog post on the complete DevOps vision. Or see the open issues for Product Vision 2018.

DevOps Lifecycle

New in 2018


The Plan stage is about capturing ideas, organizing issues and epics, scheduling work, and communicating plans.

Jira Epics
Jira in Menu Epic Roadmaps



Issue Management

      Issue tracker
      Issue board
      Jira development panel integration
      Import Jira issues to GitLab issues
      Real-time editing of issues and merge requests

Portfolio Management

      Capacity planning and epic tracking in roadmap
      Group milestone as a release (in addition to a sprint)

Cycle Analytics

      Cycle Analytics

Conversational Development Index

      Conversational Development Index


The Create stage is about creating, collaborating, and managing content; often source code, but increasingly other content such as design files.

Bulk review Web IDE
Preview Drafts Web IDE

Version Control

      Push to create a new project
      Make GitHub Desktop GitLab compatible

Code Review

      Merge request
      Image discussion in merge request diff
      Batch comments on merge request


      Split containers: separate dev / prod containers
      Multi-file editor
      Web Terminal with persistent disk Ultimate
      Cloud development with a web IDE Ultimate
      Web IDE editor Ultimate
      Web IDE preview Ultimate


The Verify stage is all about making sure that your code does what you expected it to do, meets quality standards, and is secure; all via automated testing. We bring best practices from top development teams, and make them the easy, default way to work. But of course you can build on those defaults and customize as needed for your company.

Continuous Integration (CI)

GitLab CI provides an explicit build stage and the concept of build artifacts, but we might need to separate out the build artifacts from test artifacts. For example, you might want your test runner to create a JUnit-style output file which is available for external consumption, but not included in the build image sent to production. Creation of an explicit build aligns well with Docker where the result of the build stage is a Docker image which is stored in a registry and later pulled for testing and deployment.

      Code Quality Premium
      Testing for multiple browsers using Selenium Premium
      Improve speed of CI
      Auto DevOps++
      Show code coverage in diffs with colored horizontal bar Premium
      [Meta] Load/performance testing and impact of merge request Premium
      Code Quality++ Premium
      Flaky test detection, reporting, prevention, and minimization Premium
      Detect and report on flaky tests Premium

Security Products


Container Registry

      Container Registry

Binary Repository

      Package server that can serve artifacts as Maven and Debian packages Premium
      Binary repository Premium


Continuous Delivery (CD) / Release Automation

A key part of CD is being able to deploy. We currently have the ability via scripts in the deploy stage in .gitlab-ci.yml. We will go further.

      Deployment history
      Deploy boards Premium
      Canary deployments Premium
      Pipeline view of environments
      Kubernetes/GKE integration - First-class clusters
      Merge train/Release train/Merge when master succeeds: run build on merged code before merging Premium
      Incremental, timed rollout Premium
      SLO and auto revert/stop incremental deployment Premium
      Dashboard of all environments in a group Premium
      Show current status of pods in deploy board Premium


Application Control Panel

      Secret variables
      Rename "secret variables"
      Application configuration
      Scale deployments directly from the environment page
      Switch between deploying to staging or production
      Enable/disable canaries
      Enable services with variables and UI
      GitLab PaaS Premium
      Autoscaling apps Premium
      Application idling Premium

Infrastructure Configuration

      Monitoring of Kubernetes cluster Ultimate
      Group-level Kubernetes page
      Automatically create a Kubernetes cluster during group creation
      Cluster configuration/management Premium


      Continuous dependency security/update checking Ultimate
      Operator role Premium
      Ops features

Feature Management

There's a big benefit to decoupling deployment of code from delivery of a feature, mostly using feature flags. Continuous integration helps improve the speed of development, but feature flags take it to another level, giving you the confidence to integrate code even more often while providing a gradual and granular method for delivery.

      Feature management (feature flags for user apps, not GitLab itself) Premium




Performance is a critical aspect of the user experience, and ensuring your application is responsive and available is everyone's responsibility. We want to help address this need for development teams, by integrating key performance analytics and feedback into the tool developers already use every day.

Going further, we want you to be able to track changes in your production infrastructure, availability, and uptime; error/exception tracking; and aggregated logs.

As part of our commitment to performance we are also deeply instrumenting GitLab itself, enabling our team to improve GitLab peformance and for customers to more easily manage their deployments.

Application Performance Monitoring (APM)

      Prometheus monitoring
      Deep Dive Component Monitoring
      Custom metrics Premium
      [Meta] Load/performance testing and impact of merge request Premium
      Detect and report slow database queries Premium
      GitLab Tracing Premium
      Alerting on abnormal Production behavior Premium
      Automated anomaly detection and alerting Premium
      Service Mesh Support

Production Monitoring

      Ops view of monitoring and deploy board Premium
      Production scripted testing Premium

Error Tracking

      Error Tracking Ultimate


      Application logging (aggregated) Ultimate
      Application Log Alerts Ultimate
      Kubernetes Pod Logs Ultimate


Not a stage, but part of our 2018 plan

      Push to Geo secondary (proxied to primary) Premium
      Automatic DR Premium
      Improve speed index
      Multithreaded application server


Not a stage, but part of our 2018 plan

GitLab is the engine that powers many companies' software businesses so it is important to ensure it is as easy as possible to deploy, maintain, and stay up to date.

Today we have a mature and easy to use Omnibus-based build system, which is the foundation for nearly all methods of deploying GitLab. It includes everything a customer needs to run GitLab all in a single package, and is great for installing on virtual machines or real hardware. We are committed to making our package easier to work with, highly available, as well as offering automated deployments on cloud providers like AWS.

We also want GitLab to be the best cloud native development tool, and offering a great cloud native deployment is a key part of that. We are focused on offering a flexible and scalable container-based deployment on Kubernetes, by using enterprise grade Helm Charts.


      Create AWS CloudFormation template
      Getting Started Guide / Curated Deployment Methods
      [Meta] Instant SSL for GitLab via Let's Encrypt
      Instant SSL for GitLab via Let's Encrypt for GitLab Rails
      [Meta] GitLab HA improvements post GA Premium
      [Meta] Easy enterprise installations
No issues

Cloud Native Installation

      Create a docker image and chart per GitLab service
      Automated GitLab Deployment on GKE