Merge branch 'master' into bootstrap4
This commit is contained in:
commit
6dd13180cc
|
@ -855,3 +855,15 @@ gitlab_git_test:
|
|||
cache: {}
|
||||
script:
|
||||
- spec/support/prepare-gitlab-git-test-for-commit --check-for-changes
|
||||
|
||||
no_ee_check:
|
||||
<<: *dedicated-runner
|
||||
<<: *except-docs-and-qa
|
||||
variables:
|
||||
SETUP_DB: "false"
|
||||
before_script: []
|
||||
cache: {}
|
||||
script:
|
||||
- scripts/no-ee-check
|
||||
only:
|
||||
- //@gitlab-org/gitlab-ce
|
||||
|
|
176
CHANGELOG.md
176
CHANGELOG.md
|
@ -2,6 +2,182 @@
|
|||
documentation](doc/development/changelog.md) for instructions on adding your own
|
||||
entry.
|
||||
|
||||
## 10.8.0 (2018-05-22)
|
||||
|
||||
### Security (3 changes, 1 of them is from the community)
|
||||
|
||||
- Update faraday_middlewar to 0.12.2. !18397 (Takuya Noguchi)
|
||||
- Serve archive requests with the correct file in all cases.
|
||||
- Sanitizes user name to avoid XSS attacks.
|
||||
|
||||
### Fixed (47 changes, 11 of them are from the community)
|
||||
|
||||
- Refactor CSS to eliminate vertical misalignment of login nav. !16275 (Takuya Noguchi)
|
||||
- Fix pipeline status in branch/tag tree page. !17995
|
||||
- Allow group owner to enable runners from subgroups (#41981). !18009
|
||||
- Fix template selector menu visibility when toggling preview mode in file edit view. !18118 (Fabian Schneider)
|
||||
- Fix confirmation modal for deleting a protected branch. !18176 (Paul Bonaud @PaulRbR)
|
||||
- Triggering custom hooks by Wiki UI edit. !18251
|
||||
- Now `rake cache:clear` will also clear pipeline status cache. !18257
|
||||
- Fix `joined` information on project members page. !18290 (Fabian Schneider)
|
||||
- Fix missing namespace for some internal users. !18357
|
||||
- Show shared projects on group page. !18390
|
||||
- Restore label underline color. !18407 (George Tsiolis)
|
||||
- Fix undefined `html_escape` method during markdown rendering. !18418
|
||||
- Fix unassign slash command preview. !18447
|
||||
- Correct text and functionality for delete user / delete user and contributions modal. !18463 (Marc Schwede)
|
||||
- Fix discussions API setting created_at for notable in a group or notable in a project in a group with owners. !18464
|
||||
- Don't include lfs_file_locks data in export bundle. !18495
|
||||
- Reset milestone filter when clicking "Any Milestone" in dashboard. !18531
|
||||
- Ensure member notifications are sent after the member actual creation/update in the DB. !18538
|
||||
- Update links to /ci/lint with ones to project ci/lint. !18539 (Takuya Noguchi)
|
||||
- Fix tabs container styles to make RSS button clickable. !18559
|
||||
- Raise NoRepository error for non-valid repositories when calculating repository checksum. !18594
|
||||
- Don't automatically remove artifacts for pages jobs after pages:deploy has run. !18628
|
||||
- Increase new issue metadata form margin. !18630 (George Tsiolis)
|
||||
- Add loading icon padding for pipeline environments. !18631 (George Tsiolis)
|
||||
- ShaAttribute no longer stops startup if database is missing. !18726
|
||||
- Fix close keyboard shortcuts dialog using the keyboard shortcut. !18783 (Lars Greiss)
|
||||
- Fixes database inconsistencies between Community and Enterprise Edition on import state. !18811
|
||||
- Add database foreign key constraint between pipelines and build. !18822
|
||||
- Fix finding wiki pages when they have invalidly-encoded content. !18856
|
||||
- Fix outdated Web IDE welcome copy. !18861
|
||||
- fixed copy to blipboard button in embed bar of snippets. !18923 (haseebeqx)
|
||||
- Disables RBAC on nginx-ingress. !18947
|
||||
- Correct skewed Kubernetes popover illustration. !18949
|
||||
- Resolve Import/Export ci_cd_settings error updating the project. !46049
|
||||
- Fix project creation for user endpoint when jobs_enabled parameter supplied.
|
||||
- 46210 Display logo and user dropdown on mobile for terms page and fix styling.
|
||||
- Adds illustration for when job log was erased.
|
||||
- Ensure web hook 'blocked URL' errors are stored in web hook logs and properly surfaced to the user.
|
||||
- Make toggle markdown preview shortcut only toggle selected field.
|
||||
- Verifiy if pipeline has commit idetails and render information in MR widget when branch is deleted.
|
||||
- Fixed inconsistent protected branch pill baseline.
|
||||
- Fix setting Gitlab metrics content types.
|
||||
- Display only generic message on merge error to avoid exposing any potentially sensitive or user unfriendly backend messages.
|
||||
- Fix label links update on project transfer.
|
||||
- Breaks commit not found message in pipelines table.
|
||||
- Adjust issue boards list header label text color.
|
||||
- Prevent pipeline actions in dropdown to redirct to a new page.
|
||||
|
||||
### Changed (35 changes, 15 of them are from the community)
|
||||
|
||||
- Improve tooltips in collapsed right sidebar. !17714
|
||||
- Partition job_queue_duration_seconds with jobs_running_for_project. !17730
|
||||
- For group dashboard, we no longer show groups which the visitor is not a member of (this applies to admins and auditors). !17884 (Roger Rüttimann)
|
||||
- Use RFC 3676 mail signature delimiters. !17979 (Enrico Scholz)
|
||||
- Add sha filter to pipelines list API. !18125
|
||||
- New CI Job live-trace architecture. !18169
|
||||
- Make project deploy keys table more clearly structured. !18279
|
||||
- Remove green background from unlock button in admin area. !18288
|
||||
- Renamed Overview to Project in the contextual navigation at a project level. !18295 (Constance Okoghenun)
|
||||
- Load branches on new merge request page asynchronously. !18315
|
||||
- Create settings section for autodevops. !18321
|
||||
- Add a comma to the time estimate system notes. !18326
|
||||
- Enable specifying variables when executing a manual pipeline. !18440
|
||||
- Fix size and position for fork icon. !18449 (George Tsiolis)
|
||||
- Refactored activity calendar. !18469 (Enrico Scholz)
|
||||
- Small improvements to repository checks. !18484
|
||||
- Add 2FA filter to users API for admins only. !18503
|
||||
- Align project avatar on small viewports. !18513 (George Tsiolis)
|
||||
- Show group and project LFS settings in the interface to Owners and Masters. !18562
|
||||
- Update environment item action buttons icons. !18632 (George Tsiolis)
|
||||
- Update timeline icon for description edit. !18633 (George Tsiolis)
|
||||
- Revert discussion counter height. !18656 (George Tsiolis)
|
||||
- Improve quick actions summary preview. !18659 (George Tsiolis)
|
||||
- Change font for tables inside diff discussions. !18660 (George Tsiolis)
|
||||
- Add padding to profile description. !18663 (George Tsiolis)
|
||||
- Break issue title for board card title and issuable header text. !18674 (George Tsiolis)
|
||||
- Adds push mirrors to GitLab Community Edition. !18715
|
||||
- Inform the user when there are no project import options available. !18716 (George Tsiolis)
|
||||
- Improve commit message body rendering and fix responsive compare panels. !18725 (Constance Okoghenun)
|
||||
- Reconcile project templates with Auto DevOps. !18737
|
||||
- Remove branch name from the status bar of WebIDE.
|
||||
- Clean up WebIDE status bar and add useful info.
|
||||
- Improve interaction on WebIDE commit panel.
|
||||
- Keep current labels visible when editing them in the sidebar.
|
||||
- Use VueJS for rendering pipeline stages.
|
||||
|
||||
### Performance (26 changes, 11 of them are from the community)
|
||||
|
||||
- Move WorkInProgress vue component. !17536 (George Tsiolis)
|
||||
- Move ReadyToMerge vue component. !17545 (George Tsiolis)
|
||||
- Move BoardBlankState vue component. !17666 (George Tsiolis)
|
||||
- Improve DB performance of calculating total artifacts size. !17839
|
||||
- Add i18n and update specs for UnresolvedDiscussions vue component. !17866 (George Tsiolis)
|
||||
- Introduce new ProjectCiCdSetting model with group_runners_enabled. !18144
|
||||
- Move PipelineFailed vue component. !18277 (George Tsiolis)
|
||||
- Move TimeTrackingEstimateOnlyPane vue component. !18318 (George Tsiolis)
|
||||
- Move TimeTrackingHelpState vue component. !18319 (George Tsiolis)
|
||||
- Reduce queries on merge requests list page for merge requests from forks. !18561
|
||||
- Destroy build_chunks efficiently with FastDestroyAll module. !18575
|
||||
- Improve performance of a service responsible for creating a pipeline. !18582
|
||||
- Replace time_ago_in_words with JS-based one. !18607 (Takuya Noguchi)
|
||||
- Move TimeTrackingNoTrackingPane vue component. !18676 (George Tsiolis)
|
||||
- Move SidebarTimeTracking vue component. !18677 (George Tsiolis)
|
||||
- Move TimeTrackingSpentOnlyPane vue component. !18710 (George Tsiolis)
|
||||
- Detecting tags containing a commit uses Gitaly by default.
|
||||
- Increase cluster applications installer availability using alpine linux mirrors.
|
||||
- Compute notification recipients in background jobs.
|
||||
- Use persisted diff data instead fetching Git on discussions.
|
||||
- Detecting branchnames containing a commit uses Gitaly by default.
|
||||
- Detect repository license on Gitaly by default.
|
||||
- Finish NamespaceService migration to Gitaly.
|
||||
- Check if a ref exists is done by Gitaly by default.
|
||||
- Compute Gitlab::Git::Repository#checksum on Gitaly by default.
|
||||
- Repository#exists? is always executed through Gitaly.
|
||||
|
||||
### Added (22 changes, 10 of them are from the community)
|
||||
|
||||
- Allow group masters to configure runners for groups. !9646 (Alexis Reigel)
|
||||
- Adds Embedded Snippets Support. !15695 (haseebeqx)
|
||||
- Add Copy metadata quick action. !16473 (Mateusz Bajorski)
|
||||
- Show Runner's description on job's page. !17321
|
||||
- Add deprecation message to dynamic milestone pages. !17505
|
||||
- Show new branch/mr button even when branch exists. !17712 (Jacopo Beschi @jacopo-beschi)
|
||||
- API: add languages of project GET /projects/:id/languages. !17770 (Roger Rüttimann)
|
||||
- Display active sessions and allow the user to revoke any of it. !17867 (Alexis Reigel)
|
||||
- Add cron job to email users on issue due date. !17985 (Stuart Nelson)
|
||||
- Rubocop rule to avoid returning from a block. !18000 (Jacopo Beschi @jacopo-beschi)
|
||||
- Add the signature verfication badge to the compare view. !18245 (Marc Shaw)
|
||||
- Expose Deploy Token data as environment varialbes on CI/CD jobs. !18414
|
||||
- Show group id in group settings. !18482 (George Tsiolis)
|
||||
- Allow admins to enforce accepting Terms of Service on an instance. !18570
|
||||
- Add CI_COMMIT_MESSAGE, CI_COMMIT_TITLE and CI_COMMIT_DESCRIPTION predefined variables. !18672
|
||||
- Add GCP signup offer to cluster index / create pages. !18684
|
||||
- Output some useful information when running the rails console. !18697
|
||||
- Display merge commit SHA in merge widget after merge. !18722
|
||||
- git SHA is now displayed alongside the GitLab version on the Admin Dashboard.
|
||||
- Expose the target commit ID through the tag API.
|
||||
- Added fuzzy file finder to web IDE.
|
||||
- Add discussion API for merge requests and commits.
|
||||
|
||||
### Other (22 changes, 8 of them are from the community)
|
||||
|
||||
- Replace the `project/issues/milestones.feature` spinach test with an rspec analog. !18300 (@blackst0ne)
|
||||
- Replace the `project/commits/branches.feature` spinach test with an rspec analog. !18302 (@blackst0ne)
|
||||
- Replacing gollum libraries for gitlab custom libs. !18343
|
||||
- Replace the `project/commits/comments.feature` spinach test with an rspec analog. !18356 (@blackst0ne)
|
||||
- Replace "Click" with "Select" to be more inclusive of people with accessibility requirements. !18386 (Mark Lapierre)
|
||||
- Remove ahead/behind graphs on project branches on mobile. !18415 (Takuya Noguchi)
|
||||
- Replace the `project/source/markdown_render.feature` spinach test with an rspec analog. !18525 (@blackst0ne)
|
||||
- Add missing changelog type to docs. !18526 (@blackst0ne)
|
||||
- Added Webhook SSRF prevention to documentation. !18532
|
||||
- Upgrade underscore.js to 1.9.0. !18578
|
||||
- Add documentation about how to use variables to define deploy policies for staging/production environments. !18675
|
||||
- Replace the `project/builds/artifacts.feature` spinach test with an rspec analog. !18729 (@blackst0ne)
|
||||
- Block access to the API & git for users that did not accept enforced Terms of Service. !18816
|
||||
- Transition to atomic internal ids for all models. !44259
|
||||
- Removes modal boards store and mixins from global scope.
|
||||
- Replace GKE acronym with Google Kubernetes Engine.
|
||||
- Replace vue resource with axios for pipelines details page.
|
||||
- Enable prometheus monitoring by default.
|
||||
- Replace vue resource with axios in pipelines table.
|
||||
- Bump lograge to 0.10.0 and remove monkey patch.
|
||||
- Improves wording in new pipeline page.
|
||||
- Gitaly handles repository forks by default.
|
||||
|
||||
|
||||
## 10.7.4 (2018-05-21)
|
||||
|
||||
### Fixed (1 change)
|
||||
|
|
|
@ -1 +1 @@
|
|||
4.2.0
|
||||
4.2.1
|
||||
|
|
5
Gemfile
5
Gemfile
|
@ -174,6 +174,9 @@ gem 'httparty', '~> 0.13.3'
|
|||
# Colored output to console
|
||||
gem 'rainbow', '~> 2.2'
|
||||
|
||||
# Progress bar
|
||||
gem 'ruby-progressbar'
|
||||
|
||||
# GitLab settings
|
||||
gem 'settingslogic', '~> 2.0.9'
|
||||
|
||||
|
@ -293,7 +296,7 @@ group :metrics do
|
|||
gem 'influxdb', '~> 0.2', require: false
|
||||
|
||||
# Prometheus
|
||||
gem 'prometheus-client-mmap', '~> 0.9.2'
|
||||
gem 'prometheus-client-mmap', '~> 0.9.3'
|
||||
gem 'raindrops', '~> 0.18'
|
||||
end
|
||||
|
||||
|
|
|
@ -623,7 +623,7 @@ GEM
|
|||
parser
|
||||
unparser
|
||||
procto (0.0.3)
|
||||
prometheus-client-mmap (0.9.2)
|
||||
prometheus-client-mmap (0.9.3)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
|
@ -1108,7 +1108,7 @@ DEPENDENCIES
|
|||
peek-sidekiq (~> 1.0.3)
|
||||
pg (~> 0.18.2)
|
||||
premailer-rails (~> 1.9.7)
|
||||
prometheus-client-mmap (~> 0.9.2)
|
||||
prometheus-client-mmap (~> 0.9.3)
|
||||
pry-byebug (~> 3.4.1)
|
||||
pry-rails (~> 0.3.4)
|
||||
rack-attack (~> 4.4.1)
|
||||
|
@ -1143,6 +1143,7 @@ DEPENDENCIES
|
|||
rubocop-rspec (~> 1.22.1)
|
||||
ruby-fogbugz (~> 0.2.1)
|
||||
ruby-prof (~> 0.17.0)
|
||||
ruby-progressbar
|
||||
ruby_parser (~> 3.8)
|
||||
rufus-scheduler (~> 3.4)
|
||||
rugged (~> 0.27)
|
||||
|
|
|
@ -2,10 +2,7 @@ import $ from 'jquery';
|
|||
import timeago from 'timeago.js';
|
||||
import dateFormat from 'vendor/date.format';
|
||||
import { pluralize } from './text_utility';
|
||||
import {
|
||||
languageCode,
|
||||
s__,
|
||||
} from '../../locale';
|
||||
import { languageCode, s__ } from '../../locale';
|
||||
|
||||
window.timeago = timeago;
|
||||
window.dateFormat = dateFormat;
|
||||
|
@ -17,11 +14,37 @@ window.dateFormat = dateFormat;
|
|||
*
|
||||
* @param {Boolean} abbreviated
|
||||
*/
|
||||
const getMonthNames = (abbreviated) => {
|
||||
const getMonthNames = abbreviated => {
|
||||
if (abbreviated) {
|
||||
return [s__('Jan'), s__('Feb'), s__('Mar'), s__('Apr'), s__('May'), s__('Jun'), s__('Jul'), s__('Aug'), s__('Sep'), s__('Oct'), s__('Nov'), s__('Dec')];
|
||||
return [
|
||||
s__('Jan'),
|
||||
s__('Feb'),
|
||||
s__('Mar'),
|
||||
s__('Apr'),
|
||||
s__('May'),
|
||||
s__('Jun'),
|
||||
s__('Jul'),
|
||||
s__('Aug'),
|
||||
s__('Sep'),
|
||||
s__('Oct'),
|
||||
s__('Nov'),
|
||||
s__('Dec'),
|
||||
];
|
||||
}
|
||||
return [s__('January'), s__('February'), s__('March'), s__('April'), s__('May'), s__('June'), s__('July'), s__('August'), s__('September'), s__('October'), s__('November'), s__('December')];
|
||||
return [
|
||||
s__('January'),
|
||||
s__('February'),
|
||||
s__('March'),
|
||||
s__('April'),
|
||||
s__('May'),
|
||||
s__('June'),
|
||||
s__('July'),
|
||||
s__('August'),
|
||||
s__('September'),
|
||||
s__('October'),
|
||||
s__('November'),
|
||||
s__('December'),
|
||||
];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -29,7 +52,8 @@ const getMonthNames = (abbreviated) => {
|
|||
* @param {date} date
|
||||
* @returns {String}
|
||||
*/
|
||||
export const getDayName = date => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][date.getDay()];
|
||||
export const getDayName = date =>
|
||||
['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][date.getDay()];
|
||||
|
||||
/**
|
||||
* @example
|
||||
|
@ -55,7 +79,7 @@ export function getTimeago() {
|
|||
if (!timeagoInstance) {
|
||||
const localeRemaining = function getLocaleRemaining(number, index) {
|
||||
return [
|
||||
[s__('Timeago|less than a minute ago'), s__('Timeago|in a while')],
|
||||
[s__('Timeago|less than a minute ago'), s__('Timeago|right now')],
|
||||
[s__('Timeago|less than a minute ago'), s__('Timeago|%s seconds remaining')],
|
||||
[s__('Timeago|about a minute ago'), s__('Timeago|1 minute remaining')],
|
||||
[s__('Timeago|%s minutes ago'), s__('Timeago|%s minutes remaining')],
|
||||
|
@ -73,7 +97,7 @@ export function getTimeago() {
|
|||
};
|
||||
const locale = function getLocale(number, index) {
|
||||
return [
|
||||
[s__('Timeago|less than a minute ago'), s__('Timeago|in a while')],
|
||||
[s__('Timeago|less than a minute ago'), s__('Timeago|right now')],
|
||||
[s__('Timeago|less than a minute ago'), s__('Timeago|in %s seconds')],
|
||||
[s__('Timeago|about a minute ago'), s__('Timeago|in 1 minute')],
|
||||
[s__('Timeago|%s minutes ago'), s__('Timeago|in %s minutes')],
|
||||
|
@ -102,7 +126,7 @@ export function getTimeago() {
|
|||
* For the given element, renders a timeago instance.
|
||||
* @param {jQuery} $els
|
||||
*/
|
||||
export const renderTimeago = ($els) => {
|
||||
export const renderTimeago = $els => {
|
||||
const timeagoEls = $els || document.querySelectorAll('.js-timeago-render');
|
||||
|
||||
// timeago.js sets timeouts internally for each timeago value to be updated in real time
|
||||
|
@ -119,7 +143,7 @@ export const localTimeAgo = ($timeagoEls, setTimeago = true) => {
|
|||
if (setTimeago) {
|
||||
// Recreate with custom template
|
||||
$(el).tooltip({
|
||||
template: '<div class="tooltip local-timeago" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',
|
||||
template: '<div class="tooltip local-timeago" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -141,7 +165,9 @@ export const timeFor = (time, expiredLabel) => {
|
|||
if (new Date(time) < new Date()) {
|
||||
return expiredLabel || s__('Timeago|Past due');
|
||||
}
|
||||
return getTimeago().format(time, `${timeagoLanguageCode}-remaining`).trim();
|
||||
return getTimeago()
|
||||
.format(time, `${timeagoLanguageCode}-remaining`)
|
||||
.trim();
|
||||
};
|
||||
|
||||
export const getDayDifference = (a, b) => {
|
||||
|
@ -161,7 +187,7 @@ export const getDayDifference = (a, b) => {
|
|||
export function timeIntervalInWords(intervalInSeconds) {
|
||||
const secondsInteger = parseInt(intervalInSeconds, 10);
|
||||
const minutes = Math.floor(secondsInteger / 60);
|
||||
const seconds = secondsInteger - (minutes * 60);
|
||||
const seconds = secondsInteger - minutes * 60;
|
||||
let text = '';
|
||||
|
||||
if (minutes >= 1) {
|
||||
|
@ -178,8 +204,34 @@ export function dateInWords(date, abbreviated = false, hideYear = false) {
|
|||
const month = date.getMonth();
|
||||
const year = date.getFullYear();
|
||||
|
||||
const monthNames = [s__('January'), s__('February'), s__('March'), s__('April'), s__('May'), s__('June'), s__('July'), s__('August'), s__('September'), s__('October'), s__('November'), s__('December')];
|
||||
const monthNamesAbbr = [s__('Jan'), s__('Feb'), s__('Mar'), s__('Apr'), s__('May'), s__('Jun'), s__('Jul'), s__('Aug'), s__('Sep'), s__('Oct'), s__('Nov'), s__('Dec')];
|
||||
const monthNames = [
|
||||
s__('January'),
|
||||
s__('February'),
|
||||
s__('March'),
|
||||
s__('April'),
|
||||
s__('May'),
|
||||
s__('June'),
|
||||
s__('July'),
|
||||
s__('August'),
|
||||
s__('September'),
|
||||
s__('October'),
|
||||
s__('November'),
|
||||
s__('December'),
|
||||
];
|
||||
const monthNamesAbbr = [
|
||||
s__('Jan'),
|
||||
s__('Feb'),
|
||||
s__('Mar'),
|
||||
s__('Apr'),
|
||||
s__('May'),
|
||||
s__('Jun'),
|
||||
s__('Jul'),
|
||||
s__('Aug'),
|
||||
s__('Sep'),
|
||||
s__('Oct'),
|
||||
s__('Nov'),
|
||||
s__('Dec'),
|
||||
];
|
||||
|
||||
const monthName = abbreviated ? monthNamesAbbr[month] : monthNames[month];
|
||||
|
||||
|
@ -210,7 +262,7 @@ export const monthInWords = (date, abbreviated = false) => {
|
|||
*
|
||||
* @param {Date} date
|
||||
*/
|
||||
export const totalDaysInMonth = (date) => {
|
||||
export const totalDaysInMonth = date => {
|
||||
if (!date) {
|
||||
return 0;
|
||||
}
|
||||
|
@ -223,12 +275,20 @@ export const totalDaysInMonth = (date) => {
|
|||
*
|
||||
* @param {Date} date
|
||||
*/
|
||||
export const getSundays = (date) => {
|
||||
export const getSundays = date => {
|
||||
if (!date) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const daysToSunday = ['Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday', 'Sunday'];
|
||||
const daysToSunday = [
|
||||
'Saturday',
|
||||
'Friday',
|
||||
'Thursday',
|
||||
'Wednesday',
|
||||
'Tuesday',
|
||||
'Monday',
|
||||
'Sunday',
|
||||
];
|
||||
|
||||
const month = date.getMonth();
|
||||
const year = date.getFullYear();
|
||||
|
|
|
@ -351,7 +351,7 @@ import Cookies from 'js-cookie';
|
|||
},
|
||||
|
||||
getCommitButtonText() {
|
||||
const initial = 'Commit conflict resolution';
|
||||
const initial = 'Commit to source branch';
|
||||
const inProgress = 'Committing...';
|
||||
|
||||
return this.state ? this.state.isSubmitting ? inProgress : initial : initial;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import tooltip from '../../vue_shared/directives/tooltip';
|
||||
|
||||
export default {
|
||||
name: 'MRWidgetAuthor',
|
||||
name: 'MrWidgetAuthor',
|
||||
directives: {
|
||||
tooltip,
|
||||
},
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<script>
|
||||
import mrWidgetAuthor from './mr_widget_author.vue';
|
||||
import MrWidgetAuthor from './mr_widget_author.vue';
|
||||
|
||||
export default {
|
||||
name: 'MRWidgetAuthorTime',
|
||||
components: {
|
||||
mrWidgetAuthor,
|
||||
MrWidgetAuthor,
|
||||
},
|
||||
props: {
|
||||
actionText: {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<script>
|
||||
import Flash from '../../../flash';
|
||||
import statusIcon from '../mr_widget_status_icon.vue';
|
||||
import mrWidgetAuthor from '../../components/mr_widget_author.vue';
|
||||
import MrWidgetAuthor from '../../components/mr_widget_author.vue';
|
||||
import eventHub from '../../event_hub';
|
||||
|
||||
export default {
|
||||
name: 'MRWidgetMergeWhenPipelineSucceeds',
|
||||
components: {
|
||||
mrWidgetAuthor,
|
||||
MrWidgetAuthor,
|
||||
statusIcon,
|
||||
},
|
||||
props: {
|
||||
|
|
|
@ -329,6 +329,10 @@
|
|||
&.invalid {
|
||||
@include status-color($gray-dark, color("gray"), $gray-darkest);
|
||||
border-color: $gray-darkest;
|
||||
|
||||
&:not(span):hover {
|
||||
color: $gray;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -286,6 +286,14 @@ $colors: (
|
|||
}
|
||||
|
||||
.resolve-conflicts-form {
|
||||
padding-top: $gl-padding;
|
||||
h4 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.resolve-info {
|
||||
@media (max-width: $screen-md-max) {
|
||||
margin-bottom: $gl-padding;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
module Groups
|
||||
module Settings
|
||||
class BadgesController < Groups::ApplicationController
|
||||
include GrapeRouteHelpers::NamedRouteMatcher
|
||||
include API::Helpers::RelatedResourcesHelpers
|
||||
|
||||
before_action :authorize_admin_group!
|
||||
|
||||
def index
|
||||
@badge_api_endpoint = api_v4_groups_badges_path(id: @group.id)
|
||||
@badge_api_endpoint = expose_url(api_v4_groups_badges_path(id: @group.id))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
module Projects
|
||||
module Settings
|
||||
class BadgesController < Projects::ApplicationController
|
||||
include GrapeRouteHelpers::NamedRouteMatcher
|
||||
include API::Helpers::RelatedResourcesHelpers
|
||||
|
||||
before_action :authorize_admin_project!
|
||||
|
||||
def index
|
||||
@badge_api_endpoint = api_v4_projects_badges_path(id: @project.id)
|
||||
@badge_api_endpoint = expose_url(api_v4_projects_badges_path(id: @project.id))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -894,6 +894,13 @@ class Project < ActiveRecord::Base
|
|||
Gitlab::Routing.url_helpers.project_url(self)
|
||||
end
|
||||
|
||||
def readme_url
|
||||
readme = repository.readme
|
||||
if readme
|
||||
Gitlab::Routing.url_helpers.project_blob_url(self, File.join(default_branch, readme.path))
|
||||
end
|
||||
end
|
||||
|
||||
def new_issuable_address(author, address_type)
|
||||
return unless Gitlab::IncomingEmail.supports_issue_creation? && author
|
||||
|
||||
|
|
|
@ -596,7 +596,7 @@ class Repository
|
|||
cache_method :gitlab_ci_yml
|
||||
|
||||
def xcode_project?
|
||||
file_on_head(:xcode_config).present?
|
||||
file_on_head(:xcode_config, :tree).present?
|
||||
end
|
||||
cache_method :xcode_project?
|
||||
|
||||
|
@ -920,11 +920,21 @@ class Repository
|
|||
end
|
||||
end
|
||||
|
||||
def file_on_head(type)
|
||||
if head = tree(:head)
|
||||
head.blobs.find do |blob|
|
||||
Gitlab::FileDetector.type_of(blob.path) == type
|
||||
def file_on_head(type, object_type = :blob)
|
||||
return unless head = tree(:head)
|
||||
|
||||
objects =
|
||||
case object_type
|
||||
when :blob
|
||||
head.blobs
|
||||
when :tree
|
||||
head.trees
|
||||
else
|
||||
raise ArgumentError, "Object type #{object_type} is not supported"
|
||||
end
|
||||
|
||||
objects.find do |object|
|
||||
Gitlab::FileDetector.type_of(object.path) == type
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ class User < ActiveRecord::Base
|
|||
has_many :created_projects, foreign_key: :creator_id, class_name: 'Project'
|
||||
has_many :users_star_projects, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
|
||||
has_many :starred_projects, through: :users_star_projects, source: :project
|
||||
has_many :project_authorizations
|
||||
has_many :project_authorizations, dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent
|
||||
has_many :authorized_projects, through: :project_authorizations, source: :project
|
||||
|
||||
has_many :user_interacted_projects
|
||||
|
@ -165,8 +165,7 @@ class User < ActiveRecord::Base
|
|||
validate :signup_domain_valid?, on: :create, if: ->(user) { !user.created_by_id }
|
||||
|
||||
before_validation :sanitize_attrs
|
||||
before_validation :set_notification_email, if: :email_changed?
|
||||
before_save :set_notification_email, if: :email_changed? # in case validation is skipped
|
||||
before_validation :set_notification_email, if: :new_record?
|
||||
before_validation :set_public_email, if: :public_email_changed?
|
||||
before_save :set_public_email, if: :public_email_changed? # in case validation is skipped
|
||||
before_save :ensure_incoming_email_token
|
||||
|
@ -179,8 +178,21 @@ class User < ActiveRecord::Base
|
|||
after_update :username_changed_hook, if: :username_changed?
|
||||
after_destroy :post_destroy_hook
|
||||
after_destroy :remove_key_cache
|
||||
after_commit :update_emails_with_primary_email, on: :update, if: -> { previous_changes.key?('email') }
|
||||
after_commit :update_invalid_gpg_signatures, on: :update, if: -> { previous_changes.key?('email') }
|
||||
after_commit(on: :update) do
|
||||
if previous_changes.key?('email')
|
||||
# Grab previous_email here since previous_changes changes after
|
||||
# #update_emails_with_primary_email and #update_notification_email are called
|
||||
previous_email = previous_changes[:email][0]
|
||||
|
||||
update_emails_with_primary_email(previous_email)
|
||||
update_invalid_gpg_signatures
|
||||
|
||||
if previous_email == notification_email
|
||||
self.notification_email = email
|
||||
save
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
after_initialize :set_projects_limit
|
||||
|
||||
|
@ -546,8 +558,7 @@ class User < ActiveRecord::Base
|
|||
# hash and `_was` variables getting munged.
|
||||
# By using an `after_commit` instead of `after_update`, we avoid the recursive callback
|
||||
# scenario, though it then requires us to use the `previous_changes` hash
|
||||
def update_emails_with_primary_email
|
||||
previous_email = previous_changes[:email][0] # grab this before the DestroyService is called
|
||||
def update_emails_with_primary_email(previous_email)
|
||||
primary_email_record = emails.find_by(email: email)
|
||||
Emails::DestroyService.new(self, user: self).execute(primary_email_record) if primary_email_record
|
||||
|
||||
|
@ -772,13 +783,13 @@ class User < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def set_notification_email
|
||||
if notification_email.blank? || !all_emails.include?(notification_email)
|
||||
if notification_email.blank? || all_emails.exclude?(notification_email)
|
||||
self.notification_email = email
|
||||
end
|
||||
end
|
||||
|
||||
def set_public_email
|
||||
if public_email.blank? || !all_emails.include?(public_email)
|
||||
if public_email.blank? || all_emails.exclude?(public_email)
|
||||
self.public_email = ''
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
= nav_link(path: 'projects#show', html_options: { class: "fly-out-top-item" } ) do
|
||||
= link_to project_path(@project) do
|
||||
%strong.fly-out-top-item-name
|
||||
= _('Overview')
|
||||
= _('Project')
|
||||
%li.divider.fly-out-top-item
|
||||
= nav_link(path: 'projects#show') do
|
||||
= link_to project_path(@project), title: _('Project details'), class: 'shortcuts-project' do
|
||||
|
|
|
@ -11,6 +11,6 @@
|
|||
Showing
|
||||
%strong.cred {{conflictsCountText}}
|
||||
between
|
||||
%strong {{conflictsData.sourceBranch}}
|
||||
%strong.ref-name {{conflictsData.sourceBranch}}
|
||||
and
|
||||
%strong {{conflictsData.targetBranch}}
|
||||
%strong.ref-name {{conflictsData.targetBranch}}
|
||||
|
|
|
@ -1,13 +1,21 @@
|
|||
- branch_name = link_to @merge_request.source_branch, project_tree_path(@merge_request.project, @merge_request.source_branch), class: "ref-name"
|
||||
- translation =_('You can resolve the merge conflict using either the Interactive mode, by choosing %{use_ours} or %{use_theirs} buttons, or by editing the files directly. Commit these changes into %{branch_name}') % { use_ours: '<code>Use Ours</code>', use_theirs: '<code>Use Theirs</code>', branch_name: branch_name }
|
||||
|
||||
%hr
|
||||
.resolve-conflicts-form
|
||||
.form-group.row
|
||||
%label.col-sm-2.col-form-label{ "for" => "commit-message" }
|
||||
#{ _('Commit message') }
|
||||
.col-sm-10
|
||||
.col-md-4
|
||||
%h4= _('Resolve conflicts on source branch')
|
||||
.resolve-info
|
||||
= translation.html_safe
|
||||
.col-md-8
|
||||
%label.label-light{ "for" => "commit-message" }
|
||||
#{ _('Commit message') }
|
||||
.commit-message-container
|
||||
.max-width-marker
|
||||
%textarea.form-control.js-commit-message#commit-message{ "v-model" => "conflictsData.commitMessage", "rows" => "5" }
|
||||
.form-group.row
|
||||
.offset-sm-2.col-sm-10
|
||||
.col-md-offset-4.col-md-8
|
||||
.row
|
||||
.col-6
|
||||
%button.btn.btn-success.js-submit-button{ type: "button", "@click" => "commit()", ":disabled" => "!readyToCommit" }
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
%br
|
||||
%p
|
||||
- deploy_token = link_to(_('deploy token'), help_page_path('user/project/deploy_tokens/index', anchor: 'read-container-registry-images'), target: '_blank')
|
||||
= s_('ContainerRegistry|You can also %{deploy_token} for read-only access to the registry images.').html_safe % { deploy_token: deploy_token }
|
||||
= s_('ContainerRegistry|You can also use a %{deploy_token} for read-only access to the registry images.').html_safe % { deploy_token: deploy_token }
|
||||
%br
|
||||
%p
|
||||
= s_('ContainerRegistry|Once you log in, you’re free to create and upload a container image using the common %{build} and %{push} commands').html_safe % { build: "<code>build</code>".html_safe, push: "<code>push</code>".html_safe }
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Introduce new ProjectCiCdSetting model with group_runners_enabled
|
||||
merge_request: 18144
|
||||
author:
|
||||
type: performance
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add cron job to email users on issue due date
|
||||
merge_request: 17985
|
||||
author: Stuart Nelson
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Improves wording in new pipeline page
|
||||
merge_request:
|
||||
author:
|
||||
type: other
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: Fix an issue where the notification email address would be set to an unconfirmed
|
||||
email address
|
||||
merge_request: 18474
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Improve tooltips in collapsed right sidebar
|
||||
merge_request: 17714
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Fix `joined` information on project members page
|
||||
merge_request: 18290
|
||||
author: Fabian Schneider
|
||||
type: fixed
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
title: Fix template selector menu visibility when toggling preview mode in file edit
|
||||
view
|
||||
merge_request: 18118
|
||||
author: Fabian Schneider
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Use VueJS for rendering pipeline stages
|
||||
merge_request:
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Prevent pipeline actions in dropdown to redirct to a new page
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Keep current labels visible when editing them in the sidebar
|
||||
merge_request:
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Reconcile project templates with Auto DevOps
|
||||
merge_request: 18737
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Adjust issue boards list header label text color
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add a comma to the time estimate system notes
|
||||
merge_request: 18326
|
||||
author:
|
||||
type: changed
|
|
@ -1,4 +0,0 @@
|
|||
title: Replace vue resource with axios in pipelines table
|
||||
merge_request:
|
||||
author:
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Improve DB performance of calculating total artifacts size
|
||||
merge_request: 17839
|
||||
author:
|
||||
type: performance
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Make project deploy keys table more clearly structured
|
||||
merge_request: 18279
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Refactor CSS to eliminate vertical misalignment of login nav
|
||||
merge_request: 16275
|
||||
author: Takuya Noguchi
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: 'Allow group owner to enable runners from subgroups (#41981)'
|
||||
merge_request: 18009
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Adds push mirrors to GitLab Community Edition
|
||||
merge_request: 18715
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Remove ahead/behind graphs on project branches on mobile
|
||||
merge_request: 18415
|
||||
author: Takuya Noguchi
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Show new branch/mr button even when branch exists
|
||||
merge_request: 17712
|
||||
author: Jacopo Beschi @jacopo-beschi
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Rubocop rule to avoid returning from a block
|
||||
merge_request: 18000
|
||||
author: Jacopo Beschi @jacopo-beschi
|
||||
type: added
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
title: Fix discussions API setting created_at for notable in a group or notable in
|
||||
a project in a group with owners
|
||||
merge_request: 18464
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Reduce queries on merge requests list page for merge requests from forks
|
||||
merge_request: 18561
|
||||
author:
|
||||
type: performance
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Breaks commit not found message in pipelines table
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Create settings section for autodevops
|
||||
merge_request: 18321
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add GCP signup offer to cluster index / create pages
|
||||
merge_request: 18684
|
||||
author:
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Display merge commit SHA in merge widget after merge
|
||||
merge_request: 18722
|
||||
author:
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Replace GKE acronym with Google Kubernetes Engine
|
||||
merge_request:
|
||||
author:
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Use RFC 3676 mail signature delimiters
|
||||
merge_request: 17979
|
||||
author: Enrico Scholz
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Enable specifying variables when executing a manual pipeline
|
||||
merge_request: 18440
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Removes modal boards store and mixins from global scope
|
||||
merge_request:
|
||||
author:
|
||||
type: other
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
title: Verifiy if pipeline has commit idetails and render information in MR widget
|
||||
when branch is deleted
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Expose Deploy Token data as environment varialbes on CI/CD jobs
|
||||
merge_request: 18414
|
||||
author:
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Fix pipeline status in branch/tag tree page
|
||||
merge_request: 17995
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Now `rake cache:clear` will also clear pipeline status cache
|
||||
merge_request: 18257
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Make toggle markdown preview shortcut only toggle selected field
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Clean up WebIDE status bar and add useful info
|
||||
merge_request:
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Remove branch name from the status bar of WebIDE
|
||||
merge_request:
|
||||
author:
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add the signature verfication badge to the compare view
|
||||
merge_request: 18245
|
||||
author: Marc Shaw
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Fix confirmation modal for deleting a protected branch
|
||||
merge_request: 18176
|
||||
author: Paul Bonaud @PaulRbR
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Adds illustration for when job log was erased
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Update faraday_middlewar to 0.12.2
|
||||
merge_request: 18397
|
||||
author: Takuya Noguchi
|
||||
type: security
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Fix tabs container styles to make RSS button clickable
|
||||
merge_request: 18559
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Fix undefined `html_escape` method during markdown rendering
|
||||
merge_request: 18418
|
||||
author:
|
||||
type: fixed
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
title: Correct text and functionality for delete user / delete user and contributions
|
||||
modal.
|
||||
merge_request: 18463
|
||||
author: Marc Schwede
|
||||
type: fixed
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
title: Don't automatically remove artifacts for pages jobs after pages:deploy has
|
||||
run
|
||||
merge_request: 18628
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Ensure member notifications are sent after the member actual creation/update in the DB
|
||||
merge_request: 18538
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Fix project creation for user endpoint when jobs_enabled parameter supplied
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Update links to /ci/lint with ones to project ci/lint
|
||||
merge_request: 18539
|
||||
author: Takuya Noguchi
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Replace time_ago_in_words with JS-based one
|
||||
merge_request: 18607
|
||||
author: Takuya Noguchi
|
||||
type: performance
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Expose readme url in Project API
|
||||
merge_request: 18960
|
||||
author: Imre Farkas
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Resolve Import/Export ci_cd_settings error updating the project
|
||||
merge_request: 46049
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: 46210 Display logo and user dropdown on mobile for terms page and fix styling
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Disables RBAC on nginx-ingress
|
||||
merge_request: 18947
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: fixed copy to blipboard button in embed bar of snippets
|
||||
merge_request: 18923
|
||||
author: haseebeqx
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Correct skewed Kubernetes popover illustration
|
||||
merge_request: 18949
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Fix unassign slash command preview
|
||||
merge_request: 18447
|
||||
author:
|
||||
type: fixed
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
title: Raise NoRepository error for non-valid repositories when calculating repository
|
||||
checksum
|
||||
merge_request: 18594
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: ShaAttribute no longer stops startup if database is missing
|
||||
merge_request: 18726
|
||||
author:
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Adds Embedded Snippets Support
|
||||
merge_request: 15695
|
||||
author: haseebeqx
|
||||
type: added
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Add NOT NULL constraints to project_authorizations.
|
||||
merge_request: 18980
|
||||
author:
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Transition to atomic internal ids for all models.
|
||||
merge_request: 44259
|
||||
author:
|
||||
type: other
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Increase text limit for GPG keys (mysql only).
|
||||
merge_request: 19069
|
||||
author:
|
||||
type: other
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
title: Replace "Click" with "Select" to be more inclusive of people with accessibility
|
||||
requirements
|
||||
merge_request: 18386
|
||||
author: Mark Lapierre
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add Copy metadata quick action
|
||||
merge_request: 16473
|
||||
author: Mateusz Bajorski
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add CI_COMMIT_MESSAGE, CI_COMMIT_TITLE and CI_COMMIT_DESCRIPTION predefined variables
|
||||
merge_request: 18672
|
||||
author:
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add loading icon padding for pipeline environments
|
||||
merge_request: 18631
|
||||
author: George Tsiolis
|
||||
type: fixed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add padding to profile description
|
||||
merge_request: 18663
|
||||
author: George Tsiolis
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Align project avatar on small viewports
|
||||
merge_request: 18513
|
||||
author: George Tsiolis
|
||||
type: changed
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: git SHA is now displayed alongside the GitLab version on the Admin Dashboard
|
||||
merge_request:
|
||||
author:
|
||||
type: added
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Add missing changelog type to docs
|
||||
merge_request: 18526
|
||||
author: "@blackst0ne"
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: 'Replace the `project/builds/artifacts.feature` spinach test with an rspec analog'
|
||||
merge_request: 18729
|
||||
author: '@blackst0ne'
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: "Replace the `project/commits/branches.feature` spinach test with an rspec analog"
|
||||
merge_request: 18302
|
||||
author: "@blackst0ne"
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Replace the `project/commits/comments.feature` spinach test with an rspec analog
|
||||
merge_request: 18356
|
||||
author: "@blackst0ne"
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Replace the `project/issues/milestones.feature` spinach test with an rspec analog
|
||||
merge_request: 18300
|
||||
author: "@blackst0ne"
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Replace the `project/source/markdown_render.feature` spinach test with an rspec analog
|
||||
merge_request: 18525
|
||||
author: "@blackst0ne"
|
||||
type: other
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Break issue title for board card title and issuable header text
|
||||
merge_request: 18674
|
||||
author: George Tsiolis
|
||||
type: changed
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue