Product Vision

This is the vision for the end of 2018. For the ongoing vision for 2019+, see the direction page.

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

Manage

Reporting & Analytics

Cycle Analytics
Conversational Development Index

Plan

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

Jira Epics
Jira in Menu Epic Roadmaps

Chat integration

Mattermost
Slack

Project and portfolio management

Issue tracker
Issue board
Epics
Roadmap

Milestones UX improvements
Group milestones parity with project milestones
Labels UX improvements
Subgroup support for issues, merge requests, labels, and milestones
Multiple milestones per issue or merge request Premium
Navigate to external issue tracker page
JIRA Development Panel Integration Premium

Burndown charts in boards Premium
Expanded board lists Premium

Managing epics Ultimate
Filtered roadmaps across time Ultimate
Make epics easier to use Ultimate
Epics and roadmaps integrated with milestones Ultimate
Sorting in epics list view and roadmap view Ultimate
Promote issue to epic Ultimate

Create

GitLab is used to create, collaborate, review and manage content; often source code, by many businesses. We want to make it possible for everyone to be able to contribute content and feedback using GitLab.

Bulk review Web IDE
Preview Drafts Web IDE

Source code management

Code owners Premium
File template repositories Premium
Deduplication of git objects, reducing disk space of repository forks
Push to create a new project

Merge requests

A key part of writing and deploying high quality code is a thorough code review approval process. Merge requests provide this and are integrated with GitLab CI for testing, security testing, monitoring and more.

Approvals in merge request list
Increase approvals usage
Viewing a large diff of a single file
Batch comments on merge requests Premium
Commenting on a changed image in a merge request diff
Preview comments for batch comments in merge requests Premium

Web IDE

Web IDE editor beta
Web IDE editor
Integrate Web IDE with CI/CD
Integrate Web IDE with merge requests
Server side evaluation in the Web IDE Ultimate
Web IDE category vision Ultimate
Split containers: separate dev / prod containers
WebIDE client evaluation with live preview
Cloud development with a web IDE Ultimate

Geo

Automatic background verification of replicas
Proxy Git operations from secondary to primary

Verify

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
Browser testing with Selenium Premium
Flaky tests management Premium
Manage code coverage reports Premium
Code Quality in diff and MR views Starter
Long-Term Vision for improving the speed of CI
Interactive web terminals for CI/CD shell, k8s, and docker jobs
only/except: merge-requests for merge request pipelines
Cross-project trigger ability
Add status checking behaviors to pipeline triggers
JUnit XML Test Summary In MR widget
JUnit XML Test Summary In pipeline view
Code Quality++ Premium
Run build on merged code before merging Premium

Package

Container Registry
Binary repository for Maven MVC Premium

Release

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.

Environments
Deployment history
Deploy boards Premium
Canary deployments Premium
Timed Incremental Rollouts for AutoDevOps Premium
Feature management MVC (feature flags) Premium
Pipeline view of environments
Group-level Environments page Premium
Feature management (feature flags, Post-MVC) Premium
Incremental rollouts (manual) Premium

Configure

Application Control Panel

Variables
Create an Application Control Panel for easy configuration of app behavior
GitLab PaaS Premium
Autoscaling deployments based on CPU usage Premium
Pause idle deployments Premium
Auto DevOps Generally Available
Support multiple databases for Auto DevOps
Rename "secret variables" to "variables"
Scale deployments directly from the environment page Premium

Infrastructure Configuration

Group-level Kubernetes cluster
Kubernetes Configuration
Kubernetes/GKE integration - First-class clusters

Operations

ChatOps Improvements
Support operators in GitLab MVC Premium

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 MVC (feature flags) Premium
Feature management (feature flags, Post-MVC) Premium

Monitor

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
Tracing MVC Ultimate
SLI Alerts
Load/performance testing and impact of merge request Premium
Automated anomaly detection and alerting Ultimate
Operations Dashboard MVC Ultimate
Custom metrics Premium

Infrastructure Monitoring

Kubernetes Cluster Monitoring Ultimate
Cluster Monitoring Improvements Ultimate

Synthetic Monitoring

Synthetic Monitoring Ultimate

Error Tracking

Error Tracking MVC

Logging

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

Secure

Security Testing

Auto Remediate security vulnerabilities MVC Ultimate
Support the most common languages in SAST Ultimate
Security Dashboard MVC Ultimate
Security Dashboard improvements Ultimate
Auto Remediate improvements Ultimate
Dependency Scanning improvements
Dynamic Application Security Testing (DAST) improvements
Instance level Security Dashboard Ultimate
GitLab Recon
Security Scanning for Docker images Ultimate
Auto SAST Ultimate
Show SAST results in MR widget Ultimate
Application Security Testing (SAST, DAST) Ultimate
Group security issues panels in the MR widget Ultimate
Product Discovery: Show Container Scanning results in the GitLab Container Registry Ultimate
Add Gemnasium dependency check to SAST Ultimate

License Management

License Management Ultimate
License Management improvements Ultimate

Performance

Not a lifecycle stage, but part of our 2018 plan

Push to Geo secondary (proxied to primary) Premium
Automatic DR Premium
Improve speed index
Multithreaded application server
Deduplication of git objects, reducing disk space of repository forks

Distribution

Not a lifecycle 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.

Omnibus

Instant SSL with Let's Encrypt
GitLab Web Admin Portal
Create AWS CloudFormation template
Getting Started Guide / Curated Deployment Methods
[Meta] Instant SSL for GitLab via Let's Encrypt
[Meta] GitLab HA improvements post GA Premium

Cloud Native Installation

Cloud native GitLab Helm Chart (GA)
Automated GitLab Deployment on EKS/AWS
Automated GitLab Deployment on GKE