While it's useful to keep track of the different versions (Ruby, GitLab,
etc) doing so for every point wastes disk space and possibly also RAM
(which InfluxDB is all to eager to gobble up). If we want to see the
performance differences between different GitLab versions simply looking
at the performance since the last release date should suffice.
This removes the need for Sidekiq and any overhead/problems introduced
by TCP. There are a few things to take into account:
1. When writing data to InfluxDB you may still get an error if the
server becomes unavailable during the write. Because of this we're
catching all exceptions and just ignore them (for now).
2. Writing via UDP apparently requires the timestamp to be in
nanoseconds. Without this data either isn't written properly.
3. Due to the restrictions on UDP buffer sizes we're writing metrics one
by one, instead of writing all of them at once.
Storing of application metrics in InfluxDB
This adds support for tracking metrics in InfluxDB, which in turn can be visualized using Grafana. For more information see #2936.
See merge request !2042
Revert vote buttons back to issue and MR pages
https://gitlab.com/gitlab-org/gitlab-ce/issues/3672
/cc @dzaporozhets @JobV

See merge request !2206
Fix identity and user retrieval when special characters are used
Fixes#4023
I also added tests to make sure the user with special characters in his name is returned correctly.
@rspeicher this probably should be added to 8.3 as a patch.
See merge request !2176
Automatically fork a project when not allowed to edit a file.
Fixes#3215.
To do:
- [ ] Add tests
-----
## "Edit" button on file in a project the user does NOT have write access to

## Clicking will automatically create a fork

## When the fork has been created, the user is returned to the edit page on the original project with a notice

## The user cannot change the target branch and is informed that editing will start an MR

## Hitting "Commit changes" will commit and start an MR from my fork to the origin project

-----
## "Create file, "Upload file" and "New directory" buttons in a project the user does NOT have write access to

## Clicking any of these options will automatically create a fork

## When the fork has been created, the user is returned to the tree page on the original project with a notice

## Clicking "New directory" again will show the modal. The user cannot change the target branch and is informed that editing will start an MR

## Hitting "Create directory" will commit and start an MR from my fork to the origin project

cc @dzaporozhets @skyruler
See merge request !2145
Add JS validation for invalid characters in branch name
Fixes#3293
Demo:

See merge request !2122
A limited number of pages have defined their own descriptions, but
otherwise we default to the Project's description (if `@project` is
set), or the old `brand_title` fallback.
The image will either be the uploaded project icon (never a generated
one), the user's uploaded icon or Gravatar, or, finally, the GitLab
logo.
Add project permissions to all project API endpoints
This standardizes all the project API formats. Also needed to support Huboard.
See merge request !2090
Fix method that ensures authentication token
Until now, `ensure_#{token_filed_name}!` method didn't persist new token in database.
This closes#4235.
See merge request !2185
Improve emoji picker
This request uses an emoji image sprite to show big set of emojis. The sprite has been made based one gemojione gem images. The categories are retrieved from https://github.com/jonathanwiesel/gemojione/blob/master/config/index.json as well.
Some categories are pretty poor, it can be extended in the future.
It's a first step on the way to improve picker.
The first implementation was using https://github.com/iamcal/emoji-data project, but there was huge incompatibility with gemojione emojis set and I had to drop that solution.

See merge request !2172
Make CI Lint form synchronous
This removes `remote: true` from CI Lint form, making it synchronous
form. This also removes some complexity related to displaying lint
messages.
View also has been updated, removed deprecated Bootstrap 2 tags.
Improved design.
See merge request !2171