Commit 95ac1154 authored by Robert Speicher's avatar Robert Speicher

Merge branch 'ce-to-ee-2018-04-12' into 'master'

CE upstream - 2018-04-12 18:23 UTC

Closes #5103

See merge request gitlab-org/gitlab-ee!5347
parents 200764bc 1e5829c1
...@@ -1190,12 +1190,12 @@ export default class Notes { ...@@ -1190,12 +1190,12 @@ export default class Notes {
addForm = false; addForm = false;
let lineTypeSelector = ''; let lineTypeSelector = '';
rowCssToAdd = rowCssToAdd =
'<tr class="notes_holder js-temp-notes-holder"><td class="notes_line" colspan="2"></td><td class="notes_content"><div class="content discussion-notes"></div></td></tr>'; '<tr class="notes_holder js-temp-notes-holder"><td class="notes_line" colspan="2"></td><td class="notes_content"><div class="content"></div></td></tr>';
// In parallel view, look inside the correct left/right pane // In parallel view, look inside the correct left/right pane
if (this.isParallelView()) { if (this.isParallelView()) {
lineTypeSelector = `.${lineType}`; lineTypeSelector = `.${lineType}`;
rowCssToAdd = rowCssToAdd =
'<tr class="notes_holder js-temp-notes-holder"><td class="notes_line old"></td><td class="notes_content parallel old"><div class="content discussion-notes"></div></td><td class="notes_line new"></td><td class="notes_content parallel new"><div class="content discussion-notes"></div></td></tr>'; '<tr class="notes_holder js-temp-notes-holder"><td class="notes_line old"></td><td class="notes_content parallel old"><div class="content"></div></td><td class="notes_line new"></td><td class="notes_content parallel new"><div class="content"></div></td></tr>';
} }
const notesContentSelector = `.notes_content${lineTypeSelector} .content`; const notesContentSelector = `.notes_content${lineTypeSelector} .content`;
let notesContent = targetRow.find(notesContentSelector); let notesContent = targetRow.find(notesContentSelector);
......
...@@ -258,7 +258,9 @@ Please check your network connection and try again.`; ...@@ -258,7 +258,9 @@ Please check your network connection and try again.`;
:key="note.id" :key="note.id"
/> />
</ul> </ul>
<div class="discussion-reply-holder"> <div
:class="{ 'is-replying': isReplying }"
class="discussion-reply-holder">
<template v-if="!isReplying && canReply"> <template v-if="!isReplying && canReply">
<div <div
class="btn-group-justified discussion-with-resolve-btn" class="btn-group-justified discussion-with-resolve-btn"
......
<script>
import { sprintf, s__ } from '../../../locale'; import { sprintf, s__ } from '../../../locale';
export default { export default {
name: 'time-tracking-help-state', name: 'TimeTrackingHelpState',
props: { props: {
rootPath: { rootPath: {
type: String, type: String,
...@@ -27,26 +28,28 @@ export default { ...@@ -27,26 +28,28 @@ export default {
); );
}, },
}, },
template: `
<div class="time-tracking-help-state">
<div class="time-tracking-info">
<h4>
{{ __('Track time with quick actions') }}
</h4>
<p>
{{ __('Quick actions can be used in the issues description and comment boxes.') }}
</p>
<p v-html="estimateText">
</p>
<p v-html="spendText">
</p>
<a
class="btn btn-default learn-more-button"
:href="href"
>
{{ __('Learn more') }}
</a>
</div>
</div>
`,
}; };
</script>
<template>
<div class="time-tracking-help-state">
<div class="time-tracking-info">
<h4>
{{ __('Track time with quick actions') }}
</h4>
<p>
{{ __('Quick actions can be used in the issues description and comment boxes.') }}
</p>
<p v-html="estimateText">
</p>
<p v-html="spendText">
</p>
<a
class="btn btn-default learn-more-button"
:href="href"
>
{{ __('Learn more') }}
</a>
</div>
</div>
</template>
<script> <script>
import timeTrackingHelpState from './help_state'; import TimeTrackingHelpState from './help_state.vue';
import TimeTrackingCollapsedState from './collapsed_state.vue'; import TimeTrackingCollapsedState from './collapsed_state.vue';
import timeTrackingSpentOnlyPane from './spent_only_pane'; import timeTrackingSpentOnlyPane from './spent_only_pane';
import timeTrackingNoTrackingPane from './no_tracking_pane'; import timeTrackingNoTrackingPane from './no_tracking_pane';
...@@ -16,7 +16,7 @@ export default { ...@@ -16,7 +16,7 @@ export default {
'time-tracking-spent-only-pane': timeTrackingSpentOnlyPane, 'time-tracking-spent-only-pane': timeTrackingSpentOnlyPane,
'time-tracking-no-tracking-pane': timeTrackingNoTrackingPane, 'time-tracking-no-tracking-pane': timeTrackingNoTrackingPane,
TimeTrackingComparisonPane, TimeTrackingComparisonPane,
'time-tracking-help-state': timeTrackingHelpState, TimeTrackingHelpState,
}, },
props: { props: {
time_estimate: { time_estimate: {
......
...@@ -813,7 +813,6 @@ ...@@ -813,7 +813,6 @@
} }
.discussion-notes { .discussion-notes {
padding: 0 $gl-padding $gl-padding;
min-height: 35px; min-height: 35px;
&:first-child { &:first-child {
......
...@@ -173,7 +173,11 @@ ...@@ -173,7 +173,11 @@
} }
.discussion-form { .discussion-form {
padding-top: $gl-padding-top; background-color: $white-light;
}
.discussion-form-container {
padding: $gl-padding-top $gl-padding $gl-padding;
} }
.discussion-notes .disabled-comment { .discussion-notes .disabled-comment {
...@@ -233,7 +237,12 @@ ...@@ -233,7 +237,12 @@
.discussion-body, .discussion-body,
.diff-file { .diff-file {
.discussion-reply-holder { .discussion-reply-holder {
padding-top: $gl-padding; background-color: $white-light;
padding: 10px 16px;
&.is-replying {
padding-bottom: $gl-padding;
}
} }
} }
......
...@@ -47,7 +47,7 @@ ul.notes { ...@@ -47,7 +47,7 @@ ul.notes {
} }
.timeline-entry-inner { .timeline-entry-inner {
padding: $gl-padding 0; padding: $gl-padding $gl-btn-padding;
border-bottom: 1px solid $white-normal; border-bottom: 1px solid $white-normal;
} }
...@@ -94,6 +94,12 @@ ul.notes { ...@@ -94,6 +94,12 @@ ul.notes {
} }
} }
&.note-discussion {
.timeline-entry-inner {
padding: $gl-padding 10px;
}
}
.editing-spinner { .editing-spinner {
display: none; display: none;
} }
...@@ -346,8 +352,6 @@ ul.notes { ...@@ -346,8 +352,6 @@ ul.notes {
} }
.discussion-notes { .discussion-notes {
background-color: $white-light;
&:not(:first-child) { &:not(:first-child) {
border-top: 1px solid $white-normal; border-top: 1px solid $white-normal;
margin-top: 20px; margin-top: 20px;
...@@ -359,6 +363,10 @@ ul.notes { ...@@ -359,6 +363,10 @@ ul.notes {
} }
} }
.notes {
background-color: $white-light;
}
a code { a code {
top: 0; top: 0;
margin-right: 0; margin-right: 0;
...@@ -639,6 +647,8 @@ ul.notes { ...@@ -639,6 +647,8 @@ ul.notes {
border-bottom: 1px solid $white-normal; border-bottom: 1px solid $white-normal;
.timeline-entry-inner { .timeline-entry-inner {
padding-left: $gl-padding;
padding-right: $gl-padding;
border-bottom: 0; border-bottom: 0;
} }
} }
......
...@@ -379,7 +379,6 @@ ...@@ -379,7 +379,6 @@
svg { svg {
vertical-align: middle; vertical-align: middle;
margin-right: 3px;
} }
.stage-column { .stage-column {
...@@ -524,17 +523,12 @@ ...@@ -524,17 +523,12 @@
svg { svg {
fill: $gl-text-color-secondary; fill: $gl-text-color-secondary;
position: relative; position: relative;
left: 1px;
top: -1px; top: -1px;
width: 16px;
height: 16px;
} }
&.play { &.play {
svg { svg {
width: 16px; left: 2px;
height: 16px;
left: 3px;
} }
} }
} }
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
= link_to 'Block', block_admin_user_path(user), data: { confirm: 'USER WILL BE BLOCKED! Are you sure?' }, method: :put = link_to 'Block', block_admin_user_path(user), data: { confirm: 'USER WILL BE BLOCKED! Are you sure?' }, method: :put
- if user.access_locked? - if user.access_locked?
%li %li
= link_to 'Unlock', unlock_admin_user_path(user), method: :put, class: 'btn-grouped btn btn-xs btn-success', data: { confirm: 'Are you sure?' } = link_to _('Unlock'), unlock_admin_user_path(user), method: :put, data: { confirm: _('Are you sure?') }
- if can?(current_user, :destroy_user, user) - if can?(current_user, :destroy_user, user)
%li.divider %li.divider
- if user.can_be_removed? - if user.can_be_removed?
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
.nav-icon-container .nav-icon-container
= sprite_icon('project') = sprite_icon('project')
%span.nav-item-name %span.nav-item-name
Overview Project
%ul.sidebar-sub-level-items %ul.sidebar-sub-level-items
= nav_link(path: 'projects#show', html_options: { class: "fly-out-top-item" } ) do = nav_link(path: 'projects#show', html_options: { class: "fly-out-top-item" } ) do
......
...@@ -24,20 +24,21 @@ ...@@ -24,20 +24,21 @@
-# DiffNote -# DiffNote
= f.hidden_field :position = f.hidden_field :position
= render layout: 'projects/md_preview', locals: { url: preview_url, referenced_users: true } do .discussion-form-container
= render 'projects/zen', f: f, = render layout: 'projects/md_preview', locals: { url: preview_url, referenced_users: true } do
attr: :note, = render 'projects/zen', f: f,
classes: 'note-textarea js-note-text', attr: :note,
placeholder: "Write a comment or drag your files here...", classes: 'note-textarea js-note-text',
supports_quick_actions: supports_quick_actions, placeholder: "Write a comment or drag your files here...",
supports_autocomplete: supports_autocomplete supports_quick_actions: supports_quick_actions,
= render 'shared/notes/hints', supports_quick_actions: supports_quick_actions supports_autocomplete: supports_autocomplete
.error-alert = render 'shared/notes/hints', supports_quick_actions: supports_quick_actions
.error-alert
.note-form-actions.clearfix
= render partial: 'shared/notes/comment_button' .note-form-actions.clearfix
= render partial: 'shared/notes/comment_button'
= yield(:note_actions)
= yield(:note_actions)
%a.btn.btn-cancel.js-note-discard{ role: "button", data: {cancel_text: "Cancel" } }
Discard draft %a.btn.btn-cancel.js-note-discard{ role: "button", data: {cancel_text: "Cancel" } }
Discard draft
---
title: Refactor and tweak margin for note forms on Issuable
merge_request: 18120
author: Takuya Noguchi
type: fixed
---
title: Align action icons in pipeline graph
merge_request:
author:
type: fixed
---
title: Move TimeTrackingHelpState vue component
merge_request: 18319
author: George Tsiolis
type: performance
---
title: Renamed Overview to Project in the contextual navigation at a project level
merge_request: 18295
author: Constance Okoghenun
type: changed
---
title: Remove green background from unlock button in admin area
merge_request: 18288
author:
type: changed
...@@ -869,37 +869,29 @@ skip the download step. ...@@ -869,37 +869,29 @@ skip the download step.
- Introduced in GitLab Runner v0.7.0 for non-Windows platforms. - Introduced in GitLab Runner v0.7.0 for non-Windows platforms.
- Windows support was added in GitLab Runner v.1.0.0. - Windows support was added in GitLab Runner v.1.0.0.
- From GitLab 9.2, caches are restored before artifacts. - From GitLab 9.2, caches are restored before artifacts.
- Currently not all executors are supported. - Not all executors are [supported](https://docs.gitlab.com/runner/executors/#compatibility-chart).
- Job artifacts are only collected for successful jobs by default. - Job artifacts are only collected for successful jobs by default.
`artifacts` is used to specify a list of files and directories which should be `artifacts` is used to specify a list of files and directories which should be
attached to the job after success. You can only use paths that are within the attached to the job after success.
project workspace. To pass artifacts between different jobs, see [dependencies](#dependencies).
Below are some examples.
Send all files in `binaries` and `.config`: The artifacts will be sent to GitLab after the job finishes successfully and will
be available for download in the GitLab UI.
```yaml [Read more about artifacts.](../../user/project/pipelines/job_artifacts.md)
artifacts:
paths:
- binaries/
- .config
```
Send all Git untracked files: ### `artifacts:paths`
```yaml You can only use paths that are within the project workspace. To pass artifacts
artifacts: between different jobs, see [dependencies](#dependencies).
untracked: true
```
Send all Git untracked files and files in `binaries`: Send all files in `binaries` and `.config`:
```yaml ```yaml
artifacts: artifacts:
untracked: true
paths: paths:
- binaries/ - binaries/
- .config
``` ```
To disable artifact passing, define the job with empty [dependencies](#dependencies): To disable artifact passing, define the job with empty [dependencies](#dependencies):
...@@ -933,11 +925,6 @@ release-job: ...@@ -933,11 +925,6 @@ release-job:
- tags - tags
``` ```
The artifacts will be sent to GitLab after the job finishes successfully and will
be available for download in the GitLab UI.
[Read more about artifacts.](../../user/project/pipelines/job_artifacts.md)
### `artifacts:name` ### `artifacts:name`
> Introduced in GitLab 8.6 and GitLab Runner v1.1.0. > Introduced in GitLab 8.6 and GitLab Runner v1.1.0.
...@@ -954,26 +941,30 @@ To create an archive with a name of the current job: ...@@ -954,26 +941,30 @@ To create an archive with a name of the current job:
job: job:
artifacts: artifacts:
name: "$CI_JOB_NAME" name: "$CI_JOB_NAME"
paths:
- binaries/
``` ```
To create an archive with a name of the current branch or tag including only To create an archive with a name of the current branch or tag including only
the files that are untracked by Git: the binaries directory:
```yaml ```yaml
job: job:
artifacts: artifacts:
name: "$CI_COMMIT_REF_NAME" name: "$CI_COMMIT_REF_NAME"
untracked: true paths:
- binaries/
``` ```
To create an archive with a name of the current job and the current branch or To create an archive with a name of the current job and the current branch or
tag including only the files that are untracked by Git: tag including only the binaries directory:
```yaml ```yaml
job: job:
artifacts: artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
untracked: true paths:
- binaries/
``` ```
To create an archive with a name of the current [stage](#stages) and branch name: To create an archive with a name of the current [stage](#stages) and branch name:
...@@ -982,7 +973,8 @@ To create an archive with a name of the current [stage](#stages) and branch name ...@@ -982,7 +973,8 @@ To create an archive with a name of the current [stage](#stages) and branch name
job: job:
artifacts: artifacts:
name: "$CI_JOB_STAGE-$CI_COMMIT_REF_NAME" name: "$CI_JOB_STAGE-$CI_COMMIT_REF_NAME"
untracked: true paths:
- binaries/
``` ```
--- ---
...@@ -994,7 +986,8 @@ If you use **Windows Batch** to run your shell scripts you need to replace ...@@ -994,7 +986,8 @@ If you use **Windows Batch** to run your shell scripts you need to replace
job: job:
artifacts: artifacts:
name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%" name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%"
untracked: true paths:
- binaries/
``` ```
If you use **Windows PowerShell** to run your shell scripts you need to replace If you use **Windows PowerShell** to run your shell scripts you need to replace
...@@ -1004,7 +997,33 @@ If you use **Windows PowerShell** to run your shell scripts you need to replace ...@@ -1004,7 +997,33 @@ If you use **Windows PowerShell** to run your shell scripts you need to replace
job: job:
artifacts: artifacts:
name: "$env:CI_JOB_STAGE-$env:CI_COMMIT_REF_NAME" name: "$env:CI_JOB_STAGE-$env:CI_COMMIT_REF_NAME"
untracked: true paths:
- binaries/
```
### `artifacts:untracked`
`artifacts:untracked` is used to add all Git untracked files as artifacts (along
to the paths defined in `artifacts:paths`).
NOTE: **Note:**
To exclude the folders/files which should not be a part of `untracked` just
add them to `.gitignore`.
Send all Git untracked files:
```yaml
artifacts:
untracked: true
```
Send all Git untracked files and files in `binaries`:
```yaml
artifacts:
untracked: true
paths:
- binaries/
``` ```
### `artifacts:when` ### `artifacts:when`
......
# Components # Components
> TODO: Add content ## Graphs
We have a lot of graphing libraries in our codebase to render graphs. In an effort to improve maintainability, new graphs should use [D3.js](https://d3js.org/). If a new graph is fairly simple, consider implementing it in SVGs or HTML5 canvas.
We chose D3 as our library going forward because of the following features:
* [Tree shaking webpack capabilities.](https://github.com/d3/d3/blob/master/CHANGES.md#changes-in-d3-40)
* [Compatible with vue.js as well as vanilla javascript.](https://github.com/d3/d3/blob/master/CHANGES.md#changes-in-d3-40)
D3 is very popular across many projects outside of GitLab:
* [The New York Times](https://archive.nytimes.com/www.nytimes.com/interactive/2012/02/13/us/politics/2013-budget-proposal-graphic.html)
* [plot.ly](https://plot.ly/)
* [Droptask](https://www.droptask.com/)
Within GitLab, D3 has been used for the following notable features
* [Prometheus graphs](https://docs.gitlab.com/ee/user/project/integrations/prometheus.html)
* Contribution calendars
---
comments: false
---
# From 10.6 to 10.7
Make sure you view this update guide from the tag (version) of GitLab you would
like to install. In most cases this should be the highest numbered production
tag (without rc in it). You can select the tag in the version dropdown at the
top left corner of GitLab (below the menu bar).
If the highest number stable branch is unclear please check the
[GitLab Blog](https://about.gitlab.com/blog/archives.html) for installation
guide links by version.
### 1. Stop server
```bash
sudo service gitlab stop
```
### 2. Backup
NOTE: If you installed GitLab from source, make sure `rsync` is installed.
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
```
### 3. Update Ruby
NOTE: GitLab 9.0 and higher only support Ruby 2.3.x and dropped support for Ruby 2.1.x. Be
sure to upgrade your interpreter if necessary.
You can check which version you are running with `ruby -v`.
Download and compile Ruby:
```bash
mkdir /tmp/ruby && cd /tmp/ruby
curl --remote-name --progress https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.6.tar.gz
echo '4e6a0f828819e15d274ae58485585fc8b7caace0 ruby-2.3.6.tar.gz' | shasum -c - && tar xzf ruby-2.3.6.tar.gz
cd ruby-2.3.6
./configure --disable-install-rdoc
make
sudo make install
```
Install Bundler:
```bash
sudo gem install bundler --no-ri --no-rdoc
```
### 4. Update Node
GitLab utilizes [webpack](http://webpack.js.org) to compile frontend assets.
This requires a minimum version of node v6.0.0.
You can check which version you are running with `node -v`. If you are running
a version older than `v6.0.0` you will need to update to a newer version. You
can find instructions to install from community maintained packages or compile
from source at the nodejs.org website.
<https://nodejs.org/en/download/>
GitLab also requires the use of yarn `>= v1.2.0` to manage JavaScript
dependencies.
```bash
curl --silent --show-error https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn
```
More information can be found on the [yarn website](https://yarnpkg.com/en/docs/install).
### 5. Update Go
NOTE: GitLab 9.2 and higher only supports Go 1.8.3 and dropped support for Go
1.5.x through 1.7.x. Be sure to upgrade your installation if necessary.
You can check which version you are running with `go version`.
Download and install Go:
```bash
# Remove former Go installation folder
sudo rm -rf /usr/local/go
curl --remote-name --progress https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
echo '1862f4c3d3907e59b04a757cfda0ea7aa9ef39274af99a784f5be843c80c6772 go1.8.3.linux-amd64.tar.gz' | shasum -a256 -c - && \
sudo tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
rm go1.8.3.linux-amd64.tar.gz
```
### 6. Get latest code
```bash
cd /home/git/gitlab
sudo -u git -H git fetch --all --prune
sudo -u git -H git checkout -- db/schema.rb # local changes will be restored automatically
sudo -u git -H git checkout -- locale
```
For GitLab Community Edition:
```bash
cd /home/git/gitlab
sudo -u git -H git checkout 10-7-stable
```
OR
For GitLab Enterprise Edition:
```bash
cd /home/git/gitlab
sudo -u git -H git checkout 10-7-stable-ee
```
### 7. Update gitlab-shell
```bash
cd /home/git/gitlab-shell
sudo -u git -H git fetch --all --tags --prune
sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_SHELL_VERSION)
sudo -u git -H bin/compile
```
### 8. Update gitlab-workhorse
Install and compile gitlab-workhorse. GitLab-Workhorse uses
[GNU Make](https://www.gnu.org/software/make/).
If you are not using Linux you may have to run `gmake` instead of
`make` below.
```bash
cd /home/git/gitlab-workhorse
sudo -u git -H git fetch --all --tags --prune
sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_WORKHORSE_VERSION)
sudo -u git -H make
```
### 9. Update Gitaly
#### New Gitaly configuration options required
In order to function Gitaly needs some additional configuration information. Below we assume you installed Gitaly in `/home/git/gitaly` and GitLab Shell in `/home/git/gitlab-shell`.
```shell
echo '
[gitaly-ruby]
dir = "/home/git/gitaly/ruby"
[gitlab-shell]
dir = "/home/git/gitlab-shell"
' | sudo -u git tee -a /home/git/gitaly/config.toml
```
#### Check Gitaly configuration
Due to a bug in the `rake gitlab:gitaly:install` script your Gitaly
configuration file may contain syntax errors. The block name
`[[storages]]`, which may occur more than once in your `config.toml`
file, should be `[[storage]]` instead.
```shell
sudo -u git -H sed -i.pre-10.1 's/\[\[storages\]\]/[[storage]]/' /home/git/gitaly/config.toml
```
#### Compile Gitaly
```shell
cd /home/git/gitaly
sudo -u git -H git fetch --all --tags --prune
sudo -u git -H git checkout v$(</home/git/gitlab/GITALY_SERVER_VERSION)
sudo -u git -H make
```
### 10. Update MySQL permissions
If you are using MySQL you need to grant the GitLab user the necessary
permissions on the database:
```bash
mysql -u root -p -e "GRANT TRIGGER ON \`gitlabhq_production\`.* TO 'git'@'localhost';"
```
If you use MySQL with replication, or just have MySQL configured with binary logging,
you will need to also run the following on all of your MySQL servers:
```bash
mysql -u root -p -e "SET GLOBAL log_bin_trust_function_creators = 1;"
```
You can make this setting permanent by adding it to your `my.cnf`:
```
log_bin_trust_function_creators=1
```
### 11. Update configuration files
#### New configuration options for `gitlab.yml`
There might be configuration options available for [`gitlab.yml`][yaml]. View them with the command below and apply them manually to your current `gitlab.yml`:
```sh
cd /home/git/gitlab
git diff origin/10-6-stable:config/gitlab.yml.example origin/10-7-stable:config/gitlab.yml.example
```
#### Nginx configuration
Ensure you're still up-to-date with the latest NGINX configuration changes:
```sh
cd /home/git/gitlab
# For HTTPS configurations
git diff origin/10-6-stable:lib/support/nginx/gitlab-ssl origin/10-7-stable:lib/support/nginx/gitlab-ssl
# For HTTP configurations
git diff origin/10-6-stable:lib/support/nginx/gitlab origin/10-7-stable:lib/support/nginx/gitlab
```
If you are using Strict-Transport-Security in your installation to continue using it you must enable it in your Nginx
configuration as GitLab application no longer handles setting it.
If you are using Apache instead of NGINX please see the updated [Apache templates].
Also note that because Apache does not support upstreams behind Unix sockets you
will need to let gitlab-workhorse listen on a TCP port. You can do this
via [/etc/default/gitlab].
[Apache templates]: https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache
[/etc/default/gitlab]: https://gitlab.com/gitlab-org/gitlab-ce/blob/10-7-stable/lib/support/init.d/gitlab.default.example#L38
#### SMTP configuration
If you're installing from source and use SMTP to deliver mail, you will need to add the following line
to config/initializers/smtp_settings.rb:
```ruby
ActionMailer::Base.delivery_method = :smtp
```
See [smtp_settings.rb.sample] as an example.
[smtp_settings.rb.sample]: https://gitlab.com/gitlab-org/gitlab-ce/blob/10-7-stable/config/initializers/smtp_settings.rb.sample#L13
#### Init script
There might be new configuration options available for [`gitlab.default.example`][gl-example]. View them with the command below and apply them manually to your current `/etc/default/gitlab`:
```sh
cd /home/git/gitlab
git diff origin/10-6-stable:lib/support/init.d/gitlab.default.example origin/10-7-stable:lib/support/init.d/gitlab.default.example
```
Ensure you're still up-to-date with the latest init script changes:
```bash
cd /home/git/gitlab
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
```
For Ubuntu 16.04.1 LTS:
```bash
sudo systemctl daemon-reload
```
### 12. Install libs, migrations, etc.
```bash
cd /home/git/gitlab
# MySQL installations (note: the line below states '--without postgres')
sudo -u git -H bundle install --without postgres development test --deployment
# PostgreSQL installations (note: the line below states '--without mysql')
sudo -u git -H bundle install --without mysql development test --deployment
# Optional: clean up old gems
sudo -u git -H bundle clean
# Run database migrations
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
# Compile GetText PO files
sudo -u git -H bundle exec rake gettext:compile RAILS_ENV=production
# Update node dependencies and recompile assets
sudo -u git -H bundle exec rake yarn:install gitlab:assets:clean gitlab:assets:compile RAILS_ENV=production NODE_ENV=production
# Clean up cache
sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production
```
**MySQL installations**: Run through the `MySQL strings limits` and `Tables and data conversion to utf8mb4` [tasks](../install/database_mysql.md).
### 13. Start application
```bash
sudo service gitlab start
sudo service nginx restart
```
### 14. Check application status
Check if GitLab and its environment are configured correctly:
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
```
To make sure you didn't miss anything run a more thorough check:
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
```
If all items are green, then congratulations, the upgrade is complete!
## Things went south? Revert to previous version (10.5)
### 1. Revert the code to the previous version
Follow the [upgrade guide from 10.5 to 10.6](10.5-to-10.6.md), except for the
database migration (the backup is already migrated to the previous version).
### 2. Restore from the backup
```bash
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production
```
If you have more than one backup `*.tar` file(s) please add `BACKUP=timestamp_of_backup` to the command above.
[yaml]: https://gitlab.com/gitlab-org/gitlab-ce/blob/10-7-stable/config/gitlab.yml.example
[gl-example]: https://gitlab.com/gitlab-org/gitlab-ce/blob/10-7-stable/lib/support/init.d/gitlab.default.example
...@@ -14,6 +14,10 @@ The comment area supports [Markdown] and [quick actions]. One can edit their ...@@ -14,6 +14,10 @@ The comment area supports [Markdown] and [quick actions]. One can edit their
own comment at any time, and anyone with [Master access level][permissions] or own comment at any time, and anyone with [Master access level][permissions] or
higher can also edit a comment made by someone else. higher can also edit a comment made by someone else.
You could also reply to the notification email in order to reply to a comment,
provided that [Reply by email] is configured by your GitLab admin. This also
supports [Markdown] and [quick actions] as if replied from the web.
Apart from the standard comments, you also have the option to create a comment Apart from the standard comments, you also have the option to create a comment
in the form of a resolvable or threaded discussion. in the form of a resolvable or threaded discussion.
...@@ -283,3 +287,4 @@ edit existing comments. Non-team members are restricted from adding or editing c ...@@ -283,3 +287,4 @@ edit existing comments. Non-team members are restricted from adding or editing c
[markdown]: ../markdown.md [markdown]: ../markdown.md
[quick actions]: ../project/quick_actions.md [quick actions]: ../project/quick_actions.md
[permissions]: ../permissions.md [permissions]: ../permissions.md
[Reply by email]: ../../administration/reply_by_email.md
...@@ -11,12 +11,12 @@ describe 'User uses shortcuts', :js do ...@@ -11,12 +11,12 @@ describe 'User uses shortcuts', :js do
visit(project_path(project)) visit(project_path(project))
end end
context 'when navigating to the Overview pages' do context 'when navigating to the Project pages' do
it 'redirects to the details page' do it 'redirects to the details page' do
find('body').native.send_key('g') find('body').native.send_key('g')
find('body').native.send_key('p') find('body').native.send_key('p')
expect(page).to have_active_navigation('Overview') expect(page).to have_active_navigation('Project')
expect(page).to have_active_sub_navigation('Details') expect(page).to have_active_sub_navigation('Details')
end end
...@@ -24,7 +24,7 @@ describe 'User uses shortcuts', :js do ...@@ -24,7 +24,7 @@ describe 'User uses shortcuts', :js do
find('body').native.send_key('g') find('body').native.send_key('g')
find('body').native.send_key('e') find('body').native.send_key('e')
expect(page).to have_active_navigation('Overview') expect(page).to have_active_navigation('Project')
expect(page).to have_active_sub_navigation('Activity') expect(page).to have_active_sub_navigation('Activity')
end end
end end
......
...@@ -37,8 +37,10 @@ captures/ ...@@ -37,8 +37,10 @@ captures/
.idea/workspace.xml .idea/workspace.xml
.idea/tasks.xml .idea/tasks.xml
.idea/gradle.xml .idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries .idea/dictionaries
.idea/libraries .idea/libraries
.idea/caches
# Keystore files # Keystore files
# Uncomment the following line if you do not want to check your keystore files in. # Uncomment the following line if you do not want to check your keystore files in.
......
...@@ -6,3 +6,4 @@ ...@@ -6,3 +6,4 @@
erl_crash.dump erl_crash.dump
*.ez *.ez
*.beam *.beam
/config/*.secret.exs
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff: # User-specific stuff
.idea/**/workspace.xml .idea/**/workspace.xml
.idea/**/tasks.xml .idea/**/tasks.xml
.idea/dictionaries .idea/dictionaries
# Sensitive or high-churn files: # Sensitive or high-churn files
.idea/**/dataSources/ .idea/**/dataSources/
.idea/**/dataSources.ids .idea/**/dataSources.ids
.idea/**/dataSources.local.xml .idea/**/dataSources.local.xml
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
.idea/**/dynamic.xml .idea/**/dynamic.xml
.idea/**/uiDesigner.xml .idea/**/uiDesigner.xml
# Gradle: # Gradle
.idea/**/gradle.xml .idea/**/gradle.xml
.idea/**/libraries .idea/**/libraries
...@@ -22,14 +22,12 @@ ...@@ -22,14 +22,12 @@
cmake-build-debug/ cmake-build-debug/
cmake-build-release/ cmake-build-release/
# Mongo Explorer plugin: # Mongo Explorer plugin
.idea/**/mongoSettings.xml .idea/**/mongoSettings.xml
## File-based project format: # File-based project format
*.iws *.iws
## Plugin-specific files:
# IntelliJ # IntelliJ
out/ out/
...@@ -47,3 +45,6 @@ com_crashlytics_export_strings.xml ...@@ -47,3 +45,6 @@ com_crashlytics_export_strings.xml
crashlytics.properties crashlytics.properties
crashlytics-build.properties crashlytics-build.properties
fabric.properties fabric.properties
# Editor-based Rest Client
.idea/httpRequests
...@@ -15,6 +15,7 @@ $RECYCLE.BIN/ ...@@ -15,6 +15,7 @@ $RECYCLE.BIN/
# Windows Installer files # Windows Installer files
*.cab *.cab
*.msi *.msi
*.msix
*.msm *.msm
*.msp *.msp
......
# Godot-specific ignores
.import/
export.cfg
export_presets.cfg
# Mono-specific ignores
.mono/
/.gitignore
/.htaccess /.htaccess
/administrator/cache/* /administrator/cache/*
/administrator/components/com_admin/* /administrator/components/com_admin/*
......
# For PCBs designed using KiCad: http://www.kicad-pcb.org/ # For PCBs designed using KiCad: http://www.kicad-pcb.org/
# Format documentation: http://kicad-pcb.org/help/file-formats/
# Temporary files # Temporary files
*.000 *.000
...@@ -8,6 +9,10 @@ ...@@ -8,6 +9,10 @@
*~ *~
_autosave-* _autosave-*
*.tmp *.tmp
*-cache.lib
*-rescue.lib
*-save.pro
*-save.kicad_pcb
# Netlist files (exported from Eeschema) # Netlist files (exported from Eeschema)
*.net *.net
......
...@@ -11,3 +11,4 @@ pom.xml.asc ...@@ -11,3 +11,4 @@ pom.xml.asc
.lein-plugins/ .lein-plugins/
.lein-failures .lein-failures
.nrepl-port .nrepl-port
.cpcache/
...@@ -36,7 +36,7 @@ build/Release ...@@ -36,7 +36,7 @@ build/Release
node_modules/ node_modules/
jspm_packages/ jspm_packages/
# Typescript v1 declaration files # TypeScript v1 declaration files
typings/ typings/
# Optional npm cache directory # Optional npm cache directory
......
...@@ -53,9 +53,8 @@ coverage.xml ...@@ -53,9 +53,8 @@ coverage.xml
# Django stuff: # Django stuff:
*.log *.log
.static_storage/
.media/
local_settings.py local_settings.py
db.sqlite3
# Flask stuff: # Flask stuff:
instance/ instance/
......
...@@ -14,6 +14,7 @@ pickle-email-*.html ...@@ -14,6 +14,7 @@ pickle-email-*.html
# TODO Comment out this rule if you are OK with secrets being uploaded to the repo # TODO Comment out this rule if you are OK with secrets being uploaded to the repo
config/initializers/secret_token.rb config/initializers/secret_token.rb
config/master.key
# Only include if you have production secrets in this file, which is no longer a Rails default # Only include if you have production secrets in this file, which is no longer a Rails default
# config/secrets.yml # config/secrets.yml
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/target/ /target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here http://doc.crates.io/guide.html#cargotoml-vs-cargolock # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock Cargo.lock
# These are backup files generated by rustfmt # These are backup files generated by rustfmt
......
...@@ -153,7 +153,9 @@ _minted* ...@@ -153,7 +153,9 @@ _minted*
*.mw *.mw
# nomencl # nomencl
*.nlg
*.nlo *.nlo
*.nls
# pax # pax
*.pax *.pax
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
[Bb]uilds/ [Bb]uilds/
Assets/AssetStoreTools* Assets/AssetStoreTools*
# Visual Studio 2015 cache directory # Visual Studio cache directory
/.vs/ /.vs/
# Autogenerated VS/MD/Consulo solution and project files # Autogenerated VS/MD/Consulo solution and project files
......
...@@ -64,8 +64,10 @@ StyleCopReport.xml ...@@ -64,8 +64,10 @@ StyleCopReport.xml
*.ilk *.ilk
*.meta *.meta
*.obj *.obj
*.iobj
*.pch *.pch
*.pdb *.pdb
*.ipdb
*.pgc *.pgc
*.pgd *.pgd
*.rsp *.rsp
...@@ -248,6 +250,7 @@ ServiceFabricBackup/ ...@@ -248,6 +250,7 @@ ServiceFabricBackup/
*.rdl.data *.rdl.data
*.bim.layout *.bim.layout
*.bim_*.settings *.bim_*.settings
*.rptproj.rsuser
# Microsoft Fakes # Microsoft Fakes
FakesAssemblies/ FakesAssemblies/
...@@ -319,3 +322,8 @@ ASALocalRun/ ...@@ -319,3 +322,8 @@ ASALocalRun/
# MSBuild Binary and Structured Log # MSBuild Binary and Structured Log
*.binlog *.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
...@@ -32,7 +32,7 @@ before_script: ...@@ -32,7 +32,7 @@ before_script:
- apt-get install git nodejs libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq - apt-get install git nodejs libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq
# Install php extensions # Install php extensions
- docker-php-ext-install mbstring mcrypt pdo_mysql curl json intl gd xml zip bz2 opcache - docker-php-ext-install mbstring pdo_mysql curl json intl gd xml zip bz2 opcache
# Install & enable Xdebug for code coverage reports # Install & enable Xdebug for code coverage reports
- pecl install xdebug - pecl install xdebug
......
image: node:latest
# This folder is cached between builds
# http://docs.gitlab.com/ce/ci/yaml/README.html#cache
cache:
paths:
- node_modules/
pages:
script:
- yarn install
- ./node_modules/.bin/gatsby build --prefix-paths
artifacts:
paths:
- public
only:
- master
# Full project: https://gitlab.com/pages/hugo # Full project: https://gitlab.com/pages/hugo
image: publysher/hugo image: dettmering/hugo-build
pages: pages:
script: script:
......
# This file is a template, and might need editing before it works on your project. # Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: python:latest image: python:latest
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache"
# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#caching
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
paths:
- .cache/pip
- venv/
before_script: before_script:
- python -V # Print out python version for debugging - python -V # Print out python version for debugging
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate
test: test:
script: script:
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
@babel/template,7.0.0-beta.32,MIT @babel/template,7.0.0-beta.32,MIT
@babel/traverse,7.0.0-beta.32,MIT @babel/traverse,7.0.0-beta.32,MIT
@babel/types,7.0.0-beta.32,MIT @babel/types,7.0.0-beta.32,MIT
@gitlab-org/gitlab-svgs,1.8.0,SEE LICENSE IN LICENSE @gitlab-org/gitlab-svgs,1.17.0,SEE LICENSE IN LICENSE
@types/jquery,2.0.48,MIT @types/jquery,2.0.48,MIT
JSONStream,1.3.2,MIT JSONStream,1.3.2,MIT
RedCloth,4.3.2,MIT RedCloth,4.3.2,MIT
...@@ -27,10 +27,11 @@ activejob,4.2.10,MIT ...@@ -27,10 +27,11 @@ activejob,4.2.10,MIT
activemodel,4.2.10,MIT activemodel,4.2.10,MIT
activerecord,4.2.10,MIT activerecord,4.2.10,MIT
activesupport,4.2.10,MIT activesupport,4.2.10,MIT
acts-as-taggable-on,4.0.0,MIT acts-as-taggable-on,5.0.0,MIT
address,1.0.3,MIT address,1.0.3,MIT
addressable,2.5.2,Apache 2.0 addressable,2.5.2,Apache 2.0
addressparser,1.0.1,MIT addressparser,1.0.1,MIT
aes_key_wrap,1.0.1,MIT
after,0.8.2,MIT after,0.8.2,MIT
agent-base,2.1.1,MIT agent-base,2.1.1,MIT
ajv,4.11.8,MIT ajv,4.11.8,MIT
...@@ -80,8 +81,8 @@ array-unique,0.3.2,MIT ...@@ -80,8 +81,8 @@ array-unique,0.3.2,MIT
arraybuffer.slice,0.0.7,MIT arraybuffer.slice,0.0.7,MIT
arrify,1.0.1,MIT arrify,1.0.1,MIT
asana,0.6.0,MIT asana,0.6.0,MIT
asciidoctor,1.5.3,MIT asciidoctor,1.5.6.2,MIT
asciidoctor-plantuml,0.0.7,MIT asciidoctor-plantuml,0.0.8,MIT
asn1,0.2.3,MIT asn1,0.2.3,MIT
asn1.js,4.10.1,MIT asn1.js,4.10.1,MIT
assert,1.4.1,MIT assert,1.4.1,MIT
...@@ -205,8 +206,8 @@ better-assert,1.0.2,MIT ...@@ -205,8 +206,8 @@ better-assert,1.0.2,MIT
bfj-node4,5.2.1,MIT bfj-node4,5.2.1,MIT
big.js,3.1.3,MIT big.js,3.1.3,MIT
binary-extensions,1.11.0,MIT binary-extensions,1.11.0,MIT
bindata,2.4.1,ruby bindata,2.4.3,ruby
bitsyntax,0.0.4,Unknown bitsyntax,0.0.4,UNKNOWN
bl,1.1.2,MIT bl,1.1.2,MIT
blackst0ne-mermaid,7.1.0-fixed,MIT blackst0ne-mermaid,7.1.0-fixed,MIT
blob,0.0.4,MIT* blob,0.0.4,MIT*
...@@ -274,7 +275,7 @@ chalk,1.1.3,MIT ...@@ -274,7 +275,7 @@ chalk,1.1.3,MIT
chalk,2.3.0,MIT chalk,2.3.0,MIT
chalk,2.3.1,MIT chalk,2.3.1,MIT
chardet,0.4.2,MIT chardet,0.4.2,MIT
charlock_holmes,0.7.5,MIT charlock_holmes,0.7.6,MIT
chart.js,1.0.2,MIT chart.js,1.0.2,MIT
check-types,7.3.0,MIT check-types,7.3.0,MIT
chokidar,1.7.0,MIT chokidar,1.7.0,MIT
...@@ -314,7 +315,7 @@ combine-lists,1.0.1,MIT ...@@ -314,7 +315,7 @@ combine-lists,1.0.1,MIT
combine-source-map,0.7.2,MIT combine-source-map,0.7.2,MIT
combine-source-map,0.8.0,MIT combine-source-map,0.8.0,MIT
combined-stream,1.0.6,MIT combined-stream,1.0.6,MIT
commander,2.14.1,MIT commander,2.15.1,MIT
commondir,1.0.1,MIT commondir,1.0.1,MIT
commonmarker,0.17.8,MIT commonmarker,0.17.8,MIT
component-bind,1.0.0,MIT* component-bind,1.0.0,MIT*
...@@ -352,6 +353,7 @@ core-js,2.5.3,MIT ...@@ -352,6 +353,7 @@ core-js,2.5.3,MIT
core-util-is,1.0.2,MIT core-util-is,1.0.2,MIT
cosmiconfig,2.1.1,MIT cosmiconfig,2.1.1,MIT
crack,0.4.3,MIT crack,0.4.3,MIT
crass,1.0.3,MIT
create-ecdh,4.0.0,MIT create-ecdh,4.0.0,MIT
create-error-class,3.0.2,MIT create-error-class,3.0.2,MIT
create-hash,1.1.3,MIT create-hash,1.1.3,MIT
...@@ -457,13 +459,13 @@ document-register-element,1.3.0,MIT ...@@ -457,13 +459,13 @@ document-register-element,1.3.0,MIT
dom-serialize,2.2.1,MIT dom-serialize,2.2.1,MIT
dom-serializer,0.1.0,MIT dom-serializer,0.1.0,MIT
domain-browser,1.1.7,MIT domain-browser,1.1.7,MIT
domain_name,0.5.20161021,"Simplified BSD,New BSD,Mozilla Public License 2.0" domain_name,0.5.20170404,"Simplified BSD,New BSD,Mozilla Public License 2.0"
domelementtype,1.1.3,Simplified BSD domelementtype,1.1.3,Simplified BSD
domelementtype,1.3.0,Simplified BSD domelementtype,1.3.0,Simplified BSD
domhandler,2.4.1,Simplified BSD domhandler,2.4.1,Simplified BSD
domutils,1.6.2,Simplified BSD domutils,1.6.2,Simplified BSD
doorkeeper,4.2.6,MIT doorkeeper,4.3.1,MIT
doorkeeper-openid_connect,1.2.0,MIT doorkeeper-openid_connect,1.3.0,MIT
dot-prop,4.2.0,MIT dot-prop,4.2.0,MIT
double-ended-queue,2.1.0-0,MIT double-ended-queue,2.1.0-0,MIT
dropzone,4.2.0,MIT dropzone,4.2.0,MIT
...@@ -543,7 +545,7 @@ eventemitter3,1.2.0,MIT ...@@ -543,7 +545,7 @@ eventemitter3,1.2.0,MIT
events,1.1.1,MIT events,1.1.1,MIT
eventsource,0.1.6,MIT eventsource,0.1.6,MIT
evp_bytestokey,1.0.3,MIT evp_bytestokey,1.0.3,MIT
excon,0.57.1,MIT excon,0.60.0,MIT
execa,0.7.0,MIT execa,0.7.0,MIT
execjs,2.6.0,MIT execjs,2.6.0,MIT
exit-hook,1.1.1,MIT exit-hook,1.1.1,MIT
...@@ -571,7 +573,7 @@ fast-deep-equal,1.0.0,MIT ...@@ -571,7 +573,7 @@ fast-deep-equal,1.0.0,MIT
fast-json-stable-stringify,2.0.0,MIT fast-json-stable-stringify,2.0.0,MIT
fast-levenshtein,2.0.6,MIT fast-levenshtein,2.0.6,MIT
fast_blank,1.0.0,MIT fast_blank,1.0.0,MIT
fast_gettext,1.4.0,"MIT,ruby" fast_gettext,1.6.0,"MIT,ruby"
fastparse,1.1.1,MIT fastparse,1.1.1,MIT
faye-websocket,0.10.0,MIT faye-websocket,0.10.0,MIT
faye-websocket,0.11.1,MIT faye-websocket,0.11.1,MIT
...@@ -594,15 +596,15 @@ find-up,1.1.2,MIT ...@@ -594,15 +596,15 @@ find-up,1.1.2,MIT
find-up,2.1.0,MIT find-up,2.1.0,MIT
flat-cache,1.2.2,MIT flat-cache,1.2.2,MIT
flatten,1.0.2,MIT flatten,1.0.2,MIT
flipper,0.11.0,MIT flipper,0.13.0,MIT
flipper-active_record,0.11.0,MIT flipper-active_record,0.13.0,MIT
flipper-active_support_cache_store,0.11.0,MIT flipper-active_support_cache_store,0.13.0,MIT
flowdock,0.7.1,MIT flowdock,0.7.1,MIT
flush-write-stream,1.0.2,MIT flush-write-stream,1.0.2,MIT
fog-aliyun,0.2.0,MIT fog-aliyun,0.2.0,MIT
fog-aws,1.4.0,MIT fog-aws,2.0.1,MIT
fog-core,1.44.3,MIT fog-core,1.45.0,MIT
fog-google,0.5.3,MIT fog-google,1.3.3,MIT
fog-json,1.0.2,MIT fog-json,1.0.2,MIT
fog-local,0.3.1,MIT fog-local,0.3.1,MIT
fog-openstack,0.1.21,MIT fog-openstack,0.1.21,MIT
...@@ -646,8 +648,8 @@ get-value,2.0.6,MIT ...@@ -646,8 +648,8 @@ get-value,2.0.6,MIT
get_process_mem,0.2.0,MIT get_process_mem,0.2.0,MIT
getpass,0.1.7,MIT getpass,0.1.7,MIT
gettext_i18n_rails,1.8.0,MIT gettext_i18n_rails,1.8.0,MIT
gettext_i18n_rails_js,1.2.0,MIT gettext_i18n_rails_js,1.3.0,MIT
gitaly-proto,0.88.0,MIT gitaly-proto,0.94.0,MIT
github-linguist,5.3.3,MIT github-linguist,5.3.3,MIT
github-markup,1.6.1,MIT github-markup,1.6.1,MIT
gitlab-flowdock-git-hook,1.0.1,MIT gitlab-flowdock-git-hook,1.0.1,MIT
...@@ -669,12 +671,13 @@ globals,9.18.0,MIT ...@@ -669,12 +671,13 @@ globals,9.18.0,MIT
globby,5.0.0,MIT globby,5.0.0,MIT
globby,6.1.0,MIT globby,6.1.0,MIT
globby,7.1.1,MIT globby,7.1.1,MIT
goldiloader,2.0.1,MIT
gollum-grit_adapter,1.0.1,MIT gollum-grit_adapter,1.0.1,MIT
gollum-lib,4.2.7,MIT gollum-lib,4.2.7,MIT
gollum-rugged_adapter,0.4.4,MIT gollum-rugged_adapter,0.4.4,MIT
gon,6.1.0,MIT gon,6.1.0,MIT
good-listener,1.2.2,MIT good-listener,1.2.2,MIT
google-api-client,0.13.6,Apache 2.0 google-api-client,0.19.8,Apache 2.0
google-protobuf,3.5.1,New BSD google-protobuf,3.5.1,New BSD
googleapis-common-protos-types,1.0.1,Apache 2.0 googleapis-common-protos-types,1.0.1,Apache 2.0
googleauth,0.6.2,Apache 2.0 googleauth,0.6.2,Apache 2.0
...@@ -682,7 +685,7 @@ got,6.7.1,MIT ...@@ -682,7 +685,7 @@ got,6.7.1,MIT
got,7.1.0,MIT got,7.1.0,MIT
gpgme,2.0.13,LGPL-2.1+ gpgme,2.0.13,LGPL-2.1+
graceful-fs,4.1.11,ISC graceful-fs,4.1.11,ISC
grape,1.0.0,MIT grape,1.0.2,MIT
grape-entity,0.6.0,MIT grape-entity,0.6.0,MIT
grape-route-helpers,2.1.0,MIT grape-route-helpers,2.1.0,MIT
grape_logging,1.7.0,MIT grape_logging,1.7.0,MIT
...@@ -716,7 +719,7 @@ hash-base,2.0.2,MIT ...@@ -716,7 +719,7 @@ hash-base,2.0.2,MIT
hash-base,3.0.4,MIT hash-base,3.0.4,MIT
hash-sum,1.0.2,MIT hash-sum,1.0.2,MIT
hash.js,1.1.3,MIT hash.js,1.1.3,MIT
hashie,3.5.6,MIT hashie,3.5.7,MIT
hashie-forbidden_attributes,0.1.1,MIT hashie-forbidden_attributes,0.1.1,MIT
hawk,3.1.3,New BSD hawk,3.1.3,New BSD
hawk,6.0.2,New BSD hawk,6.0.2,New BSD
...@@ -733,16 +736,16 @@ hosted-git-info,2.2.0,ISC ...@@ -733,16 +736,16 @@ hosted-git-info,2.2.0,ISC
hpack.js,2.1.6,MIT hpack.js,2.1.6,MIT
html-comment-regex,1.1.1,MIT html-comment-regex,1.1.1,MIT
html-entities,1.2.0,MIT html-entities,1.2.0,MIT
html-pipeline,1.11.0,MIT html-pipeline,2.7.1,MIT
html2text,0.2.0,MIT html2text,0.2.0,MIT
htmlentities,4.3.4,MIT htmlentities,4.3.4,MIT
htmlescape,1.1.1,MIT htmlescape,1.1.1,MIT
htmlparser2,3.9.2,MIT htmlparser2,3.9.2,MIT
http,0.9.8,MIT http,2.2.2,MIT
http-cookie,1.0.3,MIT http-cookie,1.0.3,MIT
http-deceiver,1.2.7,MIT http-deceiver,1.2.7,MIT
http-errors,1.6.2,MIT http-errors,1.6.2,MIT
http-form_data,1.0.1,MIT http-form_data,1.0.3,MIT
http-proxy,1.16.2,MIT http-proxy,1.16.2,MIT
http-proxy-agent,1.0.0,MIT http-proxy-agent,1.0.0,MIT
http-proxy-middleware,0.17.4,MIT http-proxy-middleware,0.17.4,MIT
...@@ -750,13 +753,13 @@ http-signature,1.1.1,MIT ...@@ -750,13 +753,13 @@ http-signature,1.1.1,MIT
http-signature,1.2.0,MIT http-signature,1.2.0,MIT
http_parser.rb,0.6.0,MIT http_parser.rb,0.6.0,MIT
httparty,0.13.7,MIT httparty,0.13.7,MIT
httpclient,2.8.2,ruby httpclient,2.8.3,ruby
httpntlm,1.6.1,MIT httpntlm,1.6.1,MIT
httpreq,0.4.24,MIT httpreq,0.4.24,MIT
https-browserify,0.0.1,MIT https-browserify,0.0.1,MIT
https-browserify,1.0.0,MIT https-browserify,1.0.0,MIT
https-proxy-agent,1.0.0,MIT https-proxy-agent,1.0.0,MIT
i18n,0.9.1,MIT i18n,0.9.5,MIT
ice_nine,0.11.2,MIT ice_nine,0.11.2,MIT
iconv-lite,0.4.15,MIT iconv-lite,0.4.15,MIT
iconv-lite,0.4.19,MIT iconv-lite,0.4.19,MIT
...@@ -881,7 +884,6 @@ jed,1.1.1,MIT ...@@ -881,7 +884,6 @@ jed,1.1.1,MIT
jira-ruby,1.4.1,MIT jira-ruby,1.4.1,MIT
jquery,3.3.1,MIT jquery,3.3.1,MIT
jquery-atwho-rails,1.3.2,MIT jquery-atwho-rails,1.3.2,MIT
jquery-rails,4.3.1,MIT
jquery-ujs,1.2.2,MIT jquery-ujs,1.2.2,MIT
jquery.waitforimages,2.2.0,MIT jquery.waitforimages,2.2.0,MIT
js-base64,2.1.9,New BSD js-base64,2.1.9,New BSD
...@@ -893,7 +895,7 @@ jsbn,0.1.1,MIT ...@@ -893,7 +895,7 @@ jsbn,0.1.1,MIT
jsesc,0.5.0,MIT jsesc,0.5.0,MIT
jsesc,1.3.0,MIT jsesc,1.3.0,MIT
json,1.8.6,ruby json,1.8.6,ruby
json-jwt,1.7.2,MIT json-jwt,1.9.2,MIT
json-loader,0.5.7,MIT json-loader,0.5.7,MIT
json-schema,0.2.3,BSD json-schema,0.2.3,BSD
json-schema-traverse,0.3.1,MIT json-schema-traverse,0.3.1,MIT
...@@ -927,7 +929,7 @@ kind-of,3.2.2,MIT ...@@ -927,7 +929,7 @@ kind-of,3.2.2,MIT
kind-of,4.0.0,MIT kind-of,4.0.0,MIT
kind-of,5.1.0,MIT kind-of,5.1.0,MIT
kind-of,6.0.2,MIT kind-of,6.0.2,MIT
kubeclient,2.2.0,MIT kubeclient,3.0.0,MIT
labeled-stream-splicer,2.0.0,MIT labeled-stream-splicer,2.0.0,MIT
latest-version,3.1.0,MIT latest-version,3.1.0,MIT
lazy-cache,1.0.4,MIT lazy-cache,1.0.4,MIT
...@@ -938,7 +940,7 @@ lexical-scope,1.2.0,MIT ...@@ -938,7 +940,7 @@ lexical-scope,1.2.0,MIT
libbase64,0.1.0,MIT libbase64,0.1.0,MIT
libmime,3.0.0,MIT libmime,3.0.0,MIT
libqp,1.1.0,MIT libqp,1.1.0,MIT
licensee,8.7.0,MIT licensee,8.9.2,MIT
lie,3.1.1,MIT lie,3.1.1,MIT
little-plugger,1.1.4,MIT little-plugger,1.1.4,MIT
load-json-file,1.1.0,MIT load-json-file,1.1.0,MIT
...@@ -980,7 +982,7 @@ loggly,1.1.1,MIT ...@@ -980,7 +982,7 @@ loggly,1.1.1,MIT
loglevel,1.4.1,MIT loglevel,1.4.1,MIT
lograge,0.5.1,MIT lograge,0.5.1,MIT
longest,1.0.1,MIT longest,1.0.1,MIT
loofah,2.0.3,MIT loofah,2.2.2,MIT
loose-envify,1.3.1,MIT loose-envify,1.3.1,MIT
loud-rejection,1.6.0,MIT loud-rejection,1.6.0,MIT
lowercase-keys,1.0.0,MIT lowercase-keys,1.0.0,MIT
...@@ -994,7 +996,7 @@ mailgun-js,0.7.15,MIT ...@@ -994,7 +996,7 @@ mailgun-js,0.7.15,MIT
make-dir,1.0.0,MIT make-dir,1.0.0,MIT
map-cache,0.2.2,MIT map-cache,0.2.2,MIT
map-obj,1.0.1,MIT map-obj,1.0.1,MIT
map-stream,0.1.0,Unknown map-stream,0.1.0,UNKNOWN
map-visit,1.0.0,MIT map-visit,1.0.0,MIT
marked,0.3.12,MIT marked,0.3.12,MIT
match-at,0.1.1,MIT match-at,0.1.1,MIT
...@@ -1022,7 +1024,7 @@ mime-types-data,3.2016.0521,MIT ...@@ -1022,7 +1024,7 @@ mime-types-data,3.2016.0521,MIT
mimemagic,0.3.0,MIT mimemagic,0.3.0,MIT
mimic-fn,1.1.0,MIT mimic-fn,1.1.0,MIT
mimic-response,1.0.0,MIT mimic-response,1.0.0,MIT
mini_mime,0.1.4,MIT mini_mime,1.0.0,MIT
mini_portile2,2.3.0,MIT mini_portile2,2.3.0,MIT
minimalistic-assert,1.0.0,ISC minimalistic-assert,1.0.0,ISC
minimalistic-crypto-utils,1.0.1,MIT minimalistic-crypto-utils,1.0.1,MIT
...@@ -1047,7 +1049,7 @@ multi_xml,0.6.0,MIT ...@@ -1047,7 +1049,7 @@ multi_xml,0.6.0,MIT
multicast-dns,6.1.1,MIT multicast-dns,6.1.1,MIT
multicast-dns-service-types,1.1.0,MIT multicast-dns-service-types,1.1.0,MIT
multipart-post,2.0.0,MIT multipart-post,2.0.0,MIT
mustermann,1.0.0,MIT mustermann,1.0.2,MIT
mustermann-grape,1.0.0,MIT mustermann-grape,1.0.0,MIT
mute-stream,0.0.5,ISC mute-stream,0.0.5,ISC
mute-stream,0.0.7,ISC mute-stream,0.0.7,ISC
...@@ -1058,7 +1060,7 @@ nanomatch,1.2.9,MIT ...@@ -1058,7 +1060,7 @@ nanomatch,1.2.9,MIT
natural-compare,1.4.0,MIT natural-compare,1.4.0,MIT
negotiator,0.6.1,MIT negotiator,0.6.1,MIT
net-ldap,0.16.0,MIT net-ldap,0.16.0,MIT
net-ssh,4.1.0,MIT net-ssh,4.2.0,MIT
netmask,1.0.6,MIT netmask,1.0.6,MIT
netrc,0.11.0,MIT netrc,0.11.0,MIT
node-forge,0.6.33,New BSD node-forge,0.6.33,New BSD
...@@ -1088,7 +1090,7 @@ null-check,1.0.0,MIT ...@@ -1088,7 +1090,7 @@ null-check,1.0.0,MIT
num2fraction,1.2.2,MIT num2fraction,1.2.2,MIT
number-is-nan,1.0.1,MIT number-is-nan,1.0.1,MIT
numerizer,0.1.1,MIT numerizer,0.1.1,MIT
oauth,0.5.1,MIT oauth,0.5.4,MIT
oauth-sign,0.8.2,Apache 2.0 oauth-sign,0.8.2,Apache 2.0
oauth2,1.4.0,MIT oauth2,1.4.0,MIT
object-assign,4.1.1,MIT object-assign,4.1.1,MIT
...@@ -1099,25 +1101,25 @@ object-visit,1.0.1,MIT ...@@ -1099,25 +1101,25 @@ object-visit,1.0.1,MIT
object.omit,2.0.1,MIT object.omit,2.0.1,MIT
object.pick,1.3.0,MIT object.pick,1.3.0,MIT
obuf,1.1.1,MIT obuf,1.1.1,MIT
octokit,4.6.2,MIT octokit,4.8.0,MIT
oj,2.17.5,MIT omniauth,1.8.1,MIT
omniauth,1.4.2,MIT omniauth-auth0,2.0.0,MIT
omniauth-auth0,1.4.1,MIT
omniauth-authentiq,0.3.1,MIT omniauth-authentiq,0.3.1,MIT
omniauth-azure-oauth2,0.0.9,MIT omniauth-azure-oauth2,0.0.9,MIT
omniauth-cas3,1.1.4,MIT omniauth-cas3,1.1.4,MIT
omniauth-facebook,4.0.0,MIT omniauth-facebook,4.0.0,MIT
omniauth-github,1.1.2,MIT omniauth-github,1.1.2,MIT
omniauth-gitlab,1.0.2,MIT omniauth-gitlab,1.0.2,MIT
omniauth-google-oauth2,0.5.2,MIT omniauth-google-oauth2,0.5.3,MIT
omniauth-jwt,0.0.2,MIT
omniauth-kerberos,0.3.0,MIT omniauth-kerberos,0.3.0,MIT
omniauth-multipassword,0.4.2,MIT omniauth-multipassword,0.4.2,MIT
omniauth-oauth,1.1.0,MIT omniauth-oauth,1.1.0,MIT
omniauth-oauth2,1.4.0,MIT omniauth-oauth2,1.5.0,MIT
omniauth-oauth2-generic,0.2.2,MIT omniauth-oauth2-generic,0.2.2,MIT
omniauth-saml,1.7.0,MIT omniauth-saml,1.10.0,MIT
omniauth-shibboleth,1.2.1,MIT omniauth-shibboleth,1.2.1,MIT
omniauth-twitter,1.2.1,MIT omniauth-twitter,1.4.0,MIT
omniauth_crowd,2.2.3,MIT omniauth_crowd,2.2.3,MIT
on-finished,2.3.0,MIT on-finished,2.3.0,MIT
on-headers,1.0.1,MIT on-headers,1.0.1,MIT
...@@ -1181,7 +1183,6 @@ pause-stream,0.0.11,Apache 2.0 ...@@ -1181,7 +1183,6 @@ pause-stream,0.0.11,Apache 2.0
pbkdf2,3.0.14,MIT pbkdf2,3.0.14,MIT
peek,1.0.1,MIT peek,1.0.1,MIT
peek-gc,0.0.2,MIT peek-gc,0.0.2,MIT
peek-host,1.0.0,MIT
peek-mysql2,1.1.0,MIT peek-mysql2,1.1.0,MIT
peek-performance_bar,1.3.1,MIT peek-performance_bar,1.3.1,MIT
peek-pg,1.3.0,MIT peek-pg,1.3.0,MIT
...@@ -1248,8 +1249,8 @@ premailer,1.10.4,New BSD ...@@ -1248,8 +1249,8 @@ premailer,1.10.4,New BSD
premailer-rails,1.9.7,MIT premailer-rails,1.9.7,MIT
prepend-http,1.0.4,MIT prepend-http,1.0.4,MIT
preserve,0.2.0,MIT preserve,0.2.0,MIT
prettier,1.11.1,MIT
prettier,1.8.2,MIT prettier,1.8.2,MIT
prettier,1.9.2,MIT
prismjs,1.6.0,MIT prismjs,1.6.0,MIT
private,0.1.8,MIT private,0.1.8,MIT
process,0.11.10,MIT process,0.11.10,MIT
...@@ -1283,18 +1284,18 @@ querystring,0.2.0,MIT ...@@ -1283,18 +1284,18 @@ querystring,0.2.0,MIT
querystring-es3,0.2.1,MIT querystring-es3,0.2.1,MIT
querystringify,0.0.4,MIT querystringify,0.0.4,MIT
querystringify,1.0.0,MIT querystringify,1.0.0,MIT
rack,1.6.8,MIT rack,1.6.9,MIT
rack-accept,0.4.5,MIT rack-accept,0.4.5,MIT
rack-attack,4.4.1,MIT rack-attack,4.4.1,MIT
rack-cors,1.0.2,MIT rack-cors,1.0.2,MIT
rack-oauth2,1.2.3,MIT rack-oauth2,1.2.3,MIT
rack-protection,1.5.3,MIT rack-protection,2.0.1,MIT
rack-proxy,0.6.0,MIT rack-proxy,0.6.0,MIT
rack-test,0.6.3,MIT rack-test,0.6.3,MIT
rails,4.2.10,MIT rails,4.2.10,MIT
rails-deprecated_sanitizer,1.0.3,MIT rails-deprecated_sanitizer,1.0.3,MIT
rails-dom-testing,1.0.8,MIT rails-dom-testing,1.0.9,MIT
rails-html-sanitizer,1.0.3,MIT rails-html-sanitizer,1.0.4,MIT
rails-i18n,4.0.9,MIT rails-i18n,4.0.9,MIT
railties,4.2.10,MIT railties,4.2.10,MIT
rainbow,2.2.2,MIT rainbow,2.2.2,MIT
...@@ -1331,7 +1332,7 @@ readdirp,2.1.0,MIT ...@@ -1331,7 +1332,7 @@ readdirp,2.1.0,MIT
readline2,1.0.1,MIT readline2,1.0.1,MIT
recaptcha,3.0.0,MIT recaptcha,3.0.0,MIT
rechoir,0.6.2,MIT rechoir,0.6.2,MIT
recursive-open-struct,1.0.0,MIT recursive-open-struct,1.0.5,MIT
recursive-readdir,2.2.1,MIT recursive-readdir,2.2.1,MIT
redcarpet,3.4.0,MIT redcarpet,3.4.0,MIT
redent,1.0.0,MIT redent,1.0.0,MIT
...@@ -1383,7 +1384,7 @@ resolve-from,1.0.1,MIT ...@@ -1383,7 +1384,7 @@ resolve-from,1.0.1,MIT
resolve-from,3.0.0,MIT resolve-from,3.0.0,MIT
resolve-url,0.2.1,MIT resolve-url,0.2.1,MIT
responders,2.3.0,MIT responders,2.3.0,MIT
rest-client,2.0.0,MIT rest-client,2.0.2,MIT
restore-cursor,1.0.1,MIT restore-cursor,1.0.1,MIT
restore-cursor,2.0.0,MIT restore-cursor,2.0.0,MIT
ret,0.1.15,MIT ret,0.1.15,MIT
...@@ -1399,13 +1400,13 @@ rqrcode,0.7.0,MIT ...@@ -1399,13 +1400,13 @@ rqrcode,0.7.0,MIT
rqrcode-rails3,0.1.7,MIT rqrcode-rails3,0.1.7,MIT
ruby-enum,0.7.2,MIT ruby-enum,0.7.2,MIT
ruby-fogbugz,0.2.1,MIT ruby-fogbugz,0.2.1,MIT
ruby-prof,0.16.2,Simplified BSD ruby-prof,0.17.0,Simplified BSD
ruby-saml,1.4.1,MIT ruby-saml,1.7.2,MIT
ruby_parser,3.9.0,MIT ruby_parser,3.9.0,MIT
rubyntlm,0.6.2,MIT rubyntlm,0.6.2,MIT
rubypants,0.2.0,BSD rubypants,0.2.0,BSD
rufus-scheduler,3.4.0,MIT rufus-scheduler,3.4.0,MIT
rugged,0.26.0,MIT rugged,0.27.0,MIT
run-async,0.1.0,MIT run-async,0.1.0,MIT
run-async,2.3.0,MIT run-async,2.3.0,MIT
run-queue,1.0.3,ISC run-queue,1.0.3,ISC
...@@ -1436,7 +1437,7 @@ semver,5.3.0,ISC ...@@ -1436,7 +1437,7 @@ semver,5.3.0,ISC
semver,5.5.0,ISC semver,5.5.0,ISC
semver-diff,2.1.0,MIT semver-diff,2.1.0,MIT
send,0.16.1,MIT send,0.16.1,MIT
sentry-raven,2.5.3,Apache 2.0 sentry-raven,2.7.2,Apache 2.0
serialize-javascript,1.4.0,New BSD serialize-javascript,1.4.0,New BSD
serve-index,1.9.0,MIT serve-index,1.9.0,MIT
serve-static,1.13.1,MIT serve-static,1.13.1,MIT
...@@ -1507,9 +1508,9 @@ srcset,1.0.0,MIT ...@@ -1507,9 +1508,9 @@ srcset,1.0.0,MIT
sshkey,1.9.0,MIT sshkey,1.9.0,MIT
sshpk,1.13.1,MIT sshpk,1.13.1,MIT
ssri,5.2.4,ISC ssri,5.2.4,ISC
state_machines,0.4.0,MIT state_machines,0.5.0,MIT
state_machines-activemodel,0.4.0,MIT state_machines-activemodel,0.5.1,MIT
state_machines-activerecord,0.4.0,MIT state_machines-activerecord,0.5.1,MIT
static-extend,0.1.2,MIT static-extend,0.1.2,MIT
statuses,1.3.1,MIT statuses,1.3.1,MIT
statuses,1.4.0,MIT statuses,1.4.0,MIT
...@@ -1603,7 +1604,7 @@ tweetnacl,0.14.5,Unlicense ...@@ -1603,7 +1604,7 @@ tweetnacl,0.14.5,Unlicense
type-check,0.3.2,MIT type-check,0.3.2,MIT
type-is,1.6.16,MIT type-is,1.6.16,MIT
typedarray,0.0.6,MIT typedarray,0.0.6,MIT
tzinfo,1.2.4,MIT tzinfo,1.2.5,MIT
u2f,0.2.1,MIT u2f,0.2.1,MIT
uber,0.1.0,MIT uber,0.1.0,MIT
uglifier,2.7.2,MIT uglifier,2.7.2,MIT
...@@ -1618,7 +1619,7 @@ undefsafe,2.0.2,MIT ...@@ -1618,7 +1619,7 @@ undefsafe,2.0.2,MIT
underscore,1.7.0,MIT underscore,1.7.0,MIT
underscore,1.8.3,MIT underscore,1.8.3,MIT
unf,0.1.4,BSD unf,0.1.4,BSD
unf_ext,0.0.7.4,MIT unf_ext,0.0.7.5,MIT
unicorn,5.1.0,ruby unicorn,5.1.0,ruby
unicorn-worker-killer,0.4.4,ruby unicorn-worker-killer,0.4.4,ruby
union-value,1.0.0,MIT union-value,1.0.0,MIT
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment