With last month's release of 8.0, we made a lot of improvements to GitLab. Today we bring you GitLab 8.1, which brings you a deeper CI integration, the ability to check out any merge request, design updates, and more.

We as a team are really excited about this release not only for the increased performance and great new features but also because we are all together in Amsterdam for our team summit. Our team is fully remote from around the world so this is a special update for us to be releasing GitLab 8.1 together from Amsterdam. Next week the team will be attending OSCON so please let us know if you'll be there. We'd love to chat!

GitLab now consists of 20,000 commits! This is a great milestone for our community. With every release of GitLab, new people from this great community contribute code and time. GitLab truly is a product built by the community and we're honored to be part of it.

Zeger-Jan van de Weg did several nice contributions this release and we're happy to elect him as this month's Most Valuable Person (MVP)! Thanks Zeger-Jan!

GitLab = GL + CI

In GitLab 8.0 we integrated GitLab CI into GitLab, making it a single application where you can collaborate on, test, and deploy your code.

With GitLab 8.1, CI is everywhere. You will find build status in the commit list view, in commits, and on the front page of your projects. You'll also find graphs of CI in the graphs view and a new builds page for quick access to your project's builds.

In our ongoing effort to improve the look and feel of GitLab, we have made many changes big and small this release.

We now have a new color scheme for major interface elements:

Check out Merge Request

Previously, checking out a merge request from someone was only possible if the branch was in a repository you can read. Right now, you can check out any merge request made to your repository, even if it's from fork.

You could do this previously, but now we make the remote branch available locally, making it much faster.

Commit Status API

With the integration of GitLab CI in GitLab, we want to make it easier for everyone to use CI. You can now get the status of any commit through the API.

GET /projects/:id/repository/commits/:sha/statuses

In addition to this, you can even set the commit status. With this, you can easily use any existing CI in combination with GitLab and still see the commit status reflected in GitLab's interface!

POST /projects/:id/statuses/:sha

The commit status API makes it easier to integrate your existing CI tools with GitLab. We're looking forward to see what you'll use it for.

Further improvements

Auto-engage CI

GitLab will now automatically turn on CI for a project when you push a .gitlab-ci.yml file. If you have some shared runner setup, this should make it easier for your team to start using CI.

Of course, you can disable CI for projects you don't want to use it for.

Fast, Faster!

We've been working hard to improve page speed. Issues, searching for users, the trending page, signing in, and more will now load much faster.

Create Directories from the Web Editor

You can now create directories straight from the interface!

Activity on Dashboard

If you prefer to see activity on the Dashboard by default, you can now easily set this in your profile:

Sign in as other user

GitLab Administrators now have a simple, useful tool: you can sign in as any other user.

Visit a user through the admin panel to find the button above.

Quick Submit

Simply use CMD+ENTER on Mac or CTRL+ENTER on Win / Linux to quickly submit an issue or comment.

Faster and more reliable 'git archive' downloads

Each project in GitLab has a 'download' button that lets you grab a ZIP file with the contents of the repository at the revision you are viewing. In GitLab 8.1 we have reduced the delay before the download starts and optimized the way the ZIP file is generated and sent to the user by shifting some of the work from the main GitLab Rails application to gitlab-git-http-server.

Note: if you are not using the Omnibus packages and their built-in NGINX settings this means that you will have to update your NGINX/Apache settings when upgrading to 8.1.

Omnibus-GitLab packages are bundled with the latest version of Mattermost. Mattermost version 1.1.1 comes with a large number of improvements and is even more integrated with GitLab. Realtime notifications from GitLab can now be received by Mattermost, using incoming webhooks.

The latest version of Mattermost also includes a large number of config changes. If you have any custom configuration make sure you read the Upgrade from v0.7 to v1.1 notes and make sure you check the latest config options available for GitLab Mattermost.

Rocket Chat is still working on adding PostgreSQL compatibility and there is no estimated time when it will ship.

Other changes

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

Update (2015-10-27): When we released GitLab 8.0 last month, we promised to automatically remove the satellites directory in 8.1. This seems to have slipped our minds for the official 8.1 release, but we included it in the 8.1.2 patch release. See the release post for more information.

Upgrade barometer

If you are upgrading from GitLab 8.0 and none of your users are using GitLab CI then you can perform the upgrade to 8.1 without downtime. If your users are using CI you need to stop GitLab before performing the upgrade.

Note: 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.

To see if your users are using GitLab CI go to gitlab.example.com/ci/admin/projects and look if there are any projects. No projects means no CI.

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.

Note: If you've encountered an /etc/init.d/ci-{SERVICE} does not exist! error during the reconfigure run, use the package 8.1.0-ce.1 or newer.

Installation

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

Updating

Check out our update page.

Enterprise Edition

GitLab EE-only features like LDAP group support can be found in GitLab Enterprise Edition. For a complete overview of EE 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.

Thanks to Cyndi for the picture of the GitLab Inc team.