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.
The Plan stage is about capturing ideas, organizing issues and epics, scheduling work, and communicating plans.
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
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|
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
Code review on any line on any file in a merge request
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 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 strategy Ultimate
Split containers: separate dev / prod containers
WebIDE client evaluation with live preview
Cloud development with a web IDE 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.
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
Load/performance testing and impact of merge request Premium
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
Add status checking behaviors to pipeline triggers
JUnit XML Test Summary In MR widget
JUnit XML Test Summary In pipeline view
trigger ability Premium
Code Quality++ Premium
Add status checking behaviors to pipeline triggers Premium
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.
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
Serverless tab to list functions deployed in Knative
Incremental rollouts (manual) Premium
Allow users to create and manage feature flags for their applications (Feature Flags MVC) Premium
Combined ref pipelines (source+target branch) Premium
Merge request pipelines for forks for post-merge result Premium
Create an Application Control Panel for easy configuration of app behavior
GitLab Application Development Platform (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"
Support PostgreSQL DB migration and initialization for Auto DevOps
Scale deployments directly from the environment page Premium
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.
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.
Synthetic Monitoring Premium
Auto Remediation 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
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
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
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.
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