Aug 22, 2018 - Mike Lewis    
11.2

GitLab 11.2 released with live preview in the Web IDE and Android project import

11.2 offers live preview in the Web IDE, instance-wide project templates, Android imports, GitLab installs on Kubernetes with GA chart, and more!

We are super excited to deliver new features with 11.2 that will help you get started and iterate faster. Today we deliver enhancements to the Web IDE, support for manifest files to import Android projects, and enable custom project templates.

Preview changes in the Web IDE

The Web IDE makes it faster and easier to contribute changes to your projects by providing an advanced code editor with commit staging right within your browser. With GitLab 11.2 we’ve made it even easier to see the effect of your code changes and debug even before you commit. You can now preview your JavaScript web app in the Web IDE, viewing your changes in real time, right next to the code for client-side evaluation.

In addition, with 11.2, you can delete and rename files and switch branches without ever leaving the Web IDE.

Android project import

Until now, importing complex project structures with multiple sub-structures was a tedious, time-consuming task. With our new support for XML manifest files, you can now import larger project structures with multiple repositories altogether, in bulk, including Android OS code from the Android Open Source Project (AOSP).

Cloud native simplified

The Cloud Native Helm Chart is now generally available to help you more quickly install GitLab on Kubernetes. This chart features a more cloud native architecture, with a container for each component of GitLab and no requirement for shared storage. The result is increased resilience, scalability, and performance of GitLab on Kubernetes. A GitLab Runner is also deployed, making it easy to get started with GitLab CI/CD.

Lots more!

Several other additions will help you and your teams handle projects more efficiently. With 11.2, GitLab administrators can offer instance-wide custom project templates, allowing users to start new projects quickly by automating repetitive setup tasks.

At the same time, features such as issue board milestone lists, summed weights for issue board lists, group milestones on the milestone dashboard page, and todos for epics enable better work management.

Everyone can contribute

Many of these improvements were contributed by the greater GitLab community. We look forward to your feedback and improvements on these great new features. Together, we make an awesome team! 🏆

Let us know what you think in the comments below. What are you looking forward to in this release? What can we continue to improve on?

Thanks for being a part of GitLab!

Join us for an upcoming event Sign up for the 11.2 Release Radar webcast

GitLab MVP badge

This month's Most Valuable Person (MVP) is JX Terry

Thank you, JX Terry, for implementing the new option for individual users to make their profile pages private!

Key features released in GitLab 11.2

Client-side evaluation in Web IDE

Working on web applications is faster and easier when it is possible to see your changes. Modern JavaScript frameworks now support live preview, eliminating the need to restart development servers and refresh the browser, but when editing these web applications using the Web IDE, it wasn’t possible to see your changes before commiting them.

In GitLab 11.2 you can preview your JavaScript web application in the Web IDE and see your changes in real time. This makes it possible to test a fix before you commit, quickly experiment with a change, or even contribute to an open source project without ever cloning it locally.

Client-side evaluation is powered by CodeSandbox. It can be enabled by an admin for self-managed GitLab instances and is already enabled for all projects on GitLab.com. Later this year we will add server-side evaluation powered by GitLab CI, allowing you to test and preview Ruby applications and more!


Custom project templates on the instance level

In today’s fast-growing development environment, moving from an idea to setting up a new project from scratch is still a tedious task. There’s not only a lot of boilerplate code involved, but also additional administrative overhead preventing your users from getting started right away.

Starting with this release, we enable organizations to manage their own project templates. As a GitLab admin, you can now define a group within your installation that serves as source for custom templates. All direct child projects of this group are available as templates when creating a new project.

All relevant repository and database information of a template are copied over to your new project, including the project and wiki repository, issues, project configuration, and more.

Custom project templates on the instance level

Personal status messages

Collaboration is a core principle within the GitLab product. When using GitLab day-to-day, together with your colleagues and community, it can be helpful to communicate what you are up to, including your availability or current workload.

With GitLab 11.2, we are bringing status messages right to your personal profile! Within your profile settings, you can now add a status including an emoji and custom message. This status will show up on your profile page, as well as in comments and author titlebars, exposing your current status to everyone who is working with you.

Thank you Luke Niedermyer for your initial contribution!

Personal status messages

As instances grow, projects and groups can multiply and become increasingly hard to find, so GitLab requires a powerful search experience. In this release, we’re taking a step forward to make search clearer, more consistent, and easier than ever to use.

In 11.2, we’re improving search by removing project and group scoping from the search bar. Instead of restricting search to the project/group you’re in, GitLab now gives you a consistent experience with the ability to search instance-wide from the top of every page.

