Feb 22, 2016
If there is one GitLab release that you’ll want to upgrade to as soon as
possible, it’s this one.
GitLab 8.5 is faster. A lot faster. Not only have we increased performance
for everyone, getting to what is important is now super quick with Todos (yes,
all important things for those of you that speak Spanish or Portuguese).
With GitLab 8.5 Enterprise Edition, we’re also introducing the alpha of
GitLab Geo, which allows you to have a remote replicate of your entire
Once again, we received some amazing contributions this release.
One of these is the support for relative URLs in Omnibus installations,
which was one of the many contributions we received from Artem Sidorenko.
Thanks Artem Sidorenko and congratulations on being
this month’s MVP!
Performance for Scale
At GitLab, making sure everything runs smoothly with thousands of projects
has always been a priority. But with GitLab 8.5, we’ve raised the bar for
Average mean performance is up at least 1.4 times, up to 1.6 times for 99th
percentile response times. For slower pages, the response time has been improved
way beyond this.
For instance, displaying individual issues is now up to 3.5 times faster
for very large issues. The graph below shows you the slowest 95th percentile
response times for loading issues on GitLab.com before and after we deployed
the first release candidate of 8.5:
And here’s a graph showing the overall response timings (per 30 minutes) from
10 to 12 February. The vertical arrow indicates the 8.5.0 RC1 deploy on
There are many performance improvements that you will notice with 8.5.
Especially if you’re running a very large server, this release will make
all your users happy.
Some notable performance notes are:
- Broadcast messages are cached, reducing the impact they have on page loading
- Performance of
been improved and their output is cached, reducing project specific page
(issues, project dashboard, etc) loading times by about 3 to 3.5 times. This
was changed in gitlab_git!62
followed by !2752
- Caches for branch commit ahead/behind statistics are only flushed when needed.
For example, when pushing to a non default branch only the statistics for
said branch are flushed, whereas previously the statistics for all branches
would be flushed. This was changed in !2769
- Performance of retrieving the issues that should be closed by a merge request
has been improved in !2625
- Performance of Atom feeds has been greatly improved in
leading to a reduction of up to roughly 10 seconds per page load
(depending on the amount of events involved)
- !2859 changes
the way the Git
core.autocrlfoption is set. Previously this would be
written (regardless of whether it was already set) on every request. As of
now, this is only set by the web editor/API before creating/updating files
(as this is the only case where it’s actually needed).
- ‘Raw’ file contents from Git repositories are served by gitlab-workhorse now,
which prevents timeouts.
- GitLab no longer loads large Git blobs (e.g. binary files) into memory when
browsing a Git repository. This prevents timeouts and memory leaks.
GitLab is where you do your work, so being able to get started quickly is
very important. Therefore, we’re now introducing Todos.
Todos is a chronological list of to-dos that are waiting for your input.
Whenever you’re assigned to an issue or merge request
or have someone mention you, a new to-do is created automatically.
Then when you’ve made a change, like replying to a comment or updating an issue,
the to-do is automatically set to Done. You can also manually mark to-dos
Todos has been designed to be as actionable as possible, so that you can focus
on what is important. Having a personal space to work from has been a long-time
request and we’re looking forward to your feedback after having given it a go.
GitLab Geo Alpha (EE)
If you have two or more teams geographically spread out,
but your GitLab instance is in a single location,
fetching large repositories can take a long time.
With GitLab Geo, you can have a secondary GitLab instance that mirrors your
main GitLab instance. Your Geo instance can be used for cloning and fetching
projects, in addition to reading any data. This will make working with large
repositories over large distances much faster.
With GitLab 8.5, we’re offering GitLab Geo as an Alpha to all our Enterprise
Edition customers. Once GitLab Geo has left Alpha / Beta state, a special
license will be required to use it.
GitLab Pages now support custom domains and custom TLS certificates (EE)
GitLab Pages was first introduced in GitLab EE 8.3, giving you the ability to
host your own static website in GitLab under a separate domain name.
Dmitriy’s blog is hosted with it,
With GitLab 8.5 EE we’re adding support for custom domains and TLS certificates.
You can even point multiple domains to GitLab and easily upload your own TLS
To make it easier to set this all up, GitLab Pages now has its own
settings page in your projects at Settings > Pages.
You can add custom domains and certificates will if this
functionality is enabled by your GitLab administrator:
The new functionality of GitLab Pages was made possible with the help of a new
HTTP server written in Go. We call
it the GitLab Pages daemon and it supports dynamic certificates
through SNI and exposes pages using HTTP2 by default.
The upgrade path from GitLab 8.3 to 8.5 has changed quite a bit and we added
new comprehensive documentation how GitLab Pages work and the multiple ways to
set them up.
For GitLab.com users: We plan to enable custom domains on GitLab.com in the
following week, so stay tuned!
Revert any Commit
If your motto is “Move fast and break things”, you must be familiar with the
git revert. In GitLab it’s now much easier to use revert:
just press the button on any commit to create a merge request that reverts
Updated Issue Sidebar
We created the issue sidebar so we could free up the most important content
from other interface elements. With GitLab 8.5 we’re doing this in a
smarter, prettier, and more accessible way:
To focus on your content, fold it in:
Besides the sidebar, we’ve updated many things, big and small, in the interface.
Expect more improvements over the coming releases.
Labels in Milestone View
We want to make GitLab the best place to manage your projects,
whether they are
open source or not.
To get a better overview of a milestone, we’re now showing labels in the
Render SVGs in Diffs
As big fans of SVGs ourselves, we made it possible to view rendered SVGs
Markdown in Broadcast messages
When broadcasting important messages to all users on your instance,
it can be useful to include formatting or links. That’s possible now
with Markdown support for broadcast messages.
Highlighted File Renames
Small changes can be great too!
We now highlight file renames in diffs:
Sort by Votes
You can now easily sort issues by votes!
This should make it easier to find popular or important issues.
Erase Build Content in CI
Accidentally exposed some information in your build logs or in a
faulty build artifact in CI? You can now delete artifacts
and build traces from CI.
New CI features in API
Every month we strive to expose more and more CI features to our API. With
GitLab 8.5 here’s what’s new:
This release has more improvements, including security fixes. Please check out the Changelog to see the all named changes.
Updates in the omnibus-gitlab package
As GitLab gets improved every release, so does the omnibus-gitlab package.
You can see the changes that package receives for every release in the
In this release there are some major changes in the bundled software:
- Nginx is updated from version 1.7.12 to 1.9.10
- Nginx spdy protocol was replaced with http2
- OpenSSL is updated from version 1.0.1r to 1.0.2f
ships with GitLab 8.5 and includes localization support,
Spanish-language translation, and API support for GitLab single-sign-on in iOS
and Android apps.
Mattermost can now also skip 1 major build version. This means GitLab Mattermost
upgrades from GitLab 8.3 to 8.5 without needing to upgrade to 8.4.
The new 2.0 iOS app for Mattermost with GitLab SSO requires Mattermost server
2.0 and higher due to a breaking change in mobile API incompatible with
A migration affecting projects having a path ending in ‘.atom’ has been added,
as they are no longer supported. This migration updates both the database and
the filesystem and previous versions of this migration have proven to be fragile.
If you have no projects with paths ending in ‘.atom’ in your database (most likely, you don’t)
you can perform this upgrade online. If you do have them, we recommend to take downtime.
You can find the current number of affected database records with the following command:
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.
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
Note to early adopters: the 8.5.0 release candidates recommended using Ruby 2.2
but we have found
We recommend everybody to keep using Ruby 2.1 for now.
If you are setting up a new GitLab installation please see the
download GitLab page.
Check out our update page.
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
No time to upgrade GitLab yourself?
A subscription also entitles you to our upgrade and installation services.
Join us for a live demo and Q+A
Sign up to our webcast.
Job will give a live walkthrough for GitLab 8.5
and he’ll talk about GitLab Flow.
It’s on Thursday, February 25th, 5pm (17:00) UTC; 12pm EST; 9am PST.
Can’t make that time?
and we’ll send you the recording.
Get our GitLab newsletter twice monthly.
Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/-vBNkxOvI6g/