GitLab 8.8 released with Pipelines and .gitignore templates

May 22, 2016

Fresh off our third GitLab Summit, this time in Austin, Texas, we are releasing our 54th consecutive release on the 22nd of the month. Sunday or not, we are not slowing our release schedule and are excited to show you what we're launching today. GitLab 8.8 is ready to go with GitLab CI improvements, performance enhancements, convenient templates, and more!

This month's Most Valuable Person (MVP) is Matt Oakes for contributing the support for suppressing text file diffs on the default branch with .gitattributes.

Thanks Matt!


GitLab has powerful continuous integration built-in. No need to switch to another application, no need to juggle permissions and access, just use GitLab.

Before, you could already define complex pipelines. With GitLab 8.8, GitLab CI will visualize these pipelines, so you can see how things are going.

GitLab CI Pipelines in GitLab 8.8

In the new pipeline view, you see all related builds for a single commit and the net result of each stage of your pipeline. This allows you to quickly see what failed and fix it.

A single Pipeline in GitLab 8.8

By default, GitLab will set up the build, test, and deploy stages (as before), but you're free to define any other stage in your .gitlab-ci.yml file.

Read how to define your .gitlab-ci.yml file

Unfamiliar with GitLab CI? Start here!

GitLab Container Registry

In this release, we are supercharging GitLab CI. First with Pipelines and now with GitLab Container Registry. GitLab Container Registry is a secure and private registry for Docker images. It isn't just a standalone registry; it's completely integrated with GitLab. In fact, our container registry is actually the first Docker registry that is fully-integrated with git repository management and comes out of the box with GitLab 8.8. So if you've upgraded, you already have it! Our integrated Container Registry requires no additional installation. It allows for easy upload and download of images from GitLab CI. And it's free. We were so excited about this feature that we wrote a whole blog post about it. Read the full post.

.gitignore templates

You should version everything. Well, almost everything. Occasionally you have to use some private information, secrets or just junk in the directories that are being watched by Git. For those situations, you can add the files and directories that you want to ignore to your .gitignore file.

With GitLab 8.8, creating a .gitignore file is much simpler. When creating the file in the web interface, GitLab will now automatically show you a dropdown where you can choose from many different templates to use for your .gitignore file.

You can still edit it to your liking of course.

GitHub Importer Improvements

We further improved our GitHub importer in GitLab 8.8. The existing GitHub importer could already import things like repository data, issues, wiki pages, milestones, and labels. With GitLab 8.8 the importer is more robust now and will also import pull requests with a missing source or target branch.

Want to import from GitHub? Read how, here.

New shortcuts

Shortcuts are a great way to get things done, quickly. With 8.8 we've added two shortcuts and improved the shortcut help:

Toggle whitespace changes

Sometimes when people push their commits there are a number of insignificant whitespace changes along with their important changes. We've added a button in our UI that allows you to hide these insignificant changes in the commit's diff.

Hide whitespace changes in GitLab 8.8

Health Check

Software can be a lot easier than people. To see whether GitLab is healthy, no doctor required. Just point your monitoring to /health_check and look for status 200.

This endpoint can be provided to uptime monitoring services like Pingdom, Nagios, and NewRelic.

Read more in the health check documentation.

UI Improvements

We've improved many things big and small again this release.

Most notably, you will find that the group page and the profile page are using a new navigation paradigm. The left sidebar will stay static, where the top bar will provide you with navigation a level deeper.

Group Page UI improvements

We believe this change will make getting around in GitLab easier. We're trying it first in these places and love to hear what you think!

Other changes

This release has more improvements, including security fixes. Please check out the Changelog to see all the named changes.

Suppress Text File diffs through .gitattributes

When you mark a file as non-diffable in your .gitattributes file, GitLab will now respect that and not show the diff.

Thanks to Matt Oakes for contributing this!

Milestone references in Markdown

You can now reference milestones in Markdown!

To reference a milestone that's a single word, use % with the name. For instance: %8.8. More words? Wrap it in ": %"Cool milestone".

Of course, this also works cross-projects and in links:

[milestone 8.8](%8.8)

Do you have any more ideas for extensions of our Markdown? Let us know!

Performance Changes

Uptime changes:

Other changes

This release has more improvements, including security fixes. Please check out the changelog to see all the named changes.

Upgrade barometer

Upgrading from 8.7.x to 8.8.0 requires no downtime.

Note We assume you are upgrading from the latest version. If not, then also consult the upgrade barometers of any intermediate versions you are skipping. If you are upgrading from a GitLab version prior to 8.0 and you have CI enabled, you have to upgrade to GitLab 8.0 first.

Please be aware that by default the Omnibus packages will stop, run migrations, and start again, no matter how “big” or “small” the upgrade is. This behavior can be changed by adding a /etc/gitlab/skip-auto-migrations file.

Deprecation of Fog gem

The Fog gem will be removed in 8.9 (next month). It's currently used to connect GitLab's Backup service to various storage providers, but only a few of fogs "micro-gems" are actually used. We intend to only include fog-core and support for uploading backups to AWS, Google Compute and Microsoft Azure in 8.9. If you backup GitLab with a service other than those, please open an issue so we can consider including your specific use-case. See this issue for more information.

Changes in bin/web and bin/background_jobs

If you installed GitLab from source using a custom SystemD / Upstart service definition, or if you are a package maintainer for GitLab then you should know that bin/web and bin/background_jobs both perform one fewer fork(2) call now when starting Unicorn and Sidekiq respectively. This only matters if you configured your service supervision system to count the number of forks during startup. The official GitLab init script and our Omnibus packages are not affected by this change.

GitLab Mattermost 3.0 not included in the 8.8 release

Mattermost 3.0 is a major release requiring manual upgrade steps and therefore not included in 8.8 omnibus-gitlab package. Existing GitLab Mattermost users will have to wait until GitLab 8.9 where upgrade to Mattermost 3.1 should be automated. If you're interested in reading more about how this decision was made, check out the issue on Also the upgrade design for the next release will be discussed in the same issue so please share your feedback there.


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


Check out our update page.

Enterprise Edition

The mentioned EE only features and things like LDAP group support can be found in GitLab Enterprise Edition. For a complete overview please have a look at the feature list of GitLab EE.

Access to GitLab Enterprise Edition is included with a subscription. No time to upgrade GitLab yourself? A subscription also entitles you to our upgrade and installation services.

Install GitLab on your own server in 2 minutes

Browse all posts

For the latest and most detailed news follow @gitlab on Twitter. Future blog posts suggestions.