We’ve also made search easier to use by showing group and project icons in the results, plus expanding the width of the search bar accordingly.

Improved top-navigation search

Support for Android project import

Until now, importing complex project structures with multiple sub-structures was a tedious, time-consuming task.

With this release, we introduce support for manifest files for project imports. A manifest XML file contains metadata for groups of repositories, allowing you to import larger project structures with multiple repositories in one go.

When creating a new project, there is a new option to choose a “Manifest file” as source of your project import on the “Import project” tab. In addition, you can select from the list of individual projects in a subsequent step if you don’t want to import the complete project structure.

This improvement allows you to import the Android OS code from the Android Open Source Project (AOSP), as one exciting use case. You can also import other projects that use manifest files which meet our format requirements.

Support for Android project import

Issue board milestone lists

Issue boards were originally designed to support workflow tracking with label-based lists. In GitLab 11.0, we introduced assignee lists to help teams see issues assigned to different team members and allow quick reassignments.

With this release, we are introducing a third type of list, the milestone list. All issues assigned to the given milestone will appear in a milestone list. This allows teams to see issues in different milestones all at once in a single board with multiple milestone lists. This also means you can quickly move issues across different milestones. With the summed weights feature also in this release, this is especially useful for teams who want to balance total issue weight across milestones, not over-scoping or under-scoping in a given milestone.

We’ve also updated the API so that you can now add and remove all three types of lists on a given board.

Issue board milestone lists

Other improvements in GitLab 11.2

Todos for epics

Todos are a helpful personal productivity tool integrated directly into GitLab. When you are @-mentioned in an issue or merge request, you get a dismissible todo object in GitLab along with an email alert. And there are lots of other todo trigger events as well.

With this release, we are bringing todos to epics, similar to their availability in issues and merge requests. When you are @-mentioned in an epic, you will get a todo for it, streamlining your personal workflows. You can also create a todo manually from the sidebar when viewing an epic itself, again similar to the capability within issues and merge requests.

The API has also been updated so that you can access epic-triggered todos and create a todo for an epic, all via the API itself.

Todos for epics

Group milestones on dashboard milestones list page

Milestones in GitLab are useful for tracking work within an iteration or a sprint. In particular, group-level milestones allow issues across several different projects to be tracked together.

With this release, we are showing group milestones on the dashboard milestones page. This means that users will now be able to see all milestones (both project and group milestones) that they have access to in the GitLab instance, all in a single location.

Group milestones on dashboard milestones list page

All burndown charts available in GitLab Starter and GitLab.com Bronze

The burndown chart is a useful visualization for teams to track work as it is being completed during a milestone. It allows teams to anticipate risks early on, and make adjustments to mitigate them early in the cycle, rather than wait until the milestone is done.

Previously, for the group milestone page, the burndown chart was only available in GitLab Premium and GitLab.com Silver. In this release, we’ve brought that feature to GitLab Starter and GitLab.com Bronze, allowing more users to enjoy group-based use cases. This also simplifies the feature, since the burndown chart on the project milestone page was already available with the Starter/Bronze tier.

All burndown charts available in GitLab Starter and GitLab.com Bronze

Multiple Jira transition IDs for closing Jira issues from GitLab

Many teams using GitLab also use Jira as an issue tracker. GitLab has a Jira integration that allows GitLab merge requests to automatically close a Jira issue when the merge request is merged. This requires you to configure a Jira transition ID in the GitLab settings, indicating how you want to transition Jira issues into the closed state. But this also means you are limited to only a single transition type on the Jira side.

With this release, we now support multiple Jira transition IDs. That means if your Jira project is set up such that there are multiple ways to close a Jira issue, you can have GitLab recognize all those ways, so that merging a GitLab merge request will close the Jira issue, regardless of which state the Jira issue starts in.

Thank you lilinzhe for the contribution!

Multiple Jira transition IDs for closing Jira issues from GitLab

Importer for Bitbucket Server

While GitLab has supported importing projects from Bitbucket Cloud using OAuth authentication for quite some time, such an integration with the self-hosted Bitbucket Server wasn’t available. Until now.

With GitLab 11.2, it is now possible to import your projects from Bitbucket Server to GitLab with minimal effort. All that is required is to provide the server URL and your credentials. GitLab then lists all your BitBucket Server repositories, ready for import.

Importer for Bitbucket Server

Approve and blacklist licenses

License Management automatically detects the software licenses that you are introducing with your code and its dependencies. In previous versions of GitLab, this feature kept you informed of all licenses, but did not allow you to define a policy about the licenses that should be allowed in your production code.

