Squash and Merge in GitLab Core and GitLab.com Free CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD When working on a large feature, developers often push multiple commits to a work-in-progress branch, and after code review, there may be even more commits to address various code issues. Before merging that branch to master, many teams prefer to squash all the commits into a single one, ensuring a clean Git history, making it easier for folks in the future to review previous code changes. Squashing is a Git feature and a developer can do it right before merging on their local machine, but with squash and merge available directly in the GitLab web UI, you can do it with just a single click. For example, a repo maintainer merging-in the code can now do the squash without asking the code contributor to do so, saving one extra round-trip communication step. Squash and Merge, previously available in GitLab Starter, GitLab.com Bronze, and higher tiers, is now open source and available in GitLab Core and GitLab.com Free! Many users have said that all teams would benefit from this feature, and we are happy to bring it to everyone. Thank you blackst0ne for your contribution! Documentation Issue

CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD Since epics can take on any start and end dates, we wanted to provide a simple way for users to quickly view the ones that are more relevant in a given time range. With this release, we are introducing Roadmap date ranges. You can now quickly click Quarters, Months, or Weeks, and immediately, the roadmap will be refreshed, enabling you see your epics from different time perspectives. Teams who are focused on shipping features in the next few weeks can use one granularity, while executive leadership folks who want a high-level overview can use the longer time-period views. Documentation Issue

Issue Board assignee lists CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD Issue boards are a great tool for managing and tracking workflows, as your issues progress through different stages in your lifecycle, with label lists representing those stages. With this release, we are introducing assignee lists to issue boards. An assignee list shows issues that are assigned to a specific user. This provides a whole new way to use issue boards: to view and manage issue assignments for your team. You can now configure a board to a scope that matches that of your team, and then add assignee lists representing team members. This gives you instant visibility into what issues your team is working on, whether you are a manager who wants an overview and status of the team’s overall responsibilities, or an individual contributor who wants to sync up with another team member’s assigned issues. You can even add label lists and assignee lists to the same board. Documentation Issue

Issues and merge requests from subgroups in API CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD Subgroup support is also now consistent in the API when it comes to retrieving issues and merge requests. That is, if you query a particular group through the API for issues and merge requests, you will get results from projects that are immediate children of that group, and also all from projects of all subgroups nesting down further. This is analogous to viewing the same objects in the web UI’s group list views, which was introduced in recent prior releases. Documentation Issue

Specify deployment strategy from Auto DevOps settings CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD While some applications may benefit from deploying every change into production immediately after it’s done, others may fare better by grouping those changes into a common environment for more thorough testing. Configuring different deployment strategies for different projects previously meant dealing with project-specific variables and then exercising them as needed. Starting in GitLab 11.0, Auto DevOps makes specifying your deployment strategy a single-click event. When enabling Auto DevOps for a specific project, you will be able to specify whether your application gets automatically deployed to production or deployed automatically to staging and then manually to production. This single-click configuration will allow you to spend more time working on your apps and less time configuring their deployment. Documentation Issue

Always-on approvals CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD Merge request approvals are a longstanding GitLab feature that allows teams to enforce code review (or any type of review) in a merge request, before unblocking it for merging. Prior to this release, the feature had to be configured in the project settings. To simplify and streamline the feature, approvals are now always on for all projects in GitLab (in Starter, Bronze, or higher tiers). At the same time, however, we definitely do not want to slow down creating and merging code. So when a user creates a project, the required number of approvals is by default zero for the project (essentially, the feature is “off”). As the project grows, the user (and their team) can naturally adopt approvals by raising that required number as appropriate to their workflow needs. Documentation Issue

Fetch cluster parameters from GKE CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD Creating Kubernetes clusters in GitLab has never been easier. With GitLab 11.0, the “project” and “zones” values are automatically fetched from your Google Kubernetes Engine (GKE) account and displayed as a list for easy selection. Previously, creating a cluster using our GKE integration meant having to manually enter this data. Simple cluster creation will allow you to quickly stand up clusters from GitLab and quickly deploy your apps. Documentation Issue

LFS files included when importing a project CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD Git LFS helps to version large files with Git by storing them outside the repository and lazily downloading files at checkout rather than clone. When importing a project from GitHub, Bitbucket Cloud, or using a Git URL, GitLab now imports LFS objects so that you have a complete copy of the repository including those LFS objects. Previously, LFS objects were excluded from imports. Documentation Issue

SAST for .NET and Scala CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD As part of our effort to increase the availability of our security tools to the most common languages and frameworks, we have been continuously iterating on Static Application Security Testing (SAST). In GitLab 11.0, we add support for two new languages, .NET and Scala. Users don’t need to change anything in their projects if they are already using Auto DevOps or the latest version of the sast job definition in their .gitlab-ci.yml file. Documentation Issue

Easily deploy and integrate JupyterHub with GitLab CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD JupyterHub is a multi-user service for easily launching notebooks across a data science team. Jupyter notebooks provide a web-based interactive programming environment commonly used for data analysis, simulation, visualization, and machine learning. GitLab 11.0 can now deploy JupyterHub to an integrated Kubernetes cluster with a single click, and it is automatically configured to use GitLab for seamless authentication. Additional options like HTTPS, group filtering, and custom notebooks will be added in future releases. Documentation Issue

CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD GitLab allows for powerful asynchronous collaboration and communication. With the ability to document ideas and have conversations in so many places, we encourage always maintaining a single source of truth in the description area of an issue or epic. This means that descriptions are often updated, many times in succession over a few minutes, leading to multiple system notes that say that the description has been updated. With this release, we are smartly combining those system notes if they happen within a short period of time, cleaning up the visual clutter and making comments in GitLab just a little bit easier to navigate. We’ll be adding the same functionality to merge requests in the next release. Documentation Issue

Master role renamed to Maintainer CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD At GitLab, we are striving to build an inclusive culture. And so even within GitLab the product, we’re seeking ways to reflect that. We’ve decided to rename the Master role to the Maintainer role. It removes the negative connotations that may be associated with the term “Master,” and at the same time, “Maintainer” is easily understood. Every small step helps, and we hope to move forward at GitLab, and together as an industry. Documentation Issue

Consistent naming format in issues API scope attribute CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD We made a small change in the issues API scope attribute to bring it in line with our consistent format of using snake case. The scope attribute now uses the values of created_by_me and assigned_to_me . You should use this format starting in GitLab 11.0 instead of the previous kebab-case (hyphenated) equivalents. Documentation Issue

Get GitLab Runner IP address via the API CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD In GitLab 10.6 we added the ability to see the IP address of a given GitLab Runner in the details view in the UI. This is very useful to better recognize, troubleshoot, and manage your infrastructure. With GitLab 11.0, we also expose this information in the API response so that it can be used by automated processes. Thank you Lars Greiss for your contribution! Documentation Issue

Improved deprecated configuration detection CORE STARTER PREMIUM ULTIMATE FREE BRONZE SILVER GOLD Starting from GitLab 11.0, the Omnibus GitLab package will check for deprecated configuration in gitlab.rb , prior to starting an upgrade. In the event deprecated configuration settings are found, the package will abort the upgrade process prior to any changes. This allows the existing version to continue to run, while an administrator updates the problematic settings. Documentation Merge Request