summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md240
-rw-r--r--Gemfile4
-rw-r--r--Gemfile.lock12
-rw-r--r--Gemfile.rails5.lock12
-rw-r--r--VERSION2
-rw-r--r--app/assets/javascripts/api.js7
-rw-r--r--app/assets/javascripts/ide/stores/modules/file_templates/actions.js82
-rw-r--r--app/assets/javascripts/ide/stores/modules/file_templates/getters.js23
-rw-r--r--app/assets/javascripts/ide/stores/modules/file_templates/index.js12
-rw-r--r--app/assets/javascripts/ide/stores/modules/file_templates/mutation_types.js7
-rw-r--r--app/assets/javascripts/ide/stores/modules/file_templates/mutations.js21
-rw-r--r--app/assets/javascripts/ide/stores/modules/file_templates/state.js6
-rw-r--r--app/assets/stylesheets/bootstrap_migration.scss10
-rw-r--r--app/assets/stylesheets/framework/avatar.scss12
-rw-r--r--app/assets/stylesheets/framework/badges.scss2
-rw-r--r--app/assets/stylesheets/framework/buttons.scss4
-rw-r--r--app/assets/stylesheets/framework/common.scss2
-rw-r--r--app/assets/stylesheets/framework/filters.scss2
-rw-r--r--app/assets/stylesheets/framework/header.scss2
-rw-r--r--app/assets/stylesheets/framework/icons.scss2
-rw-r--r--app/assets/stylesheets/framework/issue_box.scss4
-rw-r--r--app/assets/stylesheets/framework/variables.scss37
-rw-r--r--app/assets/stylesheets/framework/variables_overrides.scss4
-rw-r--r--app/assets/stylesheets/pages/cycle_analytics.scss2
-rw-r--r--app/assets/stylesheets/pages/issuable.scss4
-rw-r--r--app/assets/stylesheets/pages/labels.scss4
-rw-r--r--app/assets/stylesheets/pages/merge_requests.scss8
-rw-r--r--app/assets/stylesheets/pages/note_form.scss6
-rw-r--r--app/assets/stylesheets/pages/notes.scss2
-rw-r--r--app/assets/stylesheets/pages/projects.scss12
-rw-r--r--app/assets/stylesheets/pages/search.scss8
-rw-r--r--app/assets/stylesheets/pages/settings.scss4
-rw-r--r--app/controllers/projects/commit_controller.rb2
-rw-r--r--app/models/commit.rb1
-rw-r--r--app/models/member.rb2
-rw-r--r--app/models/user.rb15
-rw-r--r--changelogs/unreleased/1756-set-iid-via-api.yml5
-rw-r--r--changelogs/unreleased/21326-avoid-nil-safe-message.yml5
-rw-r--r--changelogs/unreleased/23705-add-single-file-download-in-repo.yml5
-rw-r--r--changelogs/unreleased/25990-improve-web-terminal.yml5
-rw-r--r--changelogs/unreleased/25990-interactive-web-terminals-authorization.yml5
-rw-r--r--changelogs/unreleased/27456-improve-feedback-when-dev-cannot-push-to-empty-repo.yml5
-rw-r--r--changelogs/unreleased/29278-commits-page-tooltips.yml5
-rw-r--r--changelogs/unreleased/31576-redirect-commits-to-root-if-no-ref.yml5
-rw-r--r--changelogs/unreleased/32783-api-all-members-with-ancestors.yml6
-rw-r--r--changelogs/unreleased/32821-better-error-message-add-invalid-user-to-project.yml5
-rw-r--r--changelogs/unreleased/34572-ssh-certificates.yml5
-rw-r--r--changelogs/unreleased/35952-keep-admin-settings-open-after-submit.yml5
-rw-r--r--changelogs/unreleased/36409-frontend-for-clarifying-the-usefulness-of-the-search-bar.yml5
-rw-r--r--changelogs/unreleased/38604-add-private-profile.yml5
-rw-r--r--changelogs/unreleased/40973-disable-rack-attack-by-default.yml5
-rw-r--r--changelogs/unreleased/41416-making-instance-wide-data-tools-more-accessible.yml5
-rw-r--r--changelogs/unreleased/41441-add-target-branch-name-to-cherrypick-confirmation.yml5
-rw-r--r--changelogs/unreleased/41671-fixing-milestone-date-change-when-editing.yml5
-rw-r--r--changelogs/unreleased/41784-monitoring-graph-popovers.yml5
-rw-r--r--changelogs/unreleased/42415-omit-projects-from-get-group-endpoint.yml5
-rw-r--r--changelogs/unreleased/43011-typecast-markdownversion-prop-notesapp.yml5
-rw-r--r--changelogs/unreleased/43312-remove_user_activity_workers.yml5
-rw-r--r--changelogs/unreleased/44127-board-label-edit-drop-down-is-showing-incorrect-selected-labels-summary.yml5
-rw-r--r--changelogs/unreleased/44824-remove-ghost-notification-settings-for-group-and-project.yml5
-rw-r--r--changelogs/unreleased/45318-junit-FE.yml5
-rw-r--r--changelogs/unreleased/45318-vuex-store.yml5
-rw-r--r--changelogs/unreleased/45443-unable-to-save-user-profile-update-with-safari.yml5
-rw-r--r--changelogs/unreleased/46165-web-ide-branch-picker.yml5
-rw-r--r--changelogs/unreleased/46535-orphaned-uploads.yml5
-rw-r--r--changelogs/unreleased/46703-group-dashboard-line-height-is-too-tall-for-group-names.yml5
-rw-r--r--changelogs/unreleased/46869-deploy-tokens-failed-to-clone-lfs-repository.yml5
-rw-r--r--changelogs/unreleased/46930-fix-updated_at-if-created_at-is-set-note-api.yml5
-rw-r--r--changelogs/unreleased/46940-hashed-storage-extend-enable-hashed-storage-for-all-new-projects-to-for-all-new-and-renamed-projects.yml5
-rw-r--r--changelogs/unreleased/47156-improve-auto-devops-settings.yml5
-rw-r--r--changelogs/unreleased/47419-Fix-breadcrumbs.yml5
-rw-r--r--changelogs/unreleased/47548-monospace-commit-messages.yml5
-rw-r--r--changelogs/unreleased/47728-mr-api-documentation-changes.yml5
-rw-r--r--changelogs/unreleased/47768-web-ide-redesign-header.yml5
-rw-r--r--changelogs/unreleased/48036-fix-web-ide-blob-crash.yml5
-rw-r--r--changelogs/unreleased/48055-web-ide-resize-handles.yml5
-rw-r--r--changelogs/unreleased/48098-mutual-auth-cluster-applications.yml6
-rw-r--r--changelogs/unreleased/48246-osw-load-diffs-improvement.yml5
-rw-r--r--changelogs/unreleased/48419-charts-with-long-label-appear-oversized.yml5
-rw-r--r--changelogs/unreleased/48456-fix-system-level-labels-admin-ui.yml5
-rw-r--r--changelogs/unreleased/48537-update-avatar-only-via-api.yml5
-rw-r--r--changelogs/unreleased/48542-code-link.yml5
-rw-r--r--changelogs/unreleased/48617-promoting-milestone.yml5
-rw-r--r--changelogs/unreleased/48636-new-mr-card-styles.yml5
-rw-r--r--changelogs/unreleased/48657-persist-auto-devops-banner-dismissal-per-user-cookie.yml5
-rw-r--r--changelogs/unreleased/48773-gitlab-project-import-should-use-object-storage.yml5
-rw-r--r--changelogs/unreleased/48804-redesign-gcp-banner.yml5
-rw-r--r--changelogs/unreleased/48823-copy-gfm.yml5
-rw-r--r--changelogs/unreleased/48834-chart-versions-for-applications-installed-by-one-click-install-buttons-should-be-version-locked.yml6
-rw-r--r--changelogs/unreleased/48932-disable-saml-if-omniauth-is-disabled.yml5
-rw-r--r--changelogs/unreleased/48934.yml5
-rw-r--r--changelogs/unreleased/48976-fix-sti-background-migration.yml6
-rw-r--r--changelogs/unreleased/49025-docs-kubernetes-tiller.yml5
-rw-r--r--changelogs/unreleased/49107-prefetching-of-assets-and-cdn-domain.yml5
-rw-r--r--changelogs/unreleased/49114-add-gitaly-servers-to-admin-overview-navigation-menu.yml5
-rw-r--r--changelogs/unreleased/49161-disable-toggle-comments.yml5
-rw-r--r--changelogs/unreleased/49272-sanitize-git-url-in-import-errors.yml5
-rw-r--r--changelogs/unreleased/49291-fix-memory-graph-component-typo.yml5
-rw-r--r--changelogs/unreleased/49324-add-support-for-tar-gz-autodevops-charts.yml5
-rw-r--r--changelogs/unreleased/49364-fix-broadcast-margin.yml5
-rw-r--r--changelogs/unreleased/49375-move-help-popover.yml5
-rw-r--r--changelogs/unreleased/49499-list-of-projects-not-loading-when-trying-to-create-an-issue-from-a-board-typeerror.yml5
-rw-r--r--changelogs/unreleased/49701-sorting-by-name-on-milestones-page-error.yml5
-rw-r--r--changelogs/unreleased/49747-update-poll-2xx.yml5
-rw-r--r--changelogs/unreleased/49776-pipeline-job-log-page-uses-too-much-cpu-for-loading-animation.yml5
-rw-r--r--changelogs/unreleased/49830-use-helm-272.yml5
-rw-r--r--changelogs/unreleased/49835-increase-width.yml5
-rw-r--r--changelogs/unreleased/49851-link-to-runners.yml6
-rw-r--r--changelogs/unreleased/49854-recover-mr-regression-fixes-safe-1.yml5
-rw-r--r--changelogs/unreleased/49854-recover-mr-regression-fixes-safe-2.yml5
-rw-r--r--changelogs/unreleased/49854-recover-mr-regression-fixes-safe-3.yml5
-rw-r--r--changelogs/unreleased/49861-top-nav-search-bar-produces-console-error-when-unauthenticated.yml5
-rw-r--r--changelogs/unreleased/49899-merge-request-e-mail-link-has-full-url.yml5
-rw-r--r--changelogs/unreleased/49907-commits-and-merge-requests-does-not-list-all-files-when-one-file-exceeds-size-limits.yml5
-rw-r--r--changelogs/unreleased/49966-improve-junit-fe.yml5
-rw-r--r--changelogs/unreleased/50257-fix-auto-devops-glibc-pubkey-url.yml5
-rw-r--r--changelogs/unreleased/50281-js-pages-do-not-load-on-windows-8-ie-11.yml5
-rw-r--r--changelogs/unreleased/50312-instance-statistics-convdev-index-intro-banner-is-not-dismissable.yml5
-rw-r--r--changelogs/unreleased/6860-FE-instance-level-project-templates.yml5
-rw-r--r--changelogs/unreleased/accept-rf3-2822-compliant-addresses.yml5
-rw-r--r--changelogs/unreleased/add-dst-support-to-pipeline-schedule.yml5
-rw-r--r--changelogs/unreleased/add-homepage-link-to-status-pages.yml5
-rw-r--r--changelogs/unreleased/add-merge-request-header-branch-details-right-margin.yml5
-rw-r--r--changelogs/unreleased/add-total-time-flat-printer-for-profiling.yml6
-rw-r--r--changelogs/unreleased/api-empty-commit-message.yml5
-rw-r--r--changelogs/unreleased/api-empty-project-snippets.yml5
-rw-r--r--changelogs/unreleased/api-minimal-access-level.yml5
-rw-r--r--changelogs/unreleased/api-shared_group_expires-at.yml5
-rw-r--r--changelogs/unreleased/artifact-format-v2-with-parser.yml5
-rw-r--r--changelogs/unreleased/artifact-format-v2.yml5
-rw-r--r--changelogs/unreleased/blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs.yml5
-rw-r--r--changelogs/unreleased/bvl-graphql-wip-mutation.yml5
-rw-r--r--changelogs/unreleased/bvl-user-status-message-35463.yml5
-rw-r--r--changelogs/unreleased/ce-5666-backport.yml5
-rw-r--r--changelogs/unreleased/ce-6064-geo-sql-query-for-counting-projects-with-wikis-is-very-slow.yml5
-rw-r--r--changelogs/unreleased/close-revert-and-cherry-pick-modal-on-escape-keypress.yml5
-rw-r--r--changelogs/unreleased/cr-add-group-milestone-to-dashboard.yml5
-rw-r--r--changelogs/unreleased/cr-add-path-of-group-milestone.yml5
-rw-r--r--changelogs/unreleased/custom_wiki_sidebar.yml5
-rw-r--r--changelogs/unreleased/dz-fix-sql-error-admin-users-2fa.yml5
-rw-r--r--changelogs/unreleased/dz-labels-search.yml5
-rw-r--r--changelogs/unreleased/dz-manifest-import.yml5
-rw-r--r--changelogs/unreleased/feature-gb-email-delivery-metrics.yml5
-rw-r--r--changelogs/unreleased/feature-gb-login-activity-metrics.yml5
-rw-r--r--changelogs/unreleased/features-show-project-id-on-home-panel.yml5
-rw-r--r--changelogs/unreleased/fix-diff-note.yml5
-rw-r--r--changelogs/unreleased/fix-email-confirmation-addtional-email.yml5
-rw-r--r--changelogs/unreleased/fix-gb-add-missing-before-sha-predefined-variable.yml5
-rw-r--r--changelogs/unreleased/fix-gb-fix-deserializing-ci-yaml-variables.yml5
-rw-r--r--changelogs/unreleased/fix-gb-fix-project-settings-build-time-validation.yml5
-rw-r--r--changelogs/unreleased/fix-multiple-scopes.yml5
-rw-r--r--changelogs/unreleased/fix-project-api-archived.yml5
-rw-r--r--changelogs/unreleased/fix-prometheus-updated-status.yml5
-rw-r--r--changelogs/unreleased/fix-search-bar.yml5
-rw-r--r--changelogs/unreleased/fix-storage-size-for-artifacts-change.yml5
-rw-r--r--changelogs/unreleased/fj-37736-improve-performance-post-receive-create-gpg-siganture-worker.yml5
-rw-r--r--changelogs/unreleased/fj-48123-fix-gitlab-import.yml5
-rw-r--r--changelogs/unreleased/fj-49014-wiki-search-error.yml5
-rw-r--r--changelogs/unreleased/fj-49512-fix-gitlab-git-pages-encoding.yml5
-rw-r--r--changelogs/unreleased/fj-49802-bug-api-set-http-headers.yml5
-rw-r--r--changelogs/unreleased/floating-avarage-commit-numbers.yml5
-rw-r--r--changelogs/unreleased/frozen-string-danger.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-app-models-more.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-app-models.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-app-presenters-policies.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-app-serializers.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-app-services.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-apps-services-inner-even-more.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-apps-services-inner-more.yml5
-rw-r--r--changelogs/unreleased/frozen-string-enable-apps-services-inner.yml5
-rw-r--r--changelogs/unreleased/frozen-string-vestigial.yml5
-rw-r--r--changelogs/unreleased/full-list-of-vulnerabilities-5239.yml5
-rw-r--r--changelogs/unreleased/git-rerere-link-doc-update.yml5
-rw-r--r--changelogs/unreleased/hangouts_chat_integration.yml5
-rw-r--r--changelogs/unreleased/ide-codesandbox-poc.yml5
-rw-r--r--changelogs/unreleased/ide-delete-entries.yml5
-rw-r--r--changelogs/unreleased/ide-pipeline-icon-open.yml5
-rw-r--r--changelogs/unreleased/ide-rename-files.yml5
-rw-r--r--changelogs/unreleased/ide-row-dropdown-design-update.yml5
-rw-r--r--changelogs/unreleased/ide-warn-staged-files.yml5
-rw-r--r--changelogs/unreleased/improve-junit-support-be.yml5
-rw-r--r--changelogs/unreleased/improve-metadata-access-performance.yml5
-rw-r--r--changelogs/unreleased/issue_43602.yml5
-rw-r--r--changelogs/unreleased/issue_44821.yml5
-rw-r--r--changelogs/unreleased/issue_47709.yml5
-rw-r--r--changelogs/unreleased/jprovazn-resource-events.yml5
-rw-r--r--changelogs/unreleased/jr-archive-hook.yml5
-rw-r--r--changelogs/unreleased/jupyter-image.yml5
-rw-r--r--changelogs/unreleased/kp-6927-epic-dates-from-milestone.yml5
-rw-r--r--changelogs/unreleased/kp-stacked-progress-bar-decimal-places.yml5
-rw-r--r--changelogs/unreleased/leipert-fix-pipelines-view.yml5
-rw-r--r--changelogs/unreleased/mk-add-local-project-uploads-cleanup-task.yml5
-rw-r--r--changelogs/unreleased/mk-fix-callback-canceling-in-namespace-move-dir.yml5
-rw-r--r--changelogs/unreleased/osw-fix-missing-and-duplicated-milestones-on-list.yml5
-rw-r--r--changelogs/unreleased/osw-fix-n-plus-1-for-mrs-without-merge-info.yml5
-rw-r--r--changelogs/unreleased/pl-json-gon.yml5
-rw-r--r--changelogs/unreleased/process-commits-as-normal-in-forks-with-missing-upstream.yml5
-rw-r--r--changelogs/unreleased/project-visibility-tooltip.yml5
-rw-r--r--changelogs/unreleased/rails5-fix-48977.yml5
-rw-r--r--changelogs/unreleased/rails5-fix-flaky-spec-user-uses-shortcuts.yml5
-rw-r--r--changelogs/unreleased/rails5-fix-revert-modal-spec.yml5
-rw-r--r--changelogs/unreleased/rails5-gpg-permit-concurrent.yml5
-rw-r--r--changelogs/unreleased/rails5-mysql-fix-pr-importer-spec.yml5
-rw-r--r--changelogs/unreleased/rails5-mysql-rename-column.yml5
-rw-r--r--changelogs/unreleased/rails5-update-gemfile-lock-2.yml5
-rw-r--r--changelogs/unreleased/rails5-update-gemfile-lock.yml5
-rw-r--r--changelogs/unreleased/rails5-update-rouge.yml5
-rw-r--r--changelogs/unreleased/ravlen-deploy-tokens-display-update.yml5
-rw-r--r--changelogs/unreleased/regen-2fa-codes.yml5
-rw-r--r--changelogs/unreleased/replace-all-snake-case-in-scss-variables.yml5
-rw-r--r--changelogs/unreleased/replace-snake-case-css-classes.yml5
-rw-r--r--changelogs/unreleased/rouge-3-2-0.yml5
-rw-r--r--changelogs/unreleased/rouge_3-2-1.yml5
-rw-r--r--changelogs/unreleased/runner-features.yml5
-rw-r--r--changelogs/unreleased/runners-max-timeout-param.yml5
-rw-r--r--changelogs/unreleased/satishperala-gitlab-ce-20720_webhooks_full_image_url.yml5
-rw-r--r--changelogs/unreleased/security-fj-missing-csrf-system-hooks.yml5
-rw-r--r--changelogs/unreleased/security-ide-branch-name-xss.yml5
-rw-r--r--changelogs/unreleased/sh-bump-fog-google.yml5
-rw-r--r--changelogs/unreleased/sh-bump-gitaly-0-117.yml5
-rw-r--r--changelogs/unreleased/sh-bump-gitaly-for-11-2.yml5
-rw-r--r--changelogs/unreleased/sh-bump-haml-5-0-4.yml5
-rw-r--r--changelogs/unreleased/sh-bump-rugged-0-27-4.yml5
-rw-r--r--changelogs/unreleased/sh-bump-sanitize-4-6-6.yml5
-rw-r--r--changelogs/unreleased/sh-enable-frozen-literals-banzi-filters.yml5
-rw-r--r--changelogs/unreleased/sh-fix-admin-jobs-controller-timing-out.yml5
-rw-r--r--changelogs/unreleased/sh-fix-issue-47797-ce.yml5
-rw-r--r--changelogs/unreleased/sh-fix-issue-49133.yml5
-rw-r--r--changelogs/unreleased/sh-fix-stderr-pipe-consumption.yml5
-rw-r--r--changelogs/unreleased/sh-freeze-banzai-filter-strings.yml5
-rw-r--r--changelogs/unreleased/sh-handle-colons-in-url-passwords.yml5
-rw-r--r--changelogs/unreleased/sh-include-rbtrace.yml5
-rw-r--r--changelogs/unreleased/sh-lfs-fix-content-type.yml5
-rw-r--r--changelogs/unreleased/sh-limit-unauthenticated-session-times.yml5
-rw-r--r--changelogs/unreleased/sh-normalize-urls.yml5
-rw-r--r--changelogs/unreleased/sh-optimize-wiki-empty-check.yml5
-rw-r--r--changelogs/unreleased/sh-remove-banzai-instrumentation.yml5
-rw-r--r--changelogs/unreleased/sh-simplify-liveness-check.yml5
-rw-r--r--changelogs/unreleased/sh-support-users-find-by-confirmed-emails.yml5
-rw-r--r--changelogs/unreleased/sh-use-wiki-limit-parameter-gitaly.yml5
-rw-r--r--changelogs/unreleased/stop-dynamic-routable-creation.yml5
-rw-r--r--changelogs/unreleased/tc-reorder-mail-notify-references.yml5
-rw-r--r--changelogs/unreleased/todos-visibility-change.yml5
-rw-r--r--changelogs/unreleased/todos-visibility-migration.yml5
-rw-r--r--changelogs/unreleased/toggle-password-cluster.yml5
-rw-r--r--changelogs/unreleased/tweak-sql-buckets.yml5
-rw-r--r--changelogs/unreleased/tz-mr-port-memory-fixes.yml5
-rw-r--r--changelogs/unreleased/update-card-body-style.yml5
-rw-r--r--changelogs/unreleased/update-issue-closing-pattern.yml5
-rw-r--r--changelogs/unreleased/update-specific-runners-help-url.yml5
-rw-r--r--changelogs/unreleased/upgrade-hamlit-for-ruby25.yml5
-rw-r--r--changelogs/unreleased/winh-fix-gpg-regressions.yml5
-rw-r--r--changelogs/unreleased/winh-restyle-user-status.yml5
-rw-r--r--changelogs/unreleased/winh-stop-all-environments.yml5
-rw-r--r--changelogs/unreleased/winh-tree-view-gpg.yml5
-rw-r--r--changelogs/unreleased/winh-upgrade-grape-path-helpers.yml5
-rw-r--r--changelogs/unreleased/wrap-job-name-on-jobs-sidebar.yml5
-rw-r--r--changelogs/unreleased/zj-remove-git-rake-tasks.yml5
-rw-r--r--changelogs/unreleased/zj-repository-languages.yml5
-rw-r--r--config/initializers/fog_google_https_private_urls.rb2
-rw-r--r--doc/api/groups.md6
-rw-r--r--doc/university/high-availability/aws/README.md2
-rw-r--r--doc/university/high-availability/aws/img/reference-arch.pngbin183997 -> 0 bytes
-rw-r--r--doc/university/high-availability/aws/img/reference-arch2.pngbin0 -> 184033 bytes
-rw-r--r--lib/api/entities.rb1
-rw-r--r--lib/api/files.rb2
-rw-r--r--lib/api/project_snippets.rb4
-rw-r--r--locale/gitlab.pot6
-rw-r--r--qa/qa/scenario/test/integration/github.rb2
-rw-r--r--qa/qa/scenario/test/integration/kubernetes.rb2
-rw-r--r--qa/qa/scenario/test/integration/ldap.rb2
-rw-r--r--qa/qa/scenario/test/integration/mattermost.rb2
-rw-r--r--spec/controllers/projects/commit_controller_spec.rb2
-rw-r--r--spec/factories/project_group_links.rb1
-rw-r--r--spec/features/projects/commit/cherry_pick_spec.rb8
-rw-r--r--spec/javascripts/ide/stores/modules/file_templates/actions_spec.js336
-rw-r--r--spec/javascripts/ide/stores/modules/file_templates/getters_spec.js30
-rw-r--r--spec/javascripts/ide/stores/modules/file_templates/mutations_spec.js61
-rw-r--r--spec/models/commit_spec.rb6
-rw-r--r--spec/models/user_spec.rb8
-rw-r--r--spec/requests/api/files_spec.rb58
-rw-r--r--spec/requests/api/project_snippets_spec.rb16
-rw-r--r--spec/requests/api/projects_spec.rb16
283 files changed, 1053 insertions, 1220 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7be28a9ac0e..aee36bb6df3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,246 @@
documentation](doc/development/changelog.md) for instructions on adding your own
entry.
+## 11.2.0 (2018-08-22)
+
+### Security (5 changes)
+
+- Bump Gitaly to 0.117.1 for Rouge update. !21277
+- Fix symlink vulnerability in project import.
+- Bump rugged to 0.27.4 for security fixes.
+- Fixed XSS in branch name in Web IDE.
+- Adding CSRF protection to Hooks test action.
+
+### Removed (1 change)
+
+- Remove gitlab:user:check_repos, gitlab:check_repo, gitlab:git:prune, gitlab:git:gc, and gitlab:git:repack. !20806
+
+### Fixed (81 changes, 26 of them are from the community)
+
+- Fix namespace move callback behavior, especially to fix Geo replication of namespace moves during certain exceptions. !19297
+- Fix breadcrumbs in Admin/User interface. !19608 (Robin Naundorf)
+- Remove changes_count from MR API documentation where necessary. !19745 (Jan Beckmann)
+- Fix email confirmation bug when user adds additional email to account. !20084 (muhammadn)
+- Add support for daylight savings time to pipleline schedules. !20145
+- Fixing milestone date change when editing. !20279 (Orlando Del Aguila)
+- Add missing maximum_timeout parameter. !20355 (gfyoung)
+- [Rails5] Fix 'Invalid single-table inheritance type: Group is not a subclass of Gitlab::BackgroundMigration::FixCrossProjectLabelLinks::Namespace'. !20462 (@blackst0ne)
+- Rails5 fix mysql milliseconds problem in specs. !20464 (Jasper Maes)
+- Update Gemfile.rails5.lock with latest Gemfile.lock changes. !20466 (Jasper Maes)
+- Rails5 mysql fix milliseconds problem in pull request importer spec. !20475 (Jasper Maes)
+- Rails5 MySQL fix rename_column as part of cleanup_concurrent_column_type_change. !20514 (Jasper Maes)
+- Process commits as normal in forks when the upstream project is deleted. !20534
+- Fix project visibility tooltip. !20535 (Jamie Schembri)
+- Fix archived parameter for projects API. !20566 (Peter Marko)
+- Limit maximum project build timeout setting to 1 month. !20591
+- Fix GitLab project imports not loading due to API timeouts. !20599
+- Avoid process deadlock in popen by consuming input pipes. !20600
+- Disable SAML and Bitbucket if OmniAuth is disabled. !20608
+- Support multiple scopes when authing container registry scopes. !20617
+- Adds the ability to view group milestones on the dashboard milestone page. !20618
+- Allow issues API to receive an internal ID (iid) on create. !20626 (Jamie Schembri)
+- Fix typo in CSS transform property for Memory Graph component. !20650
+- Update design for system metrics popovers. !20655
+- Toggle Show / Hide Button for Kubernetes Password. !20659 (gfyoung)
+- Board label edit dropdown shows incorrect selected labels summary. !20673
+- Resolve "Unable to save user profile update with Safari". !20676
+- Escape username and password in UrlSanitizer#full_url. !20684
+- Remove background color from card-body style. !20689 (George Tsiolis)
+- Update total storage size when changing size of artifacts. !20697 (Peter Marko)
+- Rails5 fix user sees revert modal spec. !20706 (Jasper Maes)
+- Fix Web IDE crashing on directories named 'blob'. !20712
+- Fix accessing imported pipeline builds. !20713
+- Fixed bug with invalid repository reference using the wiki search. !20722
+- Resolve Copy diff file path as GFM is broken. !20725
+- Chart versions for applications installed by one click install buttons should be version locked. !20765
+- Fix misalignment of broadcast message on login page. !20794 (Robin Naundorf)
+- Fix Vue datatype errors for markdownVersion parsing. !20800
+- Fix authorization for interactive web terminals. !20811
+- Increase width of Web IDE sidebar resize handles. !20818
+- Fix new MR card styles. !20822
+- Fix link color in markdown code brackets. !20841
+- Rails5 update Gemfile.rails5.lock. !20858 (Jasper Maes)
+- fix height of full-width Metrics charts on large screens. !20866
+- Fix sorting by name on milestones page. !20881
+- Permit concurrent loads in gpg keychain mutex. !20894 (Jasper Maes)
+- Prevent editing and updating wiki pages with non UTF-8 encoding via web interface. !20906
+- Retrieve merge request closing issues from database cache. !20911
+- Fix LFS uploads not working with git-lfs 2.5.0. !20923
+- Fix bug setting http headers in Files API. !20938
+- Rails5: fix flaky spec. !20953 (Jasper Maes)
+- Fixed list of projects not loading in group boards. !20955
+- Fix autosave and ESC confirmation issues for MR discussions. !20968
+- Fix navigation to First and Next discussion on MR Changes tab. !20968
+- Fix rendering of the context lines in MR diffs page. !20968
+- fix error caused when using the search bar while unauthenticated. !20970
+- Fix GPG status badge loading regressions. !20987
+- Ensure links in notifications footer are not escaped. !21000
+- Rails5: update Rails5 lock for forgotten gem rouge. !21010 (Jasper Maes)
+- Fix UI error whereby prometheus application status is updated. !21029
+- Solves group dashboard line height is too tall for group names. !21033
+- Fix rendering of pipeline failure view when directly navigationg to it. !21043
+- Fix missing and duplicates on project milestone listing page. !21058
+- Fix merge requests not showing any diff files for big patches. !21125
+- Auto-DevOps.gitlab-ci.yml: Update glibc package signing key URL. !21182 (sgerrand)
+- Fix issue stopping Instance Statistics javascript to be executed. !21211
+- Fix broken JavaScript in IE11. !21214
+- Improve JUnit test reports in merge request widgets. !49966
+- Properly handle colons in URL passwords.
+- Renders test reports for resolved failures and resets error state.
+- Fix handling of annotated tags when Gitaly is not in use.
+- Fix serialization of LegacyDiffNote.
+- Escapes milestone and label's names on flash notice when promoting them.
+- Allow to toggle notifications for issues due soon.
+- Sanitize git URL in import errors. (Jamie Schembri)
+- Add missing predefined variable and fix docs.
+- Allow updating a project's avatar without other params. (Jamie Schembri)
+- Fix the UI for listing system-level labels.
+- Update hamlit to fix ruby 2.5 incompatibilities, fixes #42045. (Matthew Dawson)
+- Fix updated_at if created_at is set for Note API.
+- Fix search bar text input alignment.
+
+### Changed (32 changes, 7 of them are from the community)
+
+- Rack attack is now disabled by default. !16669
+- Include full image URL in webhooks for uploaded images. !18109 (Satish Perala)
+- Enable hashed storage for all newly created or renamed projects. !19747
+- Support manually stopping any environment from the UI. !20077
+- Close revert and cherry pick modal on escape keypress. !20341 (George Tsiolis)
+- Adds with_projects optional parameter to GET /groups/:id API endpoint. !20494
+- Improve feedback when a developer is unable to push to an empty repository. !20519
+- Display GPG status on repository and blob pages. !20524
+- Updated design of new entry dropdown in Web IDE. !20526
+- UX improvements to top nav search bar. !20537
+- Update issue closing pattern. !20554 (George Tsiolis)
+- Add merge request header branch actions left margin. !20643 (George Tsiolis)
+- Rubix, scikit-learn, tensorflow & other useful libraries pre-installed with JupyterHub. !20714 (Amit Rathi)
+- Show decimal place up to single digit in Stacked Progress Bar. !20776
+- Wrap job name on pipeline job sidebar. !20804 (George Tsiolis)
+- Redesign Web IDE back button and context header. !20850
+- Removes "show all" on reports and adds an actionButtons slot. !20855
+- Put fallback reply-key address first in the References header. !20871
+- Allow non-admins to view instance statistics (if permitted by the instance admins). !20874
+- Adds the project and group name to the return type for project and group milestones. !20890
+- Restyle status message input on profile settings. !20903
+- Ensure installed Helm Tiller For GitLab Managed Apps Is protected by mutual auth. !20928
+- Allow multiple JIRA transition ids. !20939
+- Use Helm 2.7.2 for GitLab Managed Apps. !20956
+- Create branch and MR picker for Web IDE. !20978
+- Update commit message styles with monospace font and overflow-x. !20988
+- Update to Rouge 3.2.0, including Terraform and Crystal lexer and bug fixes. !20991
+- Update design of project templates. !21012
+- Update to Rouge 3.2.1, which includes a critical fix to the Perl Lexer. !21263
+- Add a 10 ms bucket for SQL timings.
+- Show one digit after dot in commit_per_day value in charts page. (msdundar)
+- Redesign GCP offer banner.
+
+### Performance (30 changes, 10 of them are from the community)
+
+- Stop dynamically creating project and namespace routes. !20313
+- Tracking the number of repositories and wikis with a cached counter for site-wide statistics. !20413
+- Optimize ProjectWiki#empty? check. !20573
+- Delete UserActivities and related workers. !20597
+- Enable frozen string in app/services/**/*.rb. !20656 (gfyoung)
+- Enable more frozen string in app/services/**/*.rb. !20677 (gfyoung)
+- Limit the TTL for anonymous sessions to 1 hour. !20700
+- Enable even more frozen string in app/services/**/*.rb. !20702 (gfyoung)
+- Enable frozen string in app/serializers/**/*.rb. !20726 (gfyoung)
+- Enable frozen string in newly added files to previously processed directories. !20763 (gfyoung)
+- Use limit parameter to retrieve Wikis from Gitaly. !20764
+- Add Dangerfile for frozen_string_literal. !20767 (gfyoung)
+- Remove method instrumentation for Banzai filters and reference parsers. !20770
+- Enable frozen strings in lib/banzai/filter/*.rb. !20775
+- Enable frozen strings in remaining lib/banzai/filter/*.rb files. !20777
+- DNS prefetching if asset_host for CDN hosting is set. !20781
+- Bump nokogiri to 1.8.4 and sanitize to 4.6.6 for performance. !20795
+- Enable frozen string in app/presenters and app/policies. !20819 (gfyoung)
+- Bump haml gem to 5.0.4. !20847
+- Enable frozen string in app/models/*.rb. !20851 (gfyoung)
+- Performing Commit GPG signature calculation in bulk. !20870
+- Fix /admin/jobs failing to load due to statement timeout. !20909
+- refactor pipeline job log animation to reduce CPU usage. !20915
+- Improve performance when fetching collapsed diffs and commenting in merge requests. !20940
+- Enable frozen string for app/models/**/*.rb. !21001 (gfyoung)
+- Don't set gon variables in JSON requests. !21016 (Peter Leitzen)
+- Improve performance and memory footprint of Changes tab of Merge Requests. !21028
+- Avoid N+1 on MRs page when metrics merging date cannot be found. !21053
+- Bump Gitaly to 0.117.0. !21055
+- Access metadata directly from Object Storage.
+
+### Added (41 changes, 18 of them are from the community)
+
+- Show repository languages for projects. !19480
+- Adds API endpoint /api/v4/(project/group)/:id/members/all to list also inherited members. !19748 (Jacopo Beschi @jacopo-beschi)
+- Added live preview for JavaScript projects in the Web IDE. !19764
+- Add support for SSH certificate authentication. !19911 (Ævar Arnfjörð Bjarmason)
+- Add Hangouts Chat integration. !20290 (Kukovskii Vladimir)
+- Add ability to import multiple repositories by uploading a manifest file. !20304
+- Show Project ID on project home panel. !20305 (Tuğçe Nur Taş)
+- Add an option to have a private profile on GitLab. !20387 (jxterry)
+- Extend gitlab-ci.yml to request junit.xml test reports. !20390
+- Add the first mutations for merge requests to GraphQL. !20443
+- Add /-/health basic health check endpoint. !20456
+- Add filter for minimal access level in groups and projects API. !20478 (Marko, Peter)
+- Add download button for single file (including raw files) in repository. !20480 (Kia Mei Somabes)
+- Gitaly Servers link into Admin > Overview navigation menu. !20550
+- Adds foreign key to notification_settings.user_id. !20567 (Jacopo Beschi @jacopo-beschi)
+- JUnit XML Test Summary In MR widget. !20576
+- Cleans up display of Deploy Tokens to match Personal Access Tokens. !20578 (Marcel Amirault)
+- Users can set a status message and emoji. !20614 (niedermyer & davamr)
+- Add emails delivery Prometheus metrics. !20638
+- Verify runner feature set. !20664
+- Add more comprehensive metrics tracking authentication activity. !20668
+- Add support for tar.gz AUTO_DEVOPS_CHART charts (#49324). !20691 (@kondi1)
+- Adds Vuex store for reports section in MR widget. !20709
+- Redirect commits to root if no ref is provided (31576). !20738 (Kia Mei Somabes)
+- Search for labels by title or description on project labels page. !20749
+- Add object storage logic to project import. !20773
+- Enable renaming files and folders in Web IDE. !20835
+- Warn user when reload IDE with staged changes. !20857
+- Add local project uploads cleanup task. !20863
+- Improve error message when adding invalid user to a project. !20885 (Jacopo Beschi @jacopo-beschi)
+- Add link to homepage on static http status pages (404, 500, etc). !20898 (Jason Funk)
+- Clean orphaned files in object storage. !20918
+- Adds frontend support to render test reports on the MR widget. !20936
+- Trigger system hooks when project is archived/unarchived. !20995
+- Custom Wiki Sidebar Support Issue 14995. (Josh Sooter)
+- Emails on push recipients now accepts formats like John Doe <johndoe@example.com>. (George Thomas)
+- Add new model for tracking label events.
+- Improve danger confirmation modals by focusing input field. (Jamie Schembri)
+- Clicking CI icon in Web IDE now opens up pipelines panel.
+- Enabled deletion of files in the Web IDE.
+- Added button to regenerate 2FA codes. (Luke Picciau)
+
+### Other (26 changes, 7 of them are from the community)
+
+- Update specific runners help URL. !20213 (George Tsiolis)
+- Enable frozen string in apps/uploaders/*.rb. !20401 (gfyoung)
+- Update docs of Helm Tiller. !20515 (Takuya Noguchi)
+- Persist 'Auto DevOps' banner dismissal globally. !20540
+- Move xterm to a node dependency and remove it from vendor's folder. !20588
+- Upgrade grape-path-helpers to 1.0.6. !20601
+- Delete todos when user loses access to read the target. !20665
+- Remove tooltips from commit author avatar and name in commit lists. !20674
+- Allow cloning LFS repositories through DeployTokens. !20729
+- Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs'. !20768 (@blackst0ne)
+- Replace author_link snake case in stylesheets, specs, and helpers. !20797 (George Tsiolis)
+- Replace snake case in SCSS variables. !20799 (George Tsiolis)
+- Add rbtrace to Gemfile. !20831
+- Add support for searching users by confirmed e-mails. !20893
+- Changes poll.js to keep polling on any 2xx http status code. !20904
+- Remove todos of users without access to targets migration. !20927
+- Improve and simplify Auto DevOps settings flow. !20946
+- Keep admin settings sections open after submitting forms. !21040
+- CE port of "List groups with developer maintainer access on project creation". !21051
+- Update git rerere link in docs. !21060 (gfyoung)
+- Add 'tabindex' attribute support on Icon component to show BS4 popover on trigger type 'focus'. !21066
+- Add a Gitlab::Profiler.print_by_total_time convenience method for profiling from a Rails console.
+- Automatically expand runner's settings block when linking to the runner's settings page.
+- Increases title column on modal for reports.
+- Disables toggle comments button if diff has no discussions.
+- Moves help_popover component to a common location.
+
+
## 11.1.4 (2018-07-30)
### Fixed (4 changes, 1 of them is from the community)
diff --git a/Gemfile b/Gemfile
index bcede83df12..208289cb7fb 100644
--- a/Gemfile
+++ b/Gemfile
@@ -116,14 +116,14 @@ gem 'dropzonejs-rails', '~> 0.7.1'
# for backups
gem 'fog-aws', '~> 2.0.1'
gem 'fog-core', '~> 1.44'
-gem 'fog-google', '~> 1.3.3'
+gem 'fog-google', '~> 1.7.1'
gem 'fog-local', '~> 0.3'
gem 'fog-openstack', '~> 0.1'
gem 'fog-rackspace', '~> 0.1.1'
gem 'fog-aliyun', '~> 0.2.0'
# for Google storage
-gem 'google-api-client', '~> 0.19.8'
+gem 'google-api-client', '~> 0.23'
# for aws storage
gem 'unf', '~> 0.1.4'
diff --git a/Gemfile.lock b/Gemfile.lock
index 15a105579fb..77effb63d2e 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -239,11 +239,11 @@ GEM
builder
excon (~> 0.58)
formatador (~> 0.2)
- fog-google (1.3.3)
+ fog-google (1.7.1)
fog-core
fog-json
fog-xml
- google-api-client (~> 0.19.1)
+ google-api-client (~> 0.23.0)
fog-json (1.0.2)
fog-core (~> 1.0)
multi_json (~> 1.10)
@@ -329,7 +329,7 @@ GEM
actionpack (>= 3.0)
multi_json
request_store (>= 1.0)
- google-api-client (0.19.8)
+ google-api-client (0.23.4)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.5, < 0.7.0)
httpclient (>= 2.8.1, < 3.0)
@@ -738,7 +738,7 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
- retriable (3.1.1)
+ retriable (3.1.2)
rinku (2.0.0)
rotp (2.1.2)
rouge (3.2.1)
@@ -1031,7 +1031,7 @@ DEPENDENCIES
fog-aliyun (~> 0.2.0)
fog-aws (~> 2.0.1)
fog-core (~> 1.44)
- fog-google (~> 1.3.3)
+ fog-google (~> 1.7.1)
fog-local (~> 0.3)
fog-openstack (~> 0.1)
fog-rackspace (~> 0.1.1)
@@ -1051,7 +1051,7 @@ DEPENDENCIES
gitlab-styles (~> 2.4)
gitlab_omniauth-ldap (~> 2.0.4)
gon (~> 6.2)
- google-api-client (~> 0.19.8)
+ google-api-client (~> 0.23)
google-protobuf (= 3.5.1)
gpgme
grape (~> 1.0)
diff --git a/Gemfile.rails5.lock b/Gemfile.rails5.lock
index 7803d12c6b4..f9ec29cde90 100644
--- a/Gemfile.rails5.lock
+++ b/Gemfile.rails5.lock
@@ -242,11 +242,11 @@ GEM
builder
excon (~> 0.58)
formatador (~> 0.2)
- fog-google (1.3.3)
+ fog-google (1.7.1)
fog-core
fog-json
fog-xml
- google-api-client (~> 0.19.1)
+ google-api-client (~> 0.23.0)
fog-json (1.0.2)
fog-core (~> 1.0)
multi_json (~> 1.10)
@@ -332,7 +332,7 @@ GEM
actionpack (>= 3.0)
multi_json
request_store (>= 1.0)
- google-api-client (0.19.8)
+ google-api-client (0.23.4)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.5, < 0.7.0)
httpclient (>= 2.8.1, < 3.0)
@@ -748,7 +748,7 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
- retriable (3.1.1)
+ retriable (3.1.2)
rinku (2.0.0)
rotp (2.1.2)
rouge (3.2.0)
@@ -1043,7 +1043,7 @@ DEPENDENCIES
fog-aliyun (~> 0.2.0)
fog-aws (~> 2.0.1)
fog-core (~> 1.44)
- fog-google (~> 1.3.3)
+ fog-google (~> 1.7.1)
fog-local (~> 0.3)
fog-openstack (~> 0.1)
fog-rackspace (~> 0.1.1)
@@ -1063,7 +1063,7 @@ DEPENDENCIES
gitlab-styles (~> 2.4)
gitlab_omniauth-ldap (~> 2.0.4)
gon (~> 6.2)
- google-api-client (~> 0.19.8)
+ google-api-client (~> 0.23)
google-protobuf (= 3.5.1)
gpgme
grape (~> 1.0)
diff --git a/VERSION b/VERSION
index 53906da50f8..e1ceae704b9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-11.2.0-pre
+11.3.0-pre
diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js
index 25fe2ae553e..cd800d75f7a 100644
--- a/app/assets/javascripts/api.js
+++ b/app/assets/javascripts/api.js
@@ -15,6 +15,7 @@ const Api = {
mergeRequestChangesPath: '/api/:version/projects/:id/merge_requests/:mrid/changes',
mergeRequestVersionsPath: '/api/:version/projects/:id/merge_requests/:mrid/versions',
groupLabelsPath: '/groups/:namespace_path/-/labels',
+ templatesPath: '/api/:version/templates/:key',
licensePath: '/api/:version/templates/licenses/:key',
gitignorePath: '/api/:version/templates/gitignores/:key',
gitlabCiYmlPath: '/api/:version/templates/gitlab_ci_ymls/:key',
@@ -265,6 +266,12 @@ const Api = {
});
},
+ templates(key, params = {}) {
+ const url = Api.buildUrl(this.templatesPath).replace(':key', key);
+
+ return axios.get(url, { params });
+ },
+
buildUrl(url) {
let urlRoot = '';
if (gon.relative_url_root != null) {
diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/actions.js b/app/assets/javascripts/ide/stores/modules/file_templates/actions.js
new file mode 100644
index 00000000000..43237a29466
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/file_templates/actions.js
@@ -0,0 +1,82 @@
+import Api from '~/api';
+import { __ } from '~/locale';
+import * as types from './mutation_types';
+
+export const requestTemplateTypes = ({ commit }) => commit(types.REQUEST_TEMPLATE_TYPES);
+export const receiveTemplateTypesError = ({ commit, dispatch }) => {
+ commit(types.RECEIVE_TEMPLATE_TYPES_ERROR);
+ dispatch(
+ 'setErrorMessage',
+ {
+ text: __('Error loading template types.'),
+ action: () =>
+ dispatch('fetchTemplateTypes').then(() =>
+ dispatch('setErrorMessage', null, { root: true }),
+ ),
+ actionText: __('Please try again'),
+ },
+ { root: true },
+ );
+};
+export const receiveTemplateTypesSuccess = ({ commit }, templates) =>
+ commit(types.RECEIVE_TEMPLATE_TYPES_SUCCESS, templates);
+
+export const fetchTemplateTypes = ({ dispatch, state }) => {
+ if (!Object.keys(state.selectedTemplateType).length) return Promise.reject();
+
+ dispatch('requestTemplateTypes');
+
+ return Api.templates(state.selectedTemplateType.key)
+ .then(({ data }) => dispatch('receiveTemplateTypesSuccess', data))
+ .catch(() => dispatch('receiveTemplateTypesError'));
+};
+
+export const setSelectedTemplateType = ({ commit }, type) =>
+ commit(types.SET_SELECTED_TEMPLATE_TYPE, type);
+
+export const receiveTemplateError = ({ dispatch }, template) => {
+ dispatch(
+ 'setErrorMessage',
+ {
+ text: __('Error loading template.'),
+ action: payload =>
+ dispatch('fetchTemplateTypes', payload).then(() =>
+ dispatch('setErrorMessage', null, { root: true }),
+ ),
+ actionText: __('Please try again'),
+ actionPayload: template,
+ },
+ { root: true },
+ );
+};
+
+export const fetchTemplate = ({ dispatch, state }, template) => {
+ if (template.content) {
+ return dispatch('setFileTemplate', template);
+ }
+
+ return Api.templates(`${state.selectedTemplateType.key}/${template.key || template.name}`)
+ .then(({ data }) => {
+ dispatch('setFileTemplate', data);
+ })
+ .catch(() => dispatch('receiveTemplateError', template));
+};
+
+export const setFileTemplate = ({ dispatch, commit, rootGetters }, template) => {
+ dispatch(
+ 'changeFileContent',
+ { path: rootGetters.activeFile.path, content: template.content },
+ { root: true },
+ );
+ commit(types.SET_UPDATE_SUCCESS, true);
+};
+
+export const undoFileTemplate = ({ dispatch, commit, rootGetters }) => {
+ const file = rootGetters.activeFile;
+
+ dispatch('changeFileContent', { path: file.path, content: file.raw }, { root: true });
+ commit(types.SET_UPDATE_SUCCESS, false);
+};
+
+// prevent babel-plugin-rewire from generating an invalid default during karma tests
+export default () => {};
diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/getters.js b/app/assets/javascripts/ide/stores/modules/file_templates/getters.js
new file mode 100644
index 00000000000..38318fd49bf
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/file_templates/getters.js
@@ -0,0 +1,23 @@
+export const templateTypes = () => [
+ {
+ name: '.gitlab-ci.yml',
+ key: 'gitlab_ci_ymls',
+ },
+ {
+ name: '.gitignore',
+ key: 'gitignores',
+ },
+ {
+ name: 'LICENSE',
+ key: 'licenses',
+ },
+ {
+ name: 'Dockerfile',
+ key: 'dockerfiles',
+ },
+];
+
+export const showFileTemplatesBar = (_, getters) => name =>
+ getters.templateTypes.find(t => t.name === name);
+
+export default () => {};
diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/index.js b/app/assets/javascripts/ide/stores/modules/file_templates/index.js
new file mode 100644
index 00000000000..dfa5ef54413
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/file_templates/index.js
@@ -0,0 +1,12 @@
+import createState from './state';
+import * as actions from './actions';
+import * as getters from './getters';
+import mutations from './mutations';
+
+export default {
+ namespaced: true,
+ actions,
+ state: createState(),
+ getters,
+ mutations,
+};
diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/mutation_types.js b/app/assets/javascripts/ide/stores/modules/file_templates/mutation_types.js
new file mode 100644
index 00000000000..cf4499c0264
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/file_templates/mutation_types.js
@@ -0,0 +1,7 @@
+export const REQUEST_TEMPLATE_TYPES = 'REQUEST_TEMPLATE_TYPES';
+export const RECEIVE_TEMPLATE_TYPES_ERROR = 'RECEIVE_TEMPLATE_TYPES_ERROR';
+export const RECEIVE_TEMPLATE_TYPES_SUCCESS = 'RECEIVE_TEMPLATE_TYPES_SUCCESS';
+
+export const SET_SELECTED_TEMPLATE_TYPE = 'SET_SELECTED_TEMPLATE_TYPE';
+
+export const SET_UPDATE_SUCCESS = 'SET_UPDATE_SUCCESS';
diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/mutations.js b/app/assets/javascripts/ide/stores/modules/file_templates/mutations.js
new file mode 100644
index 00000000000..e413e61eaaa
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/file_templates/mutations.js
@@ -0,0 +1,21 @@
+/* eslint-disable no-param-reassign */
+import * as types from './mutation_types';
+
+export default {
+ [types.REQUEST_TEMPLATE_TYPES](state) {
+ state.isLoading = true;
+ },
+ [types.RECEIVE_TEMPLATE_TYPES_ERROR](state) {
+ state.isLoading = false;
+ },
+ [types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, templates) {
+ state.isLoading = false;
+ state.templates = templates;
+ },
+ [types.SET_SELECTED_TEMPLATE_TYPE](state, type) {
+ state.selectedTemplateType = type;
+ },
+ [types.SET_UPDATE_SUCCESS](state, success) {
+ state.updateSuccess = success;
+ },
+};
diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/state.js b/app/assets/javascripts/ide/stores/modules/file_templates/state.js
new file mode 100644
index 00000000000..bd4b7d7bc52
--- /dev/null
+++ b/app/assets/javascripts/ide/stores/modules/file_templates/state.js
@@ -0,0 +1,6 @@
+export default () => ({
+ isLoading: false,
+ templates: [],
+ selectedTemplateType: {},
+ updateSuccess: false,
+});
diff --git a/app/assets/stylesheets/bootstrap_migration.scss b/app/assets/stylesheets/bootstrap_migration.scss
index e8e707cf90c..c91f5e279ea 100644
--- a/app/assets/stylesheets/bootstrap_migration.scss
+++ b/app/assets/stylesheets/bootstrap_migration.scss
@@ -4,11 +4,11 @@
$text-color: $gl-text-color;
-$brand-primary: $gl-primary;
-$brand-success: $gl-success;
-$brand-info: $gl-info;
-$brand-warning: $gl-warning;
-$brand-danger: $gl-danger;
+$brand-primary: $blue-500;
+$brand-success: $green-500;
+$brand-info: $blue-500;
+$brand-warning: $orange-500;
+$brand-danger: $red-500;
$border-radius-base: 3px !default;
diff --git a/app/assets/stylesheets/framework/avatar.scss b/app/assets/stylesheets/framework/avatar.scss
index 4c7c399a3ca..9dd0384a228 100644
--- a/app/assets/stylesheets/framework/avatar.scss
+++ b/app/assets/stylesheets/framework/avatar.scss
@@ -8,7 +8,7 @@
float: left;
margin-right: 15px;
border-radius: $avatar-radius;
- border: 1px solid $avatar-border;
+ border: 1px solid $gray-normal;
&.s16 { @include avatar-size(16px, 6px); }
&.s18 { @include avatar-size(18px, 6px); }
&.s19 { @include avatar-size(19px, 6px); }
@@ -36,7 +36,7 @@
width: 40px;
height: 40px;
padding: 0;
- background: $avatar-background;
+ background: $gray-lightest;
overflow: hidden;
&.avatar-inline {
@@ -62,7 +62,7 @@
}
&:not([href]):hover {
- border-color: darken($avatar-border, 10%);
+ border-color: darken($gray-normal, 10%);
}
}
@@ -70,7 +70,7 @@
text-align: center;
vertical-align: top;
color: $identicon-fg-color;
- background-color: $identicon-gray;
+ background-color: $gray-darker;
// Sizes
&.s16 { font-size: 12px; line-height: 1.33; }
@@ -94,7 +94,7 @@
&.bg4 { background-color: $identicon-blue; }
&.bg5 { background-color: $identicon-teal; }
&.bg6 { background-color: $identicon-orange; }
- &.bg7 { background-color: $identicon-gray; }
+ &.bg7 { background-color: $gray-darker; }
}
.avatar-container {
@@ -122,7 +122,7 @@
.avatar-counter {
background-color: $gray-darkest;
color: $white-light;
- border: 1px solid $avatar-border;
+ border: 1px solid $gray-normal;
border-radius: 1em;
font-family: $regular-font;
font-size: 9px;
diff --git a/app/assets/stylesheets/framework/badges.scss b/app/assets/stylesheets/framework/badges.scss
index 57df9b969c3..c6060161dec 100644
--- a/app/assets/stylesheets/framework/badges.scss
+++ b/app/assets/stylesheets/framework/badges.scss
@@ -1,6 +1,6 @@
.badge.badge-pill {
font-weight: $gl-font-weight-normal;
background-color: $badge-bg;
- color: $badge-color;
+ color: $gl-text-color-secondary;
vertical-align: baseline;
}
diff --git a/app/assets/stylesheets/framework/buttons.scss b/app/assets/stylesheets/framework/buttons.scss
index 0dc7aa4ef68..72b4ed0ac33 100644
--- a/app/assets/stylesheets/framework/buttons.scss
+++ b/app/assets/stylesheets/framework/buttons.scss
@@ -452,14 +452,14 @@
}
.btn-missing {
- color: $notes-light-color;
+ color: $gl-text-color-secondary;
border: 1px dashed $border-gray-normal-dashed;
border-radius: $border-radius-default;
&:hover,
&:active,
&:focus {
- color: $notes-light-color;
+ color: $gl-text-color-secondary;
background-color: $white-normal;
}
}
diff --git a/app/assets/stylesheets/framework/common.scss b/app/assets/stylesheets/framework/common.scss
index 79ca6e61e9a..7c5380a90f7 100644
--- a/app/assets/stylesheets/framework/common.scss
+++ b/app/assets/stylesheets/framework/common.scss
@@ -352,7 +352,7 @@ img.emoji {
border-color: $border-color !important;
.dz-upload {
- background: $gl-success !important;
+ background: $green-500 !important;
}
}
diff --git a/app/assets/stylesheets/framework/filters.scss b/app/assets/stylesheets/framework/filters.scss
index 9b09ed0ed0a..abfe350677e 100644
--- a/app/assets/stylesheets/framework/filters.scss
+++ b/app/assets/stylesheets/framework/filters.scss
@@ -206,7 +206,7 @@
&.focus,
&.focus:hover {
border-color: $blue-300;
- box-shadow: 0 0 4px $search-input-focus-shadow-color;
+ box-shadow: 0 0 4px $dropdown-input-focus-shadow;
}
gl-emoji {
diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss
index e7e13d35d8e..11a30d83f03 100644
--- a/app/assets/stylesheets/framework/header.scss
+++ b/app/assets/stylesheets/framework/header.scss
@@ -554,7 +554,7 @@
float: left;
margin-right: 5px;
border-radius: 50%;
- border: 1px solid $avatar-border;
+ border: 1px solid $gray-normal;
}
.with-performance-bar .navbar-gitlab {
diff --git a/app/assets/stylesheets/framework/icons.scss b/app/assets/stylesheets/framework/icons.scss
index d1f7ff4438b..f002edced8a 100644
--- a/app/assets/stylesheets/framework/icons.scss
+++ b/app/assets/stylesheets/framework/icons.scss
@@ -11,7 +11,7 @@
.ci-status-icon-failed {
svg {
- fill: $gl-danger;
+ fill: $red-500;
}
&.add-border {
diff --git a/app/assets/stylesheets/framework/issue_box.scss b/app/assets/stylesheets/framework/issue_box.scss
index da5f80d9d37..2d672e62e08 100644
--- a/app/assets/stylesheets/framework/issue_box.scss
+++ b/app/assets/stylesheets/framework/issue_box.scss
@@ -26,12 +26,12 @@
&.status-box-closed,
&.status-box-mr-closed {
- background-color: $gl-danger;
+ background-color: $red-500;
}
&.status-box-issue-closed,
&.status-box-mr-merged {
- background-color: $gl-primary;
+ background-color: $blue-500;
}
&.status-box-open {
diff --git a/app/assets/stylesheets/framework/variables.scss b/app/assets/stylesheets/framework/variables.scss
index 96508a71bd8..3531ce31794 100644
--- a/app/assets/stylesheets/framework/variables.scss
+++ b/app/assets/stylesheets/framework/variables.scss
@@ -297,19 +297,9 @@ $tanuki-yellow: #fca326;
/*
* State colors:
*/
-$gl-primary: $blue-500;
-$gl-success: $green-500;
-$gl-success-focus: rgba($gl-success, 0.4);
-$gl-info: $blue-500;
-$gl-warning: $orange-500;
-$gl-danger: $red-500;
+$green-500-focus: rgba($green-500, 0.4);
$gl-btn-active-background: rgba(0, 0, 0, 0.16);
$gl-btn-active-gradient: inset 0 2px 3px $gl-btn-active-background;
-// Bootstrap override states
-$success: $gl-success;
-$info: $gl-info;
-$warning: $gl-warning;
-$danger: $gl-danger;
/*
* Commit Diff Colors
@@ -330,9 +320,9 @@ $dark-diff-match-bg: rgba(255, 255, 255, 0.3);
$dark-diff-match-color: rgba(255, 255, 255, 0.1);
$file-mode-changed: #777;
$file-mode-changed: #777;
-$diff-image-info-color: grey;
+$diff-image-info-color: gray;
$diff-swipe-border: #999;
-$diff-view-modes-color: grey;
+$diff-view-modes-color: gray;
$diff-view-modes-border: #c1c1c1;
$diff-jagged-border-gradient-color: darken($white-normal, 8%);
@@ -372,7 +362,6 @@ $dropdown-member-form-control-width: 163px;
* Filtered Search
*/
$filtered-search-term-shadow-color: rgba(0, 0, 0, 0.09);
-$dropdown-hover-color: $blue-400;
/*
* Contextual Sidebar
@@ -387,7 +376,7 @@ $sidebar-milestone-toggle-bottom-margin: 10px;
* Buttons
*/
$btn-active-gray: #ececec;
-$btn-active-gray-light: e4e7ed;
+$btn-active-gray-light: #e4e7ed;
$btn-white-active: #848484;
$gl-btn-padding: 10px;
$gl-btn-line-height: 16px;
@@ -398,7 +387,6 @@ $gl-btn-horz-padding: 12px;
* Badges
*/
$badge-bg: rgba(0, 0, 0, 0.07);
-$badge-color: $gl-text-color-secondary;
/*
* Pagination
@@ -406,21 +394,12 @@ $badge-color: $gl-text-color-secondary;
$pagination-padding-y: 6px;
$pagination-padding-x: 16px;
$pagination-line-height: 20px;
-$pagination-border-color: $border-color;
-$pagination-active-bg: $blue-600;
-$pagination-active-border-color: $blue-600;
-$pagination-hover-bg: $blue-50;
-$pagination-hover-border-color: $border-color;
-$pagination-hover-color: $gl-text-color;
$pagination-disabled-color: #cdcdcd;
-$pagination-disabled-bg: $gray-light;
-$pagination-disabled-border-color: $border-color;
/*
* Status icons
*/
$status-icon-size: 22px;
-$status-icon-margin: $gl-btn-padding;
/*
* Award emoji
@@ -433,16 +412,13 @@ $award-emoji-positive-add-lines: #bb9c13;
* Search Box
*/
$search-input-border-color: rgba($blue-400, 0.8);
-$search-input-focus-shadow-color: $dropdown-input-focus-shadow;
$search-input-width: 240px;
$search-input-active-width: 320px;
-$location-badge-active-bg: $blue-500;
$location-icon-color: #e7e9ed;
/*
* Notes
*/
-$notes-light-color: $gl-text-color-secondary;
$note-disabled-comment-color: #b2b2b2;
$note-targe3-outside: #fffff0;
$note-targe3-inside: #ffffd3;
@@ -463,7 +439,6 @@ $identicon-indigo: #e8eaf6;
$identicon-blue: #e3f2fd;
$identicon-teal: #e0f2f1;
$identicon-orange: #fbe9e7;
-$identicon-gray: $gray-darker;
$identicon-fg-color: #555555;
/*
@@ -479,7 +454,6 @@ $calendar-user-contrib-text: #959494;
$cycle-analytics-box-padding: 30px;
$cycle-analytics-box-text-color: #8c8c8c;
$cycle-analytics-big-font: 19px;
-$cycle-analytics-dark-text: $gl-text-color;
$cycle-analytics-light-gray: #bfbfbf;
$cycle-analytics-dismiss-icon-color: #b2b2b2;
@@ -507,9 +481,6 @@ $issue-board-list-difference-md: $issue-board-list-difference-sm + $issue-boards
* Avatar
*/
$avatar-radius: 50%;
-$avatar-border: $gray-normal;
-$avatar-border-hover: $gray-darker;
-$avatar-background: $gray-lightest;
$gl-avatar-size: 40px;
/*
diff --git a/app/assets/stylesheets/framework/variables_overrides.scss b/app/assets/stylesheets/framework/variables_overrides.scss
index b9c343fa2e9..7d90452e1f4 100644
--- a/app/assets/stylesheets/framework/variables_overrides.scss
+++ b/app/assets/stylesheets/framework/variables_overrides.scss
@@ -14,3 +14,7 @@ $btn-line-height: 20px;
$table-accent-bg: $gray-light;
$card-border-color: $border-color;
$card-cap-bg: $gray-light;
+$success: $green-500;
+$info: $blue-500;
+$warning: $orange-500;
+$danger: $red-500;
diff --git a/app/assets/stylesheets/pages/cycle_analytics.scss b/app/assets/stylesheets/pages/cycle_analytics.scss
index bc4c90711d7..f0228768b5a 100644
--- a/app/assets/stylesheets/pages/cycle_analytics.scss
+++ b/app/assets/stylesheets/pages/cycle_analytics.scss
@@ -285,7 +285,7 @@
.total-time {
font-size: $cycle-analytics-big-font;
- color: $cycle-analytics-dark-text;
+ color: $gl-text-color;
span {
color: $gl-text-color;
diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss
index 6f0f82964c8..9ac47a771a5 100644
--- a/app/assets/stylesheets/pages/issuable.scss
+++ b/app/assets/stylesheets/pages/issuable.scss
@@ -144,7 +144,7 @@
color: $blue-800;
.avatar {
- border-color: rgba($avatar-border, .2);
+ border-color: rgba($gray-normal, .2);
}
}
@@ -231,7 +231,7 @@
}
a.edit-link:not([href]):hover {
- color: rgba($avatar-border, .2);
+ color: rgba($gray-normal, .2);
}
.lock-edit, // uses same style, different js behaviour
diff --git a/app/assets/stylesheets/pages/labels.scss b/app/assets/stylesheets/pages/labels.scss
index d32943fceec..d2b9470be69 100644
--- a/app/assets/stylesheets/pages/labels.scss
+++ b/app/assets/stylesheets/pages/labels.scss
@@ -67,7 +67,7 @@
.dropdown-labels-error {
padding: 5px 10px;
margin-bottom: 10px;
- background-color: $gl-danger;
+ background-color: $red-500;
color: $white-light;
}
@@ -117,7 +117,7 @@
color: $blue-600;
&.remove-row {
- color: $gl-danger;
+ color: $red-500;
}
}
}
diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss
index 621321101cd..5631d943984 100644
--- a/app/assets/stylesheets/pages/merge_requests.scss
+++ b/app/assets/stylesheets/pages/merge_requests.scss
@@ -200,7 +200,7 @@
.mr-widget-icon {
font-size: 22px;
- margin-right: $status-icon-margin;
+ margin-right: $gl-btn-padding;
}
.ci-status-icon svg {
@@ -281,7 +281,7 @@
margin-bottom: 0;
&.has-conflicts .fa-exclamation-triangle {
- color: $gl-warning;
+ color: $orange-500;
}
time {
@@ -313,7 +313,7 @@
}
.danger {
- color: $gl-danger;
+ color: $red-500;
}
.spacing,
@@ -514,7 +514,7 @@
}
.mr-links {
- padding-left: $status-icon-size + $status-icon-margin;
+ padding-left: $status-icon-size + $gl-btn-padding;
}
.mr-info-list {
diff --git a/app/assets/stylesheets/pages/note_form.scss b/app/assets/stylesheets/pages/note_form.scss
index 4f861d43f55..ac7b701c2e2 100644
--- a/app/assets/stylesheets/pages/note_form.scss
+++ b/app/assets/stylesheets/pages/note_form.scss
@@ -74,13 +74,13 @@
}
&.is-dropzone-hover {
- border-color: $gl-success;
+ border-color: $green-500;
box-shadow: 0 0 2px $black-transparent,
- 0 0 4px $gl-success-focus;
+ 0 0 4px $green-500-focus;
.comment-toolbar,
.nav-links {
- border-color: $gl-success;
+ border-color: $green-500;
}
}
}
diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss
index 2e1b2126887..fce04c58c24 100644
--- a/app/assets/stylesheets/pages/notes.scss
+++ b/app/assets/stylesheets/pages/notes.scss
@@ -443,7 +443,7 @@ ul.notes {
.note-headline-light,
.discussion-headline-light {
- color: $notes-light-color;
+ color: $gl-text-color-secondary;
}
.discussion-headline-light {
diff --git a/app/assets/stylesheets/pages/projects.scss b/app/assets/stylesheets/pages/projects.scss
index c11916454c8..3154bcf5d0f 100644
--- a/app/assets/stylesheets/pages/projects.scss
+++ b/app/assets/stylesheets/pages/projects.scss
@@ -394,23 +394,23 @@
}
.vs-public {
- color: $gl-primary;
+ color: $blue-500;
}
.vs-internal {
- color: $gl-warning;
+ color: $orange-500;
}
.vs-private {
- color: $gl-success;
+ color: $green-500;
}
.lfs-enabled {
- color: $gl-success;
+ color: $green-500;
}
.lfs-disabled {
- color: $gl-warning;
+ color: $orange-500;
}
.breadcrumb.repo-breadcrumb {
@@ -731,7 +731,7 @@
background-color: transparent;
font-size: $gl-font-size;
line-height: $gl-btn-line-height;
- color: $notes-light-color;
+ color: $gl-text-color-secondary;
}
.stat-link {
diff --git a/app/assets/stylesheets/pages/search.scss b/app/assets/stylesheets/pages/search.scss
index 5b3a468cd1c..77119aea9e2 100644
--- a/app/assets/stylesheets/pages/search.scss
+++ b/app/assets/stylesheets/pages/search.scss
@@ -24,12 +24,12 @@ $search-avatar-size: 16px;
.form-control:hover,
:not[readonly] {
border-color: lighten($blue-300, 20%);
- box-shadow: 0 0 4px lighten($search-input-focus-shadow-color, 20%);
+ box-shadow: 0 0 4px lighten($dropdown-input-focus-shadow, 20%);
}
input[type='checkbox']:hover {
- box-shadow: 0 0 2px 2px lighten($search-input-focus-shadow-color, 20%),
- 0 0 0 1px lighten($search-input-focus-shadow-color, 20%);
+ box-shadow: 0 0 2px 2px lighten($dropdown-input-focus-shadow, 20%),
+ 0 0 0 1px lighten($dropdown-input-focus-shadow, 20%);
}
.search {
@@ -181,7 +181,7 @@ input[type='checkbox']:hover {
width: $search-avatar-size;
height: $search-avatar-size;
border-radius: 50%;
- border: 1px solid $avatar-border;
+ border: 1px solid $gray-normal;
}
}
diff --git a/app/assets/stylesheets/pages/settings.scss b/app/assets/stylesheets/pages/settings.scss
index 5aa4cdec9c3..e351dd7c0bb 100644
--- a/app/assets/stylesheets/pages/settings.scss
+++ b/app/assets/stylesheets/pages/settings.scss
@@ -120,11 +120,11 @@
}
.warning-title {
- color: $gl-warning;
+ color: $orange-500;
}
.danger-title {
- color: $gl-danger;
+ color: $red-500;
}
.integration-settings-form {
diff --git a/app/controllers/projects/commit_controller.rb b/app/controllers/projects/commit_controller.rb
index 44b176d304e..53637780a07 100644
--- a/app/controllers/projects/commit_controller.rb
+++ b/app/controllers/projects/commit_controller.rb
@@ -101,7 +101,7 @@ class Projects::CommitController < Projects::ApplicationController
@branch_name = create_new_branch? ? @commit.cherry_pick_branch_name : @start_branch
- create_commit(Commits::CherryPickService, success_notice: "The #{@commit.change_type_title(current_user)} has been successfully cherry-picked.",
+ create_commit(Commits::CherryPickService, success_notice: "The #{@commit.change_type_title(current_user)} has been successfully cherry-picked into #{@branch_name}.",
success_path: -> { successful_change_path }, failure_path: failed_change_path)
end
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 27fbdc3e386..594972ad344 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -193,6 +193,7 @@ class Commit
# otherwise returns commit message without first line
def description
return safe_message if full_title.length >= 100
+ return no_commit_message if safe_message.blank?
safe_message.split("\n", 2)[1].try(:chomp)
end
diff --git a/app/models/member.rb b/app/models/member.rb
index 05c0bc8cb97..d9b4e8d2ac6 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -103,7 +103,7 @@ class Member < ActiveRecord::Base
def filter_by_2fa(value)
case value
when 'enabled'
- left_join_users.merge(User.with_two_factor_indistinct)
+ left_join_users.merge(User.with_two_factor)
when 'disabled'
left_join_users.merge(User.without_two_factor)
else
diff --git a/app/models/user.rb b/app/models/user.rb
index a6ba90794d6..f21ca1c569f 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -289,13 +289,16 @@ class User < ActiveRecord::Base
end
end
- def self.with_two_factor_indistinct
- joins("LEFT OUTER JOIN u2f_registrations AS u2f ON u2f.user_id = users.id")
- .where("u2f.id IS NOT NULL OR users.otp_required_for_login = ?", true)
- end
-
def self.with_two_factor
- with_two_factor_indistinct.distinct(arel_table[:id])
+ with_u2f_registrations = <<-SQL
+ EXISTS (
+ SELECT *
+ FROM u2f_registrations AS u2f
+ WHERE u2f.user_id = users.id
+ ) OR users.otp_required_for_login = ?
+ SQL
+
+ where(with_u2f_registrations, true)
end
def self.without_two_factor
diff --git a/changelogs/unreleased/1756-set-iid-via-api.yml b/changelogs/unreleased/1756-set-iid-via-api.yml
deleted file mode 100644
index 680a9464ab4..00000000000
--- a/changelogs/unreleased/1756-set-iid-via-api.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow issues API to receive an internal ID (iid) on create
-merge_request: 20626
-author: Jamie Schembri
-type: fixed
diff --git a/changelogs/unreleased/21326-avoid-nil-safe-message.yml b/changelogs/unreleased/21326-avoid-nil-safe-message.yml
new file mode 100644
index 00000000000..ca1a89191a8
--- /dev/null
+++ b/changelogs/unreleased/21326-avoid-nil-safe-message.yml
@@ -0,0 +1,5 @@
+---
+title: "Avoid nil safe message"
+merge_request: 21326
+author: Yi Siliang
+type: fixed
diff --git a/changelogs/unreleased/23705-add-single-file-download-in-repo.yml b/changelogs/unreleased/23705-add-single-file-download-in-repo.yml
deleted file mode 100644
index f156bfb1101..00000000000
--- a/changelogs/unreleased/23705-add-single-file-download-in-repo.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add download button for single file (including raw files) in repository
-merge_request: 20480
-author: Kia Mei Somabes
-type: added
diff --git a/changelogs/unreleased/25990-improve-web-terminal.yml b/changelogs/unreleased/25990-improve-web-terminal.yml
deleted file mode 100644
index 3f8a8c6211c..00000000000
--- a/changelogs/unreleased/25990-improve-web-terminal.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Move xterm to a node dependency and remove it from vendor's folder
-merge_request: 20588
-author:
-type: other
diff --git a/changelogs/unreleased/25990-interactive-web-terminals-authorization.yml b/changelogs/unreleased/25990-interactive-web-terminals-authorization.yml
deleted file mode 100644
index 0a2853c20c6..00000000000
--- a/changelogs/unreleased/25990-interactive-web-terminals-authorization.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix authorization for interactive web terminals
-merge_request: 20811
-author:
-type: fixed
diff --git a/changelogs/unreleased/27456-improve-feedback-when-dev-cannot-push-to-empty-repo.yml b/changelogs/unreleased/27456-improve-feedback-when-dev-cannot-push-to-empty-repo.yml
deleted file mode 100644
index 55d82c4ee5d..00000000000
--- a/changelogs/unreleased/27456-improve-feedback-when-dev-cannot-push-to-empty-repo.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve feedback when a developer is unable to push to an empty repository
-merge_request: 20519
-author:
-type: changed
diff --git a/changelogs/unreleased/29278-commits-page-tooltips.yml b/changelogs/unreleased/29278-commits-page-tooltips.yml
deleted file mode 100644
index d54301a1cf0..00000000000
--- a/changelogs/unreleased/29278-commits-page-tooltips.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove tooltips from commit author avatar and name in commit lists
-merge_request: 20674
-author:
-type: other
diff --git a/changelogs/unreleased/31576-redirect-commits-to-root-if-no-ref.yml b/changelogs/unreleased/31576-redirect-commits-to-root-if-no-ref.yml
deleted file mode 100644
index 21d9d25d342..00000000000
--- a/changelogs/unreleased/31576-redirect-commits-to-root-if-no-ref.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Redirect commits to root if no ref is provided (31576)
-merge_request: 20738
-author: Kia Mei Somabes
-type: added
diff --git a/changelogs/unreleased/32783-api-all-members-with-ancestors.yml b/changelogs/unreleased/32783-api-all-members-with-ancestors.yml
deleted file mode 100644
index ca53d02845d..00000000000
--- a/changelogs/unreleased/32783-api-all-members-with-ancestors.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Adds API endpoint /api/v4/(project/group)/:id/members/all to list also inherited
- members
-merge_request: 19748
-author: Jacopo Beschi @jacopo-beschi
-type: added
diff --git a/changelogs/unreleased/32821-better-error-message-add-invalid-user-to-project.yml b/changelogs/unreleased/32821-better-error-message-add-invalid-user-to-project.yml
deleted file mode 100644
index 587d7209c2f..00000000000
--- a/changelogs/unreleased/32821-better-error-message-add-invalid-user-to-project.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve error message when adding invalid user to a project
-merge_request: 20885
-author: Jacopo Beschi @jacopo-beschi
-type: added
diff --git a/changelogs/unreleased/34572-ssh-certificates.yml b/changelogs/unreleased/34572-ssh-certificates.yml
deleted file mode 100644
index 76a08a188de..00000000000
--- a/changelogs/unreleased/34572-ssh-certificates.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add support for SSH certificate authentication
-merge_request: 19911
-author: Ævar Arnfjörð Bjarmason
-type: added
diff --git a/changelogs/unreleased/35952-keep-admin-settings-open-after-submit.yml b/changelogs/unreleased/35952-keep-admin-settings-open-after-submit.yml
deleted file mode 100644
index e1e5c8db046..00000000000
--- a/changelogs/unreleased/35952-keep-admin-settings-open-after-submit.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Keep admin settings sections open after submitting forms
-merge_request: 21040
-author:
-type: other
diff --git a/changelogs/unreleased/36409-frontend-for-clarifying-the-usefulness-of-the-search-bar.yml b/changelogs/unreleased/36409-frontend-for-clarifying-the-usefulness-of-the-search-bar.yml
deleted file mode 100644
index efa13c9ab3c..00000000000
--- a/changelogs/unreleased/36409-frontend-for-clarifying-the-usefulness-of-the-search-bar.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: UX improvements to top nav search bar
-merge_request: 20537
-author:
-type: changed
diff --git a/changelogs/unreleased/38604-add-private-profile.yml b/changelogs/unreleased/38604-add-private-profile.yml
deleted file mode 100644
index e40e7d9321e..00000000000
--- a/changelogs/unreleased/38604-add-private-profile.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add an option to have a private profile on GitLab.
-merge_request: 20387
-author: jxterry
-type: added
diff --git a/changelogs/unreleased/40973-disable-rack-attack-by-default.yml b/changelogs/unreleased/40973-disable-rack-attack-by-default.yml
deleted file mode 100644
index 681aa761e2a..00000000000
--- a/changelogs/unreleased/40973-disable-rack-attack-by-default.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rack attack is now disabled by default
-merge_request: 16669
-author:
-type: changed
diff --git a/changelogs/unreleased/41416-making-instance-wide-data-tools-more-accessible.yml b/changelogs/unreleased/41416-making-instance-wide-data-tools-more-accessible.yml
deleted file mode 100644
index b980b719d68..00000000000
--- a/changelogs/unreleased/41416-making-instance-wide-data-tools-more-accessible.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow non-admins to view instance statistics (if permitted by the instance admins)
-merge_request: 20874
-author:
-type: changed
diff --git a/changelogs/unreleased/41441-add-target-branch-name-to-cherrypick-confirmation.yml b/changelogs/unreleased/41441-add-target-branch-name-to-cherrypick-confirmation.yml
new file mode 100644
index 00000000000..c23676a3104
--- /dev/null
+++ b/changelogs/unreleased/41441-add-target-branch-name-to-cherrypick-confirmation.yml
@@ -0,0 +1,5 @@
+---
+title: Add target branch name to cherrypick confirmation message
+merge_request: 20846
+author: George Andrinopoulos
+type: other
diff --git a/changelogs/unreleased/41671-fixing-milestone-date-change-when-editing.yml b/changelogs/unreleased/41671-fixing-milestone-date-change-when-editing.yml
deleted file mode 100644
index c6a0dc4f129..00000000000
--- a/changelogs/unreleased/41671-fixing-milestone-date-change-when-editing.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Fixing milestone date change when editing"
-merge_request: 20279
-author: Orlando Del Aguila
-type: fixed \ No newline at end of file
diff --git a/changelogs/unreleased/41784-monitoring-graph-popovers.yml b/changelogs/unreleased/41784-monitoring-graph-popovers.yml
deleted file mode 100644
index 757445d7e0c..00000000000
--- a/changelogs/unreleased/41784-monitoring-graph-popovers.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update design for system metrics popovers
-merge_request: 20655
-author:
-type: fixed
diff --git a/changelogs/unreleased/42415-omit-projects-from-get-group-endpoint.yml b/changelogs/unreleased/42415-omit-projects-from-get-group-endpoint.yml
deleted file mode 100644
index cabe5216045..00000000000
--- a/changelogs/unreleased/42415-omit-projects-from-get-group-endpoint.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adds with_projects optional parameter to GET /groups/:id API endpoint
-merge_request: 20494
-author:
-type: changed
diff --git a/changelogs/unreleased/43011-typecast-markdownversion-prop-notesapp.yml b/changelogs/unreleased/43011-typecast-markdownversion-prop-notesapp.yml
deleted file mode 100644
index b60aeba860a..00000000000
--- a/changelogs/unreleased/43011-typecast-markdownversion-prop-notesapp.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix Vue datatype errors for markdownVersion parsing
-merge_request: 20800
-author:
-type: fixed
diff --git a/changelogs/unreleased/43312-remove_user_activity_workers.yml b/changelogs/unreleased/43312-remove_user_activity_workers.yml
deleted file mode 100644
index 6dfd018e350..00000000000
--- a/changelogs/unreleased/43312-remove_user_activity_workers.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Delete UserActivities and related workers
-merge_request: 20597
-author:
-type: performance
diff --git a/changelogs/unreleased/44127-board-label-edit-drop-down-is-showing-incorrect-selected-labels-summary.yml b/changelogs/unreleased/44127-board-label-edit-drop-down-is-showing-incorrect-selected-labels-summary.yml
deleted file mode 100644
index de991ef475a..00000000000
--- a/changelogs/unreleased/44127-board-label-edit-drop-down-is-showing-incorrect-selected-labels-summary.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Board label edit dropdown shows incorrect selected labels summary
-merge_request: 20673
-author:
-type: fixed
diff --git a/changelogs/unreleased/44824-remove-ghost-notification-settings-for-group-and-project.yml b/changelogs/unreleased/44824-remove-ghost-notification-settings-for-group-and-project.yml
deleted file mode 100644
index ddc878ee710..00000000000
--- a/changelogs/unreleased/44824-remove-ghost-notification-settings-for-group-and-project.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adds foreign key to notification_settings.user_id
-merge_request: 20567
-author: Jacopo Beschi @jacopo-beschi
-type: added
diff --git a/changelogs/unreleased/45318-junit-FE.yml b/changelogs/unreleased/45318-junit-FE.yml
deleted file mode 100644
index bbc08f54484..00000000000
--- a/changelogs/unreleased/45318-junit-FE.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adds frontend support to render test reports on the MR widget
-merge_request: 20936
-author:
-type: added
diff --git a/changelogs/unreleased/45318-vuex-store.yml b/changelogs/unreleased/45318-vuex-store.yml
deleted file mode 100644
index 5ea89034bce..00000000000
--- a/changelogs/unreleased/45318-vuex-store.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adds Vuex store for reports section in MR widget
-merge_request: 20709
-author:
-type: added
diff --git a/changelogs/unreleased/45443-unable-to-save-user-profile-update-with-safari.yml b/changelogs/unreleased/45443-unable-to-save-user-profile-update-with-safari.yml
deleted file mode 100644
index b18f7aec546..00000000000
--- a/changelogs/unreleased/45443-unable-to-save-user-profile-update-with-safari.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Resolve "Unable to save user profile update with Safari"
-merge_request: 20676
-author:
-type: fixed
diff --git a/changelogs/unreleased/46165-web-ide-branch-picker.yml b/changelogs/unreleased/46165-web-ide-branch-picker.yml
deleted file mode 100644
index ff879cb3d37..00000000000
--- a/changelogs/unreleased/46165-web-ide-branch-picker.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Create branch and MR picker for Web IDE
-merge_request: 20978
-author:
-type: changed
diff --git a/changelogs/unreleased/46535-orphaned-uploads.yml b/changelogs/unreleased/46535-orphaned-uploads.yml
deleted file mode 100644
index 1cd087a6aad..00000000000
--- a/changelogs/unreleased/46535-orphaned-uploads.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Clean orphaned files in object storage
-merge_request: 20918
-author:
-type: added
diff --git a/changelogs/unreleased/46703-group-dashboard-line-height-is-too-tall-for-group-names.yml b/changelogs/unreleased/46703-group-dashboard-line-height-is-too-tall-for-group-names.yml
deleted file mode 100644
index 5b91c6d5a9f..00000000000
--- a/changelogs/unreleased/46703-group-dashboard-line-height-is-too-tall-for-group-names.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Solves group dashboard line height is too tall for group names.
-merge_request: 21033
-author:
-type: fixed
diff --git a/changelogs/unreleased/46869-deploy-tokens-failed-to-clone-lfs-repository.yml b/changelogs/unreleased/46869-deploy-tokens-failed-to-clone-lfs-repository.yml
deleted file mode 100644
index d490df58144..00000000000
--- a/changelogs/unreleased/46869-deploy-tokens-failed-to-clone-lfs-repository.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow cloning LFS repositories through DeployTokens
-merge_request: 20729
-author:
-type: other
diff --git a/changelogs/unreleased/46930-fix-updated_at-if-created_at-is-set-note-api.yml b/changelogs/unreleased/46930-fix-updated_at-if-created_at-is-set-note-api.yml
deleted file mode 100644
index d95714a5267..00000000000
--- a/changelogs/unreleased/46930-fix-updated_at-if-created_at-is-set-note-api.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix updated_at if created_at is set for Note API
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/46940-hashed-storage-extend-enable-hashed-storage-for-all-new-projects-to-for-all-new-and-renamed-projects.yml b/changelogs/unreleased/46940-hashed-storage-extend-enable-hashed-storage-for-all-new-projects-to-for-all-new-and-renamed-projects.yml
deleted file mode 100644
index 71e523e6de8..00000000000
--- a/changelogs/unreleased/46940-hashed-storage-extend-enable-hashed-storage-for-all-new-projects-to-for-all-new-and-renamed-projects.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable hashed storage for all newly created or renamed projects
-merge_request: 19747
-author:
-type: changed
diff --git a/changelogs/unreleased/47156-improve-auto-devops-settings.yml b/changelogs/unreleased/47156-improve-auto-devops-settings.yml
deleted file mode 100644
index d8993565047..00000000000
--- a/changelogs/unreleased/47156-improve-auto-devops-settings.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve and simplify Auto DevOps settings flow
-merge_request: 20946
-author:
-type: other
diff --git a/changelogs/unreleased/47419-Fix-breadcrumbs.yml b/changelogs/unreleased/47419-Fix-breadcrumbs.yml
deleted file mode 100644
index 1a7f8196683..00000000000
--- a/changelogs/unreleased/47419-Fix-breadcrumbs.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix breadcrumbs in Admin/User interface.
-merge_request: 19608
-author: Robin Naundorf
-type: fixed
diff --git a/changelogs/unreleased/47548-monospace-commit-messages.yml b/changelogs/unreleased/47548-monospace-commit-messages.yml
deleted file mode 100644
index 7344f72207b..00000000000
--- a/changelogs/unreleased/47548-monospace-commit-messages.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update commit message styles with monospace font and overflow-x
-merge_request: 20988
-author:
-type: changed
diff --git a/changelogs/unreleased/47728-mr-api-documentation-changes.yml b/changelogs/unreleased/47728-mr-api-documentation-changes.yml
deleted file mode 100644
index 12720f280a1..00000000000
--- a/changelogs/unreleased/47728-mr-api-documentation-changes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove changes_count from MR API documentation where necessary
-merge_request: 19745
-author: Jan Beckmann
-type: fixed
diff --git a/changelogs/unreleased/47768-web-ide-redesign-header.yml b/changelogs/unreleased/47768-web-ide-redesign-header.yml
deleted file mode 100644
index 49133158164..00000000000
--- a/changelogs/unreleased/47768-web-ide-redesign-header.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Redesign Web IDE back button and context header
-merge_request: 20850
-author:
-type: changed
diff --git a/changelogs/unreleased/48036-fix-web-ide-blob-crash.yml b/changelogs/unreleased/48036-fix-web-ide-blob-crash.yml
deleted file mode 100644
index 6ff209b5181..00000000000
--- a/changelogs/unreleased/48036-fix-web-ide-blob-crash.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix Web IDE crashing on directories named 'blob'
-merge_request: 20712
-author:
-type: fixed
diff --git a/changelogs/unreleased/48055-web-ide-resize-handles.yml b/changelogs/unreleased/48055-web-ide-resize-handles.yml
deleted file mode 100644
index 0f650cdda6f..00000000000
--- a/changelogs/unreleased/48055-web-ide-resize-handles.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Increase width of Web IDE sidebar resize handles
-merge_request: 20818
-author:
-type: fixed
diff --git a/changelogs/unreleased/48098-mutual-auth-cluster-applications.yml b/changelogs/unreleased/48098-mutual-auth-cluster-applications.yml
deleted file mode 100644
index 43125ef25c4..00000000000
--- a/changelogs/unreleased/48098-mutual-auth-cluster-applications.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Ensure installed Helm Tiller For GitLab Managed Apps Is protected by mutual
- auth
-merge_request: 20928
-author:
-type: changed
diff --git a/changelogs/unreleased/48246-osw-load-diffs-improvement.yml b/changelogs/unreleased/48246-osw-load-diffs-improvement.yml
deleted file mode 100644
index c4292ab0d29..00000000000
--- a/changelogs/unreleased/48246-osw-load-diffs-improvement.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve performance when fetching collapsed diffs and commenting in merge requests
-merge_request: 20940
-author:
-type: performance
diff --git a/changelogs/unreleased/48419-charts-with-long-label-appear-oversized.yml b/changelogs/unreleased/48419-charts-with-long-label-appear-oversized.yml
deleted file mode 100644
index b3ccbb121f0..00000000000
--- a/changelogs/unreleased/48419-charts-with-long-label-appear-oversized.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: fix height of full-width Metrics charts on large screens
-merge_request: 20866
-author:
-type: fixed
diff --git a/changelogs/unreleased/48456-fix-system-level-labels-admin-ui.yml b/changelogs/unreleased/48456-fix-system-level-labels-admin-ui.yml
deleted file mode 100644
index c34750a3b88..00000000000
--- a/changelogs/unreleased/48456-fix-system-level-labels-admin-ui.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix the UI for listing system-level labels
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/48537-update-avatar-only-via-api.yml b/changelogs/unreleased/48537-update-avatar-only-via-api.yml
deleted file mode 100644
index 9b3ab946cc1..00000000000
--- a/changelogs/unreleased/48537-update-avatar-only-via-api.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow updating a project's avatar without other params
-merge_request:
-author: Jamie Schembri
-type: fixed
diff --git a/changelogs/unreleased/48542-code-link.yml b/changelogs/unreleased/48542-code-link.yml
deleted file mode 100644
index 8d8d9bf8d74..00000000000
--- a/changelogs/unreleased/48542-code-link.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix link color in markdown code brackets
-merge_request: 20841
-author:
-type: fixed
diff --git a/changelogs/unreleased/48617-promoting-milestone.yml b/changelogs/unreleased/48617-promoting-milestone.yml
deleted file mode 100644
index 7fbc15051cf..00000000000
--- a/changelogs/unreleased/48617-promoting-milestone.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Escapes milestone and label's names on flash notice when promoting them
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/48636-new-mr-card-styles.yml b/changelogs/unreleased/48636-new-mr-card-styles.yml
deleted file mode 100644
index 94f62e677fb..00000000000
--- a/changelogs/unreleased/48636-new-mr-card-styles.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix new MR card styles
-merge_request: 20822
-author:
-type: fixed
diff --git a/changelogs/unreleased/48657-persist-auto-devops-banner-dismissal-per-user-cookie.yml b/changelogs/unreleased/48657-persist-auto-devops-banner-dismissal-per-user-cookie.yml
deleted file mode 100644
index 7ee018ef679..00000000000
--- a/changelogs/unreleased/48657-persist-auto-devops-banner-dismissal-per-user-cookie.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Persist 'Auto DevOps' banner dismissal globally
-merge_request: 20540
-author:
-type: other
diff --git a/changelogs/unreleased/48773-gitlab-project-import-should-use-object-storage.yml b/changelogs/unreleased/48773-gitlab-project-import-should-use-object-storage.yml
deleted file mode 100644
index f298380b920..00000000000
--- a/changelogs/unreleased/48773-gitlab-project-import-should-use-object-storage.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add object storage logic to project import
-merge_request: 20773
-author:
-type: added
diff --git a/changelogs/unreleased/48804-redesign-gcp-banner.yml b/changelogs/unreleased/48804-redesign-gcp-banner.yml
deleted file mode 100644
index 729f959badc..00000000000
--- a/changelogs/unreleased/48804-redesign-gcp-banner.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Redesign GCP offer banner
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/48823-copy-gfm.yml b/changelogs/unreleased/48823-copy-gfm.yml
deleted file mode 100644
index b6137e2e3f9..00000000000
--- a/changelogs/unreleased/48823-copy-gfm.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Resolve Copy diff file path as GFM is broken
-merge_request: 20725
-author:
-type: fixed
diff --git a/changelogs/unreleased/48834-chart-versions-for-applications-installed-by-one-click-install-buttons-should-be-version-locked.yml b/changelogs/unreleased/48834-chart-versions-for-applications-installed-by-one-click-install-buttons-should-be-version-locked.yml
deleted file mode 100644
index d79b95411aa..00000000000
--- a/changelogs/unreleased/48834-chart-versions-for-applications-installed-by-one-click-install-buttons-should-be-version-locked.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Chart versions for applications installed by one click install buttons should
- be version locked
-merge_request: 20765
-author:
-type: fixed
diff --git a/changelogs/unreleased/48932-disable-saml-if-omniauth-is-disabled.yml b/changelogs/unreleased/48932-disable-saml-if-omniauth-is-disabled.yml
deleted file mode 100644
index 0466debea65..00000000000
--- a/changelogs/unreleased/48932-disable-saml-if-omniauth-is-disabled.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Disable SAML and Bitbucket if OmniAuth is disabled
-merge_request: 20608
-author:
-type: fixed
diff --git a/changelogs/unreleased/48934.yml b/changelogs/unreleased/48934.yml
deleted file mode 100644
index 8e2e53ed198..00000000000
--- a/changelogs/unreleased/48934.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve danger confirmation modals by focusing input field
-merge_request:
-author: Jamie Schembri
-type: added
diff --git a/changelogs/unreleased/48976-fix-sti-background-migration.yml b/changelogs/unreleased/48976-fix-sti-background-migration.yml
deleted file mode 100644
index e95536b213c..00000000000
--- a/changelogs/unreleased/48976-fix-sti-background-migration.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "[Rails5] Fix 'Invalid single-table inheritance type: Group is not a subclass
- of Gitlab::BackgroundMigration::FixCrossProjectLabelLinks::Namespace'"
-merge_request: 20462
-author: "@blackst0ne"
-type: fixed
diff --git a/changelogs/unreleased/49025-docs-kubernetes-tiller.yml b/changelogs/unreleased/49025-docs-kubernetes-tiller.yml
deleted file mode 100644
index c4f01490cfa..00000000000
--- a/changelogs/unreleased/49025-docs-kubernetes-tiller.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update docs of Helm Tiller
-merge_request: 20515
-author: Takuya Noguchi
-type: other
diff --git a/changelogs/unreleased/49107-prefetching-of-assets-and-cdn-domain.yml b/changelogs/unreleased/49107-prefetching-of-assets-and-cdn-domain.yml
deleted file mode 100644
index 541b562adac..00000000000
--- a/changelogs/unreleased/49107-prefetching-of-assets-and-cdn-domain.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: DNS prefetching if asset_host for CDN hosting is set
-merge_request: 20781
-author:
-type: performance
diff --git a/changelogs/unreleased/49114-add-gitaly-servers-to-admin-overview-navigation-menu.yml b/changelogs/unreleased/49114-add-gitaly-servers-to-admin-overview-navigation-menu.yml
deleted file mode 100644
index ab320450a1a..00000000000
--- a/changelogs/unreleased/49114-add-gitaly-servers-to-admin-overview-navigation-menu.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Gitaly Servers link into Admin > Overview navigation menu
-merge_request: 20550
-author:
-type: added
diff --git a/changelogs/unreleased/49161-disable-toggle-comments.yml b/changelogs/unreleased/49161-disable-toggle-comments.yml
deleted file mode 100644
index 5ec16191f07..00000000000
--- a/changelogs/unreleased/49161-disable-toggle-comments.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Disables toggle comments button if diff has no discussions
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/49272-sanitize-git-url-in-import-errors.yml b/changelogs/unreleased/49272-sanitize-git-url-in-import-errors.yml
deleted file mode 100644
index c757e55f1cd..00000000000
--- a/changelogs/unreleased/49272-sanitize-git-url-in-import-errors.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Sanitize git URL in import errors
-merge_request:
-author: Jamie Schembri
-type: fixed
diff --git a/changelogs/unreleased/49291-fix-memory-graph-component-typo.yml b/changelogs/unreleased/49291-fix-memory-graph-component-typo.yml
deleted file mode 100644
index f21bd454e84..00000000000
--- a/changelogs/unreleased/49291-fix-memory-graph-component-typo.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix typo in CSS transform property for Memory Graph component
-merge_request: 20650
-author:
-type: fixed
diff --git a/changelogs/unreleased/49324-add-support-for-tar-gz-autodevops-charts.yml b/changelogs/unreleased/49324-add-support-for-tar-gz-autodevops-charts.yml
deleted file mode 100644
index a87eef3f7f3..00000000000
--- a/changelogs/unreleased/49324-add-support-for-tar-gz-autodevops-charts.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add support for tar.gz AUTO_DEVOPS_CHART charts (#49324)
-merge_request: 20691
-author: '@kondi1'
-type: added
diff --git a/changelogs/unreleased/49364-fix-broadcast-margin.yml b/changelogs/unreleased/49364-fix-broadcast-margin.yml
deleted file mode 100644
index 821fb9df1af..00000000000
--- a/changelogs/unreleased/49364-fix-broadcast-margin.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix misalignment of broadcast message on login page
-merge_request: 20794
-author: Robin Naundorf
-type: fixed
diff --git a/changelogs/unreleased/49375-move-help-popover.yml b/changelogs/unreleased/49375-move-help-popover.yml
deleted file mode 100644
index 2547d5768bf..00000000000
--- a/changelogs/unreleased/49375-move-help-popover.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Moves help_popover component to a common location
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/49499-list-of-projects-not-loading-when-trying-to-create-an-issue-from-a-board-typeerror.yml b/changelogs/unreleased/49499-list-of-projects-not-loading-when-trying-to-create-an-issue-from-a-board-typeerror.yml
deleted file mode 100644
index 043698269e2..00000000000
--- a/changelogs/unreleased/49499-list-of-projects-not-loading-when-trying-to-create-an-issue-from-a-board-typeerror.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fixed list of projects not loading in group boards
-merge_request: 20955
-author:
-type: fixed
diff --git a/changelogs/unreleased/49701-sorting-by-name-on-milestones-page-error.yml b/changelogs/unreleased/49701-sorting-by-name-on-milestones-page-error.yml
deleted file mode 100644
index 7eb73110d60..00000000000
--- a/changelogs/unreleased/49701-sorting-by-name-on-milestones-page-error.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix sorting by name on milestones page
-merge_request: 20881
-author:
-type: fixed
diff --git a/changelogs/unreleased/49747-update-poll-2xx.yml b/changelogs/unreleased/49747-update-poll-2xx.yml
deleted file mode 100644
index 359d1b80447..00000000000
--- a/changelogs/unreleased/49747-update-poll-2xx.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Changes poll.js to keep polling on any 2xx http status code
-merge_request: 20904
-author:
-type: other
diff --git a/changelogs/unreleased/49776-pipeline-job-log-page-uses-too-much-cpu-for-loading-animation.yml b/changelogs/unreleased/49776-pipeline-job-log-page-uses-too-much-cpu-for-loading-animation.yml
deleted file mode 100644
index 96da2436a9f..00000000000
--- a/changelogs/unreleased/49776-pipeline-job-log-page-uses-too-much-cpu-for-loading-animation.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: refactor pipeline job log animation to reduce CPU usage
-merge_request: 20915
-author:
-type: performance
diff --git a/changelogs/unreleased/49830-use-helm-272.yml b/changelogs/unreleased/49830-use-helm-272.yml
deleted file mode 100644
index f6ecc12dbfa..00000000000
--- a/changelogs/unreleased/49830-use-helm-272.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Use Helm 2.7.2 for GitLab Managed Apps
-merge_request: 20956
-author:
-type: changed
diff --git a/changelogs/unreleased/49835-increase-width.yml b/changelogs/unreleased/49835-increase-width.yml
deleted file mode 100644
index f963c0c5e47..00000000000
--- a/changelogs/unreleased/49835-increase-width.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Increases title column on modal for reports
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/49851-link-to-runners.yml b/changelogs/unreleased/49851-link-to-runners.yml
deleted file mode 100644
index 89fd6853bc8..00000000000
--- a/changelogs/unreleased/49851-link-to-runners.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Automatically expand runner's settings block when linking to the runner's settings
- page
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-1.yml b/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-1.yml
deleted file mode 100644
index ffa4a3bc710..00000000000
--- a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-1.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix rendering of the context lines in MR diffs page.
-merge_request: 20968
-author:
-type: fixed
diff --git a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-2.yml b/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-2.yml
deleted file mode 100644
index 42b0e4194f1..00000000000
--- a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-2.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix autosave and ESC confirmation issues for MR discussions.
-merge_request: 20968
-author:
-type: fixed
diff --git a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-3.yml b/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-3.yml
deleted file mode 100644
index 29419091d02..00000000000
--- a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-3.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix navigation to First and Next discussion on MR Changes tab.
-merge_request: 20968
-author:
-type: fixed
diff --git a/changelogs/unreleased/49861-top-nav-search-bar-produces-console-error-when-unauthenticated.yml b/changelogs/unreleased/49861-top-nav-search-bar-produces-console-error-when-unauthenticated.yml
deleted file mode 100644
index 30f5002c5b5..00000000000
--- a/changelogs/unreleased/49861-top-nav-search-bar-produces-console-error-when-unauthenticated.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: fix error caused when using the search bar while unauthenticated
-merge_request: 20970
-author:
-type: fixed
diff --git a/changelogs/unreleased/49899-merge-request-e-mail-link-has-full-url.yml b/changelogs/unreleased/49899-merge-request-e-mail-link-has-full-url.yml
deleted file mode 100644
index 856a7c579f3..00000000000
--- a/changelogs/unreleased/49899-merge-request-e-mail-link-has-full-url.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Ensure links in notifications footer are not escaped
-merge_request: 21000
-author:
-type: fixed
diff --git a/changelogs/unreleased/49907-commits-and-merge-requests-does-not-list-all-files-when-one-file-exceeds-size-limits.yml b/changelogs/unreleased/49907-commits-and-merge-requests-does-not-list-all-files-when-one-file-exceeds-size-limits.yml
deleted file mode 100644
index 2fce00a662f..00000000000
--- a/changelogs/unreleased/49907-commits-and-merge-requests-does-not-list-all-files-when-one-file-exceeds-size-limits.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix merge requests not showing any diff files for big patches
-merge_request: 21125
-author:
-type: fixed
diff --git a/changelogs/unreleased/49966-improve-junit-fe.yml b/changelogs/unreleased/49966-improve-junit-fe.yml
deleted file mode 100644
index 48971d3bfd6..00000000000
--- a/changelogs/unreleased/49966-improve-junit-fe.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Renders test reports for resolved failures and resets error state
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/50257-fix-auto-devops-glibc-pubkey-url.yml b/changelogs/unreleased/50257-fix-auto-devops-glibc-pubkey-url.yml
deleted file mode 100644
index e081dfe6093..00000000000
--- a/changelogs/unreleased/50257-fix-auto-devops-glibc-pubkey-url.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'Auto-DevOps.gitlab-ci.yml: Update glibc package signing key URL'
-merge_request: 21182
-author: sgerrand
-type: fixed
diff --git a/changelogs/unreleased/50281-js-pages-do-not-load-on-windows-8-ie-11.yml b/changelogs/unreleased/50281-js-pages-do-not-load-on-windows-8-ie-11.yml
deleted file mode 100644
index eb20e34c466..00000000000
--- a/changelogs/unreleased/50281-js-pages-do-not-load-on-windows-8-ie-11.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix broken JavaScript in IE11
-merge_request: 21214
-author:
-type: fixed
diff --git a/changelogs/unreleased/50312-instance-statistics-convdev-index-intro-banner-is-not-dismissable.yml b/changelogs/unreleased/50312-instance-statistics-convdev-index-intro-banner-is-not-dismissable.yml
deleted file mode 100644
index 50a3b9c9aff..00000000000
--- a/changelogs/unreleased/50312-instance-statistics-convdev-index-intro-banner-is-not-dismissable.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix issue stopping Instance Statistics javascript to be executed
-merge_request: 21211
-author:
-type: fixed
diff --git a/changelogs/unreleased/6860-FE-instance-level-project-templates.yml b/changelogs/unreleased/6860-FE-instance-level-project-templates.yml
deleted file mode 100644
index 74e0daee71b..00000000000
--- a/changelogs/unreleased/6860-FE-instance-level-project-templates.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update design of project templates
-merge_request: 21012
-author:
-type: changed
diff --git a/changelogs/unreleased/accept-rf3-2822-compliant-addresses.yml b/changelogs/unreleased/accept-rf3-2822-compliant-addresses.yml
deleted file mode 100644
index 97d017613ba..00000000000
--- a/changelogs/unreleased/accept-rf3-2822-compliant-addresses.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Emails on push recipients now accepts formats like John Doe <johndoe@example.com>
-merge_request:
-author: George Thomas
-type: added
diff --git a/changelogs/unreleased/add-dst-support-to-pipeline-schedule.yml b/changelogs/unreleased/add-dst-support-to-pipeline-schedule.yml
deleted file mode 100644
index 08376014ad7..00000000000
--- a/changelogs/unreleased/add-dst-support-to-pipeline-schedule.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add support for daylight savings time to pipleline schedules
-merge_request: 20145
-author:
-type: fixed
diff --git a/changelogs/unreleased/add-homepage-link-to-status-pages.yml b/changelogs/unreleased/add-homepage-link-to-status-pages.yml
deleted file mode 100644
index 0e7375f2061..00000000000
--- a/changelogs/unreleased/add-homepage-link-to-status-pages.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add link to homepage on static http status pages (404, 500, etc)
-merge_request: 20898
-author: Jason Funk
-type: added
diff --git a/changelogs/unreleased/add-merge-request-header-branch-details-right-margin.yml b/changelogs/unreleased/add-merge-request-header-branch-details-right-margin.yml
deleted file mode 100644
index 4f9a551d13e..00000000000
--- a/changelogs/unreleased/add-merge-request-header-branch-details-right-margin.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add merge request header branch actions left margin
-merge_request: 20643
-author: George Tsiolis
-type: changed
diff --git a/changelogs/unreleased/add-total-time-flat-printer-for-profiling.yml b/changelogs/unreleased/add-total-time-flat-printer-for-profiling.yml
deleted file mode 100644
index 37a4e31896e..00000000000
--- a/changelogs/unreleased/add-total-time-flat-printer-for-profiling.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Add a Gitlab::Profiler.print_by_total_time convenience method for profiling
- from a Rails console
-merge_request:
-author:
-type: other
diff --git a/changelogs/unreleased/api-empty-commit-message.yml b/changelogs/unreleased/api-empty-commit-message.yml
new file mode 100644
index 00000000000..34ddc020644
--- /dev/null
+++ b/changelogs/unreleased/api-empty-commit-message.yml
@@ -0,0 +1,5 @@
+---
+title: 'API: Catch empty commit messages'
+merge_request: 21322
+author: Robert Schilling
+type: fixed
diff --git a/changelogs/unreleased/api-empty-project-snippets.yml b/changelogs/unreleased/api-empty-project-snippets.yml
new file mode 100644
index 00000000000..7b8c7c9e48d
--- /dev/null
+++ b/changelogs/unreleased/api-empty-project-snippets.yml
@@ -0,0 +1,5 @@
+---
+title: 'API: Catch empty code content for project snippets'
+merge_request: 21325
+author: Robert Schilling
+type: fixed
diff --git a/changelogs/unreleased/api-minimal-access-level.yml b/changelogs/unreleased/api-minimal-access-level.yml
deleted file mode 100644
index 43cab246d69..00000000000
--- a/changelogs/unreleased/api-minimal-access-level.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add filter for minimal access level in groups and projects API
-merge_request: 20478
-author: Marko, Peter
-type: added
diff --git a/changelogs/unreleased/api-shared_group_expires-at.yml b/changelogs/unreleased/api-shared_group_expires-at.yml
new file mode 100644
index 00000000000..3d569de65fa
--- /dev/null
+++ b/changelogs/unreleased/api-shared_group_expires-at.yml
@@ -0,0 +1,5 @@
+---
+title: 'API: Add expiration date for shared projects to the project entity'
+merge_request: 21104
+author: Robert Schilling
+type: added
diff --git a/changelogs/unreleased/artifact-format-v2-with-parser.yml b/changelogs/unreleased/artifact-format-v2-with-parser.yml
deleted file mode 100644
index e1a779cf6dd..00000000000
--- a/changelogs/unreleased/artifact-format-v2-with-parser.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: JUnit XML Test Summary In MR widget
-merge_request: 20576
-author:
-type: added
diff --git a/changelogs/unreleased/artifact-format-v2.yml b/changelogs/unreleased/artifact-format-v2.yml
deleted file mode 100644
index e264e0a9fa1..00000000000
--- a/changelogs/unreleased/artifact-format-v2.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Extend gitlab-ci.yml to request junit.xml test reports
-merge_request: 20390
-author:
-type: added
diff --git a/changelogs/unreleased/blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs.yml b/changelogs/unreleased/blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs.yml
deleted file mode 100644
index 69e6b7d815a..00000000000
--- a/changelogs/unreleased/blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs'
-merge_request: 20768
-author: "@blackst0ne"
-type: other
diff --git a/changelogs/unreleased/bvl-graphql-wip-mutation.yml b/changelogs/unreleased/bvl-graphql-wip-mutation.yml
deleted file mode 100644
index 00aa1c48677..00000000000
--- a/changelogs/unreleased/bvl-graphql-wip-mutation.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add the first mutations for merge requests to GraphQL
-merge_request: 20443
-author:
-type: added
diff --git a/changelogs/unreleased/bvl-user-status-message-35463.yml b/changelogs/unreleased/bvl-user-status-message-35463.yml
deleted file mode 100644
index c844e7ea0e4..00000000000
--- a/changelogs/unreleased/bvl-user-status-message-35463.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Users can set a status message and emoji
-merge_request: 20614
-author: niedermyer & davamr
-type: added
diff --git a/changelogs/unreleased/ce-5666-backport.yml b/changelogs/unreleased/ce-5666-backport.yml
deleted file mode 100644
index 344f1a1983f..00000000000
--- a/changelogs/unreleased/ce-5666-backport.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: CE port of "List groups with developer maintainer access on project creation"
-merge_request: 21051
-author:
-type: other
diff --git a/changelogs/unreleased/ce-6064-geo-sql-query-for-counting-projects-with-wikis-is-very-slow.yml b/changelogs/unreleased/ce-6064-geo-sql-query-for-counting-projects-with-wikis-is-very-slow.yml
deleted file mode 100644
index b76437a8773..00000000000
--- a/changelogs/unreleased/ce-6064-geo-sql-query-for-counting-projects-with-wikis-is-very-slow.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Tracking the number of repositories and wikis with a cached counter for site-wide statistics
-merge_request: 20413
-author:
-type: performance
diff --git a/changelogs/unreleased/close-revert-and-cherry-pick-modal-on-escape-keypress.yml b/changelogs/unreleased/close-revert-and-cherry-pick-modal-on-escape-keypress.yml
deleted file mode 100644
index 49648cdfcfc..00000000000
--- a/changelogs/unreleased/close-revert-and-cherry-pick-modal-on-escape-keypress.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Close revert and cherry pick modal on escape keypress
-merge_request: 20341
-author: George Tsiolis
-type: changed
diff --git a/changelogs/unreleased/cr-add-group-milestone-to-dashboard.yml b/changelogs/unreleased/cr-add-group-milestone-to-dashboard.yml
deleted file mode 100644
index b87a1e5faf7..00000000000
--- a/changelogs/unreleased/cr-add-group-milestone-to-dashboard.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adds the ability to view group milestones on the dashboard milestone page.
-merge_request: 20618
-author:
-type: fixed
diff --git a/changelogs/unreleased/cr-add-path-of-group-milestone.yml b/changelogs/unreleased/cr-add-path-of-group-milestone.yml
deleted file mode 100644
index 5ce240110ef..00000000000
--- a/changelogs/unreleased/cr-add-path-of-group-milestone.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adds the project and group name to the return type for project and group milestones.
-merge_request: 20890
-author:
-type: changed
diff --git a/changelogs/unreleased/custom_wiki_sidebar.yml b/changelogs/unreleased/custom_wiki_sidebar.yml
deleted file mode 100644
index 988fccc929c..00000000000
--- a/changelogs/unreleased/custom_wiki_sidebar.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Custom Wiki Sidebar Support Issue 14995"
-merge_request:
-author: Josh Sooter
-type: added
diff --git a/changelogs/unreleased/dz-fix-sql-error-admin-users-2fa.yml b/changelogs/unreleased/dz-fix-sql-error-admin-users-2fa.yml
new file mode 100644
index 00000000000..67926f3738a
--- /dev/null
+++ b/changelogs/unreleased/dz-fix-sql-error-admin-users-2fa.yml
@@ -0,0 +1,5 @@
+---
+title: Fix SQL error when sorting 2FA-enabled users by name in admin area
+merge_request: 21324
+author:
+type: fixed
diff --git a/changelogs/unreleased/dz-labels-search.yml b/changelogs/unreleased/dz-labels-search.yml
deleted file mode 100644
index 49c1b6c1a86..00000000000
--- a/changelogs/unreleased/dz-labels-search.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Search for labels by title or description on project labels page
-merge_request: 20749
-author:
-type: added
diff --git a/changelogs/unreleased/dz-manifest-import.yml b/changelogs/unreleased/dz-manifest-import.yml
deleted file mode 100644
index b0d29b0869f..00000000000
--- a/changelogs/unreleased/dz-manifest-import.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add ability to import multiple repositories by uploading a manifest file
-merge_request: 20304
-author:
-type: added
diff --git a/changelogs/unreleased/feature-gb-email-delivery-metrics.yml b/changelogs/unreleased/feature-gb-email-delivery-metrics.yml
deleted file mode 100644
index 9d0d08a471d..00000000000
--- a/changelogs/unreleased/feature-gb-email-delivery-metrics.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add emails delivery Prometheus metrics
-merge_request: 20638
-author:
-type: added
diff --git a/changelogs/unreleased/feature-gb-login-activity-metrics.yml b/changelogs/unreleased/feature-gb-login-activity-metrics.yml
deleted file mode 100644
index 5d687b984eb..00000000000
--- a/changelogs/unreleased/feature-gb-login-activity-metrics.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add more comprehensive metrics tracking authentication activity
-merge_request: 20668
-author:
-type: added
diff --git a/changelogs/unreleased/features-show-project-id-on-home-panel.yml b/changelogs/unreleased/features-show-project-id-on-home-panel.yml
deleted file mode 100644
index f592be07a52..00000000000
--- a/changelogs/unreleased/features-show-project-id-on-home-panel.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Show Project ID on project home panel
-merge_request: 20305
-author: Tuğçe Nur Taş
-type: added
diff --git a/changelogs/unreleased/fix-diff-note.yml b/changelogs/unreleased/fix-diff-note.yml
deleted file mode 100644
index 6f10f86b9bc..00000000000
--- a/changelogs/unreleased/fix-diff-note.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix serialization of LegacyDiffNote
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-email-confirmation-addtional-email.yml b/changelogs/unreleased/fix-email-confirmation-addtional-email.yml
deleted file mode 100644
index 56a2efa4d60..00000000000
--- a/changelogs/unreleased/fix-email-confirmation-addtional-email.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix email confirmation bug when user adds additional email to account
-merge_request: 20084
-author: muhammadn
-type: fixed
diff --git a/changelogs/unreleased/fix-gb-add-missing-before-sha-predefined-variable.yml b/changelogs/unreleased/fix-gb-add-missing-before-sha-predefined-variable.yml
deleted file mode 100644
index 7e9e8c33a71..00000000000
--- a/changelogs/unreleased/fix-gb-add-missing-before-sha-predefined-variable.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add missing predefined variable and fix docs
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-gb-fix-deserializing-ci-yaml-variables.yml b/changelogs/unreleased/fix-gb-fix-deserializing-ci-yaml-variables.yml
deleted file mode 100644
index 80b069c9251..00000000000
--- a/changelogs/unreleased/fix-gb-fix-deserializing-ci-yaml-variables.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix accessing imported pipeline builds
-merge_request: 20713
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-gb-fix-project-settings-build-time-validation.yml b/changelogs/unreleased/fix-gb-fix-project-settings-build-time-validation.yml
deleted file mode 100644
index adf582e34a2..00000000000
--- a/changelogs/unreleased/fix-gb-fix-project-settings-build-time-validation.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Limit maximum project build timeout setting to 1 month
-merge_request: 20591
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-multiple-scopes.yml b/changelogs/unreleased/fix-multiple-scopes.yml
deleted file mode 100644
index 24e5172d9a1..00000000000
--- a/changelogs/unreleased/fix-multiple-scopes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Support multiple scopes when authing container registry scopes
-merge_request: 20617
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-project-api-archived.yml b/changelogs/unreleased/fix-project-api-archived.yml
deleted file mode 100644
index 9d119fd3429..00000000000
--- a/changelogs/unreleased/fix-project-api-archived.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix archived parameter for projects API
-merge_request: 20566
-author: Peter Marko
-type: fixed
diff --git a/changelogs/unreleased/fix-prometheus-updated-status.yml b/changelogs/unreleased/fix-prometheus-updated-status.yml
deleted file mode 100644
index 7261c3429c8..00000000000
--- a/changelogs/unreleased/fix-prometheus-updated-status.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix UI error whereby prometheus application status is updated
-merge_request: 21029
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-search-bar.yml b/changelogs/unreleased/fix-search-bar.yml
deleted file mode 100644
index d4c0c1efddf..00000000000
--- a/changelogs/unreleased/fix-search-bar.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix search bar text input alignment
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/fix-storage-size-for-artifacts-change.yml b/changelogs/unreleased/fix-storage-size-for-artifacts-change.yml
deleted file mode 100644
index 6a3e1420726..00000000000
--- a/changelogs/unreleased/fix-storage-size-for-artifacts-change.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update total storage size when changing size of artifacts
-merge_request: 20697
-author: Peter Marko
-type: fixed
diff --git a/changelogs/unreleased/fj-37736-improve-performance-post-receive-create-gpg-siganture-worker.yml b/changelogs/unreleased/fj-37736-improve-performance-post-receive-create-gpg-siganture-worker.yml
deleted file mode 100644
index 0b35c5c6786..00000000000
--- a/changelogs/unreleased/fj-37736-improve-performance-post-receive-create-gpg-siganture-worker.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Performing Commit GPG signature calculation in bulk
-merge_request: 20870
-author:
-type: performance
diff --git a/changelogs/unreleased/fj-48123-fix-gitlab-import.yml b/changelogs/unreleased/fj-48123-fix-gitlab-import.yml
deleted file mode 100644
index 896db2cdcb8..00000000000
--- a/changelogs/unreleased/fj-48123-fix-gitlab-import.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix GitLab project imports not loading due to API timeouts
-merge_request: 20599
-author:
-type: fixed
diff --git a/changelogs/unreleased/fj-49014-wiki-search-error.yml b/changelogs/unreleased/fj-49014-wiki-search-error.yml
deleted file mode 100644
index a76805cb7f9..00000000000
--- a/changelogs/unreleased/fj-49014-wiki-search-error.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fixed bug with invalid repository reference using the wiki search
-merge_request: 20722
-author:
-type: fixed
diff --git a/changelogs/unreleased/fj-49512-fix-gitlab-git-pages-encoding.yml b/changelogs/unreleased/fj-49512-fix-gitlab-git-pages-encoding.yml
deleted file mode 100644
index 3af90fff3f6..00000000000
--- a/changelogs/unreleased/fj-49512-fix-gitlab-git-pages-encoding.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Prevent editing and updating wiki pages with non UTF-8 encoding via web interface
-merge_request: 20906
-author:
-type: fixed
diff --git a/changelogs/unreleased/fj-49802-bug-api-set-http-headers.yml b/changelogs/unreleased/fj-49802-bug-api-set-http-headers.yml
deleted file mode 100644
index ba61d378cda..00000000000
--- a/changelogs/unreleased/fj-49802-bug-api-set-http-headers.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix bug setting http headers in Files API
-merge_request: 20938
-author:
-type: fixed
diff --git a/changelogs/unreleased/floating-avarage-commit-numbers.yml b/changelogs/unreleased/floating-avarage-commit-numbers.yml
deleted file mode 100644
index 7f91ab16af4..00000000000
--- a/changelogs/unreleased/floating-avarage-commit-numbers.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Show one digit after dot in commit_per_day value in charts page.
-merge_request:
-author: msdundar
-type: changed
diff --git a/changelogs/unreleased/frozen-string-danger.yml b/changelogs/unreleased/frozen-string-danger.yml
deleted file mode 100644
index 9910139b8a9..00000000000
--- a/changelogs/unreleased/frozen-string-danger.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add Dangerfile for frozen_string_literal
-merge_request: 20767
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-enable-app-models-more.yml b/changelogs/unreleased/frozen-string-enable-app-models-more.yml
deleted file mode 100644
index c0466984134..00000000000
--- a/changelogs/unreleased/frozen-string-enable-app-models-more.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen string for app/models/**/*.rb
-merge_request: 21001
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-enable-app-models.yml b/changelogs/unreleased/frozen-string-enable-app-models.yml
deleted file mode 100644
index 4c149ea55ef..00000000000
--- a/changelogs/unreleased/frozen-string-enable-app-models.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen string in app/models/*.rb
-merge_request: 20851
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-enable-app-presenters-policies.yml b/changelogs/unreleased/frozen-string-enable-app-presenters-policies.yml
deleted file mode 100644
index 5c6b1b1a904..00000000000
--- a/changelogs/unreleased/frozen-string-enable-app-presenters-policies.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen string in app/presenters and app/policies
-merge_request: 20819
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-enable-app-serializers.yml b/changelogs/unreleased/frozen-string-enable-app-serializers.yml
deleted file mode 100644
index 40c7b695d39..00000000000
--- a/changelogs/unreleased/frozen-string-enable-app-serializers.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen string in app/serializers/**/*.rb
-merge_request: 20726
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-enable-app-services.yml b/changelogs/unreleased/frozen-string-enable-app-services.yml
deleted file mode 100644
index cfc1f356e3a..00000000000
--- a/changelogs/unreleased/frozen-string-enable-app-services.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen string in apps/uploaders/*.rb
-merge_request: 20401
-author: gfyoung
-type: other
diff --git a/changelogs/unreleased/frozen-string-enable-apps-services-inner-even-more.yml b/changelogs/unreleased/frozen-string-enable-apps-services-inner-even-more.yml
deleted file mode 100644
index cee790a07ff..00000000000
--- a/changelogs/unreleased/frozen-string-enable-apps-services-inner-even-more.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable even more frozen string in app/services/**/*.rb
-merge_request: 20702
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-enable-apps-services-inner-more.yml b/changelogs/unreleased/frozen-string-enable-apps-services-inner-more.yml
deleted file mode 100644
index ea962cf8edc..00000000000
--- a/changelogs/unreleased/frozen-string-enable-apps-services-inner-more.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable more frozen string in app/services/**/*.rb
-merge_request: 20677
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-enable-apps-services-inner.yml b/changelogs/unreleased/frozen-string-enable-apps-services-inner.yml
deleted file mode 100644
index 16b8ec3908f..00000000000
--- a/changelogs/unreleased/frozen-string-enable-apps-services-inner.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen string in app/services/**/*.rb
-merge_request: 20656
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/frozen-string-vestigial.yml b/changelogs/unreleased/frozen-string-vestigial.yml
deleted file mode 100644
index 79e92a19a7a..00000000000
--- a/changelogs/unreleased/frozen-string-vestigial.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen string in newly added files to previously processed directories
-merge_request: 20763
-author: gfyoung
-type: performance
diff --git a/changelogs/unreleased/full-list-of-vulnerabilities-5239.yml b/changelogs/unreleased/full-list-of-vulnerabilities-5239.yml
deleted file mode 100644
index b26eb82b6c9..00000000000
--- a/changelogs/unreleased/full-list-of-vulnerabilities-5239.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Removes "show all" on reports and adds an actionButtons slot
-merge_request: 20855
-author:
-type: changed
diff --git a/changelogs/unreleased/git-rerere-link-doc-update.yml b/changelogs/unreleased/git-rerere-link-doc-update.yml
deleted file mode 100644
index 06093e8ec13..00000000000
--- a/changelogs/unreleased/git-rerere-link-doc-update.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update git rerere link in docs
-merge_request: 21060
-author: gfyoung
-type: other
diff --git a/changelogs/unreleased/hangouts_chat_integration.yml b/changelogs/unreleased/hangouts_chat_integration.yml
deleted file mode 100644
index bf3484a6d02..00000000000
--- a/changelogs/unreleased/hangouts_chat_integration.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add Hangouts Chat integration
-merge_request: 20290
-author: Kukovskii Vladimir
-type: added
diff --git a/changelogs/unreleased/ide-codesandbox-poc.yml b/changelogs/unreleased/ide-codesandbox-poc.yml
deleted file mode 100644
index 7da1f4e6472..00000000000
--- a/changelogs/unreleased/ide-codesandbox-poc.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Added live preview for JavaScript projects in the Web IDE
-merge_request: 19764
-author:
-type: added
diff --git a/changelogs/unreleased/ide-delete-entries.yml b/changelogs/unreleased/ide-delete-entries.yml
deleted file mode 100644
index 8cbc0739406..00000000000
--- a/changelogs/unreleased/ide-delete-entries.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enabled deletion of files in the Web IDE
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/ide-pipeline-icon-open.yml b/changelogs/unreleased/ide-pipeline-icon-open.yml
deleted file mode 100644
index 3a73ff2170f..00000000000
--- a/changelogs/unreleased/ide-pipeline-icon-open.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Clicking CI icon in Web IDE now opens up pipelines panel
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/ide-rename-files.yml b/changelogs/unreleased/ide-rename-files.yml
deleted file mode 100644
index c2db284e07c..00000000000
--- a/changelogs/unreleased/ide-rename-files.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable renaming files and folders in Web IDE
-merge_request: 20835
-author:
-type: added
diff --git a/changelogs/unreleased/ide-row-dropdown-design-update.yml b/changelogs/unreleased/ide-row-dropdown-design-update.yml
deleted file mode 100644
index e0fe64c944e..00000000000
--- a/changelogs/unreleased/ide-row-dropdown-design-update.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Updated design of new entry dropdown in Web IDE
-merge_request: 20526
-author:
-type: changed
diff --git a/changelogs/unreleased/ide-warn-staged-files.yml b/changelogs/unreleased/ide-warn-staged-files.yml
deleted file mode 100644
index ae3c4f392c0..00000000000
--- a/changelogs/unreleased/ide-warn-staged-files.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Warn user when reload IDE with staged changes
-merge_request: 20857
-author:
-type: added
diff --git a/changelogs/unreleased/improve-junit-support-be.yml b/changelogs/unreleased/improve-junit-support-be.yml
deleted file mode 100644
index db4d47caa7c..00000000000
--- a/changelogs/unreleased/improve-junit-support-be.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve JUnit test reports in merge request widgets
-merge_request: 49966
-author:
-type: fixed
diff --git a/changelogs/unreleased/improve-metadata-access-performance.yml b/changelogs/unreleased/improve-metadata-access-performance.yml
deleted file mode 100644
index b16fa99dd3b..00000000000
--- a/changelogs/unreleased/improve-metadata-access-performance.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Access metadata directly from Object Storage
-merge_request:
-author:
-type: performance
diff --git a/changelogs/unreleased/issue_43602.yml b/changelogs/unreleased/issue_43602.yml
deleted file mode 100644
index 0482606db0a..00000000000
--- a/changelogs/unreleased/issue_43602.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Allow multiple JIRA transition ids
-merge_request: 20939
-author:
-type: changed
diff --git a/changelogs/unreleased/issue_44821.yml b/changelogs/unreleased/issue_44821.yml
deleted file mode 100644
index b1807e069af..00000000000
--- a/changelogs/unreleased/issue_44821.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Retrieve merge request closing issues from database cache
-merge_request: 20911
-author:
-type: fixed
diff --git a/changelogs/unreleased/issue_47709.yml b/changelogs/unreleased/issue_47709.yml
deleted file mode 100644
index c3ef55fd692..00000000000
--- a/changelogs/unreleased/issue_47709.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'Allow to toggle notifications for issues due soon'
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/jprovazn-resource-events.yml b/changelogs/unreleased/jprovazn-resource-events.yml
deleted file mode 100644
index 05643150f16..00000000000
--- a/changelogs/unreleased/jprovazn-resource-events.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add new model for tracking label events.
-merge_request:
-author:
-type: added
diff --git a/changelogs/unreleased/jr-archive-hook.yml b/changelogs/unreleased/jr-archive-hook.yml
deleted file mode 100644
index 56c13f1370e..00000000000
--- a/changelogs/unreleased/jr-archive-hook.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Trigger system hooks when project is archived/unarchived
-merge_request: 20995
-author:
-type: added
diff --git a/changelogs/unreleased/jupyter-image.yml b/changelogs/unreleased/jupyter-image.yml
deleted file mode 100644
index 8aeefd603d8..00000000000
--- a/changelogs/unreleased/jupyter-image.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rubix, scikit-learn, tensorflow & other useful libraries pre-installed with JupyterHub
-merge_request: 20714
-author: Amit Rathi
-type: changed
diff --git a/changelogs/unreleased/kp-6927-epic-dates-from-milestone.yml b/changelogs/unreleased/kp-6927-epic-dates-from-milestone.yml
deleted file mode 100644
index c15d73a0c12..00000000000
--- a/changelogs/unreleased/kp-6927-epic-dates-from-milestone.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add 'tabindex' attribute support on Icon component to show BS4 popover on trigger type 'focus'
-merge_request: 21066
-author:
-type: other
diff --git a/changelogs/unreleased/kp-stacked-progress-bar-decimal-places.yml b/changelogs/unreleased/kp-stacked-progress-bar-decimal-places.yml
deleted file mode 100644
index a2fca4c5b91..00000000000
--- a/changelogs/unreleased/kp-stacked-progress-bar-decimal-places.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Show decimal place up to single digit in Stacked Progress Bar
-merge_request: 20776
-author:
-type: changed
diff --git a/changelogs/unreleased/leipert-fix-pipelines-view.yml b/changelogs/unreleased/leipert-fix-pipelines-view.yml
deleted file mode 100644
index 7bcc2e84cd2..00000000000
--- a/changelogs/unreleased/leipert-fix-pipelines-view.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix rendering of pipeline failure view when directly navigationg to it
-merge_request: 21043
-author:
-type: fixed
diff --git a/changelogs/unreleased/mk-add-local-project-uploads-cleanup-task.yml b/changelogs/unreleased/mk-add-local-project-uploads-cleanup-task.yml
deleted file mode 100644
index 9d38b353a41..00000000000
--- a/changelogs/unreleased/mk-add-local-project-uploads-cleanup-task.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add local project uploads cleanup task
-merge_request: 20863
-author:
-type: added
diff --git a/changelogs/unreleased/mk-fix-callback-canceling-in-namespace-move-dir.yml b/changelogs/unreleased/mk-fix-callback-canceling-in-namespace-move-dir.yml
deleted file mode 100644
index 8e71377d93f..00000000000
--- a/changelogs/unreleased/mk-fix-callback-canceling-in-namespace-move-dir.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix namespace move callback behavior, especially to fix Geo replication of namespace moves during certain exceptions.
-merge_request: 19297
-author:
-type: fixed
diff --git a/changelogs/unreleased/osw-fix-missing-and-duplicated-milestones-on-list.yml b/changelogs/unreleased/osw-fix-missing-and-duplicated-milestones-on-list.yml
deleted file mode 100644
index 62416b7f87e..00000000000
--- a/changelogs/unreleased/osw-fix-missing-and-duplicated-milestones-on-list.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix missing and duplicates on project milestone listing page
-merge_request: 21058
-author:
-type: fixed
diff --git a/changelogs/unreleased/osw-fix-n-plus-1-for-mrs-without-merge-info.yml b/changelogs/unreleased/osw-fix-n-plus-1-for-mrs-without-merge-info.yml
deleted file mode 100644
index dc8148fa1a5..00000000000
--- a/changelogs/unreleased/osw-fix-n-plus-1-for-mrs-without-merge-info.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Avoid N+1 on MRs page when metrics merging date cannot be found
-merge_request: 21053
-author:
-type: performance
diff --git a/changelogs/unreleased/pl-json-gon.yml b/changelogs/unreleased/pl-json-gon.yml
deleted file mode 100644
index c0f93006c07..00000000000
--- a/changelogs/unreleased/pl-json-gon.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Don't set gon variables in JSON requests
-merge_request: 21016
-author: Peter Leitzen
-type: performance
diff --git a/changelogs/unreleased/process-commits-as-normal-in-forks-with-missing-upstream.yml b/changelogs/unreleased/process-commits-as-normal-in-forks-with-missing-upstream.yml
deleted file mode 100644
index 6994a238074..00000000000
--- a/changelogs/unreleased/process-commits-as-normal-in-forks-with-missing-upstream.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Process commits as normal in forks when the upstream project is deleted
-merge_request: 20534
-author:
-type: fixed
diff --git a/changelogs/unreleased/project-visibility-tooltip.yml b/changelogs/unreleased/project-visibility-tooltip.yml
deleted file mode 100644
index 806c93e493a..00000000000
--- a/changelogs/unreleased/project-visibility-tooltip.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix project visibility tooltip
-merge_request: 20535
-author: Jamie Schembri
-type: fixed
diff --git a/changelogs/unreleased/rails5-fix-48977.yml b/changelogs/unreleased/rails5-fix-48977.yml
deleted file mode 100644
index bfd86f20e24..00000000000
--- a/changelogs/unreleased/rails5-fix-48977.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rails5 fix mysql milliseconds problem in specs
-merge_request: 20464
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-fix-flaky-spec-user-uses-shortcuts.yml b/changelogs/unreleased/rails5-fix-flaky-spec-user-uses-shortcuts.yml
deleted file mode 100644
index 5f2504c604d..00000000000
--- a/changelogs/unreleased/rails5-fix-flaky-spec-user-uses-shortcuts.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'Rails5: fix flaky spec'
-merge_request: 20953
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-fix-revert-modal-spec.yml b/changelogs/unreleased/rails5-fix-revert-modal-spec.yml
deleted file mode 100644
index 0637e503ca9..00000000000
--- a/changelogs/unreleased/rails5-fix-revert-modal-spec.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rails5 fix user sees revert modal spec
-merge_request: 20706
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-gpg-permit-concurrent.yml b/changelogs/unreleased/rails5-gpg-permit-concurrent.yml
deleted file mode 100644
index cf1b0023f86..00000000000
--- a/changelogs/unreleased/rails5-gpg-permit-concurrent.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Permit concurrent loads in gpg keychain mutex
-merge_request: 20894
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-mysql-fix-pr-importer-spec.yml b/changelogs/unreleased/rails5-mysql-fix-pr-importer-spec.yml
deleted file mode 100644
index afd9865ee45..00000000000
--- a/changelogs/unreleased/rails5-mysql-fix-pr-importer-spec.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rails5 mysql fix milliseconds problem in pull request importer spec
-merge_request: 20475
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-mysql-rename-column.yml b/changelogs/unreleased/rails5-mysql-rename-column.yml
deleted file mode 100644
index cbae9250744..00000000000
--- a/changelogs/unreleased/rails5-mysql-rename-column.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rails5 MySQL fix rename_column as part of cleanup_concurrent_column_type_change
-merge_request: 20514
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-update-gemfile-lock-2.yml b/changelogs/unreleased/rails5-update-gemfile-lock-2.yml
deleted file mode 100644
index 1f3e9bd2238..00000000000
--- a/changelogs/unreleased/rails5-update-gemfile-lock-2.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Rails5 update Gemfile.rails5.lock
-merge_request: 20858
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-update-gemfile-lock.yml b/changelogs/unreleased/rails5-update-gemfile-lock.yml
deleted file mode 100644
index 58931587fff..00000000000
--- a/changelogs/unreleased/rails5-update-gemfile-lock.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update Gemfile.rails5.lock with latest Gemfile.lock changes
-merge_request: 20466
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/rails5-update-rouge.yml b/changelogs/unreleased/rails5-update-rouge.yml
deleted file mode 100644
index 1173b3b7e9a..00000000000
--- a/changelogs/unreleased/rails5-update-rouge.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'Rails5: update Rails5 lock for forgotten gem rouge'
-merge_request: 21010
-author: Jasper Maes
-type: fixed
diff --git a/changelogs/unreleased/ravlen-deploy-tokens-display-update.yml b/changelogs/unreleased/ravlen-deploy-tokens-display-update.yml
deleted file mode 100644
index fd5a6521882..00000000000
--- a/changelogs/unreleased/ravlen-deploy-tokens-display-update.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Cleans up display of Deploy Tokens to match Personal Access Tokens"
-merge_request: 20578
-author: Marcel Amirault
-type: added \ No newline at end of file
diff --git a/changelogs/unreleased/regen-2fa-codes.yml b/changelogs/unreleased/regen-2fa-codes.yml
deleted file mode 100644
index 596f759df0f..00000000000
--- a/changelogs/unreleased/regen-2fa-codes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Added button to regenerate 2FA codes
-merge_request:
-author: Luke Picciau
-type: added
diff --git a/changelogs/unreleased/replace-all-snake-case-in-scss-variables.yml b/changelogs/unreleased/replace-all-snake-case-in-scss-variables.yml
deleted file mode 100644
index 8d5ecdfa57e..00000000000
--- a/changelogs/unreleased/replace-all-snake-case-in-scss-variables.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Replace snake case in SCSS variables
-merge_request: 20799
-author: George Tsiolis
-type: other
diff --git a/changelogs/unreleased/replace-snake-case-css-classes.yml b/changelogs/unreleased/replace-snake-case-css-classes.yml
deleted file mode 100644
index 28ec5ee097f..00000000000
--- a/changelogs/unreleased/replace-snake-case-css-classes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Replace author_link snake case in stylesheets, specs, and helpers
-merge_request: 20797
-author: George Tsiolis
-type: other
diff --git a/changelogs/unreleased/rouge-3-2-0.yml b/changelogs/unreleased/rouge-3-2-0.yml
deleted file mode 100644
index 15ac4cc1e76..00000000000
--- a/changelogs/unreleased/rouge-3-2-0.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update to Rouge 3.2.0, including Terraform and Crystal lexer and bug fixes
-merge_request: 20991
-author:
-type: changed
diff --git a/changelogs/unreleased/rouge_3-2-1.yml b/changelogs/unreleased/rouge_3-2-1.yml
deleted file mode 100644
index b281a4f0e95..00000000000
--- a/changelogs/unreleased/rouge_3-2-1.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update to Rouge 3.2.1, which includes a critical fix to the Perl Lexer
-merge_request: 21263
-author:
-type: changed
diff --git a/changelogs/unreleased/runner-features.yml b/changelogs/unreleased/runner-features.yml
deleted file mode 100644
index c5e0fff5a18..00000000000
--- a/changelogs/unreleased/runner-features.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Verify runner feature set
-merge_request: 20664
-author:
-type: added
diff --git a/changelogs/unreleased/runners-max-timeout-param.yml b/changelogs/unreleased/runners-max-timeout-param.yml
deleted file mode 100644
index 875f805d849..00000000000
--- a/changelogs/unreleased/runners-max-timeout-param.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add missing maximum_timeout parameter
-merge_request: 20355
-author: gfyoung
-type: fixed
diff --git a/changelogs/unreleased/satishperala-gitlab-ce-20720_webhooks_full_image_url.yml b/changelogs/unreleased/satishperala-gitlab-ce-20720_webhooks_full_image_url.yml
deleted file mode 100644
index 7bfe1b5778f..00000000000
--- a/changelogs/unreleased/satishperala-gitlab-ce-20720_webhooks_full_image_url.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Include full image URL in webhooks for uploaded images
-merge_request: 18109
-author: Satish Perala
-type: changed
diff --git a/changelogs/unreleased/security-fj-missing-csrf-system-hooks.yml b/changelogs/unreleased/security-fj-missing-csrf-system-hooks.yml
deleted file mode 100644
index fabf48acbbc..00000000000
--- a/changelogs/unreleased/security-fj-missing-csrf-system-hooks.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Adding CSRF protection to Hooks test action
-merge_request:
-author:
-type: security
diff --git a/changelogs/unreleased/security-ide-branch-name-xss.yml b/changelogs/unreleased/security-ide-branch-name-xss.yml
deleted file mode 100644
index 51742ffa4e9..00000000000
--- a/changelogs/unreleased/security-ide-branch-name-xss.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fixed XSS in branch name in Web IDE
-merge_request:
-author:
-type: security
diff --git a/changelogs/unreleased/sh-bump-fog-google.yml b/changelogs/unreleased/sh-bump-fog-google.yml
new file mode 100644
index 00000000000..b5fa55e53a5
--- /dev/null
+++ b/changelogs/unreleased/sh-bump-fog-google.yml
@@ -0,0 +1,5 @@
+---
+title: Bump fog-google to 1.7.0 and google-api-client to 0.23.0
+merge_request: 21295
+author:
+type: fixed
diff --git a/changelogs/unreleased/sh-bump-gitaly-0-117.yml b/changelogs/unreleased/sh-bump-gitaly-0-117.yml
deleted file mode 100644
index 90ca86d076b..00000000000
--- a/changelogs/unreleased/sh-bump-gitaly-0-117.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump Gitaly to 0.117.0
-merge_request: 21055
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-bump-gitaly-for-11-2.yml b/changelogs/unreleased/sh-bump-gitaly-for-11-2.yml
deleted file mode 100644
index 0e748c3a346..00000000000
--- a/changelogs/unreleased/sh-bump-gitaly-for-11-2.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump Gitaly to 0.117.1 for Rouge update
-merge_request: 21277
-author:
-type: security
diff --git a/changelogs/unreleased/sh-bump-haml-5-0-4.yml b/changelogs/unreleased/sh-bump-haml-5-0-4.yml
deleted file mode 100644
index 269b1e55417..00000000000
--- a/changelogs/unreleased/sh-bump-haml-5-0-4.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump haml gem to 5.0.4
-merge_request: 20847
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-bump-rugged-0-27-4.yml b/changelogs/unreleased/sh-bump-rugged-0-27-4.yml
deleted file mode 100644
index 50373cb81ad..00000000000
--- a/changelogs/unreleased/sh-bump-rugged-0-27-4.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump rugged to 0.27.4 for security fixes
-merge_request:
-author:
-type: security
diff --git a/changelogs/unreleased/sh-bump-sanitize-4-6-6.yml b/changelogs/unreleased/sh-bump-sanitize-4-6-6.yml
deleted file mode 100644
index b9444440cb9..00000000000
--- a/changelogs/unreleased/sh-bump-sanitize-4-6-6.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Bump nokogiri to 1.8.4 and sanitize to 4.6.6 for performance
-merge_request: 20795
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-enable-frozen-literals-banzi-filters.yml b/changelogs/unreleased/sh-enable-frozen-literals-banzi-filters.yml
deleted file mode 100644
index 897d673e97d..00000000000
--- a/changelogs/unreleased/sh-enable-frozen-literals-banzi-filters.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen strings in remaining lib/banzai/filter/*.rb files
-merge_request: 20777
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-fix-admin-jobs-controller-timing-out.yml b/changelogs/unreleased/sh-fix-admin-jobs-controller-timing-out.yml
deleted file mode 100644
index e1adebbf076..00000000000
--- a/changelogs/unreleased/sh-fix-admin-jobs-controller-timing-out.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix /admin/jobs failing to load due to statement timeout
-merge_request: 20909
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-fix-issue-47797-ce.yml b/changelogs/unreleased/sh-fix-issue-47797-ce.yml
deleted file mode 100644
index 456d96acacb..00000000000
--- a/changelogs/unreleased/sh-fix-issue-47797-ce.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix handling of annotated tags when Gitaly is not in use
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-fix-issue-49133.yml b/changelogs/unreleased/sh-fix-issue-49133.yml
deleted file mode 100644
index 847220d88b2..00000000000
--- a/changelogs/unreleased/sh-fix-issue-49133.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix symlink vulnerability in project import
-merge_request:
-author:
-type: security
diff --git a/changelogs/unreleased/sh-fix-stderr-pipe-consumption.yml b/changelogs/unreleased/sh-fix-stderr-pipe-consumption.yml
deleted file mode 100644
index b7366cf2569..00000000000
--- a/changelogs/unreleased/sh-fix-stderr-pipe-consumption.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Avoid process deadlock in popen by consuming input pipes
-merge_request: 20600
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-freeze-banzai-filter-strings.yml b/changelogs/unreleased/sh-freeze-banzai-filter-strings.yml
deleted file mode 100644
index 37b397ea49f..00000000000
--- a/changelogs/unreleased/sh-freeze-banzai-filter-strings.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Enable frozen strings in lib/banzai/filter/*.rb
-merge_request: 20775
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-handle-colons-in-url-passwords.yml b/changelogs/unreleased/sh-handle-colons-in-url-passwords.yml
deleted file mode 100644
index 7717d0aab37..00000000000
--- a/changelogs/unreleased/sh-handle-colons-in-url-passwords.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Properly handle colons in URL passwords
-merge_request:
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-include-rbtrace.yml b/changelogs/unreleased/sh-include-rbtrace.yml
deleted file mode 100644
index 41f0655e3f8..00000000000
--- a/changelogs/unreleased/sh-include-rbtrace.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add rbtrace to Gemfile
-merge_request: 20831
-author:
-type: other
diff --git a/changelogs/unreleased/sh-lfs-fix-content-type.yml b/changelogs/unreleased/sh-lfs-fix-content-type.yml
deleted file mode 100644
index a839be9b3ae..00000000000
--- a/changelogs/unreleased/sh-lfs-fix-content-type.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix LFS uploads not working with git-lfs 2.5.0
-merge_request: 20923
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-limit-unauthenticated-session-times.yml b/changelogs/unreleased/sh-limit-unauthenticated-session-times.yml
deleted file mode 100644
index 44a46b4115e..00000000000
--- a/changelogs/unreleased/sh-limit-unauthenticated-session-times.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Limit the TTL for anonymous sessions to 1 hour
-merge_request: 20700
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-normalize-urls.yml b/changelogs/unreleased/sh-normalize-urls.yml
deleted file mode 100644
index b0d1120e10b..00000000000
--- a/changelogs/unreleased/sh-normalize-urls.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Escape username and password in UrlSanitizer#full_url
-merge_request: 20684
-author:
-type: fixed
diff --git a/changelogs/unreleased/sh-optimize-wiki-empty-check.yml b/changelogs/unreleased/sh-optimize-wiki-empty-check.yml
deleted file mode 100644
index 31ca7497b5a..00000000000
--- a/changelogs/unreleased/sh-optimize-wiki-empty-check.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Optimize ProjectWiki#empty? check
-merge_request: 20573
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-remove-banzai-instrumentation.yml b/changelogs/unreleased/sh-remove-banzai-instrumentation.yml
deleted file mode 100644
index 8bb3cd5942b..00000000000
--- a/changelogs/unreleased/sh-remove-banzai-instrumentation.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove method instrumentation for Banzai filters and reference parsers
-merge_request: 20770
-author:
-type: performance
diff --git a/changelogs/unreleased/sh-simplify-liveness-check.yml b/changelogs/unreleased/sh-simplify-liveness-check.yml
deleted file mode 100644
index 225e3dc1378..00000000000
--- a/changelogs/unreleased/sh-simplify-liveness-check.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add /-/health basic health check endpoint
-merge_request: 20456
-author:
-type: added
diff --git a/changelogs/unreleased/sh-support-users-find-by-confirmed-emails.yml b/changelogs/unreleased/sh-support-users-find-by-confirmed-emails.yml
deleted file mode 100644
index 4b0c8117b3e..00000000000
--- a/changelogs/unreleased/sh-support-users-find-by-confirmed-emails.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add support for searching users by confirmed e-mails
-merge_request: 20893
-author:
-type: other
diff --git a/changelogs/unreleased/sh-use-wiki-limit-parameter-gitaly.yml b/changelogs/unreleased/sh-use-wiki-limit-parameter-gitaly.yml
deleted file mode 100644
index e8c2e11ad31..00000000000
--- a/changelogs/unreleased/sh-use-wiki-limit-parameter-gitaly.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Use limit parameter to retrieve Wikis from Gitaly
-merge_request: 20764
-author:
-type: performance
diff --git a/changelogs/unreleased/stop-dynamic-routable-creation.yml b/changelogs/unreleased/stop-dynamic-routable-creation.yml
deleted file mode 100644
index 8bfcb5b2d11..00000000000
--- a/changelogs/unreleased/stop-dynamic-routable-creation.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Stop dynamically creating project and namespace routes
-merge_request: 20313
-author:
-type: performance
diff --git a/changelogs/unreleased/tc-reorder-mail-notify-references.yml b/changelogs/unreleased/tc-reorder-mail-notify-references.yml
deleted file mode 100644
index 689afda0259..00000000000
--- a/changelogs/unreleased/tc-reorder-mail-notify-references.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Put fallback reply-key address first in the References header
-merge_request: 20871
-author:
-type: changed
diff --git a/changelogs/unreleased/todos-visibility-change.yml b/changelogs/unreleased/todos-visibility-change.yml
deleted file mode 100644
index b7632b94771..00000000000
--- a/changelogs/unreleased/todos-visibility-change.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Delete todos when user loses access to read the target
-merge_request: 20665
-author:
-type: other
diff --git a/changelogs/unreleased/todos-visibility-migration.yml b/changelogs/unreleased/todos-visibility-migration.yml
deleted file mode 100644
index 651facc4ec8..00000000000
--- a/changelogs/unreleased/todos-visibility-migration.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove todos of users without access to targets migration
-merge_request: 20927
-author:
-type: other
diff --git a/changelogs/unreleased/toggle-password-cluster.yml b/changelogs/unreleased/toggle-password-cluster.yml
deleted file mode 100644
index 1a43c4baa25..00000000000
--- a/changelogs/unreleased/toggle-password-cluster.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Toggle Show / Hide Button for Kubernetes Password
-merge_request: 20659
-author: gfyoung
-type: fixed
diff --git a/changelogs/unreleased/tweak-sql-buckets.yml b/changelogs/unreleased/tweak-sql-buckets.yml
deleted file mode 100644
index 00a0f733ee1..00000000000
--- a/changelogs/unreleased/tweak-sql-buckets.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Add a 10 ms bucket for SQL timings
-merge_request:
-author:
-type: changed
diff --git a/changelogs/unreleased/tz-mr-port-memory-fixes.yml b/changelogs/unreleased/tz-mr-port-memory-fixes.yml
deleted file mode 100644
index 61d3c9abf71..00000000000
--- a/changelogs/unreleased/tz-mr-port-memory-fixes.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Improve performance and memory footprint of Changes tab of Merge Requests
-merge_request: 21028
-author:
-type: performance
diff --git a/changelogs/unreleased/update-card-body-style.yml b/changelogs/unreleased/update-card-body-style.yml
deleted file mode 100644
index d9197c18502..00000000000
--- a/changelogs/unreleased/update-card-body-style.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove background color from card-body style
-merge_request: 20689
-author: George Tsiolis
-type: fixed
diff --git a/changelogs/unreleased/update-issue-closing-pattern.yml b/changelogs/unreleased/update-issue-closing-pattern.yml
deleted file mode 100644
index 95488adf449..00000000000
--- a/changelogs/unreleased/update-issue-closing-pattern.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update issue closing pattern
-merge_request: 20554
-author: George Tsiolis
-type: changed
diff --git a/changelogs/unreleased/update-specific-runners-help-url.yml b/changelogs/unreleased/update-specific-runners-help-url.yml
deleted file mode 100644
index 0ccbc3b2d65..00000000000
--- a/changelogs/unreleased/update-specific-runners-help-url.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Update specific runners help URL
-merge_request: 20213
-author: George Tsiolis
-type: other
diff --git a/changelogs/unreleased/upgrade-hamlit-for-ruby25.yml b/changelogs/unreleased/upgrade-hamlit-for-ruby25.yml
deleted file mode 100644
index 39e10121507..00000000000
--- a/changelogs/unreleased/upgrade-hamlit-for-ruby25.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: 'Update hamlit to fix ruby 2.5 incompatibilities, fixes #42045'
-merge_request:
-author: Matthew Dawson
-type: fixed
diff --git a/changelogs/unreleased/winh-fix-gpg-regressions.yml b/changelogs/unreleased/winh-fix-gpg-regressions.yml
deleted file mode 100644
index 75d28321259..00000000000
--- a/changelogs/unreleased/winh-fix-gpg-regressions.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Fix GPG status badge loading regressions
-merge_request: 20987
-author:
-type: fixed
diff --git a/changelogs/unreleased/winh-restyle-user-status.yml b/changelogs/unreleased/winh-restyle-user-status.yml
deleted file mode 100644
index 90370e87825..00000000000
--- a/changelogs/unreleased/winh-restyle-user-status.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Restyle status message input on profile settings
-merge_request: 20903
-author:
-type: changed
diff --git a/changelogs/unreleased/winh-stop-all-environments.yml b/changelogs/unreleased/winh-stop-all-environments.yml
deleted file mode 100644
index 6e5f2f506d9..00000000000
--- a/changelogs/unreleased/winh-stop-all-environments.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Support manually stopping any environment from the UI
-merge_request: 20077
-author:
-type: changed
diff --git a/changelogs/unreleased/winh-tree-view-gpg.yml b/changelogs/unreleased/winh-tree-view-gpg.yml
deleted file mode 100644
index 84d63814a47..00000000000
--- a/changelogs/unreleased/winh-tree-view-gpg.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Display GPG status on repository and blob pages
-merge_request: 20524
-author:
-type: changed
diff --git a/changelogs/unreleased/winh-upgrade-grape-path-helpers.yml b/changelogs/unreleased/winh-upgrade-grape-path-helpers.yml
deleted file mode 100644
index 62addff1d0f..00000000000
--- a/changelogs/unreleased/winh-upgrade-grape-path-helpers.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Upgrade grape-path-helpers to 1.0.6
-merge_request: 20601
-author:
-type: other
diff --git a/changelogs/unreleased/wrap-job-name-on-jobs-sidebar.yml b/changelogs/unreleased/wrap-job-name-on-jobs-sidebar.yml
deleted file mode 100644
index 97fa1592753..00000000000
--- a/changelogs/unreleased/wrap-job-name-on-jobs-sidebar.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Wrap job name on pipeline job sidebar
-merge_request: 20804
-author: George Tsiolis
-type: changed
diff --git a/changelogs/unreleased/zj-remove-git-rake-tasks.yml b/changelogs/unreleased/zj-remove-git-rake-tasks.yml
deleted file mode 100644
index 8c90fc7d0fe..00000000000
--- a/changelogs/unreleased/zj-remove-git-rake-tasks.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Remove gitlab:user:check_repos, gitlab:check_repo, gitlab:git:prune, gitlab:git:gc, and gitlab:git:repack
-merge_request: 20806
-author:
-type: removed
diff --git a/changelogs/unreleased/zj-repository-languages.yml b/changelogs/unreleased/zj-repository-languages.yml
deleted file mode 100644
index c42ba60be29..00000000000
--- a/changelogs/unreleased/zj-repository-languages.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Show repository languages for projects
-merge_request: 19480
-author:
-type: added
diff --git a/config/initializers/fog_google_https_private_urls.rb b/config/initializers/fog_google_https_private_urls.rb
index f92e623a5d2..c65a534b536 100644
--- a/config/initializers/fog_google_https_private_urls.rb
+++ b/config/initializers/fog_google_https_private_urls.rb
@@ -7,7 +7,7 @@ module Fog
class GoogleXML
class File < Fog::Model
module MonkeyPatch
- def url(expires)
+ def url(expires, options = {})
requires :key
collection.get_https_url(key, expires)
end
diff --git a/doc/api/groups.md b/doc/api/groups.md
index 87be36cc815..64e0d78788d 100644
--- a/doc/api/groups.md
+++ b/doc/api/groups.md
@@ -351,12 +351,14 @@ Example response:
{
"group_id": 4,
"group_name": "Twitter",
- "group_access_level": 30
+ "group_access_level": 30,
+ "expires_at": null
},
{
"group_id": 3,
"group_name": "Gitlab Org",
- "group_access_level": 10
+ "group_access_level": 10,
+ "expires_at": "2018-08-14"
}
]
}
diff --git a/doc/university/high-availability/aws/README.md b/doc/university/high-availability/aws/README.md
index 8f7bb8636c5..4e7eae19844 100644
--- a/doc/university/high-availability/aws/README.md
+++ b/doc/university/high-availability/aws/README.md
@@ -30,7 +30,7 @@ we'll be using to configure our cloud infrastructure.
### Reference Architecture
-![Reference Architecture](img/reference-arch.png)
+![Reference Architecture](img/reference-arch2.png)
***
diff --git a/doc/university/high-availability/aws/img/reference-arch.png b/doc/university/high-availability/aws/img/reference-arch.png
deleted file mode 100644
index 271ee5bc614..00000000000
--- a/doc/university/high-availability/aws/img/reference-arch.png
+++ /dev/null
Binary files differ
diff --git a/doc/university/high-availability/aws/img/reference-arch2.png b/doc/university/high-availability/aws/img/reference-arch2.png
new file mode 100644
index 00000000000..9f50b2f5171
--- /dev/null
+++ b/doc/university/high-availability/aws/img/reference-arch2.png
Binary files differ
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index b6393fdef19..06262f0f991 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -91,6 +91,7 @@ module API
group_link.group.name
end
expose :group_access, as: :group_access_level
+ expose :expires_at
end
class ProjectIdentity < Grape::Entity
diff --git a/lib/api/files.rb b/lib/api/files.rb
index 29d7489bd7c..ff4f75c12df 100644
--- a/lib/api/files.rb
+++ b/lib/api/files.rb
@@ -59,7 +59,7 @@ module API
params :simple_file_params do
requires :file_path, type: String, desc: 'The url encoded path to the file. Ex. lib%2Fclass%2Erb'
requires :branch, type: String, desc: 'Name of the branch to commit into. To create a new branch, also provide `start_branch`.'
- requires :commit_message, type: String, desc: 'Commit message'
+ requires :commit_message, type: String, allow_blank: false, desc: 'Commit message'
optional :start_branch, type: String, desc: 'Name of the branch to start the new commit from'
optional :author_email, type: String, desc: 'The email of the author'
optional :author_name, type: String, desc: 'The name of the author'
diff --git a/lib/api/project_snippets.rb b/lib/api/project_snippets.rb
index 1de5551fee9..0ada0ef4708 100644
--- a/lib/api/project_snippets.rb
+++ b/lib/api/project_snippets.rb
@@ -49,7 +49,7 @@ module API
params do
requires :title, type: String, desc: 'The title of the snippet'
requires :file_name, type: String, desc: 'The file name of the snippet'
- requires :code, type: String, desc: 'The content of the snippet'
+ requires :code, type: String, allow_blank: false, desc: 'The content of the snippet'
optional :description, type: String, desc: 'The description of a snippet'
requires :visibility, type: String,
values: Gitlab::VisibilityLevel.string_values,
@@ -78,7 +78,7 @@ module API
requires :snippet_id, type: Integer, desc: 'The ID of a project snippet'
optional :title, type: String, desc: 'The title of the snippet'
optional :file_name, type: String, desc: 'The file name of the snippet'
- optional :code, type: String, desc: 'The content of the snippet'
+ optional :code, type: String, allow_blank: false, desc: 'The content of the snippet'
optional :description, type: String, desc: 'The description of a snippet'
optional :visibility, type: String,
values: Gitlab::VisibilityLevel.string_values,
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 73bff79aabe..f348f66ae17 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -2508,6 +2508,12 @@ msgstr ""
msgid "Error loading project data. Please try again."
msgstr ""
+msgid "Error loading template types."
+msgstr ""
+
+msgid "Error loading template."
+msgstr ""
+
msgid "Error occurred when toggling the notification subscription"
msgstr ""
diff --git a/qa/qa/scenario/test/integration/github.rb b/qa/qa/scenario/test/integration/github.rb
index 1d22b532aa5..76c3923d68a 100644
--- a/qa/qa/scenario/test/integration/github.rb
+++ b/qa/qa/scenario/test/integration/github.rb
@@ -2,7 +2,7 @@ module QA
module Scenario
module Test
module Integration
- class Github < Test::Instance
+ class Github < Test::Instance::All
tags :github
def perform(address, *rspec_options)
diff --git a/qa/qa/scenario/test/integration/kubernetes.rb b/qa/qa/scenario/test/integration/kubernetes.rb
index 7479073e979..405962caeed 100644
--- a/qa/qa/scenario/test/integration/kubernetes.rb
+++ b/qa/qa/scenario/test/integration/kubernetes.rb
@@ -2,7 +2,7 @@ module QA
module Scenario
module Test
module Integration
- class Kubernetes < Test::Instance
+ class Kubernetes < Test::Instance::All
tags :kubernetes
end
end
diff --git a/qa/qa/scenario/test/integration/ldap.rb b/qa/qa/scenario/test/integration/ldap.rb
index 257ed81d9e1..769fa389785 100644
--- a/qa/qa/scenario/test/integration/ldap.rb
+++ b/qa/qa/scenario/test/integration/ldap.rb
@@ -2,7 +2,7 @@ module QA
module Scenario
module Test
module Integration
- class LDAP < Test::Instance
+ class LDAP < Test::Instance::All
tags :ldap
end
end
diff --git a/qa/qa/scenario/test/integration/mattermost.rb b/qa/qa/scenario/test/integration/mattermost.rb
index 13bfad28b0b..831c6a9fcff 100644
--- a/qa/qa/scenario/test/integration/mattermost.rb
+++ b/qa/qa/scenario/test/integration/mattermost.rb
@@ -6,7 +6,7 @@ module QA
# Run test suite against any GitLab instance where mattermost is enabled,
# including staging and on-premises installation.
#
- class Mattermost < Test::Instance
+ class Mattermost < Test::Instance::All
tags :core, :mattermost
def perform(address, mattermost, *rspec_options)
diff --git a/spec/controllers/projects/commit_controller_spec.rb b/spec/controllers/projects/commit_controller_spec.rb
index 916a4be2567..9e149bc4c3c 100644
--- a/spec/controllers/projects/commit_controller_spec.rb
+++ b/spec/controllers/projects/commit_controller_spec.rb
@@ -230,7 +230,7 @@ describe Projects::CommitController do
id: master_pickable_commit.id)
expect(response).to redirect_to project_commits_path(project, 'master')
- expect(flash[:notice]).to eq('The commit has been successfully cherry-picked.')
+ expect(flash[:notice]).to eq('The commit has been successfully cherry-picked into master.')
end
end
diff --git a/spec/factories/project_group_links.rb b/spec/factories/project_group_links.rb
index d5ace9425a0..59c77627ee5 100644
--- a/spec/factories/project_group_links.rb
+++ b/spec/factories/project_group_links.rb
@@ -2,5 +2,6 @@ FactoryBot.define do
factory :project_group_link do
project
group
+ expires_at nil
end
end
diff --git a/spec/features/projects/commit/cherry_pick_spec.rb b/spec/features/projects/commit/cherry_pick_spec.rb
index bc3c00dafe2..a61b614dbc8 100644
--- a/spec/features/projects/commit/cherry_pick_spec.rb
+++ b/spec/features/projects/commit/cherry_pick_spec.rb
@@ -21,7 +21,7 @@ describe 'Cherry-pick Commits' do
uncheck 'create_merge_request'
click_button 'Cherry-pick'
end
- expect(page).to have_content('The commit has been successfully cherry-picked.')
+ expect(page).to have_content('The commit has been successfully cherry-picked into master.')
end
end
@@ -32,7 +32,7 @@ describe 'Cherry-pick Commits' do
uncheck 'create_merge_request'
click_button 'Cherry-pick'
end
- expect(page).to have_content('The commit has been successfully cherry-picked.')
+ expect(page).to have_content('The commit has been successfully cherry-picked into master.')
end
end
@@ -59,7 +59,7 @@ describe 'Cherry-pick Commits' do
page.within('#modal-cherry-pick-commit') do
click_button 'Cherry-pick'
end
- expect(page).to have_content('The commit has been successfully cherry-picked. You can now submit a merge request to get this change into the original branch.')
+ expect(page).to have_content("The commit has been successfully cherry-picked into cherry-pick-#{master_pickable_commit.short_id}. You can now submit a merge request to get this change into the original branch.")
expect(page).to have_content("From cherry-pick-#{master_pickable_commit.short_id} into master")
end
end
@@ -86,7 +86,7 @@ describe 'Cherry-pick Commits' do
click_button 'Cherry-pick'
end
- expect(page).to have_content('The commit has been successfully cherry-picked.')
+ expect(page).to have_content('The commit has been successfully cherry-picked into feature.')
end
end
diff --git a/spec/javascripts/ide/stores/modules/file_templates/actions_spec.js b/spec/javascripts/ide/stores/modules/file_templates/actions_spec.js
new file mode 100644
index 00000000000..f831a9f0a5d
--- /dev/null
+++ b/spec/javascripts/ide/stores/modules/file_templates/actions_spec.js
@@ -0,0 +1,336 @@
+import MockAdapter from 'axios-mock-adapter';
+import axios from '~/lib/utils/axios_utils';
+import createState from '~/ide/stores/modules/file_templates/state';
+import * as actions from '~/ide/stores/modules/file_templates/actions';
+import * as types from '~/ide/stores/modules/file_templates/mutation_types';
+import testAction from 'spec/helpers/vuex_action_helper';
+
+describe('IDE file templates actions', () => {
+ let state;
+ let mock;
+
+ beforeEach(() => {
+ state = createState();
+
+ mock = new MockAdapter(axios);
+ });
+
+ afterEach(() => {
+ mock.restore();
+ });
+
+ describe('requestTemplateTypes', () => {
+ it('commits REQUEST_TEMPLATE_TYPES', done => {
+ testAction(
+ actions.requestTemplateTypes,
+ null,
+ state,
+ [{ type: types.REQUEST_TEMPLATE_TYPES }],
+ [],
+ done,
+ );
+ });
+ });
+
+ describe('receiveTemplateTypesError', () => {
+ it('commits RECEIVE_TEMPLATE_TYPES_ERROR and dispatches setErrorMessage', done => {
+ testAction(
+ actions.receiveTemplateTypesError,
+ null,
+ state,
+ [{ type: types.RECEIVE_TEMPLATE_TYPES_ERROR }],
+ [
+ {
+ type: 'setErrorMessage',
+ payload: {
+ action: jasmine.any(Function),
+ actionText: 'Please try again',
+ text: 'Error loading template types.',
+ },
+ },
+ ],
+ done,
+ );
+ });
+ });
+
+ describe('receiveTemplateTypesSuccess', () => {
+ it('commits RECEIVE_TEMPLATE_TYPES_SUCCESS', done => {
+ testAction(
+ actions.receiveTemplateTypesSuccess,
+ 'test',
+ state,
+ [{ type: types.RECEIVE_TEMPLATE_TYPES_SUCCESS, payload: 'test' }],
+ [],
+ done,
+ );
+ });
+ });
+
+ describe('fetchTemplateTypes', () => {
+ describe('success', () => {
+ beforeEach(() => {
+ mock.onGet(/api\/(.*)\/templates\/licenses/).replyOnce(200, [
+ {
+ name: 'MIT',
+ },
+ ]);
+ });
+
+ it('rejects if selectedTemplateType is empty', done => {
+ const dispatch = jasmine.createSpy('dispatch');
+
+ actions
+ .fetchTemplateTypes({ dispatch, state })
+ .then(done.fail)
+ .catch(() => {
+ expect(dispatch).not.toHaveBeenCalled();
+
+ done();
+ });
+ });
+
+ it('dispatches actions', done => {
+ state.selectedTemplateType = {
+ key: 'licenses',
+ };
+
+ testAction(
+ actions.fetchTemplateTypes,
+ null,
+ state,
+ [],
+ [
+ {
+ type: 'requestTemplateTypes',
+ },
+ {
+ type: 'receiveTemplateTypesSuccess',
+ payload: [
+ {
+ name: 'MIT',
+ },
+ ],
+ },
+ ],
+ done,
+ );
+ });
+ });
+
+ describe('error', () => {
+ beforeEach(() => {
+ mock.onGet(/api\/(.*)\/templates\/licenses/).replyOnce(500);
+ });
+
+ it('dispatches actions', done => {
+ state.selectedTemplateType = {
+ key: 'licenses',
+ };
+
+ testAction(
+ actions.fetchTemplateTypes,
+ null,
+ state,
+ [],
+ [
+ {
+ type: 'requestTemplateTypes',
+ },
+ {
+ type: 'receiveTemplateTypesError',
+ },
+ ],
+ done,
+ );
+ });
+ });
+ });
+
+ describe('setSelectedTemplateType', () => {
+ it('commits SET_SELECTED_TEMPLATE_TYPE', done => {
+ testAction(
+ actions.setSelectedTemplateType,
+ 'test',
+ state,
+ [{ type: types.SET_SELECTED_TEMPLATE_TYPE, payload: 'test' }],
+ [],
+ done,
+ );
+ });
+ });
+
+ describe('receiveTemplateError', () => {
+ it('dispatches setErrorMessage', done => {
+ testAction(
+ actions.receiveTemplateError,
+ 'test',
+ state,
+ [],
+ [
+ {
+ type: 'setErrorMessage',
+ payload: {
+ action: jasmine.any(Function),
+ actionText: 'Please try again',
+ text: 'Error loading template.',
+ actionPayload: 'test',
+ },
+ },
+ ],
+ done,
+ );
+ });
+ });
+
+ describe('fetchTemplate', () => {
+ describe('success', () => {
+ beforeEach(() => {
+ mock.onGet(/api\/(.*)\/templates\/licenses\/mit/).replyOnce(200, {
+ content: 'MIT content',
+ });
+ mock.onGet(/api\/(.*)\/templates\/licenses\/testing/).replyOnce(200, {
+ content: 'testing content',
+ });
+ });
+
+ it('dispatches setFileTemplate if template already has content', done => {
+ const template = {
+ content: 'already has content',
+ };
+
+ testAction(
+ actions.fetchTemplate,
+ template,
+ state,
+ [],
+ [{ type: 'setFileTemplate', payload: template }],
+ done,
+ );
+ });
+
+ it('dispatches success', done => {
+ const template = {
+ key: 'mit',
+ };
+
+ state.selectedTemplateType = {
+ key: 'licenses',
+ };
+
+ testAction(
+ actions.fetchTemplate,
+ template,
+ state,
+ [],
+ [{ type: 'setFileTemplate', payload: { content: 'MIT content' } }],
+ done,
+ );
+ });
+
+ it('dispatches success and uses name key for API call', done => {
+ const template = {
+ name: 'testing',
+ };
+
+ state.selectedTemplateType = {
+ key: 'licenses',
+ };
+
+ testAction(
+ actions.fetchTemplate,
+ template,
+ state,
+ [],
+ [{ type: 'setFileTemplate', payload: { content: 'testing content' } }],
+ done,
+ );
+ });
+ });
+
+ describe('error', () => {
+ beforeEach(() => {
+ mock.onGet(/api\/(.*)\/templates\/licenses\/mit/).replyOnce(500);
+ });
+
+ it('dispatches error', done => {
+ const template = {
+ name: 'testing',
+ };
+
+ state.selectedTemplateType = {
+ key: 'licenses',
+ };
+
+ testAction(
+ actions.fetchTemplate,
+ template,
+ state,
+ [],
+ [{ type: 'receiveTemplateError', payload: template }],
+ done,
+ );
+ });
+ });
+ });
+
+ describe('setFileTemplate', () => {
+ it('dispatches changeFileContent', () => {
+ const dispatch = jasmine.createSpy('dispatch');
+ const commit = jasmine.createSpy('commit');
+ const rootGetters = {
+ activeFile: { path: 'test' },
+ };
+
+ actions.setFileTemplate({ dispatch, commit, rootGetters }, { content: 'content' });
+
+ expect(dispatch).toHaveBeenCalledWith(
+ 'changeFileContent',
+ { path: 'test', content: 'content' },
+ { root: true },
+ );
+ });
+
+ it('commits SET_UPDATE_SUCCESS', () => {
+ const dispatch = jasmine.createSpy('dispatch');
+ const commit = jasmine.createSpy('commit');
+ const rootGetters = {
+ activeFile: { path: 'test' },
+ };
+
+ actions.setFileTemplate({ dispatch, commit, rootGetters }, { content: 'content' });
+
+ expect(commit).toHaveBeenCalledWith('SET_UPDATE_SUCCESS', true);
+ });
+ });
+
+ describe('undoFileTemplate', () => {
+ it('dispatches changeFileContent', () => {
+ const dispatch = jasmine.createSpy('dispatch');
+ const commit = jasmine.createSpy('commit');
+ const rootGetters = {
+ activeFile: { path: 'test', raw: 'raw content' },
+ };
+
+ actions.undoFileTemplate({ dispatch, commit, rootGetters });
+
+ expect(dispatch).toHaveBeenCalledWith(
+ 'changeFileContent',
+ { path: 'test', content: 'raw content' },
+ { root: true },
+ );
+ });
+
+ it('commits SET_UPDATE_SUCCESS', () => {
+ const dispatch = jasmine.createSpy('dispatch');
+ const commit = jasmine.createSpy('commit');
+ const rootGetters = {
+ activeFile: { path: 'test', raw: 'raw content' },
+ };
+
+ actions.undoFileTemplate({ dispatch, commit, rootGetters });
+
+ expect(commit).toHaveBeenCalledWith('SET_UPDATE_SUCCESS', false);
+ });
+ });
+});
diff --git a/spec/javascripts/ide/stores/modules/file_templates/getters_spec.js b/spec/javascripts/ide/stores/modules/file_templates/getters_spec.js
new file mode 100644
index 00000000000..e337c3f331b
--- /dev/null
+++ b/spec/javascripts/ide/stores/modules/file_templates/getters_spec.js
@@ -0,0 +1,30 @@
+import * as getters from '~/ide/stores/modules/file_templates/getters';
+
+describe('IDE file templates getters', () => {
+ describe('templateTypes', () => {
+ it('returns list of template types', () => {
+ expect(getters.templateTypes().length).toBe(4);
+ });
+ });
+
+ describe('showFileTemplatesBar', () => {
+ it('finds template type by name', () => {
+ expect(
+ getters.showFileTemplatesBar(null, {
+ templateTypes: getters.templateTypes(),
+ })('LICENSE'),
+ ).toEqual({
+ name: 'LICENSE',
+ key: 'licenses',
+ });
+ });
+
+ it('returns undefined if not found', () => {
+ expect(
+ getters.showFileTemplatesBar(null, {
+ templateTypes: getters.templateTypes(),
+ })('test'),
+ ).toBe(undefined);
+ });
+ });
+});
diff --git a/spec/javascripts/ide/stores/modules/file_templates/mutations_spec.js b/spec/javascripts/ide/stores/modules/file_templates/mutations_spec.js
new file mode 100644
index 00000000000..a51527d699f
--- /dev/null
+++ b/spec/javascripts/ide/stores/modules/file_templates/mutations_spec.js
@@ -0,0 +1,61 @@
+import createState from '~/ide/stores/modules/file_templates/state';
+import * as types from '~/ide/stores/modules/file_templates/mutation_types';
+import mutations from '~/ide/stores/modules/file_templates/mutations';
+
+describe('IDE file templates mutations', () => {
+ let state;
+
+ beforeEach(() => {
+ state = createState();
+ });
+
+ describe(types.REQUEST_TEMPLATE_TYPES, () => {
+ it('sets isLoading', () => {
+ mutations[types.REQUEST_TEMPLATE_TYPES](state);
+
+ expect(state.isLoading).toBe(true);
+ });
+ });
+
+ describe(types.RECEIVE_TEMPLATE_TYPES_ERROR, () => {
+ it('sets isLoading', () => {
+ state.isLoading = true;
+
+ mutations[types.RECEIVE_TEMPLATE_TYPES_ERROR](state);
+
+ expect(state.isLoading).toBe(false);
+ });
+ });
+
+ describe(types.RECEIVE_TEMPLATE_TYPES_SUCCESS, () => {
+ it('sets isLoading to false', () => {
+ state.isLoading = true;
+
+ mutations[types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, []);
+
+ expect(state.isLoading).toBe(false);
+ });
+
+ it('sets templates', () => {
+ mutations[types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, ['test']);
+
+ expect(state.templates).toEqual(['test']);
+ });
+ });
+
+ describe(types.SET_SELECTED_TEMPLATE_TYPE, () => {
+ it('sets selectedTemplateType', () => {
+ mutations[types.SET_SELECTED_TEMPLATE_TYPE](state, 'type');
+
+ expect(state.selectedTemplateType).toBe('type');
+ });
+ });
+
+ describe(types.SET_UPDATE_SUCCESS, () => {
+ it('sets updateSuccess', () => {
+ mutations[types.SET_UPDATE_SUCCESS](state, true);
+
+ expect(state.updateSuccess).toBe(true);
+ });
+ });
+});
diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb
index 5157d8fc645..d5f88e930d4 100644
--- a/spec/models/commit_spec.rb
+++ b/spec/models/commit_spec.rb
@@ -225,6 +225,12 @@ eos
end
describe 'description' do
+ it 'returns no_commit_message when safe_message is blank' do
+ allow(commit).to receive(:safe_message).and_return(nil)
+
+ expect(commit.description).to eq('--no commit message')
+ end
+
it 'returns description of commit message if title less than 100 characters' do
message = <<eos
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sodales id felis id blandit.
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 9763477a711..fd99acb3bb2 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -315,6 +315,14 @@ describe User do
expect(users_with_two_factor).to eq([user_with_2fa.id])
expect(users_with_two_factor).not_to include(user_without_2fa.id)
end
+
+ it 'works with ORDER BY' do
+ user_with_2fa = create(:user, :two_factor_via_otp, :two_factor_via_u2f)
+
+ expect(described_class
+ .with_two_factor
+ .reorder_by_name).to eq([user_with_2fa])
+ end
end
describe ".without_two_factor" do
diff --git a/spec/requests/api/files_spec.rb b/spec/requests/api/files_spec.rb
index 0aec186f738..a2b41d56b8b 100644
--- a/spec/requests/api/files_spec.rb
+++ b/spec/requests/api/files_spec.rb
@@ -313,7 +313,7 @@ describe API::Files do
describe "POST /projects/:id/repository/files/:file_path" do
let!(:file_path) { "new_subfolder%2Fnewfile%2Erb" }
- let(:valid_params) do
+ let(:params) do
{
branch: "master",
content: "puts 8",
@@ -322,7 +322,7 @@ describe API::Files do
end
it "creates a new file in project repo" do
- post api(route(file_path), user), valid_params
+ post api(route(file_path), user), params
expect(response).to have_gitlab_http_status(201)
expect(json_response["file_path"]).to eq(CGI.unescape(file_path))
@@ -337,20 +337,28 @@ describe API::Files do
expect(response).to have_gitlab_http_status(400)
end
+ it 'returns a 400 bad request if the commit message is empty' do
+ params[:commit_message] = ''
+
+ post api(route(file_path), user), params
+
+ expect(response).to have_gitlab_http_status(400)
+ end
+
it "returns a 400 if editor fails to create file" do
allow_any_instance_of(Repository).to receive(:create_file)
.and_raise(Gitlab::Git::CommitError, 'Cannot create file')
- post api(route("any%2Etxt"), user), valid_params
+ post api(route("any%2Etxt"), user), params
expect(response).to have_gitlab_http_status(400)
end
context "when specifying an author" do
it "creates a new file with the specified author" do
- valid_params.merge!(author_email: author_email, author_name: author_name)
+ params.merge!(author_email: author_email, author_name: author_name)
- post api(route("new_file_with_author%2Etxt"), user), valid_params
+ post api(route("new_file_with_author%2Etxt"), user), params
expect(response).to have_gitlab_http_status(201)
expect(response.content_type).to eq('application/json')
@@ -364,7 +372,7 @@ describe API::Files do
let!(:project) { create(:project_empty_repo, namespace: user.namespace ) }
it "creates a new file in project repo" do
- post api(route("newfile%2Erb"), user), valid_params
+ post api(route("newfile%2Erb"), user), params
expect(response).to have_gitlab_http_status(201)
expect(json_response['file_path']).to eq('newfile.rb')
@@ -376,7 +384,7 @@ describe API::Files do
end
describe "PUT /projects/:id/repository/files" do
- let(:valid_params) do
+ let(:params) do
{
branch: 'master',
content: 'puts 8',
@@ -385,7 +393,7 @@ describe API::Files do
end
it "updates existing file in project repo" do
- put api(route(file_path), user), valid_params
+ put api(route(file_path), user), params
expect(response).to have_gitlab_http_status(200)
expect(json_response['file_path']).to eq(CGI.unescape(file_path))
@@ -394,8 +402,16 @@ describe API::Files do
expect(last_commit.author_name).to eq(user.name)
end
+ it 'returns a 400 bad request if the commit message is empty' do
+ params[:commit_message] = ''
+
+ put api(route(file_path), user), params
+
+ expect(response).to have_gitlab_http_status(400)
+ end
+
it "returns a 400 bad request if update existing file with stale last commit id" do
- params_with_stale_id = valid_params.merge(last_commit_id: 'stale')
+ params_with_stale_id = params.merge(last_commit_id: 'stale')
put api(route(file_path), user), params_with_stale_id
@@ -406,7 +422,7 @@ describe API::Files do
it "updates existing file in project repo with accepts correct last commit id" do
last_commit = Gitlab::Git::Commit
.last_for_path(project.repository, 'master', URI.unescape(file_path))
- params_with_correct_id = valid_params.merge(last_commit_id: last_commit.id)
+ params_with_correct_id = params.merge(last_commit_id: last_commit.id)
put api(route(file_path), user), params_with_correct_id
@@ -421,9 +437,9 @@ describe API::Files do
context "when specifying an author" do
it "updates a file with the specified author" do
- valid_params.merge!(author_email: author_email, author_name: author_name, content: "New content")
+ params.merge!(author_email: author_email, author_name: author_name, content: "New content")
- put api(route(file_path), user), valid_params
+ put api(route(file_path), user), params
expect(response).to have_gitlab_http_status(200)
last_commit = project.repository.commit.raw
@@ -434,7 +450,7 @@ describe API::Files do
end
describe "DELETE /projects/:id/repository/files" do
- let(:valid_params) do
+ let(:params) do
{
branch: 'master',
commit_message: 'Changed file'
@@ -442,7 +458,7 @@ describe API::Files do
end
it "deletes existing file in project repo" do
- delete api(route(file_path), user), valid_params
+ delete api(route(file_path), user), params
expect(response).to have_gitlab_http_status(204)
end
@@ -453,19 +469,27 @@ describe API::Files do
expect(response).to have_gitlab_http_status(400)
end
+ it 'returns a 400 bad request if the commit message is empty' do
+ params[:commit_message] = ''
+
+ delete api(route(file_path), user), params
+
+ expect(response).to have_gitlab_http_status(400)
+ end
+
it "returns a 400 if fails to delete file" do
allow_any_instance_of(Repository).to receive(:delete_file).and_raise(Gitlab::Git::CommitError, 'Cannot delete file')
- delete api(route(file_path), user), valid_params
+ delete api(route(file_path), user), params
expect(response).to have_gitlab_http_status(400)
end
context "when specifying an author" do
it "removes a file with the specified author" do
- valid_params.merge!(author_email: author_email, author_name: author_name)
+ params.merge!(author_email: author_email, author_name: author_name)
- delete api(route(file_path), user), valid_params
+ delete api(route(file_path), user), params
expect(response).to have_gitlab_http_status(204)
end
diff --git a/spec/requests/api/project_snippets_spec.rb b/spec/requests/api/project_snippets_spec.rb
index a3b5e8c6223..5dec0bc778c 100644
--- a/spec/requests/api/project_snippets_spec.rb
+++ b/spec/requests/api/project_snippets_spec.rb
@@ -116,6 +116,14 @@ describe API::ProjectSnippets do
expect(response).to have_gitlab_http_status(400)
end
+ it 'returns 400 for empty code field' do
+ params[:code] = ''
+
+ post api("/projects/#{project.id}/snippets/", admin), params
+
+ expect(response).to have_gitlab_http_status(400)
+ end
+
context 'when the snippet is spam' do
def create_snippet(project, snippet_params = {})
project.add_developer(user)
@@ -180,6 +188,14 @@ describe API::ProjectSnippets do
expect(response).to have_gitlab_http_status(400)
end
+ it 'returns 400 for empty code field' do
+ new_content = ''
+
+ put api("/projects/#{snippet.project.id}/snippets/#{snippet.id}/", admin), code: new_content
+
+ expect(response).to have_gitlab_http_status(400)
+ end
+
context 'when the snippet is spam' do
def update_snippet(snippet_params = {})
put api("/projects/#{snippet.project.id}/snippets/#{snippet.id}", admin), snippet_params
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 881eff5d09d..b6f92042ecc 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -913,12 +913,28 @@ describe API::Projects do
expect(json_response['shared_with_groups'][0]['group_id']).to eq(group.id)
expect(json_response['shared_with_groups'][0]['group_name']).to eq(group.name)
expect(json_response['shared_with_groups'][0]['group_access_level']).to eq(link.group_access)
+ expect(json_response['shared_with_groups'][0]['expires_at']).to be_nil
expect(json_response['only_allow_merge_if_pipeline_succeeds']).to eq(project.only_allow_merge_if_pipeline_succeeds)
expect(json_response['only_allow_merge_if_all_discussions_are_resolved']).to eq(project.only_allow_merge_if_all_discussions_are_resolved)
expect(json_response['merge_method']).to eq(project.merge_method.to_s)
expect(json_response['readme_url']).to eq(project.readme_url)
end
+ it 'returns a group link with expiration date' do
+ group = create(:group)
+ expires_at = 5.days.from_now.to_date
+ link = create(:project_group_link, project: project, group: group, expires_at: expires_at)
+
+ get api("/projects/#{project.id}", user)
+
+ expect(json_response['shared_with_groups']).to be_an Array
+ expect(json_response['shared_with_groups'].length).to eq(1)
+ expect(json_response['shared_with_groups'][0]['group_id']).to eq(group.id)
+ expect(json_response['shared_with_groups'][0]['group_name']).to eq(group.name)
+ expect(json_response['shared_with_groups'][0]['group_access_level']).to eq(link.group_access)
+ expect(json_response['shared_with_groups'][0]['expires_at']).to eq(expires_at.to_s)
+ end
+
it 'returns a project by path name' do
get api("/projects/#{project.id}", user)
expect(response).to have_gitlab_http_status(200)