With GitLab 11.2, you can now define whether any license should be approved or blacklisted for your application as soon as the relevant code is introduced in a merge request. The merge request widget displays all new licenses that have not yet been introduced into the target branch, and allows you to define whether each should be blocked or allowed, going forward.

Approve and blacklist licenses

Show project ID on project overview

GitLab projects are associated with an auto-generated, unique project ID upon creation. This information is available in the General project settings and via our API.

With this release, we have added the project ID to the project overview page, so that users without Maintainer permissions also have access to this ID when needed.

Thank you Tuğçe Nur Taş for this contribution!

Show project ID on project overview

Google Hangouts integration

Chat applications work great together with GitLab, as a complementary way for teams to communicate and get work done. In this release, we’re happy to merge in a generous contribution from Kukovskii Vladimir to integrate Google Hangouts into GitLab. With this feature configured as a project service, you can now receive a variety of GitLab events as notifications directly within Hangouts.

Thank you to Kukovskii Vladimir for the contribution!

Google Hangouts integration

Instance-level analytics available for everyone

Analytics are an important tool for understanding activity on your GitLab instance. Previously, two of these features – ConvDev Index and Cohorts – have only been visible to admins.

Since these features provide useful (and anonymized) information on GitLab usage, we are making them visible to all users, by default, behind a new “Instance Statistics” section in the top navigation bar. Visibility of this section is configurable, and can be set to admin-only.

Introducing instance-level statistics is our first step to democratize analytics in GitLab, and we are excited to introduce more to this section in the future.

Instance-level analytics available for everyone

Securely build Docker images with kaniko

Historically, building Docker images within a containerized environment has required compromises, using techniques like docker-in-docker on privileged containers. These solutions are often insecure and slow.

kaniko is a new tool developed by Google, which is able to securely build an image within an unprivileged container. GitLab 11.2 and Runner 11.2 are now compatible with kaniko, enabling usage with GitLab CI/CD and the integrated Container Registry.

Securely build Docker images with kaniko

Switch branches in the Web IDE

In GitLab 11.2 you can now switch to any branch in the current repository without leaving the Web IDE. The improved branch and merge request switcher allows you to search the list of branches for the current repository.

Switch branches in the Web IDE

HTTP pull mirroring API

Pull mirroring for HTTP remotes is now available through the Projects API. Pull mirroring makes it easy to keep forks and replicas up to date, regardless of whether the repositories are on the same server.

Mutual SSL authorization for Helm Tiller

In order to improve the security of Kubernetes clusters integrated with GitLab, we must ensure Helm Tiller is secured so that only the GitLab instance managing it can deploy applications to its namespace.

Starting in GitLab 11.2, all new Helm Tiller applications that are deployed to Kubernetes clusters via GitLab’s Kubernetes integration will be locked down using mutual SSL authentication. This means no other clients outside of your GitLab instance will be able to deploy applications, making your cluster more secure. Additionally, starting with this release, we will be using Helm Tiller version 2.7.2.

GitLab Runner 11.2

We are releasing GitLab Runner 11.2 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:

A list of all changes can be found in GitLab Runner’s CHANGELOG.

Omnibus improvements

  • GitLab 11.2 includes Mattermost 5.1, an open source Slack-alternative whose newest release includes a new GIF selector, auto-linking plugin, subpath support, plus much more. Since it includes security updates, upgrading is recommended.
  • gitlab-ctl repmgr now honors the directories set by postgresql['data_dir'].
  • GitLab’s Prometheus instrumentation now works out of the box on Docker containers.
  • git has been updated to 2.18.0.
  • Alertmanager has been updated to 0.15.1, gitlab-monitor has been updated to 2.18.0.

Summed weights in issue board list

Prior to this release, we already showed the issue counts at the top of each list in issue boards. This is helpful if you are doing any type of planning or tracking in an issue board, to see how many issues are in a particular workflow stage or assigned to a person in an assignee list.

With this release, we are extending that concept to show the summed weights of all issues in each list alongside the issue count. This gives even more granularity to teams who use weights for effort estimation. You can now see at a glance how much weight is in a list, and if you need to move issues between lists to compensate for too much or too little weight, you can now do so and the summed weights will update immediately. You don’t have to refresh the board.

Summed weights in issue board list

Search labels in project labels list

Labels in GitLab are a versatile feature, allowing you to categorize issues, merge requests, and epics. Teams use them for a variety of use cases, and it’s not uncommon for projects to have many pages of labels. As a result, it’s often cumbersome to change a label name, its description, or its color. You have to click through many pages to get to the label you care about on the labels list page.

In this release, we’ve made that easier by providing a search feature in the project labels list page itself. The search covers both the label title and description. So if you know the label title or even know just what the label is about, you can quickly find it by typing a search term in the text box.

Search labels in project labels list

Service level indicator alerts for custom metrics

GitLab includes a fully integrated performance monitoring solution, providing an easy and seamless way for engineers to view key metrics like throughput, error rate, and resource consumption. While it is critical to be able to view these metrics when needed, it is also important to be able to be proactively notified in the event of issues, to expedite a response.

GitLab 11.2 now provides the ability to easily create alerts for custom metrics directly from the dashboard, with just a few clicks. Users can set the desired threshold, and when it’s exceeded for five minutes, email notifications will be sent to maintainers and owners of the project. GitLab-provided metrics will be supported in a future release.

Service level indicator alerts for custom metrics

Cloud native GitLab Helm chart generally available

We are excited to announce that the cloud native GitLab Helm chart is now generally available (GA). This chart features a more cloud native architecture, with a container for each component of GitLab and no requirement for shared storage. These changes result in increased resilience, scalability, and performance of GitLab on Kubernetes. A GitLab Runner is also deployed, making it easy to get started with GitLab CI/CD.

The gitlab chart is the best way to deploy GitLab on Kubernetes. Give it a try and let us know what you think!

Cloud native GitLab Helm chart generally available

Private profiles

The user profile page on GitLab shows your activity, contributions, and personal projects. While visitors only see detailed activity that they have permission to see, such as your comments on public repositories, some users may prefer not to expose this information in aggregate.

With GitLab 11.2, we introduce the option to disable activity-related information on your profile, giving you more complete control over the information you share with the community.

Thank you JX Terry for your MVP-winning contribution!

Private profiles

License Management reports at the pipeline level

Once a new change has been introduced into the codebase, users may want to know the updated set of licenses that apply to their application.

GitLab 11.2 brings the License Management report to the pipeline level, so the current list of licenses can be accessed and users can check their master branch directly.

License Management reports at the pipeline level

Download individual repository files

When browsing through a project repository on GitLab, the need to download a specific file frequently arises. Until now, this was only possible within the GitLab interface by viewing the file in a new browser tab and then saving it.

GitLab 11.2 introduces a new “Download” button in the file viewer interface, available for each individual repository file, allowing you to download any file directly from the application more easily.

Thank you Kia Mei Somabes for your contribution!

Download individual repository files

Support for Git SSH access via certificates

In large organizations, SSH keys may only be issued on a temporary basis and be set to expire quickly. An alternative approach, available with GitLab 11.2, is to use OpenSSH certificates which include all the information about the user within the certificate. This removes the need for users to generate and upload SSH keys.

Thank you Ævar Arnfjörð Bjarmason for your contribution!

Custom Wiki sidebar

When utilizing a Wiki in your GitLab project for extended documentation, the right sidebar shows a hierarchical table of contents of your Wiki page structure by default. There are cases, however, where you may want to provide additional content, extending this set of automatically listed pages.

With GitLab 11.2, we introduce an option to override the generated table of contents via your own custom sidebar. By adding a _sidebar Wiki page, maintainers gain full freedom to define an individual Wiki sidebar based on GitLab Flavored Markdown.

Thank you jsooter for your contribution!

Custom Wiki sidebar

Delete and rename files in the Web IDE

The Web IDE is the most convenient way to add and edit files in the GitLab interface, but renaming and deleting existing files was not yet possible. In this release, you can now delete and rename any file without leaving the Web IDE.

Delete and rename files in the Web IDE

JUnit test summaries in merge request widget

It is very common for a pipeline to contain a test job that checks the latest code. If the tests fail, the pipeline fails and users are notified. But they still want to dig into details about the failed tests.

With the 11.2 release, it is now possible to see JUnit test results directly in the merge request widget.

JUnit test summaries in merge request widget

Built-in project templates now use Dockerfile

Our built-in project templates are now built using Dockerfiles instead of herokuish. For some configurations this will result in performance improvement of build times, and is considered a best practice that we want to illustrate in our templates.

Ability to manually stop an environment

Some CI/CD environments are disposable and unlikely to be reused in the future. One clear example is when using Review Apps, where a new environment is created dynamically on each branch. Up until now, you could only stop an environment if you defined it in .gitlab-ci.yml. With GitLab 11.2, it is now possible to manually “stop” an environment from the UI under the environments page.

Deprecations

Change to existing Projects API `archived` parameter

GitLab 10.0 introduced a change that caused the archived parameter for the GET /projects endpoint to behave in a confusing way:

  • Not supplying the parameter would only return non-archived projects
  • Passing archived=true would return all projects, including those that were archived
  • Passing archived=false would only return non-archived projects

The 11.2 release corrects this regression:

  • Not supplying the parameter now returns all projects, including those that were archived
  • Passing archived=true now only returns the archived projects
  • Passing archived=false still only returns non-archived projects (no behavior change)

If you are using this API endpoint, you may want to change your current usage as follows:

Current usage (from GitLab 10.0 to 11.2) New usage (starting with GitLab 11.2)
No archived parameter Pass archived=false
Using archived=true Don’t use the archived parameter anyore
Using archived=false No change needed

Breaking change date: August 22, 2018

Disable SAML and Bitbucket if OmniAuth is disabled

In previous versions, it was possible to configure GitLab’s SAML and Bitbucket integrations even when OmniAuth – which both integrations require – was disabled on the instance. (Note that OmniAuth is disabled by default for new installations.) We have now streamlined this behavior in that both integrations are unavailable when OmniAuth is disabled.

Removal date: August 22, 2018

Support for Docker Versions in GitLab Runner

With GitLab 11.4 (October 22, 2018), support for Docker versions before 1.12 (API version 1.24) will be deprecated in line with Docker’s latest version recommendation guidance. Beyond the 11.4 release these older versions will no longer be officially supported and could stop working at any time.

Removal date: October 22, 2018

GitLab Pages IP on GitLab.com - DNS A records must be updated

On August 11, GitLab.com migrated from Azure to Google Cloud Platform and with it, GitLab Pages websites also live in a new place. For this reason, GitLab.com users who have configured a custom root domain for their Pages sites using a DNS A record must update their records from 52.167.214.135 to 35.185.44.232. Meanwhile, there is a proxy in place to keep your websites up and running using the old IP address through Monday, October 22. Update: The temporary proxy was inadvertently removed ahead of schedule, so affected users should update their Gitlab Pages’ DNS A record immediately. For more information, see our GitLab Pages Update post.

We had changed the Pages IP on GitLab.com in the past, and the steps you need to follow are the same as those detailed in this earlier blog post, with the exception of the new IP itself. We plan to forward the old IPs for the foreseeable future, but strongly advise you to update your DNS A records immediately, otherwise, from October 23 onward, your websites may not be available until you make this change. Note that DNS CNAME records do not need to be changed. GitLab self-hosted instances are not affected by this change.

This section will be updated if any additional information is posted.

Removal date: October 23, 2018

Upgrade barometer

To upgrade to GitLab 11.2 from the latest 11.1 version, no downtime is required. To upgrade without downtime, please consult the documentation on downtimeless upgrades.

For this release we have migrations, post-deploy migrations, and to help with larger migrations, we have introduced background migrations.

GitLab.com migrations took approximately 25 minutes and post-deploy migrations amounted to a total of around 1 minute. Background migrations on the other hand are Sidekiq jobs that will run synchronously. For this release, these migrations took less than a day to complete, and no side effects were expected nor present. These target completed pipeline builds. Pipelines executed after upgrading are not affected.

GitLab Geo users, please consult the documentation on upgrading Geo.

If you are using Advanced Global Search, please be advised that a re-index is necessary in order to fix a bug that would cause some Note types to not be indexed.

Changelog

Please check out the changelog to see all the named changes:

Installing

If you are setting up a new GitLab installation please see the download GitLab page.

Updating

Check out our update page.

GitLab Subscription Plans

GitLab is available in self-managed and cloud SaaS options.

Self-managed: Deploy on-premises or on your favorite cloud platform.

  • Core: For small teams, personal projects, or GitLab trials with unlimited time.
  • Starter: For co-located teams with few projects who need professional support.
  • Premium: For distributed teams who need advanced features, high availability, and 24/7 support.
  • Ultimate: For enterprises that want to align strategy and execution with enhanced security and compliance.

Cloud SaaS - GitLab.com: hosted, managed, and administered by GitLab with free and paid subscriptions for individuals and teams.

  • Free: Unlimited private repositories and unlimited collaborators on a project. Private projects get access to Free features, public projects get access to Gold features.
  • Bronze: For teams that need access to more advanced workflow features.
  • Silver: For teams that need more robust DevOps capabilities, compliance and faster support.
  • Gold: Great with many CI/CD jobs. Every public project get the features of Gold for free irrespective of their plan.

Cover image licensed under Unsplash and depicts the site of the GitLab 2018 Summit: Cape Town, South Africa!

Install GitLab in 2 minutes

With Ubuntu, Debian, CentOS, openSUSE, and Raspbian packages or from source

Install GitLab Now

Try GitLab Ultimate risk-free for 30 days.

No credit card required. Have questions? Contact us.