From 0d67b01f6154abfa4d8375be18cdbeeaa6a0ad1d Mon Sep 17 00:00:00 2001 From: Pirate Praveen Date: Wed, 2 Mar 2022 08:16:31 +0530 Subject: [PATCH] New upstream version 14.7.4+ds1 --- .dockerignore | 2 +- .eslintrc.yml | 4 + .gitignore | 1 + .gitlab-ci.yml | 1 + .gitlab/CODEOWNERS | 310 +-- .gitlab/ci/docs.gitlab-ci.yml | 9 +- .gitlab/ci/frontend.gitlab-ci.yml | 5 + .gitlab/ci/qa.gitlab-ci.yml | 9 + .gitlab/ci/rails.gitlab-ci.yml | 14 +- .gitlab/ci/review-apps/dast.gitlab-ci.yml | 3 +- .gitlab/ci/review-apps/qa.gitlab-ci.yml | 75 +- .gitlab/ci/rules.gitlab-ci.yml | 75 +- .gitlab/ci/setup.gitlab-ci.yml | 11 +- .gitlab/ci/workhorse.gitlab-ci.yml | 2 +- .gitlab/ci/yaml.gitlab-ci.yml | 2 +- .gitlab/issue_templates/Experiment Rollout.md | 14 +- .../Feature Proposal - basic.md | 2 +- .../Feature Proposal - lean.md | 5 +- .../Feature proposal - detailed.md | 2 +- ...Geo Replicate a new Git repository type.md | 8 +- .../Geo Replicate a new blob type.md | 8 +- .../Performance Indicator Metric.md | 23 + .../Security developer workflow.md | 1 + .../merge_request_templates/Deprecations.md | 12 +- .gitlab/merge_request_templates/Removals.md | 103 + .markdownlint.yml | 5 +- .rubocop_todo.yml | 1 - .rubocop_todo/database/multiple_databases.yml | 12 - .../gitlab/delegate_predicate_methods.yml | 3 - .rubocop_todo/gitlab/namespaced_class.yml | 1 + .rubocop_todo/graphql/argument_name.yml | 4 - .rubocop_todo/graphql/field_definitions.yml | 3 - .rubocop_todo/graphql/field_method.yml | 4 - .rubocop_todo/graphql/ordered_arguments.yml | 3 - .rubocop_todo/rails/include_url_helper.yml | 1 - .rubocop_todo/rails/save_bang.yml | 53 - .rubocop_todo/rails/time_zone.yml | 2 - .rubocop_todo/rspec/timecop_freeze.yml | 3 - .rubocop_todo/style/open_struct_use.yml | 5 - CHANGELOG.md | 497 +++- GITALY_SERVER_VERSION | 2 +- GITLAB_PAGES_VERSION | 2 +- GITLAB_SHELL_VERSION | 2 +- Gemfile | 37 +- Gemfile.lock | 210 +- README.md | 2 +- VERSION | 2 +- app/assets/images/file_icons.svg | 2 +- .../admin/users/components/user_actions.vue | 3 +- .../components/projects_dropdown_filter.vue | 13 +- app/assets/javascripts/api/packages_api.js | 8 +- app/assets/javascripts/behaviors/copy_code.js | 3 +- .../behaviors/copy_to_clipboard.js | 46 +- .../behaviors/markdown/render_gfm.js | 7 +- .../markdown/render_sandboxed_mermaid.js | 234 ++ .../javascripts/behaviors/preview_markdown.js | 7 - .../blob/blob_line_permalink_updater.js | 2 +- .../blob/components/blob_header.vue | 2 +- .../blob/components/blob_header_filepath.vue | 11 +- .../blob_header_viewer_switcher.vue | 4 + .../{ => blob}/line_highlighter.js | 0 .../boards/components/board_card.vue | 2 +- .../components/board_content_sidebar.vue | 29 +- .../components/board_filtered_search.vue | 17 +- .../boards/components/board_list_header.vue | 2 +- .../sidebar/board_sidebar_title.vue | 2 +- app/assets/javascripts/boards/constants.js | 4 + .../group_board_milestones.query.graphql | 4 +- .../boards/graphql/issue.fragment.graphql | 35 +- .../graphql/issue_create.mutation.graphql | 2 +- .../graphql/issue_move_list.mutation.graphql | 2 +- .../boards/graphql/lists_issues.query.graphql | 4 +- .../project_board_milestones.query.graphql | 4 +- .../javascripts/boards/stores/actions.js | 2 + .../branches/branches_delete_modal.js | 53 - .../clusters/agents/components/show.vue | 13 +- .../clusters/agents/graphql/provider.js | 26 + .../javascripts/clusters/agents/index.js | 24 +- .../components/agent_options.vue | 200 ++ .../clusters_list/components/agent_table.vue | 65 +- .../clusters_list/components/agents.vue | 6 +- .../javascripts/clusters_list/constants.js | 4 +- .../clusters_list/graphql/cache_update.js | 22 + .../mutations/delete_agent.mutation.graphql | 5 + app/assets/javascripts/clusters_list/index.js | 2 + .../javascripts/confirm_danger_modal.js | 64 - .../components/wrappers/frontmatter.vue | 2 +- .../javascripts/content_editor/constants.js | 7 + .../content_editor/extensions/code.js | 13 +- .../extensions/code_block_highlight.js | 9 +- .../content_editor/extensions/frontmatter.js | 11 + .../content_editor/extensions/image.js | 11 + .../services/markdown_serializer.js | 2 +- .../services/serialization_helpers.js | 9 +- .../track_input_rules_and_shortcuts.js | 48 +- .../javascripts/crm/components/form.vue | 232 ++ .../cycle_analytics/components/base.vue | 2 +- .../components/path_navigation.vue | 2 +- .../components/stage_table.vue | 33 +- .../components/value_stream_filters.vue | 4 +- .../design_notes/design_discussion.vue | 85 +- .../design_notes/design_note_signed_out.vue | 50 + .../components/design_presentation.vue | 4 +- .../components/design_sidebar.vue | 24 +- .../javascripts/design_management/index.js | 4 +- .../diffs/components/compare_versions.vue | 2 +- .../diffs/components/image_diff_overlay.vue | 16 +- app/assets/javascripts/dropzone_input.js | 1 - .../javascripts/editor/source_editor.js | 2 +- .../javascripts/emoji/components/picker.vue | 16 +- .../components/confirm_rollback_modal.vue | 3 +- .../environments/components/deployment.vue | 25 + .../components/deployment_status_badge.vue | 60 + .../components/environment_actions.vue | 25 +- .../components/environment_item.vue | 11 +- .../components/environment_stop.vue | 27 +- .../components/new_environment_folder.vue | 26 +- .../components/new_environment_item.vue | 265 +++ .../components/new_environments_app.vue | 39 +- .../components/stop_environment_modal.vue | 15 +- .../graphql/mutations/action.mutation.graphql | 5 + .../set_environment_to_stop.mutation.graphql | 3 + .../queries/environment_to_stop.query.graphql | 3 + .../is_environment_stopping.query.graphql | 3 + .../queries/is_last_deployment.query.graphql | 3 + .../environments/graphql/resolvers.js | 18 +- .../environments/graphql/typedefs.graphql | 6 +- app/assets/javascripts/experimental_flags.js | 15 - app/assets/javascripts/flash.js | 139 +- .../javascripts/gitlab_version_check.js | 20 + .../components/deployments_service_table.vue | 61 + .../google_cloud/components/home.vue | 17 +- .../javascripts/google_tag_manager/index.js | 122 + .../vulnerability_location_types.js | 17 + .../fragments/issue.fragment.graphql | 37 + app/assets/javascripts/group.js | 7 +- .../groups/components/item_stats.vue | 2 +- .../javascripts/{ => groups}/groups_list.js | 2 +- .../javascripts/{ => groups}/landing.js | 0 .../javascripts/groups/store/groups_store.js | 3 + .../javascripts/{ => groups}/transfer_edit.js | 0 .../header_search/components/app.vue | 7 +- .../javascripts/helpers/event_hub_factory.js | 7 - .../javascripts/ide/components/jobs/stage.vue | 5 +- .../ide/stores/modules/pipelines/actions.js | 8 +- app/assets/javascripts/init_confirm_danger.js | 18 +- .../javascripts/integrations/constants.js | 5 + .../edit/components/dynamic_field.vue | 5 +- .../edit/components/integration_form.vue | 143 +- .../components/reset_confirmation_modal.vue | 2 +- .../javascripts/integrations/edit/index.js | 7 +- .../integrations/edit/store/actions.js | 23 - .../integrations/edit/store/mutations.js | 9 - .../integrations/edit/store/state.js | 2 - .../components/integration_overrides.vue | 7 + .../overrides/components/integration_tabs.vue | 52 + .../integrations/overrides/index.js | 5 +- .../issuable/bulk_update_sidebar/index.js | 28 + .../init_issue_status_select.js | 17 - .../issuable_bulk_update_sidebar.js | 10 +- .../issuable_init_bulk_update_sidebar.js | 19 - .../issuable/components/csv_import_modal.vue | 6 +- app/assets/javascripts/issuable/index.js | 37 +- app/assets/javascripts/issues/constants.js | 6 + .../create_merge_request_dropdown.js | 14 +- app/assets/javascripts/issues/form.js | 24 - app/assets/javascripts/issues/index.js | 88 + .../init_filtered_search_service_desk.js | 11 - app/assets/javascripts/issues/issue.js | 2 +- .../list}/components/issue_card_time_info.vue | 0 .../list}/components/issues_list_app.vue | 17 +- .../jira_issues_import_status_app.vue | 0 .../list}/components/new_issue_dropdown.vue | 2 +- .../{issues_list => issues/list}/constants.js | 64 +- .../{issues_list => issues/list}/eventhub.js | 0 .../{issues_list => issues/list}/index.js | 36 +- .../list}/queries/get_issues.query.graphql | 0 .../queries/get_issues_counts.query.graphql | 0 .../get_issues_list_details.query.graphql | 0 .../list}/queries/issue.fragment.graphql | 0 .../list}/queries/label.fragment.graphql | 0 .../list}/queries/milestone.fragment.graphql | 0 .../queries/reorder_issues.mutation.graphql | 0 .../list}/queries/search_labels.query.graphql | 0 .../queries/search_milestones.query.graphql | 0 .../queries/search_projects.query.graphql | 0 .../list}/queries/search_users.query.graphql | 0 .../list}/queries/user.fragment.graphql | 0 .../{issues_list => issues/list}/utils.js | 4 +- .../javascripts/issues/manual_ordering.js | 6 +- app/assets/javascripts/issues/new/index.js | 4 +- .../issues/related_merge_requests/index.js | 32 +- .../issues/sentry_error_stack_trace/index.js | 22 - app/assets/javascripts/issues/show.js | 59 - .../issues/show/components/app.vue | 8 +- .../issues/show/components/fields/type.vue | 10 +- .../issues/show/components/header_actions.vue | 13 +- .../components/sentry_error_stack_trace.vue | 0 .../javascripts/issues/show/constants.js | 26 +- .../issues/show/{incident.js => index.js} | 90 +- app/assets/javascripts/issues/show/issue.js | 86 - .../issues_list/components/issuable.vue | 441 ---- .../components/issuables_list_app.vue | 426 ---- .../issues_list/service_desk_helper.js | 111 - .../jira_import/utils/constants.js | 2 + .../jira_import/utils/jira_import_utils.js | 2 +- app/assets/javascripts/jobs/bridge/app.vue | 106 +- .../jobs/bridge/components/sidebar.vue | 65 +- .../graphql/queries/pipeline.query.graphql | 70 + .../jobs/components/job_log_controllers.vue | 1 + .../sidebar_job_details_container.vue | 9 +- app/assets/javascripts/jobs/index.js | 13 +- .../labels/components/delete_label_modal.vue | 13 + .../labels/create_label_dropdown.js | 4 +- app/assets/javascripts/labels/index.js | 2 +- app/assets/javascripts/lib/mermaid.js | 61 + .../javascripts/lib/utils/common_utils.js | 10 + app/assets/javascripts/lib/utils/constants.js | 1 - .../javascripts/lib/utils/resize_observer.js | 58 + app/assets/javascripts/main.js | 15 + .../components/table/members_table.vue | 45 +- app/assets/javascripts/members/constants.js | 30 +- .../details_page/details_header.vue | 7 +- .../components/details_page/empty_state.vue | 44 - .../components/details_page/tags_list.vue | 67 +- .../components/details_page/tags_list_row.vue | 7 +- .../explorer/constants/common.js | 2 + .../explorer/constants/details.js | 7 + .../explorer/constants/list.js | 3 +- ...et_container_repository_tags.query.graphql | 4 +- .../container_registry/explorer/index.js | 39 +- .../explorer/pages/details.vue | 19 +- .../details/composer_installation.vue | 10 +- .../components/details/conan_installation.vue | 8 +- .../components/details/maven_installation.vue | 19 +- .../components/details/npm_installation.vue | 10 +- .../components/details/nuget_installation.vue | 7 +- .../components/details/package_files.vue | 6 +- .../components/details/pypi_installation.vue | 9 +- .../components/functional/delete_package.vue | 9 +- .../components/list/package_list_row.vue | 20 +- .../package_registry/constants.js | 7 + .../queries/get_package_details.query.graphql | 10 + .../package_registry/index.js | 58 +- .../package_registry/pages/details.js | 27 - .../details/app.vue => pages/details.vue} | 37 +- .../package_registry/router.js | 20 +- .../shared/components/persisted_search.vue | 80 + .../components/registry_breadcrumb.vue | 11 +- .../packages_and_registries/shared/utils.js | 35 + app/assets/javascripts/pages/admin/index.js | 2 + .../pages/admin/integrations/edit/index.js | 2 +- .../pages/admin/labels/edit/index.js | 2 + .../pages/admin/runners/edit/index.js | 3 + .../pages/admin/runners/show/index.js | 3 - .../pages/dashboard/todos/index/todos.js | 8 +- .../javascripts/pages/explore/groups/index.js | 6 +- .../javascripts/pages/groups/edit/index.js | 4 +- .../javascripts/pages/groups/issues/index.js | 10 +- .../pages/groups/labels/edit/index.js | 2 + .../pages/groups/merge_requests/index.js | 4 +- .../javascripts/pages/groups/new/index.js | 7 +- .../pages/groups/packages/index.js | 8 + .../pages/groups/packages/index/index.js | 3 - .../groups/settings/access_tokens/index.js | 3 + .../settings/integrations/edit/index.js | 2 +- .../javascripts/pages/help/index/index.js | 5 +- .../javascripts/pages/profiles/keys/index.js | 2 + .../pages/projects/blob/show/index.js | 6 + .../pages/projects/branches/index/index.js | 2 - .../javascripts/pages/projects/edit/index.js | 2 - .../pages/projects/find_file/show/index.js | 2 +- .../pages/projects/imports/show/index.js | 2 +- .../pages/projects/incidents/show/index.js | 2 +- .../javascripts/pages/projects/init_blob.js | 2 +- .../pages/projects/issues/edit/index.js | 2 +- .../pages/projects/issues/index/index.js | 11 +- .../pages/projects/issues/new/index.js | 2 +- .../projects/issues/service_desk/index.js | 7 +- .../pages/projects/issues/show/index.js | 2 +- .../pages/projects/labels/edit/index.js | 2 + .../projects/merge_requests/index/index.js | 5 +- .../javascripts/pages/projects/new/index.js | 2 +- .../pages/projects/packages/packages/index.js | 8 + .../projects/packages/packages/index/index.js | 3 - .../projects/packages/packages/show/index.js | 3 - .../shared/components/timezone_dropdown.js | 4 +- .../pages/projects/services/edit/index.js | 2 +- .../permissions/components/settings_panel.vue | 40 +- .../projects/shared/permissions/index.js | 31 +- .../javascripts/pages/projects/show/index.js | 4 +- .../pages/registrations/new/index.js | 4 + .../shared/wikis/components/wiki_form.vue | 4 +- .../components/commit/commit_form.vue | 1 + .../components/editor/text_editor.vue | 10 +- .../components/header/pipeline_status.vue | 4 +- .../components/header/validation_segment.vue | 22 +- .../components/pipeline_editor_tabs.vue | 8 + .../components/ui/editor_tab.vue | 17 +- .../javascripts/pipeline_editor/constants.js | 2 + .../javascripts/pipeline_editor/index.js | 2 + .../pipeline_editor/pipeline_editor_app.vue | 43 +- .../pipeline_editor/pipeline_editor_home.vue | 2 +- .../pipelines/components/header_component.vue | 4 +- .../pipelines/components/jobs/jobs_app.vue | 2 +- .../pipelines/components/parsing_utils.js | 22 +- .../pipeline_graph/pipeline_graph.vue | 7 +- .../pipelines/components/unwrapping_utils.js | 9 +- app/assets/javascripts/pipelines/constants.js | 2 + .../pipelines/graphql/fragmentTypes.json | 1 + .../pipelines/pipeline_shared_client.js | 9 + app/assets/javascripts/pipelines/utils.js | 6 +- .../profile/add_ssh_key_validation.js | 17 +- .../project_select_combo_button.js | 19 +- .../{ => projects}/project_find_file.js | 0 .../{ => projects}/project_import.js | 2 +- .../{ => projects}/project_visibility.js | 21 +- app/assets/javascripts/{ => projects}/star.js | 8 +- .../components/related_issues_list.vue | 2 +- .../components/blob_button_group.vue | 25 +- .../components/blob_content_viewer.vue | 10 +- .../repository/components/blob_controls.vue | 119 + .../repository/components/blob_edit.vue | 1 + .../components/delete_blob_modal.vue | 4 + .../repository/components/fork_suggestion.vue | 1 + .../repository/components/preview/index.vue | 9 +- .../components/upload_blob_modal.vue | 4 + app/assets/javascripts/repository/index.js | 21 +- .../queries/blob_controls.query.graphql | 18 + .../queries/blob_info.query.graphql | 16 +- .../queries/path_locks.fragment.graphql | 3 + .../admin_runner_edit_app.vue} | 27 +- .../index.js | 6 +- .../admin_runners/admin_runners_app.vue | 131 +- .../javascripts/runner/admin_runners/index.js | 30 +- .../components/cells/runner_actions_cell.vue | 17 +- .../components/cells/runner_status_cell.vue | 12 +- ...registration_token_reset_dropdown_item.vue | 34 +- .../runner/components/runner_header.vue | 52 + .../runner/components/runner_status_badge.vue | 8 +- .../runner/components/runner_type_alert.vue | 54 - .../runner/components/runner_update_form.vue | 10 +- .../search_tokens/status_token_config.js | 4 +- .../components/search_tokens/tag_token.vue | 4 +- .../components/stat/runner_online_stat.vue | 17 - .../runner/components/stat/runner_stats.vue | 49 + .../components/stat/runner_status_stat.vue | 65 + app/assets/javascripts/runner/constants.js | 5 +- .../graphql/get_group_runners.query.graphql | 2 +- .../get_group_runners_count.query.graphql | 20 + .../runner/graphql/get_runners.query.graphql | 1 + .../graphql/get_runners_count.query.graphql | 10 + .../runner_details_shared.fragment.graphql | 2 + .../graphql/runner_node.fragment.graphql | 4 + .../group_runners/group_runners_app.vue | 56 +- .../javascripts/runner/runner_search_utils.js | 28 + .../runner_update_form_utils.js | 0 .../security_configuration/components/app.vue | 32 +- .../components/auto_dev_ops_alert.vue | 1 + .../components/constants.js | 2 +- .../components/training_provider_list.vue | 130 +- ...curity_training_providers.mutation.graphql | 9 + .../security_configuration/index.js | 30 +- .../security_configuration/resolver.js | 56 + .../set_status_modal_wrapper.vue | 2 + .../components/crm_contacts/crm_contacts.vue | 15 +- .../javascripts/sidebar/mount_sidebar.js | 7 + .../javascripts/sidebar/sidebar_mediator.js | 52 +- .../sidebar/stores/sidebar_store.js | 4 + app/assets/javascripts/tracking/index.js | 5 +- app/assets/javascripts/tree.js | 64 - app/assets/javascripts/version_check_image.js | 6 - .../components/approvals/approvals.vue | 2 + .../components/extensions/actions.vue | 1 + .../components/extensions/base.vue | 50 +- .../components/extensions/index.js | 1 + .../components/mr_widget_header.vue | 2 + .../components/mr_widget_status_icon.vue | 4 +- .../components/states/merge_checks_failed.vue | 45 +- .../components/states/mr_widget_archived.vue | 11 +- .../components/states/mr_widget_checking.vue | 6 +- .../components/states/mr_widget_conflicts.vue | 10 +- .../states/mr_widget_missing_branch.vue | 15 +- .../states/mr_widget_pipeline_blocked.vue | 4 +- .../components/states/mr_widget_rebase.vue | 62 +- .../components/states/nothing_to_merge.vue | 4 +- .../components/states/pipeline_failed.vue | 4 +- .../components/states/ready_to_merge.vue | 2 +- .../components/states/sha_mismatch.vue | 8 +- .../states/unresolved_discussions.vue | 22 +- .../components/states/work_in_progress.vue | 5 +- .../vue_merge_request_widget/constants.js | 3 + .../extensions/terraform/index.js | 173 ++ .../mr_widget_options.vue | 20 +- .../services/mr_widget_service.js | 5 +- .../stores/mr_widget_store.js | 12 +- .../vue_shared/components/actions_button.vue | 2 + .../components/clipboard_button.vue | 60 +- .../confirm_danger/confirm_danger.vue | 7 +- .../confirm_danger_modal.stories.js | 17 +- .../confirm_danger/confirm_danger_modal.vue | 25 +- .../filtered_search_bar_root.vue | 2 +- .../tokens/author_token.vue | 4 +- .../components/gitlab_version_check.vue | 67 + .../vue_shared/components/line_numbers.vue | 30 +- .../components/markdown/apply_suggestion.vue | 2 +- .../vue_shared/components/markdown/field.vue | 75 +- .../components/modal_copy_button.vue | 4 +- .../dropdown_contents.vue | 5 + .../dropdown_contents_create_view.vue | 19 +- .../dropdown_contents_labels_view.vue | 12 +- .../labels_select_widget/dropdown_header.vue | 1 + .../labels_select_widget/label_item.vue | 2 +- .../labels_select_root.vue | 1 + .../vue_shared/components/source_editor.vue | 2 +- .../vue_shared/components/source_viewer.vue | 45 +- .../vue_shared/components/web_ide_link.vue | 96 +- .../components/issuable_bulk_edit_sidebar.vue | 1 + .../list/components/issuable_item.vue | 8 +- .../list/components/issuable_tabs.vue | 6 +- .../vue_shared/issuable/list/constants.js | 2 +- .../vue_shared/issuable/show/constants.js | 5 - .../new_namespace/new_namespace_page.vue | 18 +- .../work_items/components/item_title.vue | 4 + .../javascripts/work_items/constants.js | 2 + .../work_items/pages/work_item_root.vue | 16 +- .../stylesheets/_page_specific_files.scss | 1 - .../stylesheets/components/whats_new.scss | 6 +- .../framework/contextual_sidebar.scss | 8 +- app/assets/stylesheets/framework/diffs.scss | 28 +- app/assets/stylesheets/framework/emojis.scss | 4 + app/assets/stylesheets/framework/flash.scss | 4 + app/assets/stylesheets/framework/header.scss | 4 +- app/assets/stylesheets/framework/layout.scss | 8 +- app/assets/stylesheets/framework/mixins.scss | 26 +- .../secondary_navigation_elements.scss | 10 +- app/assets/stylesheets/framework/sidebar.scss | 2 +- .../framework/system_messages.scss | 10 +- .../stylesheets/framework/typography.scss | 15 +- .../stylesheets/framework/variables.scss | 31 +- .../framework/variables_overrides.scss | 2 +- app/assets/stylesheets/framework/wells.scss | 27 - .../stylesheets/highlight/white_base.scss | 49 +- app/assets/stylesheets/notify.scss | 12 + .../stylesheets/page_bundles/boards.scss | 4 - .../stylesheets/page_bundles/build.scss | 6 +- .../page_bundles/cycle_analytics.scss | 6 - .../stylesheets/page_bundles/import.scss | 2 +- .../stylesheets/page_bundles/issues_list.scss | 4 - .../stylesheets/page_bundles/members.scss | 4 - .../page_bundles/merge_requests.scss | 2 +- app/assets/stylesheets/pages/issuable.scss | 2 +- app/assets/stylesheets/pages/issues.scss | 2 +- app/assets/stylesheets/pages/labels.scss | 12 +- app/assets/stylesheets/pages/login.scss | 4 +- .../stylesheets/pages/merge_requests.scss | 18 +- app/assets/stylesheets/pages/notes.scss | 2 +- app/assets/stylesheets/pages/profile.scss | 25 +- app/assets/stylesheets/pages/settings.scss | 12 +- app/assets/stylesheets/pages/sherlock.scss | 31 - app/assets/stylesheets/pages/users.scss | 4 - app/assets/stylesheets/performance_bar.scss | 2 +- .../stylesheets/startup/startup-dark.scss | 64 +- .../stylesheets/startup/startup-general.scss | 59 +- .../stylesheets/startup/startup-signin.scss | 11 +- .../stylesheets/themes/theme_helper.scss | 24 +- app/assets/stylesheets/utilities.scss | 22 +- .../admin/runner_projects_controller.rb | 6 +- app/controllers/admin/runners_controller.rb | 10 +- app/controllers/admin/users_controller.rb | 2 +- app/controllers/application_controller.rb | 2 +- app/controllers/autocomplete_controller.rb | 7 + .../concerns/access_tokens_actions.rb | 83 + app/controllers/concerns/check_rate_limit.rb | 5 + .../concerns/integrations/actions.rb | 3 + .../concerns/integrations/params.rb | 1 + .../concerns/sessionless_authentication.rb | 2 +- app/controllers/graphql_controller.rb | 7 + .../groups/application_controller.rb | 12 + app/controllers/groups/boards_controller.rb | 1 - ...endency_proxy_for_containers_controller.rb | 30 +- app/controllers/groups/packages_controller.rb | 5 + app/controllers/groups/runners_controller.rb | 7 +- .../settings/access_tokens_controller.rb | 18 + app/controllers/groups_controller.rb | 4 +- app/controllers/import/gitlab_controller.rb | 2 +- .../oauth/token_info_controller.rb | 2 +- app/controllers/profiles/emails_controller.rb | 2 + app/controllers/profiles_controller.rb | 3 + .../cycle_analytics/stages_controller.rb | 2 + .../cycle_analytics/summary_controller.rb | 2 + app/controllers/projects/boards_controller.rb | 3 +- .../projects/google_cloud/base_controller.rb | 35 + .../google_cloud/deployments_controller.rb | 13 + .../service_accounts_controller.rb | 62 +- app/controllers/projects/issues_controller.rb | 13 +- app/controllers/projects/jobs_controller.rb | 1 + .../projects/mattermosts_controller.rb | 2 +- .../merge_requests/creations_controller.rb | 4 +- .../merge_requests/diffs_controller.rb | 5 - .../projects/merge_requests_controller.rb | 9 +- .../infrastructure_registry_controller.rb | 6 +- .../projects/packages/packages_controller.rb | 3 +- .../projects/prometheus/metrics_controller.rb | 6 +- .../security/configuration_controller.rb | 31 + .../projects/service_hook_logs_controller.rb | 4 +- .../projects/services_controller.rb | 7 +- .../settings/access_tokens_controller.rb | 70 +- .../projects/settings/ci_cd_controller.rb | 8 +- .../settings/repository_controller.rb | 3 +- app/controllers/projects/tree_controller.rb | 4 + app/controllers/projects_controller.rb | 2 + app/controllers/registrations_controller.rb | 7 + .../repositories/lfs_api_controller.rb | 2 +- app/controllers/sandbox_controller.rb | 11 + app/controllers/search_controller.rb | 8 + .../sherlock/application_controller.rb | 14 - .../sherlock/file_samples_controller.rb | 9 - .../sherlock/queries_controller.rb | 9 - .../sherlock/transactions_controller.rb | 21 - app/controllers/users_controller.rb | 3 + app/events/ci/pipeline_created_event.rb | 14 + ...tinuous_onboarding_link_urls_experiment.rb | 9 - .../new_project_sast_enabled_experiment.rb | 3 + ...ation_for_namespace_creation_experiment.rb | 27 + .../readme_advanced.md.tt | 2 +- app/finders/ci/runners_finder.rb | 12 +- .../environments_by_deployments_finder.rb | 3 +- app/finders/fork_targets_finder.rb | 4 +- app/finders/group_descendants_finder.rb | 16 +- app/finders/group_members_finder.rb | 33 +- app/finders/groups/user_groups_finder.rb | 3 +- app/finders/groups_finder.rb | 4 +- app/finders/issues_finder.rb | 6 +- app/finders/merge_requests_finder.rb | 9 +- app/finders/packages/package_file_finder.rb | 6 +- .../members/effective_access_level_finder.rb | 8 +- ...user_group_notification_settings_finder.rb | 10 +- app/finders/user_recent_events_finder.rb | 24 +- .../mutations/clusters/agent_tokens/revoke.rb | 35 + .../mutations/issues/set_crm_contacts.rb | 9 +- .../mutations/issues/set_escalation_status.rb | 46 + app/graphql/mutations/packages/destroy.rb | 3 +- .../mutations/packages/destroy_file.rb | 2 +- app/graphql/mutations/work_items/create.rb | 57 + .../get_pipeline_details.query.graphql | 21 + app/graphql/resolvers/base_issues_resolver.rb | 3 +- app/graphql/resolvers/ci/config_resolver.rb | 2 + .../clusters/agent_tokens_resolver.rb | 9 +- .../resolvers/concerns/resolves_pipelines.rb | 4 +- .../version/designs_at_version_resolver.rb | 6 +- .../version_in_collection_resolver.rb | 6 +- .../resolvers/group_milestones_resolver.rb | 6 +- .../resolvers/merge_requests_resolver.rb | 4 + .../resolvers/users/groups_resolver.rb | 4 - .../resolvers/work_items/types_resolver.rb | 15 + app/graphql/types/ci/config/config_type.rb | 2 + app/graphql/types/ci/job_type.rb | 6 + app/graphql/types/ci/pipeline_message_type.rb | 16 + app/graphql/types/ci/pipeline_type.rb | 23 +- app/graphql/types/ci/runner_type.rb | 15 +- .../types/clusters/agent_token_status_enum.rb | 14 + .../types/clusters/agent_token_type.rb | 5 + app/graphql/types/commit_type.rb | 2 + app/graphql/types/deprecated_mutations.rb | 3 +- app/graphql/types/group_type.rb | 5 + .../escalation_status_enum.rb | 14 + app/graphql/types/issue_type.rb | 9 + app/graphql/types/issue_type_enum.rb | 2 +- app/graphql/types/merge_request_type.rb | 22 +- app/graphql/types/mutation_type.rb | 4 +- .../types/packages/package_details_type.rb | 51 + app/graphql/types/project_type.rb | 48 +- app/graphql/types/projects/topic_type.rb | 3 +- app/graphql/types/release_type.rb | 11 +- app/graphql/types/repository/blob_type.rb | 19 + app/graphql/types/sha_format_enum.rb | 19 + app/graphql/types/user_interface.rb | 3 +- app/graphql/types/work_item_type.rb | 23 + app/graphql/types/work_items/type_type.rb | 18 + .../admin/background_migrations_helper.rb | 14 +- app/helpers/application_helper.rb | 13 + app/helpers/application_settings_helper.rb | 44 +- app/helpers/auth_helper.rb | 19 +- app/helpers/button_helper.rb | 2 +- app/helpers/ci/jobs_helper.rb | 8 +- app/helpers/ci/pipeline_editor_helper.rb | 1 + app/helpers/ci/runners_helper.rb | 11 +- app/helpers/commits_helper.rb | 18 +- app/helpers/custom_metrics_helper.rb | 2 +- app/helpers/environment_helper.rb | 2 + app/helpers/environments_helper.rb | 2 +- app/helpers/groups/crm_settings_helper.rb | 9 + app/helpers/groups_helper.rb | 10 + app/helpers/hooks_helper.rb | 2 +- app/helpers/integrations_helper.rb | 17 +- app/helpers/issues_helper.rb | 19 +- app/helpers/learn_gitlab_helper.rb | 8 +- app/helpers/namespaces_helper.rb | 7 - app/helpers/nav/top_nav_helper.rb | 15 +- app/helpers/nav_helper.rb | 4 - app/helpers/notes_helper.rb | 2 +- app/helpers/packages_helper.rb | 28 +- app/helpers/page_layout_helper.rb | 2 +- app/helpers/preferences_helper.rb | 10 +- app/helpers/projects/cluster_agents_helper.rb | 5 +- .../projects/issues/service_desk_helper.rb | 35 - app/helpers/projects_helper.rb | 25 + app/helpers/search_helper.rb | 4 +- app/helpers/snippets_helper.rb | 7 +- app/helpers/sorting_titles_values_helper.rb | 4 +- app/helpers/ssh_keys_helper.rb | 10 + app/helpers/tracking_helper.rb | 4 + app/helpers/tree_helper.rb | 5 +- app/helpers/version_check_helper.rb | 9 +- app/helpers/webpack_helper.rb | 4 + app/mailers/previews/notify_preview.rb | 2 +- app/models/active_session.rb | 15 +- app/models/alert_management/alert.rb | 13 - app/models/application_setting.rb | 31 +- .../application_setting_implementation.rb | 11 +- app/models/audit_event.rb | 1 + .../file_transfer/project_config.rb | 6 + app/models/ci/build.rb | 64 +- app/models/ci/job_artifact.rb | 16 +- app/models/ci/namespace_mirror.rb | 6 + app/models/ci/pipeline.rb | 22 +- app/models/ci/project_mirror.rb | 3 + app/models/ci/runner.rb | 66 +- app/models/ci/secure_file.rb | 33 + app/models/clusters/agent.rb | 12 +- app/models/clusters/agent_token.rb | 42 +- app/models/clusters/agents/activity_event.rb | 2 + app/models/clusters/applications/runner.rb | 4 +- .../clusters/concerns/elasticsearch_client.rb | 2 +- app/models/commit_status.rb | 17 +- app/models/concerns/ci/contextable.rb | 36 +- app/models/concerns/ci/metadatable.rb | 10 +- .../concerns/forced_email_confirmation.rb | 26 + app/models/concerns/has_wiki.rb | 2 +- .../import_state/sidekiq_job_tracker.rb | 2 +- .../incident_management/escalatable.rb | 11 + .../concerns/packages/debian/distribution.rb | 9 + app/models/concerns/packages/destructible.rb | 15 + app/models/concerns/packages/installable.rb | 16 + app/models/concerns/participable.rb | 2 - app/models/concerns/routable.rb | 5 + .../runner_token_expiration_interval.rb | 22 + app/models/concerns/ttl_expirable.rb | 8 +- app/models/container_repository.rb | 6 + app/models/customer_relations/contact.rb | 15 +- .../customer_relations/issue_contact.rb | 8 +- app/models/dependency_proxy/blob.rb | 1 + app/models/dependency_proxy/manifest.rb | 1 + app/models/deployment.rb | 10 +- app/models/email.rb | 9 +- app/models/experiment.rb | 24 +- app/models/external_pull_request.rb | 5 +- app/models/group.rb | 46 +- app/models/group/crm_settings.rb | 10 + app/models/group_group_link.rb | 2 +- app/models/hooks/project_hook.rb | 5 + app/models/hooks/service_hook.rb | 4 + app/models/hooks/web_hook.rb | 5 + app/models/instance_configuration.rb | 3 +- app/models/integration.rb | 1 + .../integrations/base_chat_notification.rb | 8 +- app/models/integrations/datadog.rb | 47 +- app/models/integrations/jira.rb | 6 +- app/models/internal_id.rb | 2 +- app/models/issue.rb | 14 +- app/models/key.rb | 2 +- app/models/label.rb | 2 +- .../loose_foreign_keys/deleted_record.rb | 2 +- .../modification_tracker.rb | 2 +- app/models/member.rb | 13 +- app/models/members/group_member.rb | 2 +- .../members/project_namespace_member.rb | 7 + app/models/merge_request.rb | 22 +- app/models/namespace.rb | 6 + app/models/namespace_setting.rb | 23 +- app/models/namespaces/traversal/linear.rb | 13 + .../namespaces/traversal/linear_scopes.rb | 41 +- .../namespaces/traversal/recursive_scopes.rb | 4 +- app/models/onboarding_progress.rb | 26 +- .../packages/debian/group_distribution.rb | 4 - .../packages/debian/project_distribution.rb | 1 - app/models/packages/package.rb | 40 +- app/models/packages/package_file.rb | 27 +- app/models/pages_domain.rb | 29 - .../environments/deployment_preloader.rb | 43 + app/models/project.rb | 41 +- app/models/project_ci_cd_setting.rb | 6 +- app/models/project_setting.rb | 10 + app/models/protectable_dropdown.rb | 12 +- app/models/ref_matcher.rb | 4 +- app/models/repository.rb | 2 +- app/models/route.rb | 1 + app/models/user.rb | 153 +- app/models/users/callout.rb | 3 +- app/models/work_item.rb | 6 + app/models/work_item/type.rb | 55 - app/models/work_items/type.rb | 64 + app/policies/global_policy.rb | 2 +- app/policies/group_member_policy.rb | 5 +- app/policies/group_policy.rb | 24 +- app/policies/project_policy.rb | 6 + app/policies/work_items/type_policy.rb | 9 + app/presenters/blob_presenter.rb | 20 + app/presenters/ci/runner_presenter.rb | 4 + app/presenters/label_presenter.rb | 6 +- .../packages/conan/package_presenter.rb | 8 +- .../packages/detail/package_presenter.rb | 12 +- .../packages/npm/package_presenter.rb | 6 +- .../packages/nuget/presenter_helpers.rb | 9 +- .../packages/pypi/package_presenter.rb | 8 +- app/presenters/project_presenter.rb | 2 +- app/presenters/service_hook_presenter.rb | 4 +- app/serializers/analytics_build_entity.rb | 7 + app/serializers/analytics_issue_entity.rb | 7 + app/serializers/environment_serializer.rb | 12 +- app/serializers/group_child_entity.rb | 2 + ...merge_request_poll_cached_widget_entity.rb | 5 +- .../merge_request_poll_widget_entity.rb | 4 +- .../merge_request_sidebar_basic_entity.rb | 4 + .../alert_management/alerts/update_service.rb | 31 +- app/services/audit_event_service.rb | 2 +- ...ntainer_registry_authentication_service.rb | 13 +- app/services/auto_merge/base_service.rb | 6 +- .../archive_extraction_service.rb | 4 +- .../file_decompression_service.rb | 27 +- .../bulk_imports/file_download_service.rb | 28 +- .../bulk_imports/file_export_service.rb | 4 +- .../lfs_objects_export_service.rb | 64 + app/services/ci/archive_trace_service.rb | 4 + app/services/ci/create_pipeline_service.rb | 11 +- app/services/ci/destroy_pipeline_service.rb | 12 +- .../delete_project_artifacts_service.rb | 11 + .../destroy_all_expired_service.rb | 31 +- .../expire_project_build_artifacts_service.rb | 35 + .../atomic_processing_service.rb | 4 +- app/services/ci/pipelines/add_job_service.rb | 6 + app/services/ci/play_build_service.rb | 5 +- app/services/ci/process_build_service.rb | 19 +- .../ci/process_sync_events_service.rb | 8 +- app/services/ci/register_runner_service.rb | 36 + app/services/ci/retry_build_service.rb | 35 +- app/services/ci/stuck_builds/drop_helpers.rb | 12 +- app/services/ci/update_build_queue_service.rb | 14 +- .../clusters/agent_tokens/create_service.rb | 5 +- .../agent_tokens/track_usage_service.rb | 54 + .../agents/create_activity_event_service.rb | 28 + .../agents/delete_expired_events_service.rb | 25 + .../concerns/issues/issue_type_helpers.rb | 2 +- .../dependency_proxy/download_blob_service.rb | 38 - .../find_or_create_blob_service.rb | 48 - .../deployments/archive_in_project_service.rb | 4 - .../deployments/create_for_build_service.rb | 25 + .../deployments/update_environment_service.rb | 2 +- .../copy_design_collection/copy_service.rb | 2 +- app/services/emails/confirm_service.rb | 2 + .../error_tracking/collect_error_service.rb | 21 +- app/services/events/destroy_service.rb | 15 +- .../create_service_accounts_service.rb | 60 + .../google_cloud/service_accounts_service.rb | 19 +- app/services/groups/update_service.rb | 10 + ...create_project_from_remote_file_service.rb | 21 +- .../validate_remote_git_endpoint_service.rb | 2 + .../after_update_service.rb | 42 + .../prepare_update_service.rb | 99 + app/services/issuable_base_service.rb | 14 + app/services/issues/base_service.rb | 36 +- app/services/issues/build_service.rb | 24 +- app/services/issues/create_service.rb | 5 +- .../issues/set_crm_contacts_service.rb | 2 +- app/services/issues/update_service.rb | 21 +- app/services/labels/transfer_service.rb | 31 +- .../process_deleted_records_service.rb | 1 - .../add_todo_when_build_fails_service.rb | 4 +- app/services/merge_requests/base_service.rb | 4 +- .../handle_assignees_change_service.rb | 4 +- .../merge_requests/merge_base_service.rb | 2 +- .../merge_requests/remove_approval_service.rb | 1 + app/services/merge_requests/squash_service.rb | 2 +- .../packages/create_package_service.rb | 1 + .../debian/find_or_create_package_service.rb | 1 + .../packages/destroy_package_service.rb | 45 - .../packages/helm/process_file_service.rb | 1 + ...k_package_files_for_destruction_service.rb | 26 + .../mark_package_for_destruction_service.rb | 34 + .../packages/maven/metadata/sync_service.rb | 13 +- .../packages/npm/create_package_service.rb | 1 + .../update_package_from_metadata_service.rb | 1 + .../packages/rubygems/process_gem_service.rb | 1 + .../create_package_service.rb | 4 +- app/services/projects/destroy_service.rb | 8 + app/services/projects/fork_service.rb | 6 + .../projects/overwrite_project_service.rb | 4 +- .../prometheus/alerts/notify_service.rb | 31 +- .../update_pages_configuration_service.rb | 109 - .../projects/update_remote_mirror_service.rb | 43 +- app/services/projects/update_service.rb | 19 - .../resource_access_tokens/create_service.rb | 5 +- .../resource_access_tokens/revoke_service.rb | 10 +- app/services/search_service.rb | 4 +- .../upsert_credit_card_validation_service.rb | 5 +- app/services/web_hook_service.rb | 41 +- app/services/work_items/build_service.rb | 11 + app/services/work_items/create_service.rb | 19 + app/uploaders/ci/secure_file_uploader.rb | 46 + .../error_tracking_event_payload.json | 107 +- .../_account_and_limit.html.haml | 5 +- .../application_settings/_ci_cd.html.haml | 6 +- .../application_settings/_email.html.haml | 2 +- ...ernal_authorization_service_form.html.haml | 23 +- .../application_settings/_floc.html.haml | 2 +- .../_localization.html.haml | 4 +- .../application_settings/_outbound.html.haml | 15 +- .../_prometheus.html.haml | 2 +- .../application_settings/_registry.html.haml | 4 +- .../_runner_registrars_form.html.haml | 2 +- .../_sourcegraph.html.haml | 2 +- .../application_settings/_spam.html.haml | 4 +- .../_third_party_offers.html.haml | 6 +- .../appearances/_form.html.haml | 12 +- .../_system_header_footer_form.html.haml | 2 +- .../application_settings/general.html.haml | 1 + .../application_settings/network.html.haml | 6 +- .../_migration.html.haml | 2 +- .../background_migrations/index.html.haml | 9 +- .../admin/cohorts/_cohorts_table.html.haml | 2 +- app/views/admin/dashboard/index.html.haml | 4 +- app/views/admin/deploy_keys/index.html.haml | 43 +- app/views/admin/groups/_group.html.haml | 3 +- app/views/admin/labels/_form.html.haml | 31 - app/views/admin/labels/edit.html.haml | 2 +- app/views/admin/labels/new.html.haml | 2 +- app/views/admin/runners/edit.html.haml | 99 + app/views/admin/runners/show.html.haml | 93 +- app/views/admin/users/_head.html.haml | 15 +- app/views/admin/users/_users.html.haml | 10 +- app/views/admin/users/projects.html.haml | 2 +- .../ci/runner/_how_to_setup_runner.html.haml | 2 +- .../clusters/_advanced_settings.html.haml | 2 +- .../clusters/clusters/_integrations.html.haml | 2 +- .../clusters/clusters/_namespace.html.haml | 2 +- .../clusters/_provider_details_form.html.haml | 4 +- .../clusters/clusters/gcp/_form.html.haml | 6 +- app/views/clusters/clusters/show.html.haml | 2 +- .../clusters/clusters/user/_form.html.haml | 8 +- app/views/dashboard/issues.html.haml | 2 +- app/views/dashboard/merge_requests.html.haml | 2 +- app/views/dashboard/todos/index.html.haml | 61 +- .../devise/confirmations/almost_there.haml | 2 + app/views/devise/shared/_signup_box.html.haml | 2 +- .../_signup_omniauth_provider_list.haml | 2 +- .../doorkeeper/authorizations/new.html.haml | 56 +- .../graphiql/rails/editors/show.html.erb | 99 - app/views/groups/_home_panel.html.haml | 13 +- app/views/groups/_new_group_fields.html.haml | 5 +- app/views/groups/edit.html.haml | 5 +- app/views/groups/issues.html.haml | 14 +- app/views/groups/merge_requests.html.haml | 2 +- app/views/groups/new.html.haml | 2 +- app/views/groups/packages/index.html.haml | 5 +- .../groups/runners/_group_runners.html.haml | 2 +- app/views/groups/runners/_runner.html.haml | 17 +- ...iction_registration_features_cta.html.haml | 8 + .../groups/settings/_permissions.html.haml | 12 +- .../_project_access_token_creation.html.haml | 9 - .../_resource_access_token_creation.html.haml | 11 + .../settings/access_tokens/index.html.haml | 50 + .../ci_cd/_auto_devops_form.html.haml | 3 +- app/views/help/index.html.haml | 15 +- .../layouts/_init_auto_complete.html.haml | 2 +- app/views/layouts/header/_default.html.haml | 46 +- .../layouts/header/_gitlab_version.html.haml | 11 + .../layouts/header/_help_dropdown.html.haml | 1 + .../layouts/header/_marketing_links.html.haml | 34 + .../header/_sign_in_register_button.html.haml | 6 + app/views/notify/_note_email.html.haml | 6 +- .../notify/repository_push_email.html.haml | 2 +- app/views/profiles/accounts/show.html.haml | 2 +- .../profiles/chat_names/_chat_name.html.haml | 2 +- app/views/profiles/chat_names/index.html.haml | 3 +- app/views/profiles/emails/index.html.haml | 14 +- app/views/profiles/gpg_keys/index.html.haml | 2 +- app/views/profiles/keys/_form.html.haml | 4 +- app/views/profiles/keys/index.html.haml | 7 +- .../personal_access_tokens/index.html.haml | 61 +- app/views/profiles/preferences/show.html.haml | 13 +- app/views/profiles/show.html.haml | 12 +- app/views/projects/_home_panel.html.haml | 13 +- .../projects/_import_project_pane.html.haml | 23 +- ...ge_request_merge_checks_settings.html.haml | 2 +- ...ge_request_merge_commit_template.html.haml | 11 +- ...ge_request_merge_method_settings.html.haml | 3 + ...quest_merge_suggestions_settings.html.haml | 11 +- ...e_request_squash_commit_template.html.haml | 11 +- ..._request_squash_options_settings.html.haml | 4 +- .../projects/_new_project_fields.html.haml | 27 +- app/views/projects/branches/_branch.html.haml | 45 +- .../_delete_protected_modal.html.haml | 42 - app/views/projects/branches/index.html.haml | 4 +- app/views/projects/buttons/_fork.html.haml | 2 +- .../ci/pipeline_editor/show.html.haml | 1 + .../commit/_limit_exceeded_message.html.haml | 13 +- app/views/projects/commit/branches.html.haml | 5 +- .../projects/default_branch/_show.html.haml | 2 +- .../deployments/_deployment.html.haml | 3 +- .../projects/diffs/_email_line.html.haml | 21 + .../projects/diffs/_file_header.html.haml | 2 +- app/views/projects/diffs/_line.html.haml | 2 + app/views/projects/diffs/_text_file.html.haml | 36 +- app/views/projects/edit.html.haml | 10 +- app/views/projects/forks/index.html.haml | 2 +- app/views/projects/import/jira/show.html.haml | 2 +- .../issues/_by_email_description.html.haml | 4 +- .../issues/_design_management.html.haml | 6 +- app/views/projects/issues/_issue.html.haml | 1 - app/views/projects/issues/_issues.html.haml | 29 +- .../_service_desk_empty_state.html.haml | 12 +- .../projects/issues/service_desk.html.haml | 13 +- app/views/projects/jobs/show.html.haml | 2 +- .../projects/mattermosts/_no_teams.html.haml | 2 +- .../mattermosts/_team_selection.html.haml | 2 +- .../projects/merge_requests/_widget.html.haml | 43 +- .../projects/merge_requests/invalid.html.haml | 11 +- .../projects/merge_requests/show.html.haml | 2 - .../mirrors/_authentication_method.html.haml | 2 +- .../projects/mirrors/_mirror_repos.html.haml | 2 +- .../mirrors/_mirror_repos_form.html.haml | 2 +- .../packages/packages/index.html.haml | 5 +- .../projects/packages/packages/show.html.haml | 9 - app/views/projects/pages/_list.html.haml | 6 +- app/views/projects/pipelines/_info.html.haml | 34 +- app/views/projects/pipelines/show.html.haml | 1 + .../prometheus/metrics/edit.html.haml | 2 +- .../projects/prometheus/metrics/new.html.haml | 2 +- .../shared/_branches_list.html.haml | 2 +- .../shared/_protected_branch.html.haml | 6 +- .../shared/_protected_tag.html.haml | 2 +- .../shared/_tags_list.html.haml | 2 +- .../registry/repositories/index.html.haml | 2 +- .../projects/runners/_group_runners.html.haml | 4 +- .../runners/_specific_runners.html.haml | 2 +- app/views/projects/services/_form.html.haml | 9 +- .../settings/access_tokens/index.html.haml | 16 +- .../settings/ci_cd/_autodevops_form.html.haml | 8 +- .../projects/settings/ci_cd/_form.html.haml | 18 +- .../packages_and_registries/show.html.haml | 4 +- app/views/projects/starrers/index.html.haml | 2 +- .../projects/tree/_tree_header.html.haml | 3 +- app/views/projects/triggers/_index.html.haml | 4 +- .../registrations/welcome/show.html.haml | 6 +- app/views/sandbox/mermaid.html.erb | 9 + app/views/shared/_confirm_modal.html.haml | 21 - ...l.haml => _integration_settings.html.haml} | 2 +- app/views/shared/_label.html.haml | 32 +- .../shared/_new_project_item_select.html.haml | 2 +- .../shared/_old_visibility_level.html.haml | 2 +- ...ation_features_discovery_message.html.haml | 8 +- app/views/shared/_web_ide_button.html.haml | 2 - .../shared/access_tokens/_form.html.haml | 8 +- .../shared/access_tokens/_table.html.haml | 12 +- .../empty_states/_deploy_keys.html.haml | 9 - .../shared/empty_states/_issues.html.haml | 2 +- .../empty_states/_merge_requests.html.haml | 2 +- .../shared/empty_states/_wikis.html.haml | 2 +- .../gitpod/_enable_gitpod_modal.html.haml | 12 - app/views/shared/hook_logs/_content.html.haml | 3 +- .../_recent_deliveries_table.html.haml | 3 +- .../shared/hook_logs/_status_label.html.haml | 7 +- app/views/shared/integrations/_form.html.haml | 4 +- app/views/shared/integrations/edit.html.haml | 5 +- .../shared/integrations/overrides.html.haml | 3 +- app/views/shared/issuable/_form.html.haml | 4 +- .../issuable/_label_page_create.html.haml | 5 +- .../shared/issuable/_search_bar.html.haml | 7 +- .../issuable/form/_merge_params.html.haml | 2 +- app/views/shared/labels/_form.html.haml | 27 +- app/views/shared/members/_badge.html.haml | 4 +- .../shared/members/_blocked_badge.html.haml | 2 +- .../shared/members/_its_you_badge.html.haml | 2 +- .../members/_two_factor_auth_badge.html.haml | 2 +- app/views/shared/nav/_sidebar_menu.html.haml | 2 +- app/views/shared/notes/_hints.html.haml | 4 +- .../_shared_runners_description.html.haml | 2 +- app/views/shared/web_hooks/_form.html.haml | 32 +- app/views/shared/web_hooks/_hook.html.haml | 15 +- app/views/shared/web_hooks/_index.html.haml | 2 +- .../sherlock/file_samples/show.html.haml | 55 - .../sherlock/queries/_backtrace.html.haml | 31 - app/views/sherlock/queries/_general.html.haml | 54 - app/views/sherlock/queries/show.html.haml | 26 - .../transactions/_file_samples.html.haml | 24 - .../sherlock/transactions/_general.html.haml | 38 - .../sherlock/transactions/_queries.html.haml | 24 - .../sherlock/transactions/index.html.haml | 41 - .../sherlock/transactions/show.html.haml | 36 - app/views/users/show.html.haml | 6 +- app/workers/all_queues.yml | 58 +- app/workers/ci/build_finished_worker.rb | 2 +- .../create_pipeline_worker.rb | 2 +- .../expire_project_build_artifacts_worker.rb | 20 + .../agents/delete_expired_events_worker.rb | 21 + app/workers/concerns/application_worker.rb | 16 +- app/workers/concerns/cluster_agent_queue.rb | 10 + .../concerns/dependency_proxy/expireable.rb | 2 +- .../cleanup_artifact_worker.rb} | 31 +- .../dependency_proxy/cleanup_blob_worker.rb | 7 +- .../cleanup_dependency_proxy_worker.rb | 4 +- .../cleanup_manifest_worker.rb | 7 +- .../image_ttl_group_policy_worker.rb | 4 +- app/workers/email_receiver_worker.rb | 33 +- app/workers/expire_build_artifacts_worker.rb | 4 +- .../loose_foreign_keys/cleanup_worker.rb | 28 +- .../update_head_pipeline_worker.rb | 23 + .../dashboard/sync_dashboards_worker.rb | 2 +- .../packages/cleanup_package_file_worker.rb | 52 + .../cleanup_package_registry_worker.rb | 41 + ...rk_package_files_for_destruction_worker.rb | 25 + .../pages_update_configuration_worker.rb | 16 +- app/workers/pages_worker.rb | 9 +- .../update_external_pull_requests_worker.rb | 2 +- ..._head_pipeline_for_merge_request_worker.rb | 2 + app/workers/web_hook_worker.rb | 12 +- config/application.rb | 3 + config/environments/production.rb | 4 +- config/feature_categories.yml | 4 +- ....yml => bulk_expire_project_artifacts.yml} | 8 +- ...ion_deployment_protected_branch_filter.yml | 8 + ...rtifact_fast_removal_large_loop_limit.yml} | 6 +- ...pose_for_namespace_monthly_usage_query.yml | 8 + ...yml => ci_destroy_all_expired_service.yml} | 8 +- ....yml => ci_find_runners_by_ci_mirrors.yml} | 10 +- ...l => ci_owned_runners_cross_joins_fix.yml} | 10 +- .../ci_retry_downstream_pipeline.yml | 2 +- ...kip_legacy_extra_minutes_recalculation.yml | 8 + ...quire_credit_card_for_addon_ci_minutes.yml | 8 + .../ci_use_variables_builder_definitions.yml | 8 + ...ml => container_registry_cdn_redirect.yml} | 10 +- ...ate_deployment_in_separate_transaction.yml | 2 +- ...te_project_namespace_on_project_create.yml | 2 +- .../custom_preloader_for_deployments.yml | 8 + ...st_view_scans.yml => dast_api_scanner.yml} | 10 +- .../datadog_integration_logs_collection.yml | 8 + .../delete_branch_confirmation_modals.yml | 8 - .../dependency_proxy_workhorse.yml | 8 - ...e_job_and_pipeline_cache_synchronously.yml | 8 - .../development/find_tag_via_gitaly.yml | 8 - ...uables_list.yml => fix_comment_scroll.yml} | 8 +- ...mporter_use_diff_note_with_suggestions.yml | 2 +- .../graphql_ci_runner_executor.yml | 8 + .../development/import_redis_increment_by.yml | 2 +- .../improved_container_scan_matching.yml | 8 - ...ml => inline_haml_diff_line_rendering.yml} | 10 +- .../development/lfs_auto_link_fork_source.yml | 2 +- .../development/lfs_link_existing_object.yml | 1 + .../linear_mirrors_worker_roots.yml | 8 + ...ation_settings_finder_ancestors_scopes.yml | 8 - .../migrate_vulnerability_finding_uuids.yml | 8 + .../operational_vulnerabilities.yml | 8 - .../optimized_issue_neighbor_queries.yml | 8 - ...=> packages_installable_package_files.yml} | 8 +- ...mespace_drop_down_for_project_creation.yml | 8 - ...permitted_attributes_for_import_export.yml | 8 - ...access.yml => rate_limit_gitlab_shell.yml} | 8 +- ...=> rate_limit_profile_update_username.yml} | 8 +- ...yml => rate_limit_user_by_id_endpoint.yml} | 8 +- .../rate_limit_user_sign_up_endpoint.yml | 8 + .../rate_limit_username_exists_endpoint.yml | 8 + .../development/rebase_without_ci_ui.yml | 8 + ...rser.yml => remote_mirror_fail_on_lfs.yml} | 8 +- ...st.yml => runner_read_only_admin_view.yml} | 10 +- ...loy_keys_vue.yml => sandboxed_mermaid.yml} | 10 +- .../show_relevant_approval_rule_approvers.yml | 8 - .../feature_flags/development/sourcegraph.yml | 2 +- .../swimlanes_buffered_rendering.yml | 8 - ...archive.yml => track_geo_proxy_events.yml} | 10 +- ...ation.yml => trigger_job_retry_action.yml} | 10 +- .../unify_security_configuration.yml | 8 + .../development/use_cmark_renderer.yml | 8 - ...mary_and_secondary_stores_for_sessions.yml | 8 - .../development/use_traversal_ids.yml | 2 +- .../use_traversal_ids_for_ancestor_scopes.yml | 2 +- .../use_traversal_ids_for_ancestors.yml | 2 +- .../use_traversal_ids_for_ancestors_upto.yml | 2 +- .../use_traversal_ids_for_root_ancestor.yml | 2 +- ..._traversal_ids_for_self_and_hierarchy.yml} | 10 +- .../use_traversal_ids_groups_finder.yml | 2 +- .../use_typhoeus_elasticsearch_adapter.yml | 8 + ...ef_by_oid.yml => vue_integration_form.yml} | 10 +- ...vulnerability_finding_replace_metadata.yml | 3 +- .../vulnerability_location_image_filter.yml | 8 - ...ch_between_content_editor_raw_markdown.yml | 2 +- .../logged_out_marketing_header.yml | 8 + .../experiment/pql_three_cta_test.yml | 8 + ...equire_verification_for_group_creation.yml | 8 + ...re_verification_for_namespace_creation.yml | 8 + .../ops/ci_unsafe_regexp_logger.yml | 8 + .../gitlab_gtm_datalayer.yml} | 10 +- .../ops/prometheus_notify_max_alerts.yml | 8 + config/gitlab.yml.example | 18 + config/helpers/patched_crypto.js | 22 + config/helpers/vendor_dll_hash.js | 4 +- .../0_inject_enterprise_edition_module.rb | 2 +- config/initializers/1_settings.rb | 14 +- config/initializers/7_prometheus_metrics.rb | 12 +- .../initializers/active_record_lifecycle.rb | 2 +- .../active_record_transaction_observer.rb | 11 +- config/initializers/database_config.rb | 2 +- config/initializers/session_store.rb | 10 +- config/initializers/sherlock.rb | 7 - .../webhook_recursion_detection.rb | 5 + .../wikicloth_disable_lua_patch.rb | 31 + ...loth_patch.rb => wikicloth_redos_patch.rb} | 0 config/locales/sherlock.en.yml | 38 - config/mail_room.yml | 2 +- .../counts_28d/20210216175109_suggestions.yml | 3 +- ...16175550_ci_pipeline_config_repository.yml | 2 +- .../counts_28d/20210216183640_gitlab.yml | 4 +- .../counts_28d/20210216183712_total.yml | 2 +- .../20210216183714_gitlab_project.yml | 2 +- .../counts_28d/20210216183716_gitlab.yml | 2 +- .../counts_28d/20210216183718_github.yml | 2 +- .../counts_28d/20210216183720_bitbucket.yml | 2 +- .../20210216183722_bitbucket_server.yml | 2 +- .../counts_28d/20210216183724_gitea.yml | 2 +- .../metrics/counts_28d/20210216183726_git.yml | 2 +- .../counts_28d/20210216183728_manifest.yml | 2 +- .../counts_28d/20210216183730_jira.yml | 2 +- .../counts_28d/20210216183731_fogbugz.yml | 2 +- .../counts_28d/20210216183733_phabricator.yml | 2 +- .../metrics/counts_28d/20210216183735_csv.yml | 2 +- .../20210216183737_groups_imported.yml | 2 +- ...package_container_deploy_token_monthly.yml | 2 +- ..._i_package_debian_deploy_token_monthly.yml | 2 +- ..._i_package_golang_deploy_token_monthly.yml | 2 +- ...846_i_package_tag_deploy_token_monthly.yml | 2 +- ...84902_i_package_container_user_monthly.yml | 2 +- ...16184906_i_package_debian_user_monthly.yml | 2 +- ...16184913_i_package_golang_user_monthly.yml | 2 +- ...10216184933_i_package_tag_user_monthly.yml | 2 +- ...ting_visiting_external_website_monthly.yml | 25 + ...i_package_composer_deploy_token_weekly.yml | 2 +- ..._package_container_deploy_token_weekly.yml | 2 +- ...6_i_package_debian_deploy_token_weekly.yml | 2 +- ...4_i_package_golang_deploy_token_weekly.yml | 2 +- ...4844_i_package_tag_deploy_token_weekly.yml | 2 +- ...184900_i_package_container_user_weekly.yml | 2 +- ...216184904_i_package_debian_user_weekly.yml | 2 +- ...216184911_i_package_golang_user_weekly.yml | 2 +- ...210216184931_i_package_tag_user_weekly.yml | 2 +- ...sting_visiting_external_website_weekly.yml | 25 + .../counts_all/20210216175053_suggestions.yml | 3 +- ...16175518_ci_pipeline_config_repository.yml | 2 +- ...16175533_ci_pipeline_config_repository.yml | 2 +- .../counts_all/20210216180634_gitlab.yml | 2 +- .../counts_all/20210216180705_total.yml | 2 +- .../20210216180707_gitlab_project.yml | 2 +- .../counts_all/20210216180709_gitlab.yml | 2 +- .../counts_all/20210216180711_github.yml | 2 +- .../counts_all/20210216180713_bitbucket.yml | 2 +- .../20210216180715_bitbucket_server.yml | 2 +- .../counts_all/20210216180716_gitea.yml | 2 +- .../metrics/counts_all/20210216180718_git.yml | 2 +- .../counts_all/20210216180720_manifest.yml | 2 +- .../counts_all/20210216180722_jira.yml | 2 +- .../counts_all/20210216180724_fogbugz.yml | 2 +- .../counts_all/20210216180726_phabricator.yml | 2 +- .../metrics/counts_all/20210216180727_csv.yml | 2 +- .../20210216180729_groups_imported.yml | 2 +- ...ge_events_i_package_tag_delete_package.yml | 2 +- ...kage_events_i_package_tag_pull_package.yml | 2 +- ...kage_events_i_package_tag_push_package.yml | 2 +- config/metrics/schema.json | 2 +- .../settings/20211201012652_flavor.yml | 24 + config/object_store_settings.rb | 2 +- config/routes.rb | 7 +- config/routes/admin.rb | 2 +- config/routes/group.rb | 8 +- config/routes/project.rb | 5 +- config/routes/sherlock.rb | 14 - config/sidekiq_queues.yml | 10 + config/webpack.config.js | 5 +- danger/datateam/Dangerfile | 18 +- danger/plugins/datateam.rb | 9 + .../14-0-nfs-fot-git-repository-storage.yml | 3 +- ...i.yml => 14-2-deprecation-release-cli.yml} | 3 +- .../14-2-deprecation-task-runner.yml | 1 + ...atabase-deprecate-legacy-database-conf.yml | 11 +- ...4-3-deprecation_omniauth-kerberos_gem.yml} | 3 +- .../14-3-repository-push-audit-events.yml | 3 +- .../{serverless.yml => 14-3-serverless.yml} | 2 +- ...cate-based-integration-with-kubernetes.yml | 1 + ...ate-convert-instance-runner-to-project.yml | 2 +- ...eCommitMessageWithDescription-graphql.yml} | 1 + .../14-5-deprecate-opensuse-15-2.yml | 1 + ...2sp2.yml => 14-5-deprecate-sles-12sp2.yml} | 1 + ...14-5-deprecation-versions-packagetype.yml} | 2 +- ...precation-of-vsa-filtering-calculation.yml | 3 +- ...14-5-disable_strict_host_key_checking.yml} | 1 + .../14-5-geo-deprecate-promote-db.yml | 15 +- ...-geo-deprecate-promote-to-primary-node.yml | 15 +- ...e-container-registry-api-group-update.yml} | 3 +- ...ove-dependency-proxy-permissions-flag.yml} | 1 + ... => 14-5-remove-package-pipelines-api.yml} | 1 + ...5-remove-pipelines-from-version-field.yml} | 3 +- ...-runner-api-status-does-contain-paused.yml | 3 +- ...ontype-nonexplicit-config-deprecation.yml} | 1 + ...Enforce-validation-of-security-schemas.yml | 26 + ...-6-container-scanning-schemas-below-14.yml | 23 + ...14-6-coverage-fuzzing-schemas-below-14.yml | 26 + .../14-6-dast-schemas-below-14.yml | 26 + ...6-dependency-scanning-schemas-below-14.yml | 26 + data/deprecations/14-6-deprecate-types.yml | 3 +- ...precation-license-compliance-api-terms.yml | 7 +- ...cure-dependency-scanning-bundler-audit.yml | 5 +- ...char_limit.yml => 14-6-job_char_limit.yml} | 15 +- ...-6-pipeline-fields-package-deprecation.yml | 1 + ...zzing-ci-configuration-create-mutation.yml | 3 +- ...unner-api-status-renames-not_connected.yml | 1 + ..._api_new_stale_status_breaking_change.yml} | 1 + .../14-6-sast-schemas-below-14.yml | 26 + ...14-6-secret-detection-schemas-below-14.yml | 26 + .../14-7-deprecate-artifacts-keyword.yml | 16 + ...te-godep-support-in-license-compliance.yml | 12 + .../14-7-deprecate-merged_by-api-field.yml | 27 + .../14-7-deprecate-static-site-editor.yml | 14 + data/deprecations/14-7-pseudonymizer.yml | 12 + ...-7-sidekiq-metrics-health-check-donfig.yml | 30 + ...commit-message-triggering-draft-status.yml | 15 + .../15-0-deprecate-monitor-logging.yml | 16 + .../15-0-deprecate-monitor-metrics.yml | 17 + .../15-0-deprecate-monitor-tracing.yml | 16 + .../templates/_deprecation_template.md.erb | 16 +- data/deprecations/templates/example.yml | 3 +- data/removals/14_0/14_0-ds-deprecations.yml | 10 + data/removals/14_0/14_0-lc-deprecations.yml | 6 + .../change_default_branch_name_to_main.yml | 10 + .../14_0/create-code-review-draft-wip.yml | 6 + ...create-code-review-w-parameter-removal.yml | 6 + ...recate_ci_project_config_path_variable.yml | 6 + ...cation_bump_terraform_template_version.yml | 18 + .../14_0/deprecation_manage_access_14_0.yml | 17 + ...emplates_to_stop_using_hardcode_master.yml | 6 + .../14_0/deuley_servicetemplates_removal.yml | 8 + ...ounce_deprecation_of_release_notes_api.yml | 7 + .../release_deprecation_auto-deploy-image.yml | 9 + ...iguration_for_gitlab_pages_deprecation.yml | 7 + ...lease_legacy_feature_flags_deprecation.yml | 7 + ...keyvalue_pair_from_the_payload_of_dora.yml | 7 + .../14_0/removal-geo-fdw-settings.yml | 11 + data/removals/14_0/removal-graphql-fields.yml | 13 + data/removals/14_0/removal-legacy-storage.yml | 6 + .../14_0/removal-protect-features.yml | 13 + ...al-sidekiq_experimental_queue_selector.yml | 10 + data/removals/14_0/removal-unicorn.yml | 6 + .../14_0/removal_ci_project_config_path.yml | 11 + .../14_0/removal_enablement_helm2.yml | 8 + .../14_0/removal_enablement_opensuse_15_1.yml | 6 + .../removals/14_0/removal_enablement_pg11.yml | 10 + .../14_0/removal_enablement_ubuntu_16.yml | 11 + ...removal_repost_static_analysis_notices.yml | 39 + data/removals/14_0/removal_runner_25555.yml | 7 + data/removals/14_0/removal_runner_26036.yml | 6 + data/removals/14_0/removal_runner_26419.yml | 6 + data/removals/14_0/removal_runner_4845.yml | 6 + data/removals/14_0/removal_runner_6413.yml | 6 + .../14_0/removals-14-testing-team.yml | 26 + data/removals/14_0/removals_runner_26651.yml | 6 + data/removals/14_0/removals_runner_26679.yml | 6 + data/removals/14_0/removals_runner_26900.yml | 6 + data/removals/14_0/removals_runner_27175.yml | 6 + data/removals/14_0/removals_runner_27218.yml | 6 + data/removals/14_0/removals_runner_27551.yml | 6 + data/removals/14_0/removals_runner_27899.yml | 6 + data/removals/14_0/remove-sql-elector.yml | 9 + .../14_0/remove_dast_env_variables.yml | 15 + .../remove_dast_legacy_domain_validation.yml | 8 + .../14_0/remove_dast_legacy_report_fields.yml | 8 + .../14_0/remove_dast_spider_host_reset.yml | 6 + .../14_0/remove_dast_template_stages.yml | 6 + data/removals/14_0/remove_optimize_api.yml | 6 + .../14_0/remove_terraform_template.yml | 9 + .../14_0/verify-ci-removal-parametertrace.yml | 8 + .../14_0/verify-ci-removalpipelineservice.yml | 6 + ...moval-memory-prometheus-options-source.yml | 8 + .../14_1/removal-outdated-browser-support.yml | 20 + .../14_2/removal-verify-build-log.yml | 7 + .../14_3/removal-limit-tags-to-50.yml | 6 + .../removal-verify-pe-pipelinefindername.yml | 6 + .../14_3/removal_legacy_storage_setting.yml | 8 + .../templates/_removal_template.md.erb | 46 + data/removals/templates/example.yml | 32 + data/whats_new/202010230001_13_05.yml | 2 +- data/whats_new/2021102000001_14_04.yml | 2 +- data/whats_new/2021111800001_14_05.yml | 2 +- data/whats_new/202201200001_14_07.yml | 42 + db/fixtures/development/18_abuse_reports.rb | 2 +- db/fixtures/development/31_terraform_state.rb | 26 + db/init_structure.sql | 1078 +++++++-- ...50_add_bloat_estimate_to_reindex_action.rb | 9 - ...nge_mr_allow_maintainer_to_push_default.rb | 19 - ...214032220_add_has_external_wiki_trigger.rb | 52 - ..._completed_at_to_container_repositories.rb | 12 - ...e_max_list_size_to_application_settings.rb | 11 - ...p_tags_service_max_list_size_constraint.rb | 19 - ...om_mapping_columns_to_http_integrations.rb | 10 - .../20201214184020_add_epic_board_list.rb | 33 - ..._delete_mock_deployment_service_records.rb | 15 - ...hange_unique_index_on_security_findings.rb | 36 - ...05404_create_namespace_package_settings.rb | 25 - ...01216151616_add_squash_commit_sha_index.rb | 22 - ..._add_devops_adoption_snapshot_range_end.rb | 11 - ...d_group_merge_request_approval_settings.rb | 24 - ..._change_pages_deployment_size_to_bigint.rb | 17 - ...2603_create_elastic_reindexing_subtasks.rb | 56 - .../20201218194311_create_admin_notes.rb | 21 - ...0201221124036_add_devops_snapshot_index.rb | 19 - ...lusters_helm_major_version_default_to_3.rb | 9 - ...sk_reply_to_is_not_null_index_on_issues.rb | 11 - ...823_update_trusted_apps_to_confidential.rb | 23 - ...r_defined_variables_to_project_settings.rb | 19 - ...24144948_migrate_coverage_report_worker.rb | 15 - ...0201228110136_create_iterations_cadence.rb | 29 - ...10238_add_iterations_cadence_to_sprints.rb | 22 - ...eason_into_vulnerability_feedback_table.rb | 13 - ...d_invisible_captcha_enabled_to_settings.rb | 9 - ...g_response_text_to_application_settings.rb | 12 - ...201230180202_create_onboarding_progress.rb | 36 - ...t_limit_for_rate_limiting_response_text.rb | 16 - ...64121_drop_temporary_index_on_ci_builds.rb | 19 - ...104163218_add_epic_board_position_index.rb | 18 - ...proxy_whitelist_on_application_settings.rb | 21 - ...ty_columns_to_vulnerability_occurrences.rb | 16 - ...ulnerability_occurrences_entity_columns.rb | 23 - ...54_add_unique_index_for_golang_packages.rb | 20 - ...20210106153021_drop_tmp_index_on_emails.rb | 20 - ..._add_merge_request_diff_commit_trailers.rb | 22 - ...106191305_rename_indexes_on_git_lab_com.rb | 57 - ...atest_artifacts_to_application_settings.rb | 11 - ...06_add_diff_type_to_merge_request_diffs.rb | 31 - ...d_merge_request_context_commit_trailers.rb | 12 - ...08161039_update_max_import_size_default.rb | 9 - .../20210111051045_create_dast_profiles.rb | 35 - ...1053308_add_project_fk_for_dast_profile.rb | 19 - ...rary_index_on_security_findings_scan_id.rb | 18 - ...12084512_drop_tmp_index_on_emails_again.rb | 18 - ...210112202949_create_composer_cache_file.rb | 34 - ...ration_full_path_to_compliance_pipeline.rb | 16 - ...add_converted_at_to_experiment_subjects.rb | 9 - ...1546_add_context_to_experiment_subjects.rb | 9 - ...10114033715_remove_group_id_title_index.rb | 20 - ...43_add_indexes_to_onboarding_progresses.rb | 27 - ...52_create_group_repository_storage_move.rb | 34 - ..._add_has_external_issue_tracker_trigger.rb | 61 - ..._key_expiration_to_application_settings.rb | 9 - ...add_proxy_settings_to_jira_tracker_data.rb | 16 - ...liance_pipeline_configuration_full_path.rb | 17 - ...0956_extend_index_on_ci_builds_metadata.rb | 40 - ...743_delete_oauth_applications_tmp_index.rb | 18 - ...8_remove_repository_read_only_to_groups.rb | 23 - ...00038_add_devops_adoption_group_segment.rb | 18 - ...2_optional_devops_adoption_segment_name.rb | 24 - ...ository_read_only_to_namespace_settings.rb | 19 - ...59_add_state_to_merge_request_reviewers.rb | 11 - ..._pipeline_step_to_bulk_imports_failures.rb | 25 - ...dd_devops_adoption_segment_namespace_fk.rb | 17 - ...oard_access_level_into_project_features.rb | 20 - ...ique_index_services_project_id_and_type.rb | 19 - ...move_index_services_project_id_and_type.rb | 20 - ...d_rubygems_max_file_size_to_plan_limits.rb | 9 - ...052226_add_subgroup_events_to_web_hooks.rb | 9 - ...7143025_add_oldest_merge_requests_index.rb | 13 - ...terations_cadence_date_range_constraint.rb | 30 - ...e_iteration_group_date_range_constraint.rb | 30 - ..._session_expiry_to_application_settings.rb | 9 - ..._without_jira_issue_to_project_settings.rb | 18 - ...4526_add_auto_delete_at_to_environments.rb | 19 - ...tent_type_to_dependency_proxy_manifests.rb | 12 - ...dependency_proxy_manifests_content_type.rb | 16 - ...52830_create_ci_namespace_monthly_usage.rb | 30 - ...te_background_migration_tracking_tables.rb | 59 - ...o_oncall_shfts_on_starts_at_and_ends_at.rb | 24 - ...add_active_periods_to_on_call_rotations.rb | 10 - ...4_add_oldest_merge_requests_index_again.rb | 59 - .../20210203002331_drop_backup_label_index.rb | 19 - ...540_remove_has_external_wiki_constraint.rb | 20 - ...restore_has_external_wiki_default_value.rb | 31 - ...21631_create_packages_rubygems_metadata.rb | 69 - ...d_expired_index_to_composer_cache_files.rb | 19 - ...dd_orphan_index_to_composer_cache_files.rb | 19 - ...4152257_add_status_to_packages_packages.rb | 9 - ..._to_ci_daily_build_group_report_results.rb | 9 - ...5084357_create_ci_project_monthly_usage.rb | 29 - ...05134213_add_creator_id_to_custom_emoji.rb | 23 - ...ign_key_on_namespace_onboarding_actions.rb | 19 - ...e_foreign_keys_from_alerts_service_data.rb | 19 - ...issue_created_at_to_onboarding_progress.rb | 9 - ..._add_status_expires_at_to_user_statuses.rb | 19 - ...ndex_on_user_statuses_status_expires_at.rb | 18 - ..._to_ci_daily_build_group_report_results.rb | 20 - ...es_create_limit_to_application_settings.rb | 9 - ...8200914_add_ends_at_to_oncall_rotations.rb | 9 - ...09110019_create_external_approval_rules.rb | 44 - ...ity_orchestration_policy_configurations.rb | 25 - ...5_add_status_index_to_packages_packages.rb | 19 - ..._surround_selection_to_user_preferences.rb | 21 - ...limit_allowlist_to_application_settings.rb | 9 - ...created_by_user_for_cluster_agent_token.rb | 28 - ...eo_oauth_application_trusted_by_default.rb | 20 - ...eline_succeeds_to_notification_settings.rb | 12 - ...d_project_removal_to_namespace_settings.rb | 9 - ...x_to_namespaces_delayed_project_removal.rb | 18 - ...72449_remove_artifact_expiry_temp_index.rb | 18 - ...roduct_marketing_emails_enabled_setting.rb | 9 - ...6135504_add_created_by_to_cluster_agent.rb | 27 - ...193620_add_description_to_cluster_token.rb | 21 - ...where_service_desk_reply_to_is_not_null.rb | 21 - ...01901_create_epic_list_user_preferences.rb | 20 - ...dd_environment_scope_to_group_variables.rb | 45 - ...8142626_change_finding_fingerprint_enum.rb | 15 - ...ts_start_date_not_null_check_constraint.rb | 17 - ...ints_due_date_not_null_check_constraint.rb | 17 - ...add_creator_foreign_key_to_custom_emoji.rb | 23 - ...19111040_add_epic_issue_composite_index.rb | 18 - ...version_usage_data_id_to_raw_usage_data.rb | 9 - ...37_add_is_removed_to_oncall_participant.rb | 19 - ..._is_removed_index_to_oncall_participant.rb | 21 - ...dd_storage_size_to_namespace_statistics.rb | 19 - ...3_add_wiki_size_to_namespace_statistics.rb | 19 - ..._add_epic_board_user_preference_user_fk.rb | 19 - ...epic_board_user_preference_epic_list_fk.rb | 19 - ...120_add_container_registry_access_level.rb | 25 - ...3053451_add_branch_name_to_dast_profile.rb | 23 - ..._foreign_key_to_external_approval_rules.rb | 18 - ...ernal_approval_rules_protected_branches.rb | 18 - ...30600_update_rubygems_metadata_metadata.rb | 19 - ...null_constraint_to_terraform_state_name.rb | 11 - ...7_add_name_field_to_cluster_agent_token.rb | 12 - ...ansition_automatic_to_jira_tracker_data.rb | 9 - ...0210225090801_create_dora_daily_metrics.rb | 31 - ...20210225135533_limit_cluster_token_size.rb | 17 - ..._allow_force_push_to_protected_branches.rb | 19 - ...20210301150451_add_tier_to_environments.rb | 19 - ...01193412_add_optional_to_ci_build_needs.rb | 19 - ...proxy_allowlist_on_application_settings.rb | 29 - ...chema.rb => 20210301200959_init_schema.rb} | 0 ...ue_index_to_vulnerability_finding_links.rb | 18 + ...dd_archive_trace_events_to_integrations.rb | 7 + ...0042_add_status_to_cluster_agent_tokens.rb | 7 + ...0211210025754_alter_constraint_of_phone.rb | 17 + ...21_change_user_details_phone_text_limit.rb | 15 + ...44_add_settings_user_email_lookup_limit.rb | 13 + ...59_add_status_to_packages_package_files.rb | 7 + ..._status_index_to_packages_package_files.rb | 15 + ...te_application_settings_protected_paths.rb | 58 + ...cluster_agent_id_to_vulnerability_reads.rb | 10 + ...to_vulnerability_reads_cluster_agent_id.rb | 13 + ...216135651_add_index_to_cluster_agent_id.rb | 16 + .../20211216220939_add_group_crm_settings.rb | 13 + ...foreign_key_from_project_pages_metadata.rb | 19 + ...anning_actions_to_onboarding_progresses.rb | 15 + ...3125921_add_temp_index_to_members_state.rb | 16 + ...worker_capacity_to_application_settings.rb | 13 + ...pacity_check_constraint_to_app_settings.rb | 15 + ...45_add_ci_runners_index_on_active_state.rb | 15 + ...105121325_add_route_namespace_reference.rb | 13 + ...20106141756_remove_lock_version_indexes.rb | 23 + ...registry_migration_application_settings.rb | 15 + ...ation_columns_to_container_repositories.rb | 19 + ...0220107091629_add_route_namespace_index.rb | 19 + .../20220107165036_remove_note_id_index.rb | 16 + ..._remove_ci_pipelines_lock_version_index.rb | 17 + .../20220110170953_create_ci_secure_files.rb | 19 + ...95006_add_maintainer_note_to_ci_runners.rb | 12 + ...ext_limit_to_ci_runners_maintainer_note.rb | 13 + ...200254_remove_index_from_merge_requests.rb | 15 + ...d_requires_verification_to_user_details.rb | 9 + ...5111_create_security_training_providers.rb | 14 + ...12232037_add_member_namespace_reference.rb | 13 + ...220112232605_add_member_namespace_index.rb | 19 + ...0220113125401_create_security_trainings.rb | 18 + ...us_only_index_to_packages_package_files.rb | 15 + ...ontainer_repositories_migration_columns.rb | 15 + ...o_container_registry_import_target_plan.rb | 13 + ...terval_settings_to_application_settings.rb | 9 + ...interval_settings_to_namespace_settings.rb | 11 + ...n_interval_settings_to_project_settings.rb | 9 + ...ex_excluding_pending_destruction_status.rb | 28 + ...finding_uuid_for_vulnerability_feedback.rb | 25 - ...6_add_devops_adoption_snapshot_not_null.rb | 31 - ...pages_deployment_size_to_bigint_cleanup.rb | 17 - ...ndex_ci_pipelines_on_schedule_id_and_id.rb | 21 - ...schedule_set_default_iteration_cadences.rb | 26 - ...rojects_with_bad_has_external_wiki_data.rb | 88 - ...hitelist_rename_on_application_settings.rb | 19 - ...column_group_id_on_compliance_framework.rb | 9 - ...107194543_remove_alerts_service_records.rb | 19 - ...e_uuid_population_for_security_findings.rb | 20 - ..._uuid_population_for_security_findings2.rb | 34 - ...210112143418_remove_duplicate_services2.rb | 29 - ...5215854_cancel_artifact_expiry_backfill.rb | 22 - ...20610_schedule_artifact_expiry_backfill.rb | 48 - ...a_issue_first_mentioned_in_commit_value.rb | 34 - ...rate_existing_devops_segments_to_groups.rb | 15 - .../20210205104425_add_new_post_eoa_plans.rb | 14 - ...move_namespace_onboarding_actions_table.rb | 23 - ...4_remove_bad_dependency_proxy_manifests.rb | 15 - ...20210205213933_drop_alerts_service_data.rb | 26 - ...003_remove_alerts_service_records_again.rb | 19 - ...pdated_at_after_repository_storage_move.rb | 34 - ...ith_bad_has_external_issue_tracker_data.rb | 84 - ...l_from_namespaces_to_namespace_settings.rb | 28 - ...4909_migrate_usage_trends_sidekiq_queue.rb | 19 - ...evidence_queue_out_of_cronjob_namespace.rb | 16 - ...431_remove_deprecated_ci_builds_columns.rb | 36 - ...0552_remove_deprecated_ci_runner_column.rb | 22 - ...schedule_set_default_iteration_cadences.rb | 30 - ...85538_remove_backup_labels_foreign_keys.rb | 21 - ...210222192144_remove_backup_labels_table.rb | 36 - ...506_reschedule_artifact_expiry_backfill.rb | 44 - ...er_registry_enabled_to_project_features.rb | 28 - .../20210226141517_dedup_issue_metrics.rb | 71 - ...llowlist_rename_on_application_settings.rb | 21 - ...te_uuid_on_vulnerabilities_occurrences2.rb | 29 +- ...te_uuid_on_vulnerabilities_occurrences3.rb | 22 +- ...culate_vulnerabilities_occurrences_uuid.rb | 10 +- ...up_after_drop_invalid_security_findings.rb | 26 + ...xes_for_primary_email_cleanup_migration.rb | 28 + ...imary_email_to_emails_if_user_confirmed.rb | 59 + ...x_ci_job_artifacts_project_id_file_type.rb | 15 + ...culate_vulnerabilities_occurrences_uuid.rb | 16 + ...te_uuid_on_vulnerabilities_occurrences4.rb | 28 + ...ra_finding_evidence_tables_foreign_keys.rb | 57 + ...11_remove_extra_finding_evidence_tables.rb | 71 + ..._schedule_backfill_ci_namespace_mirrors.rb | 23 + ...01_schedule_backfill_ci_project_mirrors.rb | 23 + ...1209203820_add_tmp_index_on_report_type.rb | 16 + ...t_stringified_raw_metadata_hash_to_json.rb | 25 + ...add_temporary_static_object_token_index.rb | 15 + ...11210140629_encrypt_static_object_token.rb | 22 + ...fill_incident_issue_escalation_statuses.rb | 26 + ...tion_index_to_vulnerability_occurrences.rb | 41 + ...o_events_on_author_id_and_action_and_id.rb | 14 + ...lculate_finding_signatures_as_completed.rb | 20 + ...ary_indexes_for_primary_email_migration.rb | 28 + ..._ci_pipelines_user_id_id_failure_reason.rb | 15 + ...1220123956_update_invalid_member_states.rb | 21 + ...x_ci_job_artifacts_project_id_file_type.rb | 15 + ...x_events_on_author_id_and_action_and_id.rb | 17 + ...add_index_to_events_on_author_id_and_id.rb | 15 + ...foreign_key_ci_group_variables_group_id.rb | 17 + ...cks_namespace_id_foreign_key_constraint.rb | 17 + ...ily_build_group_report_results_group_id.rb | 17 + ...eign_key_ci_pending_builds_namespace_id.rb | 17 + ...n_key_ci_runner_namespaces_namespace_id.rb | 17 + ...x_vulnerability_occurrences_dedup_again.rb | 17 + ...schedule_populate_test_reports_issue_id.rb | 23 + ..._scanner_profiles_builds_ci_build_id_fk.rb | 18 + ...nts_management_test_reports_build_id_fk.rb | 18 + ...ast_site_profiles_builds_ci_build_id_fk.rb | 18 + ...02756_remove_security_scans_build_id_fk.rb | 18 + ...52_index_cluster_agent_tokens_on_status.rb | 15 + ...0220111102314_truncate_ci_mirror_tables.rb | 14 + ...16_remove_projects_ci_pending_builds_fk.rb | 15 + ...40_remove_projects_ci_running_builds_fk.rb | 17 + ...lete_from_project_namespace_foreign_key.rb | 23 + ...ve_projects_ci_unit_tests_project_id_fk.rb | 15 + ...uild_group_report_results_project_id_fk.rb | 16 + ...rojects_ci_freeze_periods_project_id_fk.rb | 15 + ...ojects_ci_resource_groups_project_id_fk.rb | 15 + ...s_ci_build_report_results_project_id_fk.rb | 15 + ...oken_project_scope_links_added_by_id_fk.rb | 15 + ...users_ci_pipeline_schedules_owner_id_fk.rb | 15 + ...220114105525_add_index_on_projects_path.rb | 17 + ...hor_index_to_design_management_versions.rb | 16 + ...cts_ci_pipeline_artifacts_project_id_fk.rb | 17 + db/schema_migrations/20181228175414 | 1 - db/schema_migrations/20201211090634 | 1 - db/schema_migrations/20201211145950 | 1 - db/schema_migrations/20201214000000 | 1 - db/schema_migrations/20201214032220 | 1 - db/schema_migrations/20201214084105 | 1 - db/schema_migrations/20201214111858 | 1 - db/schema_migrations/20201214112752 | 1 - db/schema_migrations/20201214113729 | 1 - db/schema_migrations/20201214184020 | 1 - db/schema_migrations/20201215084652 | 1 - db/schema_migrations/20201215132151 | 1 - db/schema_migrations/20201215205404 | 1 - db/schema_migrations/20201216151616 | 1 - db/schema_migrations/20201216154457 | 1 - db/schema_migrations/20201216185336 | 1 - db/schema_migrations/20201217070530 | 1 - db/schema_migrations/20201217111448 | 1 - db/schema_migrations/20201217112249 | 1 - db/schema_migrations/20201217132603 | 1 - db/schema_migrations/20201218194311 | 1 - db/schema_migrations/20201221124036 | 1 - db/schema_migrations/20201221213415 | 1 - db/schema_migrations/20201221225303 | 1 - db/schema_migrations/20201222151823 | 1 - db/schema_migrations/20201223012231 | 1 - db/schema_migrations/20201223114050 | 1 - db/schema_migrations/20201224144948 | 1 - db/schema_migrations/20201228110136 | 1 - db/schema_migrations/20201228110238 | 1 - db/schema_migrations/20201228184500 | 1 - db/schema_migrations/20201229105948 | 1 - db/schema_migrations/20201230161206 | 1 - db/schema_migrations/20201230180202 | 1 - db/schema_migrations/20201231133921 | 1 - db/schema_migrations/20210101110640 | 1 - db/schema_migrations/20210102164121 | 1 - db/schema_migrations/20210104163218 | 1 - db/schema_migrations/20210105030125 | 1 - db/schema_migrations/20210105052034 | 1 - db/schema_migrations/20210105052229 | 1 - db/schema_migrations/20210105103649 | 1 - db/schema_migrations/20210105153342 | 1 - db/schema_migrations/20210105154321 | 1 - db/schema_migrations/20210106061254 | 1 - db/schema_migrations/20210106153021 | 1 - db/schema_migrations/20210106155209 | 1 - db/schema_migrations/20210106191305 | 1 - db/schema_migrations/20210106225424 | 1 - db/schema_migrations/20210107105306 | 1 - db/schema_migrations/20210107154615 | 1 - db/schema_migrations/20210107194543 | 1 - db/schema_migrations/20210108161039 | 1 - db/schema_migrations/20210111051045 | 1 - db/schema_migrations/20210111053308 | 1 - db/schema_migrations/20210111075104 | 1 - db/schema_migrations/20210111075105 | 1 - db/schema_migrations/20210111075206 | 1 - db/schema_migrations/20210112084512 | 1 - db/schema_migrations/20210112143418 | 1 - db/schema_migrations/20210112202949 | 1 - db/schema_migrations/20210113224909 | 1 - db/schema_migrations/20210113231532 | 1 - db/schema_migrations/20210113231546 | 1 - db/schema_migrations/20210114033715 | 1 - db/schema_migrations/20210114142443 | 1 - db/schema_migrations/20210115090452 | 1 - db/schema_migrations/20210115215854 | 1 - db/schema_migrations/20210115220610 | 1 - db/schema_migrations/20210117210226 | 1 - db/schema_migrations/20210118111307 | 1 - db/schema_migrations/20210119122354 | 1 - db/schema_migrations/20210119153801 | 1 - db/schema_migrations/20210119162812 | 1 - db/schema_migrations/20210120180956 | 1 - db/schema_migrations/20210120221743 | 1 - db/schema_migrations/20210121093618 | 1 - db/schema_migrations/20210121100038 | 1 - db/schema_migrations/20210121121102 | 1 - db/schema_migrations/20210122073805 | 1 - db/schema_migrations/20210122153259 | 1 - db/schema_migrations/20210122155158 | 1 - db/schema_migrations/20210125105410 | 1 - db/schema_migrations/20210126030249 | 1 - db/schema_migrations/20210126091713 | 1 - db/schema_migrations/20210126092102 | 1 - db/schema_migrations/20210126233608 | 1 - db/schema_migrations/20210127052226 | 1 - db/schema_migrations/20210127143025 | 1 - db/schema_migrations/20210127152613 | 1 - db/schema_migrations/20210127202613 | 1 - db/schema_migrations/20210128044930 | 1 - db/schema_migrations/20210128101707 | 1 - db/schema_migrations/20210128114526 | 1 - db/schema_migrations/20210128140157 | 1 - db/schema_migrations/20210128140232 | 1 - db/schema_migrations/20210128152830 | 1 - db/schema_migrations/20210128172149 | 1 - db/schema_migrations/20210129225244 | 1 - db/schema_migrations/20210201034649 | 1 - db/schema_migrations/20210201140434 | 1 - db/schema_migrations/20210203002331 | 1 - db/schema_migrations/20210203092540 | 1 - db/schema_migrations/20210203092549 | 1 - db/schema_migrations/20210203143131 | 1 - db/schema_migrations/20210203221631 | 1 - db/schema_migrations/20210203222620 | 1 - db/schema_migrations/20210203223551 | 1 - db/schema_migrations/20210204152257 | 1 - db/schema_migrations/20210204212850 | 1 - db/schema_migrations/20210205084357 | 1 - db/schema_migrations/20210205104425 | 1 - db/schema_migrations/20210205134213 | 1 - db/schema_migrations/20210205143926 | 1 - db/schema_migrations/20210205144537 | 1 - db/schema_migrations/20210205174154 | 1 - db/schema_migrations/20210205213915 | 1 - db/schema_migrations/20210205213933 | 1 - db/schema_migrations/20210205214003 | 1 - db/schema_migrations/20210208103243 | 1 - db/schema_migrations/20210208125050 | 1 - db/schema_migrations/20210208125248 | 1 - db/schema_migrations/20210208144134 | 1 - db/schema_migrations/20210208161207 | 1 - db/schema_migrations/20210208200914 | 1 - db/schema_migrations/20210209110019 | 1 - db/schema_migrations/20210209160510 | 1 - db/schema_migrations/20210209171525 | 1 - db/schema_migrations/20210209232508 | 1 - db/schema_migrations/20210210093901 | 1 - db/schema_migrations/20210210210232 | 1 - db/schema_migrations/20210210221006 | 1 - db/schema_migrations/20210211195543 | 1 - db/schema_migrations/20210212153934 | 1 - db/schema_migrations/20210212163231 | 1 - db/schema_migrations/20210214201118 | 1 - db/schema_migrations/20210214205155 | 1 - db/schema_migrations/20210215095328 | 1 - db/schema_migrations/20210215144909 | 1 - db/schema_migrations/20210215172449 | 1 - db/schema_migrations/20210216122140 | 1 - db/schema_migrations/20210216135504 | 1 - db/schema_migrations/20210216193620 | 1 - db/schema_migrations/20210216223335 | 1 - db/schema_migrations/20210217100728 | 1 - db/schema_migrations/20210217101901 | 1 - db/schema_migrations/20210218040814 | 1 - db/schema_migrations/20210218105431 | 1 - db/schema_migrations/20210218110552 | 1 - db/schema_migrations/20210218142626 | 1 - db/schema_migrations/20210218144056 | 1 - db/schema_migrations/20210218144656 | 1 - db/schema_migrations/20210219100137 | 1 - db/schema_migrations/20210219102900 | 1 - db/schema_migrations/20210219111040 | 1 - db/schema_migrations/20210219211845 | 1 - db/schema_migrations/20210222030537 | 1 - db/schema_migrations/20210222042745 | 1 - db/schema_migrations/20210222070356 | 1 - db/schema_migrations/20210222070413 | 1 - db/schema_migrations/20210222085529 | 1 - db/schema_migrations/20210222085551 | 1 - db/schema_migrations/20210222105120 | 1 - db/schema_migrations/20210222185538 | 1 - db/schema_migrations/20210222192144 | 1 - db/schema_migrations/20210223053451 | 1 - db/schema_migrations/20210223132934 | 1 - db/schema_migrations/20210223133116 | 1 - db/schema_migrations/20210223230600 | 1 - db/schema_migrations/20210224132547 | 1 - db/schema_migrations/20210224133337 | 1 - db/schema_migrations/20210224150506 | 1 - db/schema_migrations/20210224161552 | 1 - db/schema_migrations/20210225090801 | 1 - db/schema_migrations/20210225135533 | 1 - db/schema_migrations/20210225153522 | 1 - db/schema_migrations/20210226120851 | 1 - db/schema_migrations/20210226141517 | 1 - db/schema_migrations/20210301150451 | 1 - db/schema_migrations/20210301193412 | 1 - db/schema_migrations/20210301200601 | 1 - db/schema_migrations/20210811193033 | 1 + db/schema_migrations/20211026124336 | 1 + db/schema_migrations/20211123161906 | 1 + db/schema_migrations/20211206161271 | 1 + db/schema_migrations/20211206162601 | 1 + db/schema_migrations/20211207081708 | 1 + db/schema_migrations/20211207125331 | 1 + db/schema_migrations/20211207135331 | 1 + db/schema_migrations/20211207173510 | 1 + db/schema_migrations/20211207173511 | 1 + db/schema_migrations/20211208122200 | 1 + db/schema_migrations/20211208122201 | 1 + db/schema_migrations/20211209203820 | 1 + db/schema_migrations/20211209203821 | 1 + db/schema_migrations/20211209230042 | 1 + db/schema_migrations/20211210025754 | 1 + db/schema_migrations/20211210031721 | 1 + db/schema_migrations/20211210140000 | 1 + db/schema_migrations/20211210140629 | 1 + db/schema_migrations/20211213142344 | 1 + db/schema_migrations/20211213154259 | 1 + db/schema_migrations/20211213154704 | 1 + db/schema_migrations/20211214012507 | 1 + db/schema_migrations/20211215182006 | 1 + db/schema_migrations/20211216133107 | 1 + db/schema_migrations/20211216134134 | 1 + db/schema_migrations/20211216135651 | 1 + db/schema_migrations/20211216220939 | 1 + db/schema_migrations/20211217050753 | 1 + db/schema_migrations/20211217120000 | 1 + db/schema_migrations/20211217145923 | 1 + db/schema_migrations/20211217174331 | 1 + db/schema_migrations/20211220064757 | 1 + db/schema_migrations/20211220120402 | 1 + db/schema_migrations/20211220123956 | 1 + db/schema_migrations/20211220174504 | 1 + db/schema_migrations/20211223125921 | 1 + db/schema_migrations/20211224112937 | 1 + db/schema_migrations/20211224114539 | 1 + db/schema_migrations/20211229023654 | 1 + db/schema_migrations/20211230112517 | 1 + db/schema_migrations/20211230113031 | 1 + db/schema_migrations/20220104060049 | 1 + db/schema_migrations/20220104174445 | 1 + db/schema_migrations/20220105020514 | 1 + db/schema_migrations/20220105121325 | 1 + db/schema_migrations/20220106141756 | 1 + db/schema_migrations/20220106230629 | 1 + db/schema_migrations/20220106230712 | 1 + db/schema_migrations/20220106231518 | 1 + db/schema_migrations/20220106233459 | 1 + db/schema_migrations/20220106235626 | 1 + db/schema_migrations/20220107091629 | 1 + db/schema_migrations/20220107165036 | 1 + db/schema_migrations/20220109133006 | 1 + db/schema_migrations/20220109134455 | 1 + db/schema_migrations/20220110170953 | 1 + db/schema_migrations/20220110171049 | 1 + db/schema_migrations/20220110224913 | 1 + db/schema_migrations/20220110231420 | 1 + db/schema_migrations/20220110233155 | 1 + db/schema_migrations/20220111002756 | 1 + db/schema_migrations/20220111023852 | 1 + db/schema_migrations/20220111095006 | 1 + db/schema_migrations/20220111095007 | 1 + db/schema_migrations/20220111102314 | 1 + db/schema_migrations/20220111200254 | 1 + db/schema_migrations/20220111221516 | 1 + db/schema_migrations/20220112015940 | 1 + db/schema_migrations/20220112090556 | 1 + db/schema_migrations/20220112115413 | 1 + db/schema_migrations/20220112205111 | 1 + db/schema_migrations/20220112230642 | 1 + db/schema_migrations/20220112232037 | 1 + db/schema_migrations/20220112232605 | 1 + db/schema_migrations/20220112232723 | 1 + db/schema_migrations/20220113013319 | 1 + db/schema_migrations/20220113014438 | 1 + db/schema_migrations/20220113015830 | 1 + db/schema_migrations/20220113035519 | 1 + db/schema_migrations/20220113040447 | 1 + db/schema_migrations/20220113125401 | 1 + db/schema_migrations/20220114105525 | 1 + db/schema_migrations/20220114131950 | 1 + db/schema_migrations/20220116175851 | 1 + db/schema_migrations/20220117225936 | 1 + db/schema_migrations/20220118141950 | 1 + db/schema_migrations/20220118155846 | 1 + db/schema_migrations/20220118155847 | 1 + db/schema_migrations/20220118155848 | 1 + db/schema_migrations/20220119141736 | 1 + db/schema_migrations/20220203091304 | 1 + db/structure.sql | 508 ++-- doc/.vale/gitlab/ReadingLevel.yml | 12 +- doc/.vale/gitlab/SubstitutionWarning.yml | 1 + doc/.vale/gitlab/Uppercase.yml | 2 + doc/.vale/gitlab/spelling-exceptions.txt | 4 +- doc/.vale/vale.tmpl | 2 +- doc/administration/audit_event_streaming.md | 6 +- doc/administration/auth/atlassian.md | 2 +- doc/administration/auth/authentiq.md | 2 +- doc/administration/auth/cognito.md | 2 +- doc/administration/auth/crowd.md | 2 +- doc/administration/auth/index.md | 2 +- doc/administration/auth/jwt.md | 2 +- .../auth/ldap/google_secure_ldap.md | 2 +- doc/administration/auth/ldap/index.md | 17 +- .../auth/ldap/ldap-troubleshooting.md | 2 +- .../auth/ldap/ldap_synchronization.md | 2 +- doc/administration/auth/oidc.md | 2 +- doc/administration/auth/smartcard.md | 2 +- doc/administration/clusters/kas.md | 2 +- doc/administration/compliance.md | 129 +- doc/administration/configure.md | 2 +- doc/administration/docs_self_host.md | 131 ++ .../background_verification.md | 3 - .../geo/disaster_recovery/index.md | 25 +- doc/administration/geo/index.md | 6 +- .../geo/replication/configuration.md | 15 +- .../geo/replication/datatypes.md | 8 +- doc/administration/geo/replication/faq.md | 3 +- .../geo/replication/geo_validation_tests.md | 3 +- .../geo/replication/troubleshooting.md | 357 +-- doc/administration/geo/replication/usage.md | 4 +- .../replication/version_specific_updates.md | 8 - .../geo/setup/external_database.md | 3 +- doc/administration/get_started.md | 2 + doc/administration/git_protocol.md | 13 +- doc/administration/gitaly/configure_gitaly.md | 69 + doc/administration/gitaly/index.md | 22 +- doc/administration/gitaly/praefect.md | 42 +- .../img/instance_review_button.png | Bin 24525 -> 0 bytes .../img/instance_review_v14_7.png | Bin 0 -> 6594 bytes doc/administration/incoming_email.md | 38 +- doc/administration/index.md | 4 +- doc/administration/instance_limits.md | 17 +- doc/administration/instance_review.md | 34 +- doc/administration/job_artifacts.md | 3 +- doc/administration/job_logs.md | 4 +- doc/administration/logs.md | 88 +- doc/administration/maintenance_mode/index.md | 3 +- doc/administration/merge_request_diffs.md | 12 +- .../monitoring/github_imports.md | 2 - doc/administration/monitoring/ip_whitelist.md | 2 - .../monitoring/prometheus/gitlab_metrics.md | 10 +- .../monitoring/prometheus/index.md | 8 +- .../prometheus/pgbouncer_exporter.md | 2 - .../prometheus/registry_exporter.md | 2 - doc/administration/nfs.md | 2 + doc/administration/object_storage.md | 30 +- .../operations/cleaning_up_redis_sessions.md | 9 - .../operations/fast_ssh_key_lookup.md | 14 +- .../operations/moving_repositories.md | 50 +- .../operations/rails_console.md | 2 +- .../package_information/defaults.md | 77 +- .../package_information/deprecation_policy.md | 2 +- .../package_information/index.md | 2 +- .../postgresql_versions.md | 2 +- .../package_information/supported_os.md | 1 + .../packages/container_registry.md | 11 +- .../packages/dependency_proxy.md | 82 +- doc/administration/pages/index.md | 93 +- doc/administration/pages/source.md | 43 +- doc/administration/pseudonymizer.md | 7 +- doc/administration/raketasks/check.md | 85 +- doc/administration/raketasks/doctor.md | 89 +- doc/administration/raketasks/geo.md | 1 + doc/administration/raketasks/ldap.md | 2 +- doc/administration/raketasks/maintenance.md | 5 + .../redis/replication_and_failover.md | 6 + .../reference_architectures/10k_users.md | 21 +- .../reference_architectures/25k_users.md | 21 +- .../reference_architectures/2k_users.md | 19 +- .../reference_architectures/3k_users.md | 21 +- .../reference_architectures/50k_users.md | 21 +- .../reference_architectures/5k_users.md | 21 +- .../reference_architectures/index.md | 25 +- doc/administration/sidekiq.md | 40 +- doc/administration/sidekiq_health_check.md | 60 + doc/administration/terraform_state.md | 5 + doc/administration/troubleshooting/defcon.md | 2 +- .../gitlab_rails_cheat_sheet.md | 33 +- .../troubleshooting/group_saml_scim.md | 2 +- .../img/okta_setting_username.png | Bin 69815 -> 17785 bytes .../troubleshooting/kubernetes_cheat_sheet.md | 32 +- .../troubleshooting/postgresql.md | 40 + doc/administration/troubleshooting/sidekiq.md | 2 +- doc/administration/troubleshooting/ssl.md | 2 +- doc/administration/user_settings.md | 2 +- doc/api/access_requests.md | 2 +- doc/api/api_resources.md | 6 +- doc/api/appearance.md | 2 +- doc/api/applications.md | 2 +- doc/api/avatar.md | 2 +- doc/api/commits.md | 7 +- doc/api/container_registry.md | 5 +- doc/api/dependencies.md | 2 +- doc/api/deployments.md | 35 + doc/api/epics.md | 28 +- doc/api/geo_nodes.md | 12 +- doc/api/graphql/getting_started.md | 5 +- doc/api/graphql/index.md | 3 +- doc/api/graphql/reference/index.md | 515 ++++- doc/api/group_access_tokens.md | 112 + doc/api/group_badges.md | 2 +- doc/api/group_iterations.md | 1 + doc/api/group_protected_environments.md | 26 +- doc/api/groups.md | 12 +- doc/api/index.md | 13 +- doc/api/integrations.md | 16 +- doc/api/issues.md | 70 +- doc/api/issues_statistics.md | 1 + doc/api/job_artifacts.md | 32 +- doc/api/markdown.md | 5 +- doc/api/members.md | 17 +- doc/api/merge_requests.md | 159 +- doc/api/namespaces.md | 2 +- doc/api/oauth2.md | 16 +- doc/api/packages.md | 24 +- doc/api/packages/maven.md | 8 - doc/api/packages/npm.md | 6 - doc/api/packages/pypi.md | 2 - doc/api/pipelines.md | 2 +- doc/api/plan_limits.md | 2 +- doc/api/project_access_tokens.md | 112 + doc/api/project_badges.md | 5 +- doc/api/project_import_export.md | 7 +- doc/api/project_snippets.md | 5 +- doc/api/project_templates.md | 7 +- doc/api/projects.md | 12 +- doc/api/protected_branches.md | 18 +- doc/api/protected_environments.md | 18 +- doc/api/protected_tags.md | 5 +- doc/api/releases/index.md | 6 +- doc/api/releases/links.md | 4 +- doc/api/repository_submodules.md | 5 +- doc/api/resource_access_tokens.md | 113 +- doc/api/runners.md | 23 +- doc/api/scim.md | 2 +- doc/api/search.md | 6 +- doc/api/settings.md | 4 +- doc/api/snippets.md | 7 +- doc/api/statistics.md | 2 +- doc/api/tags.md | 8 +- doc/api/users.md | 10 +- doc/api/vulnerabilities.md | 184 +- doc/api/vulnerability_findings.md | 133 +- doc/api/wikis.md | 5 +- .../blueprints/ci_data_decay/index.md | 255 +++ .../pipeline_data_time_decay.png | Bin 0 -> 13687 bytes .../index.md | 2 +- .../blueprints/database_testing/index.md | 3 + .../gitlab-autoscaling-overview.png | Bin 0 -> 94088 bytes .../blueprints/runner_scaling/index.md | 239 ++ doc/ci/caching/index.md | 33 + .../bitbucket_integration.md | 3 +- .../img/ci_cd_for_external_repo.png | Bin 66760 -> 0 bytes doc/ci/ci_cd_for_external_repos/index.md | 4 - doc/ci/cloud_services/aws/index.md | 92 + doc/ci/cloud_services/index.md | 133 ++ doc/ci/docker/using_docker_build.md | 354 +-- doc/ci/docker/using_docker_images.md | 12 +- doc/ci/docker/using_kaniko.md | 2 +- doc/ci/environments/deployment_approvals.md | 114 + doc/ci/environments/deployment_safety.md | 4 + doc/ci/environments/index.md | 8 +- doc/ci/environments/protected_environments.md | 4 + .../index.md | 22 + .../end_to_end_testing_webdriverio/index.md | 2 - .../laravel_with_gitlab_and_envoy/index.md | 2 - doc/ci/git_submodules.md | 11 + doc/ci/index.md | 1 + doc/ci/interactive_web_terminal/index.md | 16 +- doc/ci/jobs/ci_job_token.md | 5 +- doc/ci/jobs/job_control.md | 43 +- doc/ci/pipeline_editor/index.md | 53 +- doc/ci/pipelines/cicd_minutes.md | 221 ++ .../img/group_cicd_minutes_quota.png} | Bin ...fork_v13_7.png => pipeline_fork_v13_7.png} | Bin doc/ci/pipelines/index.md | 109 +- doc/ci/pipelines/job_artifacts.md | 24 + doc/ci/pipelines/merge_request_pipelines.md | 287 ++- doc/ci/pipelines/merge_trains.md | 8 +- .../pipelines/pipelines_for_merged_results.md | 8 +- doc/ci/pipelines/settings.md | 19 +- doc/ci/review_apps/index.md | 2 +- doc/ci/runners/configure_runners.md | 3 +- doc/ci/runners/index.md | 6 +- doc/ci/runners/runners_scope.md | 6 +- doc/ci/runners/saas/windows_saas_runner.md | 2 +- doc/ci/test_cases/index.md | 4 - doc/ci/triggers/index.md | 14 +- doc/ci/variables/index.md | 81 +- doc/ci/variables/predefined_variables.md | 2 + .../variables/where_variables_can_be_used.md | 33 +- doc/ci/yaml/artifacts_reports.md | 10 +- doc/ci/yaml/index.md | 36 +- doc/ci/yaml/script.md | 6 +- doc/development/application_limits.md | 3 + doc/development/architecture.md | 4 +- .../avoiding_downtime_in_migrations.md | 97 +- doc/development/background_migrations.md | 99 +- doc/development/cascading_settings.md | 2 +- doc/development/cicd/index.md | 13 +- doc/development/code_review.md | 13 +- .../database/efficient_in_operator_queries.md | 81 + .../database/loose_foreign_keys.md | 33 +- doc/development/database_review.md | 12 + .../documentation/feature_flags.md | 3 +- doc/development/documentation/redirects.md | 1 - .../documentation/restful_api_styleguide.md | 2 + .../documentation/styleguide/index.md | 102 +- .../documentation/styleguide/word_list.md | 32 + doc/development/documentation/testing.md | 11 +- doc/development/ee_features.md | 28 +- doc/development/emails.md | 38 + doc/development/event_store.md | 292 +++ .../experiment_guide/experimentation.md | 403 +--- .../experiment_guide/gitlab_experiment.md | 2 + doc/development/experiment_guide/index.md | 5 +- doc/development/fe_guide/style/javascript.md | 18 - doc/development/fe_guide/vue3_migration.md | 26 +- doc/development/feature_flags/controls.md | 15 +- doc/development/feature_flags/index.md | 1 + doc/development/features_inside_dot_gitlab.md | 2 +- doc/development/geo.md | 128 +- doc/development/geo/framework.md | 8 +- doc/development/gitaly.md | 11 +- doc/development/import_project.md | 2 +- doc/development/index.md | 4 +- doc/development/integrations/jenkins.md | 4 +- doc/development/integrations/jira_connect.md | 3 - doc/development/integrations/secure.md | 78 +- doc/development/internal_api/index.md | 32 +- doc/development/licensing.md | 2 +- .../merge_request_performance_guidelines.md | 4 +- doc/development/migration_style_guide.md | 29 + doc/development/permissions.md | 4 +- doc/development/pipelines.md | 357 +-- doc/development/policies.md | 2 +- doc/development/profiling.md | 14 - doc/development/redis/new_redis_instance.md | 125 + doc/development/secure_coding_guidelines.md | 351 +++ doc/development/service_ping/index.md | 7 +- .../service_ping/metrics_instrumentation.md | 6 + .../performance_indicator_metrics.md | 17 + doc/development/sidekiq_style_guide.md | 19 +- doc/development/snowplow/dictionary.md | 4 - doc/development/snowplow/implementation.md | 1 + doc/development/snowplow/schemas.md | 4 +- .../testing_guide/best_practices.md | 5 + doc/development/testing_guide/ci.md | 9 - .../testing_guide/end_to_end/feature_flags.md | 26 + .../testing_guide/end_to_end/index.md | 29 + .../end_to_end/rspec_metadata_tests.md | 4 +- doc/development/testing_guide/review_apps.md | 15 +- doc/development/wikis.md | 3 - doc/gitlab-basics/command-line-commands.md | 5 +- doc/install/aws/gitlab_hybrid_on_aws.md | 6 +- doc/install/aws/index.md | 3 +- doc/install/aws/manual_install_aws.md | 3 +- doc/install/docker.md | 82 +- doc/install/next_steps.md | 6 +- doc/install/requirements.md | 15 +- doc/integration/bitbucket.md | 4 - doc/integration/datadog.md | 4 +- doc/integration/elasticsearch.md | 2 + doc/integration/jenkins.md | 207 +- doc/integration/kerberos.md | 21 +- doc/integration/mattermost/index.md | 3 +- doc/integration/oauth_provider.md | 2 +- doc/integration/omniauth.md | 12 +- doc/integration/openid_connect_provider.md | 29 +- doc/integration/saml.md | 8 +- doc/integration/sourcegraph.md | 45 +- doc/operations/error_tracking.md | 2 - doc/operations/feature_flags.md | 3 +- .../incident_management/incidents.md | 2 - doc/operations/index.md | 30 +- doc/operations/metrics/alerts.md | 5 +- doc/operations/metrics/dashboards/default.md | 8 +- doc/operations/metrics/dashboards/develop.md | 8 +- doc/operations/metrics/dashboards/index.md | 9 +- .../metrics/dashboards/panel_types.md | 8 +- doc/operations/metrics/dashboards/settings.md | 8 +- .../dashboards/templating_variables.md | 9 +- .../metrics/dashboards/variables.md | 8 +- doc/operations/metrics/dashboards/yaml.md | 8 +- doc/operations/tracing.md | 8 +- doc/policy/alpha-beta-support.md | 4 +- doc/push_rules/push_rules.md | 128 +- doc/raketasks/backup_restore.md | 245 +- doc/raketasks/index.md | 3 +- doc/security/asset_proxy.md | 2 +- doc/security/crime_vulnerability.md | 2 +- doc/security/img/unlock_user_v14_7.png | Bin 0 -> 31666 bytes doc/security/index.md | 2 +- doc/security/information_exclusivity.md | 2 +- doc/security/password_length_limits.md | 2 +- doc/security/password_storage.md | 2 +- ...s_for_integrated_authentication_methods.md | 2 +- ...import_decompressed_archive_size_limits.md | 2 +- doc/security/rack_attack.md | 9 - doc/security/rate_limits.md | 29 +- doc/security/reset_user_password.md | 8 +- doc/security/ssh_keys_restrictions.md | 2 +- doc/security/token_overview.md | 24 +- doc/security/two_factor_authentication.md | 6 +- doc/security/unlock_user.md | 20 +- doc/security/user_email_confirmation.md | 2 +- doc/security/user_file_uploads.md | 2 +- doc/security/webhooks.md | 5 +- doc/ssh/index.md | 20 +- doc/subscriptions/bronze_starter.md | 4 +- doc/subscriptions/gitlab_com/index.md | 173 +- .../img/quarterly_reconciliation.png | Bin 0 -> 7503 bytes doc/subscriptions/index.md | 11 +- doc/subscriptions/quarterly_reconciliation.md | 40 +- doc/subscriptions/self_managed/index.md | 22 +- doc/system_hooks/system_hooks.md | 2 +- doc/topics/authentication/index.md | 9 +- doc/topics/autodevops/customize.md | 66 +- doc/topics/autodevops/stages.md | 24 + doc/topics/build_your_application.md | 4 +- doc/topics/git/how_to_install_git/index.md | 111 +- doc/topics/git/lfs/index.md | 12 +- doc/topics/git/troubleshooting_git.md | 9 +- doc/topics/gitlab_flow.md | 10 +- doc/topics/release_your_application.md | 62 +- doc/topics/set_up_organization.md | 4 +- doc/topics/use_gitlab.md | 4 +- doc/tutorials/index.md | 123 + doc/update/deprecations.md | 792 +++++-- doc/update/index.md | 47 +- doc/update/plan_your_upgrade.md | 12 +- doc/update/removals.md | 390 ++++ .../admin_area/analytics/dev_ops_report.md | 2 +- doc/user/admin_area/appearance.md | 5 - doc/user/admin_area/credentials_inventory.md | 2 +- doc/user/admin_area/geo_nodes.md | 21 +- doc/user/admin_area/img/admin_labels.png | Bin 23063 -> 0 bytes .../admin_area/img/admin_labels_v14_7.png | Bin 0 -> 10804 bytes .../admin_area/img/license_upload_v13_12.png | Bin 39998 -> 0 bytes doc/user/admin_area/index.md | 6 +- doc/user/admin_area/labels.md | 9 +- doc/user/admin_area/license.md | 224 +- doc/user/admin_area/moderate_users.md | 14 +- .../monitoring/background_migrations.md | 2 + .../admin_area/monitoring/health_check.md | 29 +- .../monitoring/img/health_check_token.png | Bin 4863 -> 0 bytes doc/user/admin_area/review_abuse_reports.md | 2 +- .../settings/account_and_limit_settings.md | 27 +- .../settings/continuous_integration.md | 79 +- .../settings/external_authorization.md | 40 +- .../settings/img/admin_project_quota_view.png | Bin 2670 -> 0 bytes ...xternal_authorization_service_settings.png | Bin 74753 -> 0 bytes .../img/file_template_admin_area_v14_0.png | Bin 11252 -> 0 bytes doc/user/admin_area/settings/index.md | 5 +- .../settings/instance_template_repository.md | 10 +- .../settings/sign_in_restrictions.md | 8 +- .../admin_area/settings/third_party_offers.md | 15 +- .../visibility_and_access_controls.md | 3 + doc/user/analytics/ci_cd_analytics.md | 11 +- doc/user/analytics/code_review_analytics.md | 18 +- .../img/repository_analytics_v13_0.png | Bin 35278 -> 0 bytes doc/user/analytics/index.md | 4 +- doc/user/analytics/issue_analytics.md | 4 +- doc/user/analytics/repository_analytics.md | 40 +- doc/user/analytics/value_stream_analytics.md | 51 +- .../application_security/api_fuzzing/index.md | 40 +- .../cluster_image_scanning/index.md | 10 +- .../container_scanning/index.md | 6 +- .../coverage_fuzzing/index.md | 203 +- doc/user/application_security/dast/index.md | 40 +- .../application_security/dast_api/index.md | 40 +- .../dependency_scanning/index.md | 9 +- .../iac_scanning/index.md | 4 +- doc/user/application_security/index.md | 68 +- .../scan_execution_policy_yaml_mode_v14_3.png | Bin 23658 -> 0 bytes .../scan_execution_policy_yaml_mode_v14_7.png | Bin 0 -> 25442 bytes .../application_security/policies/index.md | 26 +- .../application_security/sast/analyzers.md | 3 +- doc/user/application_security/sast/index.md | 57 +- .../secret_detection/index.md | 52 +- .../img/group_security_dashboard_v13_3.png | Bin 29038 -> 0 bytes .../img/pipeline_security_dashboard_v14_4.png | Bin 44152 -> 0 bytes ...roject_security_dashboard_chart_v13_11.png | Bin 15914 -> 0 bytes .../img/security_center_settings_v13_4.png | Bin 23188 -> 0 bytes .../security_dashboard/index.md | 245 +- .../vulnerabilities/index.md | 4 +- .../vulnerability_report/index.md | 2 +- doc/user/clusters/agent/ci_cd_tunnel.md | 7 +- doc/user/clusters/agent/index.md | 27 +- doc/user/clusters/agent/install/index.md | 264 +-- doc/user/clusters/agent/repository.md | 3 - doc/user/clusters/applications.md | 6 +- doc/user/compliance/index.md | 15 +- .../compliance/license_compliance/index.md | 13 +- doc/user/crm/index.md | 31 +- doc/user/gitlab_com/index.md | 37 +- doc/user/group/epics/epic_boards.md | 4 - .../group/epics/img/epics_search_v13_11.png | Bin 23566 -> 0 bytes .../group/epics/img/epics_search_v14_7.png | Bin 0 -> 40250 bytes doc/user/group/epics/img/epics_sort.png | Bin 71177 -> 0 bytes doc/user/group/epics/img/epics_sort_14_7.png | Bin 0 -> 88364 bytes doc/user/group/epics/index.md | 4 - doc/user/group/epics/manage_epics.md | 10 +- .../group_code_coverage_analytics_v13_9.png | Bin 29915 -> 0 bytes doc/user/group/index.md | 112 +- doc/user/group/issues_analytics/index.md | 9 +- .../group/repositories_analytics/index.md | 8 +- .../group/saml_sso/group_managed_accounts.md | 4 +- doc/user/group/saml_sso/index.md | 30 +- doc/user/group/saml_sso/scim_setup.md | 5 +- .../group/settings/group_access_tokens.md | 147 ++ doc/user/group/subgroups/index.md | 4 +- .../img/vsa_stage_table_v13_12.png | Bin 81442 -> 0 bytes .../img/vsa_stage_table_v14_7.png | Bin 0 -> 242008 bytes .../group/value_stream_analytics/index.md | 52 +- .../management_project_applications/cilium.md | 2 +- .../clusters/migrate_to_gitlab_agent.md | 88 + doc/user/infrastructure/iac/index.md | 26 +- doc/user/markdown.md | 56 +- doc/user/operations_dashboard/index.md | 3 - doc/user/packages/container_registry/index.md | 333 +-- .../reduce_container_registry_storage.md | 272 +++ doc/user/packages/debian_repository/index.md | 2 +- doc/user/packages/dependency_proxy/index.md | 18 +- doc/user/packages/generic_packages/index.md | 7 +- doc/user/packages/helm_repository/index.md | 2 +- doc/user/packages/maven_repository/index.md | 9 +- doc/user/packages/npm_registry/index.md | 5 +- doc/user/packages/package_registry/index.md | 19 + .../terraform_module_registry/index.md | 2 +- doc/user/permissions.md | 328 +-- doc/user/profile/account/create_accounts.md | 2 +- doc/user/profile/account/delete_account.md | 2 +- .../account/two_factor_authentication.md | 439 ++-- doc/user/profile/index.md | 2 +- doc/user/profile/personal_access_tokens.md | 6 +- .../profile/unknown_sign_in_notification.md | 2 +- doc/user/project/badges.md | 7 +- doc/user/project/clusters/serverless/aws.md | 2 + doc/user/project/code_owners.md | 34 +- doc/user/project/deploy_keys/index.md | 2 +- doc/user/project/deploy_tokens/index.md | 10 +- doc/user/project/description_templates.md | 167 +- doc/user/project/file_lock.md | 3 - .../project/img/description_templates.png | Bin 7903 -> 0 bytes .../img/description_templates_v14_7.png | Bin 0 -> 13186 bytes doc/user/project/import/bitbucket_server.md | 1 + doc/user/project/import/github.md | 9 +- doc/user/project/import/index.md | 11 +- doc/user/project/index.md | 9 +- doc/user/project/insights/index.md | 4 +- .../integrations/discord_notifications.md | 12 +- doc/user/project/integrations/github.md | 5 +- .../integrations/gitlab_slack_application.md | 3 - .../project/integrations/hangouts_chat.md | 2 - doc/user/project/integrations/overview.md | 2 +- .../integrations/pipeline_status_emails.md | 23 + doc/user/project/integrations/prometheus.md | 12 +- .../prometheus_library/cloudwatch.md | 8 +- .../prometheus_library/haproxy.md | 8 +- .../integrations/prometheus_library/index.md | 8 +- .../prometheus_library/kubernetes.md | 10 +- .../integrations/prometheus_library/nginx.md | 8 +- .../prometheus_library/nginx_ingress.md | 8 +- .../prometheus_library/nginx_ingress_vts.md | 8 +- doc/user/project/integrations/slack.md | 28 +- doc/user/project/integrations/webhooks.md | 15 +- doc/user/project/issues/img/issue_board.png | Bin 85331 -> 0 bytes doc/user/project/issues/managing_issues.md | 5 +- doc/user/project/labels.md | 7 +- doc/user/project/members/index.md | 4 +- .../members/share_project_with_groups.md | 2 +- .../merge_requests/accessibility_testing.md | 80 +- .../merge_requests/allow_collaboration.md | 113 +- .../project/merge_requests/approvals/rules.md | 6 +- .../merge_requests/approvals/settings.md | 9 +- .../browser_performance_testing.md | 2 +- .../project/merge_requests/code_quality.md | 14 +- .../merge_requests/commit_templates.md | 9 +- .../merge_requests/creating_merge_requests.md | 9 +- .../merge_requests/fail_fast_testing.md | 2 +- .../merge_requests/fast_forward_merge.md | 12 +- .../project/merge_requests/getting_started.md | 6 +- .../img/commit-button_v13_12.png | Bin 8834 -> 0 bytes .../merge_requests/img/ff_merge_rebase.png | Bin 26945 -> 0 bytes .../img/ff_merge_rebase_v14_7.png | Bin 0 -> 13865 bytes .../merge_requests/img/squash_edit_form.png | Bin 4231 -> 0 bytes .../merge_requests/img/squash_mr_commits.png | Bin 31491 -> 0 bytes .../merge_requests/img/squash_mr_message.png | Bin 37675 -> 0 bytes .../merge_requests/img/squash_mr_widget.png | Bin 3573 -> 0 bytes .../img/squash_squashed_commit.png | Bin 16725 -> 0 bytes .../load_performance_testing.md | 2 +- .../project/merge_requests/revert_changes.md | 6 - ...ggestions_custom_commit_messages_v13_1.jpg | Bin 35055 -> 0 bytes ...ggestions_custom_commit_messages_v14_7.png | Bin 0 -> 14774 bytes .../merge_requests/reviews/suggestions.md | 2 +- .../merge_requests/squash_and_merge.md | 152 +- doc/user/project/merge_requests/versions.md | 2 - .../pages_new_project_template.md | 3 - doc/user/project/pages/img/icons/lock.png | Bin 3404 -> 0 bytes doc/user/project/pages/introduction.md | 2 - .../project/pages/pages_access_control.md | 4 +- doc/user/project/protected_branches.md | 5 +- doc/user/project/protected_tags.md | 5 +- doc/user/project/push_options.md | 5 +- doc/user/project/quick_actions.md | 142 +- .../releases/img/feature_count_v14_6.png | Bin 24569 -> 6846 bytes doc/user/project/releases/index.md | 10 +- .../repository/gpg_signed_commits/index.md | 6 +- doc/user/project/repository/index.md | 6 +- .../repository/jupyter_notebooks/index.md | 4 +- doc/user/project/repository/mirror/index.md | 2 +- doc/user/project/repository/mirror/push.md | 2 +- .../reducing_the_repo_size_using_git.md | 3 +- doc/user/project/repository/web_editor.md | 3 - doc/user/project/requirements/index.md | 4 - doc/user/project/service_desk.md | 15 +- .../img/import_export_download_export.png | Bin 23285 -> 0 bytes .../img/import_export_export_button.png | Bin 31790 -> 0 bytes .../settings/img/import_export_mail_link.png | Bin 6307 -> 0 bytes .../img/import_export_new_project.png | Bin 8011 -> 0 bytes .../img/import_export_select_file.png | Bin 11254 -> 0 bytes doc/user/project/settings/import_export.md | 334 +-- doc/user/project/settings/index.md | 21 +- .../project/settings/project_access_tokens.md | 93 +- doc/user/project/time_tracking.md | 9 + doc/user/project/web_ide/index.md | 48 +- doc/user/project/wiki/index.md | 15 +- doc/user/project/working_with_projects.md | 4 +- doc/user/search/advanced_search.md | 4 - doc/user/search/img/code_search.png | Bin 0 -> 113383 bytes doc/user/search/img/project_code_search.png | Bin 24924 -> 0 bytes doc/user/search/index.md | 12 +- lib/api/api.rb | 1 + lib/api/ci/helpers/runner.rb | 8 - lib/api/ci/job_artifacts.rb | 11 + lib/api/ci/runner.rb | 20 +- lib/api/ci/runners.rb | 7 +- lib/api/ci/triggers.rb | 2 +- lib/api/debian_project_packages.rb | 1 - lib/api/deployments.rb | 2 + lib/api/entities/group_detail.rb | 2 +- lib/api/entities/issue_basic.rb | 2 +- lib/api/entities/merge_request_basic.rb | 4 + lib/api/entities/project.rb | 3 + lib/api/entities/project_with_access.rb | 2 +- lib/api/entities/resource_access_token.rb | 2 +- lib/api/helpers/integrations_helpers.rb | 16 +- lib/api/helpers/members_helpers.rb | 2 +- lib/api/helpers/packages/conan/api_helpers.rb | 1 + lib/api/helpers/projects_helpers.rb | 2 + lib/api/helpers/rate_limiter.rb | 5 + lib/api/integrations.rb | 9 +- lib/api/internal/base.rb | 4 + lib/api/internal/kubernetes.rb | 2 +- lib/api/internal/mail_room.rb | 51 + lib/api/issues.rb | 4 +- lib/api/package_files.rb | 23 +- lib/api/project_container_repositories.rb | 1 - lib/api/project_packages.rb | 6 +- lib/api/projects.rb | 1 + lib/api/resource_access_tokens.rb | 10 +- lib/api/rubygem_packages.rb | 9 +- lib/api/search.rb | 14 +- lib/api/terraform/modules/v1/packages.rb | 6 +- lib/api/users.rb | 8 +- lib/api/v3/github.rb | 8 +- lib/backup.rb | 13 - lib/backup/database.rb | 2 +- lib/backup/files.rb | 8 +- lib/backup/gitaly_backup.rb | 47 +- lib/backup/gitaly_rpc_backup.rb | 2 +- lib/backup/manager.rb | 2 +- lib/backup/packages.rb | 13 + lib/backup/repositories.rb | 4 +- lib/backup/terraform_state.rb | 13 + lib/banzai/filter/base_sanitization_filter.rb | 2 +- lib/banzai/filter/footnote_filter.rb | 62 +- .../filter/markdown_engines/common_mark.rb | 36 +- .../filter/markdown_post_escape_filter.rb | 18 +- lib/banzai/filter/plantuml_filter.rb | 7 +- .../references/abstract_reference_filter.rb | 2 + lib/banzai/filter/sanitization_filter.rb | 19 +- lib/banzai/filter/syntax_highlight_filter.rb | 14 +- .../reference_parser/merge_request_parser.rb | 2 - lib/banzai/renderer/common_mark/html.rb | 21 - .../common/extractors/ndjson_extractor.rb | 34 +- .../common/pipelines/uploads_pipeline.rb | 14 +- lib/bulk_imports/ndjson_pipeline.rb | 2 +- .../pipelines/project_attributes_pipeline.rb | 31 +- lib/feature.rb | 9 + lib/gitlab.rb | 50 +- lib/gitlab/anonymous_session.rb | 8 +- lib/gitlab/application_rate_limiter.rb | 10 +- .../html_pipeline_adapter.rb | 6 +- lib/gitlab/auth.rb | 12 +- lib/gitlab/auth/auth_finders.rb | 2 +- lib/gitlab/auth/ldap/config.rb | 3 +- lib/gitlab/auth/o_auth/user.rb | 4 +- .../backfill_ci_namespace_mirrors.rb | 77 + .../backfill_ci_project_mirrors.rb | 52 + ...fill_incident_issue_escalation_statuses.rb | 32 + lib/gitlab/background_migration/base_job.rb | 23 + .../cleanup_concurrent_rename.rb | 14 - .../cleanup_concurrent_schema_change.rb | 56 - .../cleanup_concurrent_type_change.rb | 14 - .../background_migration/copy_column.rb | 41 - .../encrypt_static_object_token.rb | 70 + ...occurrences_with_hashes_as_raw_metadata.rb | 124 + .../background_migration/job_coordinator.rb | 14 +- .../migrate_legacy_artifacts.rb | 130 -- .../populate_test_reports_issue_id.rb | 14 + ...culate_vulnerabilities_occurrences_uuid.rb | 148 +- .../remove_duplicate_services.rb | 58 - lib/gitlab/checks/changes_access.rb | 35 +- lib/gitlab/ci/build/policy/refs.rb | 5 +- lib/gitlab/ci/build/status/reason.rb | 37 + lib/gitlab/ci/config.rb | 2 +- lib/gitlab/ci/config/entry/root.rb | 8 +- lib/gitlab/ci/jwt_v2.rb | 17 + lib/gitlab/ci/pipeline/chain/create.rb | 52 +- .../ci/pipeline/chain/create_deployments.rb | 15 +- lib/gitlab/ci/pipeline/chain/seed.rb | 9 +- lib/gitlab/ci/pipeline/logger.rb | 36 +- lib/gitlab/ci/pipeline/seed/build.rb | 16 +- lib/gitlab/ci/pipeline/seed/context.rb | 11 +- lib/gitlab/ci/queue/metrics.rb | 37 +- lib/gitlab/ci/status/build/factory.rb | 3 +- .../ci/status/build/waiting_for_approval.rb | 24 + lib/gitlab/ci/tags/bulk_insert.rb | 20 +- .../templates/Jobs/Code-Quality.gitlab-ci.yml | 2 +- .../Jobs/Secret-Detection.gitlab-ci.yml | 16 +- lib/gitlab/ci/templates/Ruby.gitlab-ci.yml | 2 +- .../Security/Coverage-Fuzzing.gitlab-ci.yml | 1 + .../DAST-On-Demand-API-Scan.gitlab-ci.yml | 27 + .../templates/Terraform.latest.gitlab-ci.yml | 2 + lib/gitlab/ci/trace/remote_checksum.rb | 1 - lib/gitlab/ci/trace/stream.rb | 5 +- lib/gitlab/ci/variables/builder.rb | 64 + lib/gitlab/ci/yaml_processor.rb | 8 + lib/gitlab/color_schemes.rb | 28 +- lib/gitlab/config/entry/configurable.rb | 3 +- lib/gitlab/config/entry/factory.rb | 5 + lib/gitlab/config/entry/node.rb | 20 +- .../content_security_policy/config_loader.rb | 2 +- lib/gitlab/data_builder/archive_trace.rb | 19 + lib/gitlab/data_builder/deployment.rb | 3 +- .../background_migration/batched_job.rb | 18 +- .../background_migration/batched_migration.rb | 2 +- .../database/background_migration_job.rb | 2 +- lib/gitlab/database/batch_counter.rb | 29 +- .../database/gitlab_loose_foreign_keys.yml | 93 +- lib/gitlab/database/gitlab_schemas.yml | 12 +- lib/gitlab/database/grant.rb | 2 +- lib/gitlab/database/load_balancing/setup.rb | 4 +- .../loose_index_scan_distinct_count.rb | 102 - lib/gitlab/database/migration_helpers.rb | 180 -- .../background_migration_helpers.rb | 70 +- .../partitioning/partition_manager.rb | 4 + .../partitioning/sliding_list_strategy.rb | 28 +- .../backfill_partitioned_table.rb | 20 +- .../table_management_helpers.rb | 3 +- lib/gitlab/database/reflection.rb | 29 + lib/gitlab/database/reindexing.rb | 15 +- lib/gitlab/database/reindexing/coordinator.rb | 19 + .../work_items/base_type_importer.rb | 4 +- lib/gitlab/email.rb | 1 + lib/gitlab/email/failure_handler.rb | 46 + .../processor/sidekiq_processor.rb | 2 + lib/gitlab/event_store.rb | 42 + lib/gitlab/event_store/event.rb | 54 + lib/gitlab/event_store/store.rb | 54 + lib/gitlab/event_store/subscriber.rb | 36 + lib/gitlab/event_store/subscription.rb | 37 + lib/gitlab/exceptions_app.rb | 43 + lib/gitlab/experimentation.rb | 8 - lib/gitlab/gitaly_client.rb | 3 +- .../importer/pull_requests_importer.rb | 2 +- lib/gitlab/gon_helper.rb | 1 + lib/gitlab/gpg/commit.rb | 2 +- lib/gitlab/http.rb | 3 +- lib/gitlab/i18n.rb | 22 +- lib/gitlab/import/set_async_jid.rb | 2 +- .../import_export/base/relation_factory.rb | 2 +- .../group/relation_tree_restorer.rb | 10 +- .../import_export/project/import_export.yml | 2 + .../import_export/project/object_builder.rb | 2 +- lib/gitlab/jwt_authenticatable.rb | 36 +- lib/gitlab/kas.rb | 2 +- lib/gitlab/lfs/client.rb | 81 +- lib/gitlab/logger.rb | 6 +- lib/gitlab/mail_room.rb | 16 +- lib/gitlab/mail_room/authenticator.rb | 50 + .../commit_message_generator.rb | 72 +- lib/gitlab/metrics/exporter/base_exporter.rb | 45 +- .../metrics/exporter/gc_request_middleware.rb | 19 + .../exporter/health_checks_middleware.rb | 35 + .../metrics/exporter/metrics_middleware.rb | 41 + .../metrics/exporter/sidekiq_exporter.rb | 11 +- lib/gitlab/metrics/exporter/web_exporter.rb | 8 +- .../metrics/samplers/action_cable_sampler.rb | 4 +- lib/gitlab/metrics/samplers/base_sampler.rb | 14 +- lib/gitlab/metrics/samplers/ruby_sampler.rb | 4 +- lib/gitlab/middleware/multipart.rb | 4 +- .../middleware/webhook_recursion_detection.rb | 19 + lib/gitlab/pages.rb | 2 +- .../keyset/column_order_definition.rb | 25 +- .../in_operator_optimization/column_data.rb | 19 +- .../order_by_column_data.rb | 37 + .../order_by_columns.rb | 6 +- .../in_operator_optimization/query_builder.rb | 4 +- .../order_values_loader_strategy.rb | 15 +- .../strategies/record_loader_strategy.rb | 16 + .../keyset/sql_type_missing_error.rb | 19 + lib/gitlab/password.rb | 14 + lib/gitlab/redis/multi_store.rb | 229 -- lib/gitlab/redis/sessions.rb | 36 +- lib/gitlab/redis/sessions_store_helper.rb | 27 - lib/gitlab/regex.rb | 26 +- lib/gitlab/repository_archive_rate_limiter.rb | 2 +- lib/gitlab/search/params.rb | 11 +- lib/gitlab/sherlock.rb | 21 - lib/gitlab/sherlock/collection.rb | 51 - lib/gitlab/sherlock/file_sample.rb | 33 - lib/gitlab/sherlock/line_profiler.rb | 100 - lib/gitlab/sherlock/line_sample.rb | 38 - lib/gitlab/sherlock/location.rb | 28 - lib/gitlab/sherlock/middleware.rb | 43 - lib/gitlab/sherlock/query.rb | 112 - lib/gitlab/sherlock/transaction.rb | 140 -- lib/gitlab/sidekiq_logging/json_formatter.rb | 1 + .../sidekiq_logging/structured_logger.rb | 2 + lib/gitlab/sidekiq_middleware/monitor.rb | 2 + lib/gitlab/sidekiq_status.rb | 22 +- .../sidekiq_status/client_middleware.rb | 4 +- lib/gitlab/sourcegraph.rb | 7 +- lib/gitlab/ssh_public_key.rb | 26 +- lib/gitlab/themes.rb | 40 +- lib/gitlab/tracking/standard_context.rb | 5 +- lib/gitlab/untrusted_regexp/ruby_syntax.rb | 16 +- lib/gitlab/usage_data.rb | 33 +- .../counter_events/package_events.yml | 7 - .../usage_data_counters/hll_redis_counter.rb | 2 +- .../known_events/ci_templates.yml | 8 + .../known_events/common.yml | 10 + .../known_events/package_events.yml | 32 - .../known_events/quickactions.yml | 8 + lib/gitlab/utils/sanitize_node_link.rb | 6 + lib/gitlab/utils/usage_data.rb | 12 +- lib/gitlab/web_hooks.rb | 7 + lib/gitlab/web_hooks/recursion_detection.rb | 94 + .../web_hooks/recursion_detection/uuid.rb | 46 + lib/gitlab/workhorse.rb | 6 +- lib/gitlab_edition.rb | 50 + lib/sidebars/groups/menus/ci_cd_menu.rb | 4 +- lib/sidebars/groups/menus/settings_menu.rb | 14 + .../projects/menus/infrastructure_menu.rb | 2 +- lib/sidebars/projects/menus/issues_menu.rb | 6 +- lib/tasks/gitlab/backup.rake | 109 +- lib/tasks/gitlab/cleanup.rake | 4 +- lib/tasks/gitlab/db.rake | 2 +- .../gitlab/docs/compile_deprecations.rake | 39 +- lib/tasks/gitlab/docs/redirect.rake | 2 +- lib/tasks/gitlab/gitaly.rake | 38 - lib/tasks/gitlab/seed/group_seed.rake | 2 +- lib/version_check.rb | 8 - locale/am_ET/gitlab.po | 1124 +++++++-- locale/ar_SA/gitlab.po | 1136 +++++++-- locale/as_IN/gitlab.po | 1124 +++++++-- locale/az_AZ/gitlab.po | 1124 +++++++-- locale/ba_RU/gitlab.po | 1121 +++++++-- locale/bg/gitlab.po | 1126 +++++++-- locale/bn_BD/gitlab.po | 1124 +++++++-- locale/bn_IN/gitlab.po | 1124 +++++++-- locale/br_FR/gitlab.po | 1133 +++++++-- locale/bs_BA/gitlab.po | 1127 +++++++-- locale/ca_ES/gitlab.po | 1124 +++++++-- locale/cs_CZ/gitlab.po | 1130 +++++++-- locale/cy_GB/gitlab.po | 1136 +++++++-- locale/da_DK/gitlab.po | 1138 +++++++-- locale/de/gitlab.po | 1196 ++++++++-- locale/el_GR/gitlab.po | 1124 +++++++-- locale/eo/gitlab.po | 1126 +++++++-- locale/es/gitlab.po | 1546 +++++++++---- locale/et_EE/gitlab.po | 1124 +++++++-- locale/fa_IR/gitlab.po | 1124 +++++++-- locale/fi_FI/gitlab.po | 1124 +++++++-- locale/fil_PH/gitlab.po | 1124 +++++++-- locale/fr/gitlab.po | 1128 +++++++-- locale/gitlab.pot | 1342 +++++++---- locale/gl_ES/gitlab.po | 1124 +++++++-- locale/he_IL/gitlab.po | 1130 +++++++-- locale/hi_IN/gitlab.po | 1124 +++++++-- locale/hr_HR/gitlab.po | 1127 +++++++-- locale/hu_HU/gitlab.po | 1124 +++++++-- locale/hy_AM/gitlab.po | 1124 +++++++-- locale/id_ID/gitlab.po | 1121 +++++++-- locale/ig_NG/gitlab.po | 1121 +++++++-- locale/is_IS/gitlab.po | 1124 +++++++-- locale/it/gitlab.po | 1126 +++++++-- locale/ja/gitlab.po | 1699 ++++++++++---- locale/ka_GE/gitlab.po | 1124 +++++++-- locale/kab/gitlab.po | 1124 +++++++-- locale/ko/gitlab.po | 1833 ++++++++++----- locale/ku_TR/gitlab.po | 1124 +++++++-- locale/ky_KG/gitlab.po | 1124 +++++++-- locale/lt_LT/gitlab.po | 1130 +++++++-- locale/mk_MK/gitlab.po | 1124 +++++++-- locale/mn_MN/gitlab.po | 1124 +++++++-- locale/nb_NO/gitlab.po | 1134 +++++++-- locale/nl_NL/gitlab.po | 1124 +++++++-- locale/pa_IN/gitlab.po | 1124 +++++++-- locale/pl_PL/gitlab.po | 1132 +++++++-- locale/pt_BR/gitlab.po | 1640 +++++++++---- locale/pt_PT/gitlab.po | 1124 +++++++-- locale/ro_RO/gitlab.po | 1141 +++++++-- locale/ru/gitlab.po | 1594 +++++++++---- locale/si_LK/gitlab.po | 1124 +++++++-- locale/sk_SK/gitlab.po | 1130 +++++++-- locale/sl_SI/gitlab.po | 1130 +++++++-- locale/sq_AL/gitlab.po | 1124 +++++++-- locale/sr_CS/gitlab.po | 1127 +++++++-- locale/sr_SP/gitlab.po | 1127 +++++++-- locale/sv_SE/gitlab.po | 1124 +++++++-- locale/sw_KE/gitlab.po | 1124 +++++++-- locale/ta_IN/gitlab.po | 1124 +++++++-- locale/tr_TR/gitlab.po | 1124 +++++++-- locale/uk/gitlab.po | 1496 +++++++++--- locale/ur_PK/gitlab.po | 1124 +++++++-- locale/uz_UZ/gitlab.po | 1124 +++++++-- locale/vi_VN/gitlab.po | 1121 +++++++-- locale/zh_CN/gitlab.po | 2039 +++++++++++------ locale/zh_HK/gitlab.po | 1123 +++++++-- locale/zh_TW/gitlab.po | 1121 +++++++-- metrics_server/dependencies.rb | 7 + metrics_server/metrics_server.rb | 10 +- .../override_gitlab_current_settings.rb | 21 + metrics_server/settings_overrides.rb | 5 + package.json | 64 +- public/500.html | 1 + qa/.confiner/quarantine.yml | 15 + qa/Dockerfile | 2 +- qa/Gemfile | 4 +- qa/Gemfile.lock | 32 +- qa/Rakefile | 14 +- qa/knapsack/.gitignore | 4 + qa/knapsack/gcs/.gitignore | 3 - qa/knapsack/master_report.json | 404 ++-- qa/lib/gitlab/page/main/welcome.rb | 13 - qa/lib/gitlab/page/main/welcome.stub.rb | 33 - qa/qa.rb | 2 +- .../metrics_dashboards/templating.yml | 2 +- qa/qa/flow/login.rb | 5 +- qa/qa/flow/sign_up.rb | 5 +- qa/qa/flow/user_onboarding.rb | 19 + qa/qa/page/base.rb | 4 + qa/qa/page/component/confirm_modal.rb | 6 - qa/qa/page/component/invite_members_modal.rb | 44 +- qa/qa/page/dashboard/welcome.rb | 4 + qa/qa/page/file/show.rb | 20 +- qa/qa/page/main/login.rb | 5 + qa/qa/page/project/branches/show.rb | 1 - qa/qa/page/project/members.rb | 5 + qa/qa/page/project/new.rb | 1 - qa/qa/page/project/packages/show.rb | 2 +- qa/qa/page/project/pipeline_editor/show.rb | 83 + .../page/project/secure/configuration_form.rb | 46 + .../visibility_features_permissions.rb | 7 +- qa/qa/page/registration/sign_up.rb | 4 - qa/qa/page/registration/welcome.rb | 23 +- qa/qa/page/trials/new.rb | 18 +- qa/qa/resource/api_fabricator.rb | 6 + qa/qa/resource/base.rb | 75 +- qa/qa/resource/bulk_import_group.rb | 19 +- qa/qa/resource/group_badge.rb | 17 +- qa/qa/resource/group_base.rb | 12 +- qa/qa/resource/group_milestone.rb | 17 +- qa/qa/resource/issue.rb | 22 +- qa/qa/resource/label_base.rb | 17 +- qa/qa/resource/merge_request.rb | 71 +- qa/qa/resource/project.rb | 69 +- qa/qa/resource/repository/commit.rb | 99 +- qa/qa/resource/reusable_group.rb | 54 + qa/qa/resource/reusable_project.rb | 6 + qa/qa/resource/user.rb | 15 + qa/qa/runtime/env.rb | 26 +- qa/qa/scenario/bootable.rb | 7 + qa/qa/scenario/shared_attributes.rb | 1 + qa/qa/scenario/template.rb | 8 +- qa/qa/service/praefect_manager.rb | 163 +- .../gitlab_migration_group_spec.rb} | 22 +- .../migration/gitlab_migration_issue_spec.rb | 55 + .../migration/gitlab_migration_mr_spec.rb | 71 + .../gitlab_migration_project_spec.rb | 94 + .../gitlab_project_migration_common.rb | 85 + .../1_manage/user_access_termination_spec.rb | 6 +- .../automatic_failover_and_recovery_spec.rb | 1 - .../gitaly/praefect_connectivity_spec.rb | 41 + .../gitaly/praefect_repo_sync_spec.rb | 14 +- ...spec.rb => gitlab_migration_group_spec.rb} | 7 +- .../1_manage/login/register_spec.rb | 12 +- .../project/add_project_member_spec.rb | 6 +- .../1_manage/project/create_project_spec.rb | 3 +- .../project/invite_group_to_project_spec.rb | 88 + .../project/project_access_token_spec.rb | 2 +- .../user/follow_user_activity_spec.rb | 2 +- .../merge_merge_request_from_fork_spec.rb | 6 +- .../view_merge_request_merge_ref_diff_spec.rb | 90 - .../add_list_delete_branches_spec.rb | 2 - .../3_create/wiki/content_editor_spec.rb | 2 +- .../pipeline/pipeline_editor_lint_spec.rb | 95 + ...pdate_ci_file_with_pipeline_editor_spec.rb | 73 + .../online_garbage_collection_spec.rb | 5 +- .../npm/npm_instance_level_spec.rb | 2 +- .../npm/npm_project_level_spec.rb | 2 +- ...pipelines_independent_relationship_spec.rb | 2 +- .../features/browser_ui/8_monitor/.gitkeep | 0 .../all_monitor_core_features_spec.rb | 142 -- .../8_monitor/cluster_with_prometheus.rb | 67 - qa/qa/specs/helpers/quarantine.rb | 25 +- qa/qa/specs/runner.rb | 14 +- .../formatters/quarantine_formatter.rb | 10 +- .../formatters/test_stats_formatter.rb | 7 +- qa/qa/support/matchers/eventually_matcher.rb | 60 +- qa/qa/support/matchers/have_matcher.rb | 3 + qa/qa/support/page_error_checker.rb | 62 + qa/qa/support/wait_for_requests.rb | 7 +- qa/qa/tools/delete_projects.rb | 2 - qa/qa/tools/delete_subgroups.rb | 2 - qa/qa/tools/delete_test_resources.rb | 85 + qa/qa/tools/delete_test_ssh_keys.rb | 2 - qa/qa/tools/generate_perf_testdata.rb | 2 +- qa/qa/tools/initialize_gitlab_auth.rb | 2 - qa/qa/tools/knapsack_report.rb | 118 +- qa/qa/tools/long_running_spec_reporter.rb | 97 + qa/qa/tools/reliable_report.rb | 114 +- .../revoke_all_personal_access_tokens.rb | 2 +- qa/qa/tools/test_resource_data_processor.rb | 66 + qa/spec/page/logging_spec.rb | 1 + qa/spec/resource/base_spec.rb | 13 + qa/spec/runtime/env_spec.rb | 100 +- .../scenario/test/integration/github_spec.rb | 2 +- qa/spec/spec_helper.rb | 23 +- qa/spec/specs/runner_spec.rb | 26 +- .../formatters/test_stats_formatter_spec.rb | 9 +- qa/spec/support/page_error_checker_spec.rb | 217 ++ qa/spec/support/wait_for_requests_spec.rb | 16 + .../tools/long_running_spec_reporter_spec.rb | 69 + qa/spec/tools/reliable_report_spec.rb | 62 +- .../test_resources_data_processor_spec.rb | 33 + qa/tasks/knapsack.rake | 11 +- qa/tasks/reliable_report.rake | 2 - rubocop/code_reuse_helpers.rb | 16 +- rubocop/cop/database/establish_connection.rb | 20 + ...ck_retries_with_disable_ddl_transaction.rb | 41 + rubocop/cop/migration/schedule_async.rb | 27 +- scripts/gitaly-test-build | 2 - scripts/gitaly-test-spawn | 14 +- scripts/insert-rspec-profiling-data | 2 +- scripts/lint-doc.sh | 2 +- scripts/setup/find-jh-branch.rb | 102 + scripts/undercoverage | 2 +- scripts/used-feature-flags | 6 +- scripts/utils.sh | 2 +- shared/packages/.gitkeep | 0 shared/terraform_state/.gitkeep | 0 sidekiq_cluster/cli.rb | 12 +- .../metrics_server/metrics_server_spec.rb | 6 +- spec/commands/sidekiq_cluster/cli_spec.rb | 126 +- .../inject_enterprise_edition_module_spec.rb | 2 +- spec/config/mail_room_spec.rb | 3 +- .../application_settings_controller_spec.rb | 1 + .../admin/instance_review_controller_spec.rb | 1 + .../admin/runner_projects_controller_spec.rb | 59 + .../admin/runners_controller_spec.rb | 38 +- .../admin/users_controller_spec.rb | 35 +- .../autocomplete_controller_spec.rb | 12 + .../concerns/check_rate_limit_spec.rb | 85 + .../groups/boards_controller_spec.rb | 18 - ...cy_proxy_for_containers_controller_spec.rb | 82 - .../groups/packages_controller_spec.rb | 27 + .../import/gitlab_controller_spec.rb | 17 +- .../omniauth_callbacks_controller_spec.rb | 2 +- .../oauth/token_info_controller_spec.rb | 24 +- .../profiles/emails_controller_spec.rb | 2 +- spec/controllers/profiles_controller_spec.rb | 28 +- .../projects/boards_controller_spec.rb | 18 - .../projects/mattermosts_controller_spec.rb | 4 +- .../merge_requests/diffs_controller_spec.rb | 5 - .../projects/notes_controller_spec.rb | 9 +- ...infrastructure_registry_controller_spec.rb | 24 + .../packages/packages_controller_spec.rb | 28 + .../prometheus/metrics_controller_spec.rb | 20 +- .../projects/raw_controller_spec.rb | 136 +- .../projects/repositories_controller_spec.rb | 19 + .../security/configuration_controller_spec.rb | 25 + .../service_hook_logs_controller_spec.rb | 4 +- .../projects/services_controller_spec.rb | 4 +- .../settings/ci_cd_controller_spec.rb | 13 + .../registrations_controller_spec.rb | 20 +- spec/controllers/search_controller_spec.rb | 27 +- .../snippets/notes_controller_spec.rb | 28 +- spec/db/schema_spec.rb | 3 +- ...us_onboarding_link_urls_experiment_spec.rb | 53 - ...ew_project_sast_enabled_experiment_spec.rb | 7 +- ..._for_namespace_creation_experiment_spec.rb | 59 + spec/factories/ci/builds.rb | 9 + spec/factories/ci/job_artifacts.rb | 4 + spec/factories/ci/pipeline_message.rb | 9 + spec/factories/ci/pipelines.rb | 4 + spec/factories/ci/secure_files.rb | 10 + spec/factories/clusters/agent_tokens.rb | 4 + spec/factories/clusters/applications/helm.rb | 1 - spec/factories/dependency_proxy.rb | 8 +- spec/factories/group/crm_settings.rb | 7 + spec/factories/groups.rb | 6 + .../issuable_escalation_statuses.rb | 2 +- spec/factories/integrations.rb | 2 +- spec/factories/labels.rb | 2 + spec/factories/namespaces.rb | 8 + spec/factories/packages/package_files.rb | 6 + spec/factories/packages/packages.rb | 4 + spec/factories/projects.rb | 7 + spec/factories/usage_data.rb | 20 +- spec/factories/users.rb | 2 +- spec/factories/wikis.rb | 2 +- .../work_item_types.rb | 14 +- spec/features/admin/admin_deploy_keys_spec.rb | 153 +- spec/features/admin/admin_labels_spec.rb | 24 +- spec/features/admin/admin_runners_spec.rb | 146 +- spec/features/admin/admin_settings_spec.rb | 3 +- spec/features/admin/admin_users_spec.rb | 29 + spec/features/admin/dashboard_spec.rb | 10 + ...activates_mattermost_slash_command_spec.rb | 15 + spec/features/admin/users/user_spec.rb | 20 + spec/features/admin/users/users_spec.rb | 4 +- spec/features/boards/board_filters_spec.rb | 4 +- spec/features/boards/boards_spec.rb | 2 +- spec/features/boards/sidebar_spec.rb | 6 +- spec/features/commits_spec.rb | 54 +- spec/features/dashboard/issues_spec.rb | 2 +- spec/features/dashboard/milestones_spec.rb | 2 +- spec/features/dashboard/todos/todos_spec.rb | 20 +- .../dashboard/user_filters_projects_spec.rb | 6 +- spec/features/graphiql_spec.rb | 4 +- .../dependency_proxy_for_containers_spec.rb | 17 - spec/features/groups/issues_spec.rb | 4 +- spec/features/groups/labels/edit_spec.rb | 14 + .../groups/labels/sort_labels_spec.rb | 2 +- spec/features/groups/merge_requests_spec.rb | 2 +- spec/features/groups/navbar_spec.rb | 7 +- spec/features/groups/packages_spec.rb | 3 + .../groups/settings/access_tokens_spec.rb | 53 + spec/features/groups_spec.rb | 22 + spec/features/help_dropdown_spec.rb | 67 + spec/features/help_pages_spec.rb | 17 +- spec/features/issuables/sorting_list_spec.rb | 16 +- spec/features/issues/issue_sidebar_spec.rb | 70 +- spec/features/issues/service_desk_spec.rb | 2 - .../issues/user_bulk_edits_issues_spec.rb | 20 + .../issues/user_comments_on_issue_spec.rb | 3 +- ...r_creates_branch_and_merge_request_spec.rb | 2 +- .../user_scrolls_to_deeplinked_note_spec.rb | 33 + .../issues/user_sees_breadcrumb_links_spec.rb | 2 - spec/features/markdown/copy_as_gfm_spec.rb | 4 + spec/features/markdown/mermaid_spec.rb | 4 + .../markdown/sandboxed_mermaid_spec.rb | 32 + .../user_sees_merge_widget_spec.rb | 2 +- spec/features/password_reset_spec.rb | 4 +- spec/features/profile_spec.rb | 65 +- spec/features/profiles/chat_names_spec.rb | 2 +- spec/features/profiles/emails_spec.rb | 2 +- spec/features/profiles/keys_spec.rb | 4 +- spec/features/profiles/password_spec.rb | 8 +- .../profiles/personal_access_tokens_spec.rb | 11 +- .../blobs/blob_line_permalink_updater_spec.rb | 22 +- .../features/projects/blobs/blob_show_spec.rb | 4 + .../branches/user_deletes_branch_spec.rb | 24 - spec/features/projects/branches_spec.rb | 24 +- spec/features/projects/clusters/gcp_spec.rb | 2 +- .../projects/environments/environment_spec.rb | 18 - .../projects/features_visibility_spec.rb | 4 +- .../projects/files/user_browses_files_spec.rb | 2 + .../files/user_browses_lfs_files_spec.rb | 6 +- .../projects/files/user_deletes_files_spec.rb | 1 + .../projects/files/user_edits_files_spec.rb | 8 +- .../files/user_replaces_files_spec.rb | 1 + .../import_export/import_file_spec.rb | 3 +- .../integrations/user_activates_jira_spec.rb | 8 +- .../projects/labels/sort_labels_spec.rb | 2 +- .../projects/labels/user_edits_labels_spec.rb | 14 + spec/features/projects/new_project_spec.rb | 38 +- spec/features/projects/packages_spec.rb | 19 +- .../projects/pipelines/pipeline_spec.rb | 97 + .../user_activates_issue_tracker_spec.rb | 6 +- ...activates_mattermost_slash_command_spec.rb | 2 +- ...user_activates_slack_notifications_spec.rb | 2 +- ...user_activates_slack_slash_command_spec.rb | 4 +- .../projects/settings/access_tokens_spec.rb | 162 +- .../settings/project_settings_spec.rb | 4 +- ...er_manages_merge_requests_settings_spec.rb | 6 +- .../user_sees_setup_shortcut_buttons_spec.rb | 2 +- .../user_changes_project_visibility_spec.rb | 90 +- .../projects/user_creates_project_spec.rb | 17 +- .../projects/user_sorts_projects_spec.rb | 4 +- spec/features/projects/view_on_env_spec.rb | 21 +- spec/features/protected_branches_spec.rb | 41 - spec/features/runners_spec.rb | 25 +- .../user_sees_marketing_header_spec.rb | 69 + spec/features/user_sorts_things_spec.rb | 6 +- .../features/users/anonymous_sessions_spec.rb | 2 +- spec/features/users/login_spec.rb | 24 +- spec/finders/ci/runners_finder_spec.rb | 12 +- ...environments_by_deployments_finder_spec.rb | 12 +- spec/finders/fork_targets_finder_spec.rb | 8 +- spec/finders/group_descendants_finder_spec.rb | 382 ++- spec/finders/group_members_finder_spec.rb | 116 +- .../finders/groups/user_groups_finder_spec.rb | 17 - spec/finders/merge_requests_finder_spec.rb | 101 +- .../conan/package_file_finder_spec.rb | 30 +- .../packages/go/package_finder_spec.rb | 2 +- .../packages/maven/package_finder_spec.rb | 2 +- .../packages/npm/package_finder_spec.rb | 2 +- .../packages/nuget/package_finder_spec.rb | 2 +- .../packages/package_file_finder_spec.rb | 28 +- ...group_notification_settings_finder_spec.rb | 274 ++- .../finders/user_recent_events_finder_spec.rb | 36 +- .../graphql/packages/package_details.json | 24 + .../schemas/public_api/v4/merge_request.json | 12 + .../ci_secure_files/upload-keystore.jks | Bin 0 -> 2760 bytes .../go_two_exception_event.json | 1 + .../master/gl-sast-report.json | 10 + spec/frontend/__helpers__/matchers.js | 68 - spec/frontend/__helpers__/matchers/index.js | 3 + .../matchers/to_have_sprite_icon.js | 36 + .../matchers/to_have_tracking_attributes.js | 35 + .../to_have_tracking_attributes_spec.js | 65 + .../matchers/to_match_interpolated_text.js | 30 + .../to_match_interpolated_text_spec.js | 46 + spec/frontend/__helpers__/matchers_spec.js | 48 - .../frontend/__helpers__/shared_test_setup.js | 2 +- .../__helpers__/wait_using_real_timer.js | 7 - .../components/alerts_settings_form_spec.js | 10 + .../projects_dropdown_filter_spec.js | 4 + spec/frontend/api/packages_api_spec.js | 11 +- .../behaviors/copy_to_clipboard_spec.js | 187 ++ .../blob_header_filepath_spec.js.snap | 14 +- .../__snapshots__/blob_header_spec.js.snap | 2 +- .../blob/components/blob_edit_header_spec.js | 2 + .../components/blob_header_filepath_spec.js | 8 + .../{ => blob}/line_highlighter_spec.js | 2 +- spec/frontend/blob/viewer/index_spec.js | 1 + .../boards/components/board_card_spec.js | 4 +- .../components/board_content_sidebar_spec.js | 20 +- .../components/board_filtered_search_spec.js | 22 +- .../components/board_list_header_spec.js | 8 +- .../boards/components/boards_selector_spec.js | 12 + spec/frontend/boards/stores/actions_spec.js | 32 + .../branches/branches_delete_modal_spec.js | 40 - .../ci_lint/components/ci_lint_spec.js | 2 + .../clusters/agents/components/show_spec.js | 8 +- .../forms/components/integration_form_spec.js | 4 + .../components/agent_options_spec.js | 211 ++ .../components/agent_table_spec.js | 26 +- .../clusters_list/components/clusters_spec.js | 2 + spec/frontend/clusters_list/mocks/apollo.js | 12 + .../commit/pipelines/pipelines_table_spec.js | 2 + .../components/wrappers/frontmatter_spec.js | 5 + .../extensions/code_block_highlight_spec.js | 6 + .../content_editor/extensions/code_spec.js | 8 + .../extensions/frontmatter_spec.js | 25 +- .../content_editor/extensions/image_spec.js | 41 + .../content_editor/extensions/link_spec.js | 2 +- .../services/markdown_serializer_spec.js | 15 + .../components/cluster_form_dropdown_spec.js | 2 + .../service_credentials_form_spec.js | 6 + .../gke_machine_type_dropdown_spec.js | 2 + .../gke_project_id_dropdown_spec.js | 6 + .../components/gke_zone_dropdown_spec.js | 2 + spec/frontend/crm/contact_form_spec.js | 4 +- spec/frontend/crm/form_spec.js | 278 +++ spec/frontend/crm/mock_data.js | 8 +- .../crm/new_organization_form_spec.js | 2 +- .../cycle_analytics/stage_table_spec.js | 57 + .../value_stream_metrics_spec.js | 2 + .../components/timezone_dropdown_spec.js | 2 + .../design_note_signed_out_spec.js.snap | 41 + .../design_notes/design_discussion_spec.js | 50 + .../design_note_signed_out_spec.js | 36 + .../components/design_overlay_spec.js | 10 + .../components/design_presentation_spec.js | 27 + .../components/design_sidebar_spec.js | 51 + .../components/image_spec.js | 2 + .../toolbar/design_navigation_spec.js | 4 + .../components/toolbar/index_spec.js | 2 + .../upload/design_version_dropdown_spec.js | 2 + .../design/__snapshots__/index_spec.js.snap | 27 +- .../pages/design/index_spec.js | 2 + .../design_management/pages/index_spec.js | 14 + .../components/image_diff_overlay_spec.js | 19 +- spec/frontend/editor/source_editor_spec.js | 15 +- .../emoji/components/category_spec.js | 2 + .../emoji/components/emoji_list_spec.js | 2 + .../confirm_rollback_modal_spec.js | 8 +- spec/frontend/environments/deployment_spec.js | 29 + .../deployment_status_badge_spec.js | 42 + .../environments/environment_actions_spec.js | 35 +- .../environments/environment_stop_spec.js | 72 +- .../environments/graphql/mock_data.js | 136 +- .../environments/graphql/resolvers_spec.js | 34 + .../new_environment_folder_spec.js | 34 +- .../environments/new_environment_item_spec.js | 341 +++ .../environments/new_environments_app_spec.js | 37 +- .../components/error_details_spec.js | 28 + .../components/error_tracking_list_spec.js | 2 + spec/frontend/fixtures/blob.rb | 1 + spec/frontend/fixtures/runner.rb | 127 +- .../static/project_select_combo_button.html | 2 +- spec/frontend/flash_spec.js | 255 ++- .../google_cloud/components/app_spec.js | 2 + .../deployments_service_table_spec.js | 40 + .../google_cloud/components/home_spec.js | 4 +- .../frontend/google_tag_manager/index_spec.js | 259 +++ .../groups/components/group_item_spec.js | 1 + .../groups/components/item_stats_spec.js | 1 + spec/frontend/{ => groups}/landing_spec.js | 2 +- .../{ => groups}/transfer_edit_spec.js | 2 +- .../jobs/__snapshots__/stage_spec.js.snap | 9 +- .../ide/components/preview/clientside_spec.js | 20 + .../ide/components/repo_editor_spec.js | 11 +- .../ide/components/terminal/terminal_spec.js | 2 + .../stores/modules/pipelines/actions_spec.js | 18 + .../edit/components/dynamic_field_spec.js | 13 +- .../edit/components/integration_form_spec.js | 419 ++-- .../integrations/edit/store/actions_spec.js | 37 - .../integrations/edit/store/mutations_spec.js | 24 - .../integrations/edit/store/state_spec.js | 2 - .../components/integration_overrides_spec.js | 16 + .../components/integration_tabs_spec.js | 64 + .../components/invite_members_modal_spec.js | 12 + .../invite_members/mock_data/api_responses.js | 2 +- .../components/related_issuable_item_spec.js | 2 + .../create_merge_request_dropdown_spec.js | 2 +- .../components/issue_card_time_info_spec.js | 2 +- .../list}/components/issues_list_app_spec.js | 16 +- .../jira_issues_import_status_app_spec.js | 2 +- .../components/new_issue_dropdown_spec.js | 4 +- .../{issues_list => issues/list}/mock_data.js | 0 .../list}/utils_spec.js | 6 +- .../new/components/title_suggestions_spec.js | 14 + .../show/components/fields/type_spec.js | 18 +- .../show/components/header_actions_spec.js | 19 +- .../sentry_error_stack_trace_spec.js | 11 +- spec/frontend/issues/show/issue_spec.js | 6 +- .../issuables_list_app_spec.js.snap | 14 - .../issues_list/components/issuable_spec.js | 508 ---- .../components/issuables_list_app_spec.js | 653 ------ .../issues_list/issuable_list_test_data.js | 77 - .../issues_list/service_desk_helper_spec.js | 28 - .../utils/jira_import_utils_spec.js | 2 +- spec/frontend/jobs/bridge/app_spec.js | 123 +- .../bridge/components/empty_state_spec.js | 7 +- .../jobs/bridge/components/sidebar_spec.js | 95 +- spec/frontend/jobs/bridge/mock_data.js | 101 +- .../components/table/job_table_app_spec.js | 2 + .../labels/delete_label_modal_spec.js | 33 +- .../lib/utils/resize_observer_spec.js | 68 + .../dashboard_template_spec.js.snap | 2 +- .../components/charts/time_series_spec.js | 2 + .../monitoring/components/dashboard_spec.js | 2 + .../components/dashboards_dropdown_spec.js | 2 + spec/frontend/mr_popover/mr_popover_spec.js | 4 + .../notes/components/comment_form_spec.js | 4 + .../notes/components/note_form_spec.js | 2 + .../custom_notifications_modal_spec.js | 6 + .../details_page/details_header_spec.js | 84 +- .../details_page/empty_state_spec.js | 54 - .../details_page/tags_list_row_spec.js | 21 +- .../components/details_page/tags_list_spec.js | 104 +- .../explorer/pages/details_spec.js | 19 +- .../__snapshots__/file_sha_spec.js.snap | 5 +- .../details/components/file_sha_spec.js | 2 + .../packages_list_app_spec.js.snap | 8 +- .../list/components/packages_list_spec.js | 8 + .../conan_installation_spec.js.snap | 14 +- .../__snapshots__/file_sha_spec.js.snap | 5 +- .../maven_installation_spec.js.snap | 42 +- .../npm_installation_spec.js.snap | 14 +- .../nuget_installation_spec.js.snap | 14 +- .../pypi_installation_spec.js.snap | 24 +- .../details/composer_installation_spec.js | 8 +- .../details/conan_installation_spec.js | 23 +- .../components/details/file_sha_spec.js | 2 + .../details/maven_installation_spec.js | 30 +- .../details/npm_installation_spec.js | 28 +- .../details/nuget_installation_spec.js | 18 +- .../components/details/package_files_spec.js | 2 +- .../details/pypi_installation_spec.js | 22 +- .../functional/delete_package_spec.js | 13 +- .../package_list_row_spec.js.snap | 10 +- .../components/list/package_list_row_spec.js | 23 +- .../package_registry/mock_data.js | 11 + .../pages/__snapshots__/list_spec.js.snap | 8 +- .../app_spec.js => pages/details_spec.js} | 42 +- .../__snapshots__/publish_method_spec.js.snap | 0 .../registry_breadcrumb_spec.js.snap | 38 +- .../package_icon_and_name_spec.js | 0 .../{ => components}/package_path_spec.js | 0 .../{ => components}/package_tags_spec.js | 0 .../packages_list_loader_spec.js | 0 .../components/persisted_search_spec.js | 145 ++ .../{ => components}/publish_method_spec.js | 0 .../components/registry_breadcrumb_spec.js | 2 +- .../pages/dashboard/todos/index/todos_spec.js | 4 +- .../components/timezone_dropdown_spec.js | 6 +- .../components/settings_panel_spec.js | 42 + .../pages/shared/nav/sidebar_tracking_spec.js | 36 +- .../shared/wikis/components/wiki_form_spec.js | 215 +- .../components/editor/text_editor_spec.js | 40 +- .../header/validation_segment_spec.js | 64 +- .../components/ui/editor_tab_spec.js | 93 +- spec/frontend/pipeline_editor/mock_data.js | 1 + .../pipeline_editor_app_spec.js | 131 +- .../__snapshots__/utils_spec.js.snap | 29 + spec/frontend/pipelines/graph/mock_data.js | 125 + .../components/update_username_spec.js | 2 + .../profile/add_ssh_key_validation_spec.js | 36 +- .../project_select_combo_button_spec.js | 4 +- .../commits/components/author_select_spec.js | 10 + .../revision_dropdown_legacy_spec.js | 2 + .../{ => projects}/project_find_file_spec.js | 2 +- .../components/blob_button_group_spec.js | 47 +- .../components/blob_content_viewer_spec.js | 28 +- .../components/blob_controls_spec.js | 88 + .../repository/components/breadcrumbs_spec.js | 8 + .../repository/components/last_commit_spec.js | 2 + .../components/preview/index_spec.js | 6 + .../repository/components/table/index_spec.js | 2 + .../repository/components/table/row_spec.js | 2 + .../components/tree_content_spec.js | 8 + .../components/upload_blob_modal_spec.js | 4 + spec/frontend/repository/mock_data.js | 23 +- .../admin_runner_edit_app_spec.js} | 37 +- .../admin_runners/admin_runners_app_spec.js | 114 +- .../cells/runner_actions_cell_spec.js | 66 +- ...stration_token_reset_dropdown_item_spec.js | 40 +- .../runner/components/runner_header_spec.js | 93 + .../runner/components/runner_list_spec.js | 4 +- .../components/runner_status_badge_spec.js | 20 +- .../components/runner_type_alert_spec.js | 61 - .../components/runner_update_form_spec.js | 12 +- .../search_tokens/tag_token_spec.js | 6 +- .../stat/runner_online_stat_spec.js | 34 - .../components/stat/runner_stats_spec.js | 46 + .../stat/runner_status_stat_spec.js | 67 + .../group_runners/group_runners_app_spec.js | 50 +- spec/frontend/runner/mock_data.js | 4 + .../runner/runner_search_utils_spec.js | 18 + .../runner_update_form_utils_spec.js | 7 +- .../components/searchable_dropdown_spec.js | 4 + .../components/app_spec.js | 38 +- .../components/training_provider_list_spec.js | 193 +- .../security_configuration/mock_data.js | 25 +- .../__snapshots__/empty_state_spec.js.snap | 8 +- .../set_status_modal_wrapper_spec.js | 11 +- .../uncollapsed_reviewer_list_spec.js | 8 + spec/frontend/sidebar/participants_spec.js | 8 + .../snippet_description_edit_spec.js.snap | 2 + .../components/snippet_blob_view_spec.js | 2 + .../components/snippet_header_spec.js | 2 + .../components/edit_area_spec.js | 4 + .../modals/add_image/add_image_modal_spec.js | 4 + .../render_identifier_paragraph_spec.js | 2 +- .../components/states_table_actions_spec.js | 2 + .../tracking/tracking_initialization_spec.js | 5 +- spec/frontend/version_check_image_spec.js | 42 - .../components/approvals/approvals_spec.js | 2 + .../components/mr_widget_header_spec.js | 4 + .../components/mr_widget_rebase_spec.js | 223 +- .../states/merge_checks_failed_spec.js | 29 +- .../mr_widget_auto_merge_enabled_spec.js | 4 + .../states/mr_widget_commits_header_spec.js | 4 + .../states/mr_widget_conflicts_spec.js | 2 + .../states/mr_widget_missing_branch_spec.js | 2 + .../states/mr_widget_ready_to_merge_spec.js | 8 + .../components/terraform/mock_data.js | 6 +- .../mr_widget_terraform_container_spec.js | 2 + .../extentions/terraform/index_spec.js | 178 ++ spec/frontend/vue_mr_widget/mock_data.js | 2 + .../vue_mr_widget/mr_widget_options_spec.js | 69 + .../stores/mr_widget_store_spec.js | 2 + .../frontend/vue_mr_widget/test_extensions.js | 10 + .../alert_details/alert_details_spec.js | 2 + .../sidebar/alert_sidebar_assignees_spec.js | 6 + .../components/chronic_duration_input_spec.js | 2 + .../components/clipboard_button_spec.js | 72 +- .../confirm_danger/confirm_danger_spec.js | 6 + .../filtered_search_bar_root_spec.js | 22 + .../tokens/author_token_spec.js | 14 +- .../tokens/branch_token_spec.js | 2 + .../tokens/emoji_token_spec.js | 2 + .../tokens/label_token_spec.js | 2 + .../tokens/milestone_token_spec.js | 2 + .../components/gitlab_version_check_spec.js | 77 + .../components/line_numbers_spec.js | 36 +- .../components/markdown/field_spec.js | 36 + ...ginated_table_with_search_and_tabs_spec.js | 4 + .../code_instruction_spec.js.snap | 11 +- .../registry/code_instruction_spec.js | 2 + .../sidebar/issuable_move_dropdown_spec.js | 24 + .../dropdown_contents_create_view_spec.js | 8 + .../dropdown_contents_labels_view_spec.js | 24 + .../dropdown_contents_create_view_spec.js | 26 +- .../dropdown_contents_labels_view_spec.js | 13 + .../components/source_viewer_spec.js | 47 +- .../components/web_ide_link_spec.js | 155 +- .../vue_shared/directives/track_event_spec.js | 2 + .../components/issuable_list_root_spec.js | 6 + .../list/components/issuable_tabs_spec.js | 5 +- .../vue_shared/issuable/list/mock_data.js | 2 +- .../show/components/issuable_title_spec.js | 2 + .../work_items/pages/work_item_root_spec.js | 31 +- .../mutations/ci/runner/delete_spec.rb | 14 +- .../clusters/agent_tokens/revoke_spec.rb | 55 + .../contacts/create_spec.rb | 15 +- .../contacts/update_spec.rb | 2 +- .../organizations/create_spec.rb | 2 +- .../organizations/update_spec.rb | 13 +- .../issues/set_escalation_status_spec.rb | 66 + .../clusters/agent_tokens_resolver_spec.rb | 9 + .../concerns/resolves_pipelines_spec.rb | 20 +- .../resolvers/merge_requests_resolver_spec.rb | 22 + .../resolvers/users/groups_resolver_spec.rb | 8 - .../work_items/types_resolver_spec.rb | 22 + .../types/ci/config/config_type_spec.rb | 1 + spec/graphql/types/ci/job_type_spec.rb | 1 + .../types/ci/pipeline_message_type_spec.rb | 15 + spec/graphql/types/ci/pipeline_type_spec.rb | 2 +- spec/graphql/types/ci/runner_type_spec.rb | 4 +- .../clusters/agent_token_status_enum_spec.rb | 8 + .../types/clusters/agent_token_type_spec.rb | 2 +- spec/graphql/types/commit_type_spec.rb | 2 +- .../types/group_member_relation_enum_spec.rb | 2 +- spec/graphql/types/group_type_spec.rb | 2 +- .../escalation_status_enum_spec.rb | 25 + spec/graphql/types/issue_type_spec.rb | 47 +- spec/graphql/types/merge_request_type_spec.rb | 26 +- spec/graphql/types/mutation_type_spec.rb | 8 + .../packages/package_details_type_spec.rb | 5 +- .../packages/package_status_enum_spec.rb | 2 +- spec/graphql/types/project_type_spec.rb | 3 +- .../types/projects/service_type_spec.rb | 2 +- .../types/repository/blob_type_spec.rb | 6 + .../background_migrations_helper_spec.rb | 16 +- spec/helpers/application_helper_spec.rb | 40 + .../application_settings_helper_spec.rb | 26 + spec/helpers/auth_helper_spec.rb | 6 - spec/helpers/auto_devops_helper_spec.rb | 2 +- spec/helpers/button_helper_spec.rb | 1 + spec/helpers/ci/jobs_helper_spec.rb | 10 +- .../helpers/ci/pipeline_editor_helper_spec.rb | 2 + spec/helpers/ci/runners_helper_spec.rb | 9 +- spec/helpers/environment_helper_spec.rb | 10 + spec/helpers/environments_helper_spec.rb | 2 +- .../groups/crm_settings_helper_spec.rb | 25 + spec/helpers/hooks_helper_spec.rb | 10 + spec/helpers/integrations_helper_spec.rb | 28 +- spec/helpers/issues_helper_spec.rb | 23 +- spec/helpers/learn_gitlab_helper_spec.rb | 13 + spec/helpers/namespaces_helper_spec.rb | 38 - spec/helpers/nav/top_nav_helper_spec.rb | 23 - spec/helpers/operations_helper_spec.rb | 2 +- spec/helpers/packages_helper_spec.rb | 41 - .../projects/cluster_agents_helper_spec.rb | 5 + .../issues/service_desk_helper_spec.rb | 54 - spec/helpers/search_helper_spec.rb | 3 +- spec/helpers/snippets_helper_spec.rb | 3 +- spec/helpers/ssh_keys_helper_spec.rb | 25 + spec/helpers/tree_helper_spec.rb | 18 +- spec/helpers/version_check_helper_spec.rb | 47 +- spec/initializers/doorkeeper_spec.rb | 2 +- spec/initializers/session_store_spec.rb | 36 +- spec/lib/api/entities/ci/pipeline_spec.rb | 21 +- .../api/entities/merge_request_basic_spec.rb | 3 +- spec/lib/api/helpers/rate_limiter_spec.rb | 73 + spec/lib/backup/artifacts_spec.rb | 2 +- spec/lib/backup/files_spec.rb | 4 +- spec/lib/backup/gitaly_backup_spec.rb | 32 +- spec/lib/backup/gitaly_rpc_backup_spec.rb | 10 +- spec/lib/backup/lfs_spec.rb | 27 + spec/lib/backup/manager_spec.rb | 6 +- spec/lib/backup/object_backup_spec.rb | 36 + spec/lib/backup/repositories_spec.rb | 12 +- .../backup/repository_backup_error_spec.rb | 42 - spec/lib/backup/uploads_spec.rb | 3 +- .../lib/banzai/filter/footnote_filter_spec.rb | 46 - .../lib/banzai/filter/markdown_filter_spec.rb | 163 +- .../lib/banzai/filter/plantuml_filter_spec.rb | 74 +- .../references/issue_reference_filter_spec.rb | 2 + .../merge_request_reference_filter_spec.rb | 5 +- .../banzai/filter/sanitization_filter_spec.rb | 47 - .../filter/syntax_highlight_filter_spec.rb | 316 ++- .../lib/banzai/pipeline/full_pipeline_spec.rb | 41 - .../pipeline/plain_markdown_pipeline_spec.rb | 174 +- .../merge_request_parser_spec.rb | 8 - .../extractors/ndjson_extractor_spec.rb | 6 +- .../common/pipelines/uploads_pipeline_spec.rb | 31 +- .../project_attributes_pipeline_spec.rb | 27 +- .../collector/payload_validator_spec.rb | 34 +- spec/lib/feature_spec.rb | 32 + spec/lib/gitlab/asciidoc_spec.rb | 1589 +++++++------ spec/lib/gitlab/auth/auth_finders_spec.rb | 30 +- spec/lib/gitlab/auth/ldap/config_spec.rb | 30 + spec/lib/gitlab/auth_spec.rb | 30 +- .../backfill_artifact_expiry_date_spec.rb | 2 +- .../backfill_ci_namespace_mirrors_spec.rb | 45 + .../backfill_ci_project_mirrors_spec.rb | 46 + ...incident_issue_escalation_statuses_spec.rb | 27 + ...fill_jira_tracker_deployment_type2_spec.rb | 2 +- ...d_at_after_repository_storage_move_spec.rb | 2 +- .../background_migration/base_job_spec.rb | 16 + .../cleanup_concurrent_schema_change_spec.rb | 28 - .../drop_invalid_vulnerabilities_spec.rb | 2 +- .../encrypt_static_object_token_spec.rb | 56 + ...rences_with_hashes_as_raw_metadata_spec.rb | 232 ++ .../job_coordinator_spec.rb | 45 +- .../migrate_legacy_artifacts_spec.rb | 158 -- .../migrate_u2f_webauthn_spec.rb | 2 +- ...egistry_enabled_to_project_feature_spec.rb | 2 +- ...ng_uuid_for_vulnerability_feedback_spec.rb | 2 +- .../populate_issue_email_participants_spec.rb | 2 +- ...e_vulnerabilities_occurrences_uuid_spec.rb | 468 +++- .../remove_duplicate_services_spec.rb | 121 - ...remove_vulnerability_finding_links_spec.rb | 4 +- ...gfully_confirmed_email_unconfirmer_spec.rb | 2 +- spec/lib/gitlab/checks/changes_access_spec.rb | 80 +- .../lib/gitlab/ci/build/status/reason_spec.rb | 75 + spec/lib/gitlab/ci/config/entry/root_spec.rb | 46 +- spec/lib/gitlab/ci/jwt_v2_spec.rb | 34 + .../pipeline/chain/create_deployments_spec.rb | 14 - .../gitlab/ci/pipeline/chain/create_spec.rb | 13 +- spec/lib/gitlab/ci/pipeline/logger_spec.rb | 84 + .../lib/gitlab/ci/pipeline/seed/build_spec.rb | 2 +- .../gitlab/ci/pipeline/seed/pipeline_spec.rb | 2 +- .../lib/gitlab/ci/pipeline/seed/stage_spec.rb | 2 +- .../status/build/waiting_for_approval_spec.rb | 49 + spec/lib/gitlab/ci/tags/bulk_insert_spec.rb | 47 +- .../gitlab/ci/trace/remote_checksum_spec.rb | 8 - spec/lib/gitlab/ci/variables/builder_spec.rb | 196 +- spec/lib/gitlab/ci/yaml_processor_spec.rb | 36 +- spec/lib/gitlab/color_schemes_spec.rb | 2 +- .../gitlab/config/entry/configurable_spec.rb | 9 +- spec/lib/gitlab/config/entry/factory_spec.rb | 11 + .../config_loader_spec.rb | 6 +- .../gitlab/data_builder/archive_trace_spec.rb | 19 + .../gitlab/data_builder/deployment_spec.rb | 1 + .../batched_migration_spec.rb | 27 +- .../database/background_migration_job_spec.rb | 2 + spec/lib/gitlab/database/batch_count_spec.rb | 76 +- spec/lib/gitlab/database/bulk_update_spec.rb | 2 +- .../loose_index_scan_distinct_count_spec.rb | 71 - .../gitlab/database/migration_helpers_spec.rb | 112 - .../background_migration_helpers_spec.rb | 730 +++--- .../gitlab/database/migrations/runner_spec.rb | 2 +- .../database/no_cross_db_foreign_keys_spec.rb | 81 + .../partitioning/partition_manager_spec.rb | 3 +- .../sliding_list_strategy_spec.rb | 7 +- .../backfill_partitioned_table_spec.rb | 43 +- spec/lib/gitlab/database/reflection_spec.rb | 60 + .../database/reindexing/coordinator_spec.rb | 76 +- spec/lib/gitlab/email/failure_handler_spec.rb | 69 + .../processor/sidekiq_processor_spec.rb | 9 + spec/lib/gitlab/event_store/event_spec.rb | 64 + spec/lib/gitlab/event_store/store_spec.rb | 262 +++ spec/lib/gitlab/exceptions_app_spec.rb | 68 + .../lib/gitlab/gfm/reference_rewriter_spec.rb | 2 +- spec/lib/gitlab/git_access_spec.rb | 8 +- .../importer/pull_requests_importer_spec.rb | 2 +- spec/lib/gitlab/gpg/commit_spec.rb | 24 - spec/lib/gitlab/http_spec.rb | 34 +- spec/lib/gitlab/import/set_async_jid_spec.rb | 2 +- spec/lib/gitlab/import_export/all_models.yml | 4 + .../gitlab/import_export/avatar_saver_spec.rb | 2 +- .../base/relation_factory_spec.rb | 2 +- .../design_repo_restorer_spec.rb | 2 +- .../fast_hash_serializer_spec.rb | 2 +- .../group/relation_tree_restorer_spec.rb | 41 +- .../project/relation_factory_spec.rb | 2 +- .../project/relation_tree_restorer_spec.rb | 41 +- .../import_export/safe_model_attributes.yml | 1 + .../import_export/uploads_saver_spec.rb | 4 +- spec/lib/gitlab/integrations/sti_type_spec.rb | 12 +- spec/lib/gitlab/jwt_authenticatable_spec.rb | 169 +- spec/lib/gitlab/lets_encrypt/client_spec.rb | 2 +- spec/lib/gitlab/lfs/client_spec.rb | 87 +- spec/lib/gitlab/logger_spec.rb | 94 + .../gitlab/mail_room/authenticator_spec.rb | 188 ++ spec/lib/gitlab/mail_room/mail_room_spec.rb | 63 +- .../commit_message_generator_spec.rb | 322 ++- .../metrics/exporter/base_exporter_spec.rb | 74 +- .../exporter/gc_request_middleware_spec.rb | 21 + .../exporter/health_checks_middleware_spec.rb | 52 + .../exporter/metrics_middleware_spec.rb | 39 + .../metrics/exporter/sidekiq_exporter_spec.rb | 53 - .../metrics/exporter/web_exporter_spec.rb | 6 +- .../samplers/action_cable_sampler_spec.rb | 2 +- .../metrics/samplers/database_sampler_spec.rb | 4 +- .../metrics/samplers/ruby_sampler_spec.rb | 2 +- spec/lib/gitlab/middleware/go_spec.rb | 2 +- .../webhook_recursion_detection_spec.rb | 42 + .../order_by_column_data_spec.rb | 35 + .../query_builder_spec.rb | 73 +- .../order_values_loader_strategy_spec.rb | 37 + spec/lib/gitlab/redis/multi_store_spec.rb | 676 ------ spec/lib/gitlab/redis/sessions_spec.rb | 75 +- spec/lib/gitlab/regex_spec.rb | 2 +- spec/lib/gitlab/search/params_spec.rb | 8 + spec/lib/gitlab/shard_health_cache_spec.rb | 6 +- spec/lib/gitlab/sherlock/collection_spec.rb | 84 - spec/lib/gitlab/sherlock/file_sample_spec.rb | 56 - .../lib/gitlab/sherlock/line_profiler_spec.rb | 75 - spec/lib/gitlab/sherlock/line_sample_spec.rb | 35 - spec/lib/gitlab/sherlock/location_spec.rb | 42 - spec/lib/gitlab/sherlock/middleware_spec.rb | 81 - spec/lib/gitlab/sherlock/query_spec.rb | 115 - spec/lib/gitlab/sherlock/transaction_spec.rb | 238 -- .../sidekiq_status/client_middleware_spec.rb | 10 +- spec/lib/gitlab/sidekiq_status_spec.rb | 40 +- spec/lib/gitlab/sourcegraph_spec.rb | 6 + spec/lib/gitlab/ssh_public_key_spec.rb | 41 +- spec/lib/gitlab/themes_spec.rb | 2 +- .../gitlab/tracking/standard_context_spec.rb | 4 + .../instrumentations/database_metric_spec.rb | 4 +- .../instrumentations/generic_metric_spec.rb | 40 +- .../hll_redis_counter_spec.rb | 3 +- .../package_event_counter_spec.rb | 8 +- spec/lib/gitlab/usage_data_queries_spec.rb | 4 - spec/lib/gitlab/usage_data_spec.rb | 77 +- spec/lib/gitlab/utils/usage_data_spec.rb | 55 +- .../web_hooks/recursion_detection_spec.rb | 221 ++ spec/lib/gitlab_edition_spec.rb | 160 ++ spec/lib/gitlab_spec.rb | 131 +- .../groups/menus/settings_menu_spec.rb | 6 + spec/lib/sidebars/projects/panel_spec.rb | 3 +- spec/lib/version_check_spec.rb | 6 - spec/mailers/emails/profile_spec.rb | 2 +- spec/mailers/notify_spec.rb | 10 +- spec/metrics_server/metrics_server_spec.rb | 42 +- ...2143418_remove_duplicate_services2_spec.rb | 52 - ...ue_first_mentioned_in_commit_value_spec.rb | 30 - ...ove_bad_dependency_proxy_manifests_spec.rb | 28 - ...d_at_after_repository_storage_move_spec.rb | 47 - ...vironment_scope_to_group_variables_spec.rb | 46 - ...20210226141517_dedup_issue_metrics_spec.rb | 66 - ...e_vulnerabilities_occurrences_uuid_spec.rb | 30 - ...e_vulnerabilities_occurrences_uuid_spec.rb | 44 + ...d_on_vulnerabilities_occurrences4_spec.rb} | 55 +- ...140629_encrypt_static_object_token_spec.rb | 50 + ...incident_issue_escalation_statuses_spec.rb | 36 + ...te_finding_signatures_as_completed_spec.rb | 64 + ...has_external_issue_tracker_trigger_spec.rb | 164 -- .../add_has_external_wiki_trigger_spec.rb | 128 -- .../migrations/add_new_post_eoa_plans_spec.rb | 32 - ..._email_to_emails_if_user_confirmed_spec.rb | 48 + ...ad_has_external_issue_tracker_data_spec.rb | 94 - ...ts_with_bad_has_external_wiki_data_spec.rb | 89 - .../drop_alerts_service_data_spec.rb | 21 - ...m_namespaces_to_namespace_settings_spec.rb | 30 - ...emove_alerts_service_records_again_spec.rb | 23 - .../remove_alerts_service_records_spec.rb | 30 - ...eschedule_artifact_expiry_backfill_spec.rb | 38 - ...edule_migrate_pages_to_zip_storage_spec.rb | 2 +- ...ng_uuid_for_vulnerability_feedback_spec.rb | 37 - ...id_on_vulnerabilities_occurrences3_spec.rb | 127 - ...plication_settings_protected_paths_spec.rb | 46 + .../update_invalid_member_states_spec.rb | 30 + spec/models/alert_management/alert_spec.rb | 33 - spec/models/application_record_spec.rb | 10 +- spec/models/application_setting_spec.rb | 47 +- .../file_transfer/project_config_spec.rb | 6 + spec/models/ci/build_report_result_spec.rb | 5 + spec/models/ci/build_spec.rb | 230 +- spec/models/ci/build_trace_chunk_spec.rb | 11 +- .../daily_build_group_report_result_spec.rb | 12 + spec/models/ci/freeze_period_spec.rb | 5 + spec/models/ci/group_variable_spec.rb | 6 + spec/models/ci/job_artifact_spec.rb | 27 +- .../ci/job_token/project_scope_link_spec.rb | 5 + spec/models/ci/namespace_mirror_spec.rb | 111 +- spec/models/ci/pending_build_spec.rb | 10 + spec/models/ci/pipeline_artifact_spec.rb | 7 + spec/models/ci/pipeline_schedule_spec.rb | 5 + spec/models/ci/pipeline_spec.rb | 46 +- spec/models/ci/project_mirror_spec.rb | 34 +- spec/models/ci/resource_group_spec.rb | 5 + spec/models/ci/runner_namespace_spec.rb | 6 + spec/models/ci/runner_spec.rb | 112 +- spec/models/ci/running_build_spec.rb | 5 + spec/models/ci/secure_file_spec.rb | 55 + spec/models/ci/unit_test_spec.rb | 5 + spec/models/clusters/agent_spec.rb | 27 +- spec/models/clusters/agent_token_spec.rb | 97 +- .../clusters/agents/activity_event_spec.rb | 23 +- .../clusters/applications/runner_spec.rb | 13 - spec/models/commit_status_spec.rb | 49 +- spec/models/concerns/issuable_spec.rb | 16 + spec/models/concerns/participable_spec.rb | 25 +- spec/models/concerns/routable_spec.rb | 33 +- .../models/concerns/triggerable_hooks_spec.rb | 2 +- spec/models/container_repository_spec.rb | 8 + .../models/customer_relations/contact_spec.rb | 45 +- .../customer_relations/issue_contact_spec.rb | 21 +- spec/models/dependency_proxy/blob_spec.rb | 1 + spec/models/dependency_proxy/manifest_spec.rb | 1 + spec/models/email_spec.rb | 82 +- spec/models/experiment_spec.rb | 48 + spec/models/group/crm_settings_spec.rb | 15 + spec/models/group_group_link_spec.rb | 26 - spec/models/group_spec.rb | 384 +++- spec/models/hooks/project_hook_spec.rb | 9 + spec/models/hooks/service_hook_spec.rb | 30 + spec/models/hooks/system_hook_spec.rb | 2 +- spec/models/instance_configuration_spec.rb | 4 +- spec/models/integration_spec.rb | 292 ++- spec/models/integrations/asana_spec.rb | 124 +- spec/models/integrations/datadog_spec.rb | 33 +- spec/models/integrations/jira_spec.rb | 12 - spec/models/internal_id_spec.rb | 6 +- spec/models/issue_spec.rb | 48 +- spec/models/key_spec.rb | 22 + spec/models/member_spec.rb | 1 + spec/models/merge_request_spec.rb | 83 +- spec/models/namespace_setting_spec.rb | 53 - spec/models/namespace_spec.rb | 28 + .../namespaces/project_namespace_spec.rb | 4 +- spec/models/onboarding_progress_spec.rb | 87 +- spec/models/packages/package_file_spec.rb | 70 +- spec/models/packages/package_spec.rb | 118 +- spec/models/pages_domain_spec.rb | 123 - .../environments/deployment_preloader_spec.rb | 65 + spec/models/project_pages_metadatum_spec.rb | 11 + spec/models/project_spec.rb | 431 +++- spec/models/protectable_dropdown_spec.rb | 76 +- spec/models/ref_matcher_spec.rb | 83 + spec/models/repository_spec.rb | 11 - spec/models/route_spec.rb | 1 + spec/models/user_spec.rb | 331 ++- spec/models/users_statistics_spec.rb | 2 +- .../{work_item => work_items}/type_spec.rb | 38 +- spec/policies/blob_policy_spec.rb | 7 +- spec/policies/group_member_policy_spec.rb | 18 + spec/policies/group_policy_spec.rb | 186 +- spec/policies/project_policy_spec.rb | 4 +- spec/presenters/blob_presenter_spec.rb | 20 + spec/presenters/label_presenter_spec.rb | 25 + .../packages/conan/package_presenter_spec.rb | 34 +- .../packages/detail/package_presenter_spec.rb | 22 +- .../packages/npm/package_presenter_spec.rb | 21 + .../nuget/package_metadata_presenter_spec.rb | 14 + .../nuget/search_results_presenter_spec.rb | 4 +- .../packages/pypi/package_presenter_spec.rb | 16 + spec/presenters/project_presenter_spec.rb | 2 +- .../security/configuration_presenter_spec.rb | 2 +- .../presenters/service_hook_presenter_spec.rb | 4 +- .../presenters/web_hook_log_presenter_spec.rb | 4 +- spec/rake_helper.rb | 2 +- spec/requests/api/ci/job_artifacts_spec.rb | 65 + .../api/ci/runner/runners_post_spec.rb | 425 +--- spec/requests/api/ci/runners_spec.rb | 12 +- spec/requests/api/ci/triggers_spec.rb | 2 +- spec/requests/api/commits_spec.rb | 8 +- spec/requests/api/composer_packages_spec.rb | 29 + spec/requests/api/generic_packages_spec.rb | 48 + spec/requests/api/graphql/ci/config_spec.rb | 18 + spec/requests/api/graphql/ci/jobs_spec.rb | 8 + .../requests/api/graphql/ci/pipelines_spec.rb | 108 + spec/requests/api/graphql/ci/runner_spec.rb | 6 +- .../api/graphql/group/group_members_spec.rb | 11 + .../api/graphql/group/work_item_types_spec.rb | 71 + .../mutations/issues/set_crm_contacts_spec.rb | 103 +- .../issues/set_escalation_status_spec.rb | 82 + .../mutations/packages/destroy_file_spec.rb | 15 +- .../mutations/packages/destroy_spec.rb | 35 +- .../mutations/work_items/create_spec.rb | 63 + .../api/graphql/packages/package_spec.rb | 298 ++- .../graphql/project/cluster_agents_spec.rb | 2 +- .../api/graphql/project/issues_spec.rb | 37 + .../graphql/project/work_item_types_spec.rb | 71 + spec/requests/api/groups_spec.rb | 48 + spec/requests/api/integrations_spec.rb | 6 +- spec/requests/api/internal/base_spec.rb | 75 +- spec/requests/api/internal/kubernetes_spec.rb | 6 +- spec/requests/api/internal/mail_room_spec.rb | 194 ++ spec/requests/api/lint_spec.rb | 19 +- spec/requests/api/maven_packages_spec.rb | 2 +- spec/requests/api/merge_requests_spec.rb | 35 +- spec/requests/api/package_files_spec.rb | 64 +- spec/requests/api/project_packages_spec.rb | 33 +- spec/requests/api/projects_spec.rb | 49 +- spec/requests/api/pypi_packages_spec.rb | 29 + .../api/resource_access_tokens_spec.rb | 187 +- spec/requests/api/rubygem_packages_spec.rb | 28 + spec/requests/api/search_spec.rb | 24 + .../api/terraform/modules/v1/packages_spec.rb | 59 +- .../api/usage_data_non_sql_metrics_spec.rb | 1 + spec/requests/api/usage_data_queries_spec.rb | 1 + spec/requests/api/users_spec.rb | 67 +- spec/requests/git_http_spec.rb | 4 +- .../groups/crm/contacts_controller_spec.rb | 16 +- .../crm/organizations_controller_spec.rb | 16 +- .../settings/access_tokens_controller_spec.rb | 90 + .../deployments_controller_spec.rb | 103 + .../context_commit_diffs_spec.rb | 1 - .../projects/merge_requests/diffs_spec.rb | 16 - .../merge_requests_discussions_spec.rb | 2 +- .../settings/access_tokens_controller_spec.rb | 47 +- spec/requests/rack_attack_global_spec.rb | 14 +- .../recursive_webhook_detection_spec.rb | 182 ++ spec/requests/sandbox_controller_spec.rb | 14 + spec/requests/users_controller_spec.rb | 13 + spec/routing/routing_spec.rb | 6 + spec/rubocop/code_reuse_helpers_spec.rb | 73 +- .../cop/database/establish_connection_spec.rb | 29 + ...tries_with_disable_ddl_transaction_spec.rb | 58 + .../cop/migration/schedule_async_spec.rb | 32 +- spec/scripts/setup/find_jh_branch_spec.rb | 97 + .../analytics_build_entity_spec.rb | 8 + .../analytics_issue_entity_spec.rb | 8 + .../environment_serializer_spec.rb | 36 + spec/serializers/group_child_entity_spec.rb | 4 + spec/serializers/pipeline_serializer_spec.rb | 2 +- .../alerts/update_service_spec.rb | 53 + spec/services/audit_event_service_spec.rb | 11 +- ...er_registry_authentication_service_spec.rb | 53 + .../branches/delete_merged_service_spec.rb | 2 +- .../archive_extraction_service_spec.rb | 6 +- .../file_decompression_service_spec.rb | 18 +- .../file_download_service_spec.rb | 32 +- .../bulk_imports/file_export_service_spec.rb | 16 +- .../lfs_objects_export_service_spec.rb | 70 + .../chat_names/authorize_user_service_spec.rb | 6 +- .../chat_names/find_user_service_spec.rb | 2 +- .../ci/after_requeue_job_service_spec.rb | 2 +- .../services/ci/archive_trace_service_spec.rb | 19 + ...create_downstream_pipeline_service_spec.rb | 6 +- .../ci/create_pipeline_service/cache_spec.rb | 2 +- .../creation_errors_and_warnings_spec.rb | 2 +- .../custom_config_content_spec.rb | 2 +- .../custom_yaml_tags_spec.rb | 2 +- .../create_pipeline_service/dry_run_spec.rb | 2 +- .../create_pipeline_service/include_spec.rb | 2 +- .../ci/create_pipeline_service/logger_spec.rb | 8 +- .../merge_requests_spec.rb | 2 +- .../ci/create_pipeline_service/needs_spec.rb | 2 +- .../create_pipeline_service/parallel_spec.rb | 2 +- .../parameter_content_spec.rb | 2 +- .../pre_post_stages_spec.rb | 2 +- .../ci/create_pipeline_service/rules_spec.rb | 2 +- .../ci/create_pipeline_service/tags_spec.rb | 2 +- .../ci/create_pipeline_service_spec.rb | 126 +- .../ci/destroy_pipeline_service_spec.rb | 24 +- .../delete_project_artifacts_service_spec.rb | 17 + .../destroy_all_expired_service_spec.rb | 47 +- ...re_project_build_artifacts_service_spec.rb | 157 ++ .../atomic_processing_service_spec.rb | 4 +- .../ci/pipelines/add_job_service_spec.rb | 2 +- spec/services/ci/play_build_service_spec.rb | 14 +- .../ci/process_sync_events_service_spec.rb | 26 +- spec/services/ci/register_job_service_spec.rb | 28 +- .../ci/register_runner_service_spec.rb | 226 ++ spec/services/ci/retry_build_service_spec.rb | 26 +- .../agent_tokens/track_usage_service_spec.rb | 84 + .../create_activity_event_service_spec.rb | 44 + .../delete_expired_events_service_spec.rb | 36 + .../integrations/create_service_spec.rb | 2 +- .../contacts/create_service_spec.rb | 4 +- .../contacts/update_service_spec.rb | 4 +- .../organizations/create_service_spec.rb | 2 +- .../organizations/update_service_spec.rb | 4 +- .../download_blob_service_spec.rb | 59 - .../find_cached_manifest_service_spec.rb | 4 +- .../find_or_create_blob_service_spec.rb | 71 - .../archive_in_project_service_spec.rb | 11 - .../create_for_build_service_spec.rb | 82 + .../update_diff_position_service_spec.rb | 2 +- .../collect_error_service_spec.rb | 41 +- spec/services/events/destroy_service_spec.rb | 16 +- .../feature_flags/hook_service_spec.rb | 2 +- .../git/process_ref_changes_service_spec.rb | 10 +- .../create_service_accounts_service_spec.rb | 45 + .../service_accounts_service_spec.rb | 19 +- spec/services/groups/update_service_spec.rb | 64 + ...e_project_from_remote_file_service_spec.rb | 49 +- ...lidate_remote_git_endpoint_service_spec.rb | 11 + .../incidents/create_service_spec.rb | 6 +- .../after_update_service_spec.rb | 56 + .../prepare_update_service_spec.rb | 108 + .../integrations/test/project_service_spec.rb | 2 +- spec/services/issues/build_service_spec.rb | 6 +- spec/services/issues/create_service_spec.rb | 21 +- spec/services/issues/move_service_spec.rb | 10 + .../issues/set_crm_contacts_service_spec.rb | 2 +- spec/services/issues/update_service_spec.rb | 123 +- spec/services/labels/transfer_service_spec.rb | 12 +- spec/services/members/destroy_service_spec.rb | 2 +- spec/services/members/invite_service_spec.rb | 2 +- .../merge_requests/base_service_spec.rb | 2 +- .../merge_requests/squash_service_spec.rb | 2 +- .../merge_requests/update_service_spec.rb | 2 +- spec/services/notes/create_service_spec.rb | 2 +- spec/services/notification_service_spec.rb | 8 +- .../composer/create_package_service_spec.rb | 12 +- .../packages/create_event_service_spec.rb | 18 +- .../find_or_create_package_service_spec.rb | 12 +- .../debian/process_changes_service_spec.rb | 24 + .../find_or_create_package_service_spec.rb | 17 + .../helm/process_file_service_spec.rb | 13 + ...kage_files_for_destruction_service_spec.rb | 56 + ...k_package_for_destruction_service_spec.rb} | 38 +- .../find_or_create_package_service_spec.rb | 8 + .../maven/metadata/sync_service_spec.rb | 18 + .../npm/create_package_service_spec.rb | 14 + ...date_package_from_metadata_service_spec.rb | 14 + .../pypi/create_package_service_spec.rb | 21 + .../rubygems/process_gem_service_spec.rb | 22 + .../create_package_service_spec.rb | 28 +- spec/services/projects/create_service_spec.rb | 3 +- .../services/projects/destroy_service_spec.rb | 7 +- spec/services/projects/fork_service_spec.rb | 4 +- .../prometheus/alerts/notify_service_spec.rb | 72 + .../repository_languages_service_spec.rb | 2 +- ...update_pages_configuration_service_spec.rb | 76 - .../update_remote_mirror_service_spec.rb | 78 +- spec/services/projects/update_service_spec.rb | 48 +- .../protected_branches/create_service_spec.rb | 2 +- .../destroy_service_spec.rb | 2 +- .../protected_branches/update_service_spec.rb | 2 +- .../protected_tags/create_service_spec.rb | 2 +- .../protected_tags/destroy_service_spec.rb | 2 +- .../protected_tags/update_service_spec.rb | 2 +- .../quick_actions/interpret_service_spec.rb | 2 +- .../create_service_spec.rb | 62 +- .../revoke_service_spec.rb | 116 +- .../submit_service_ping_service_spec.rb | 2 + .../test_hooks/system_service_spec.rb | 2 +- spec/services/users/create_service_spec.rb | 14 +- ...efresh_authorized_projects_service_spec.rb | 2 +- ...ert_credit_card_validation_service_spec.rb | 8 +- .../verify_pages_domain_service_spec.rb | 50 - spec/services/web_hook_service_spec.rb | 139 +- .../services/work_items/build_service_spec.rb | 20 + .../work_items/create_service_spec.rb | 72 + spec/simplecov_env.rb | 1 - spec/spec_helper.rb | 21 +- .../cross-database-modification-allowlist.yml | 32 +- spec/support/db_cleaner.rb | 2 +- spec/support/flaky_tests.rb | 2 +- spec/support/gitlab_stubs/gitlab_ci.yml | 8 +- .../helpers/cycle_analytics_helpers.rb | 2 +- spec/support/helpers/gitaly_setup.rb | 204 +- spec/support/helpers/login_helpers.rb | 2 +- spec/support/helpers/stub_gitlab_calls.rb | 7 +- spec/support/helpers/stub_object_storage.rb | 6 + spec/support/helpers/test_env.rb | 132 +- spec/support/helpers/usage_data_helpers.rb | 4 + .../import_export/export_file_helper.rb | 2 +- spec/support/praefect.rb | 4 +- .../navbar_structure_context.rb | 1 + .../policies/group_policy_shared_context.rb | 39 +- .../policies/project_policy_shared_context.rb | 2 +- ...create_notes_rate_limit_shared_examples.rb | 43 +- .../rate_limited_endpoint_shared_examples.rb | 57 + .../features/access_tokens_shared_examples.rb | 165 ++ .../features/packages_shared_examples.rb | 4 +- .../sidebar/sidebar_labels_shared_examples.rb | 127 + .../features/sidebar_shared_examples.rb | 4 + .../snippet_visibility_shared_examples.rb | 2 +- .../graphql/mutation_shared_examples.rb | 2 +- .../permission_check_shared_examples.rb | 44 +- .../permission_check_shared_examples.rb | 50 +- ...ackground_migration_job_shared_examples.rb | 10 +- ...lti_store_feature_flags_shared_examples.rb | 43 - .../gitlab/unique_ip_check_shared_examples.rb | 16 +- .../have_loose_foreign_key.rb | 10 +- .../metrics/sampler_shared_examples.rb | 84 +- .../application_setting_shared_examples.rb | 4 +- .../clusters/elastic_stack_client_shared.rb | 2 +- .../escalatable_shared_examples.rb | 33 + ...ack_mattermost_notifier_shared_examples.rb | 231 +- .../packages/destructible_shared_examples.rb | 18 + .../concerns/ttl_expirable_shared_examples.rb | 13 +- .../models/member_shared_examples.rb | 4 +- .../debian/distribution_shared_examples.rb | 21 +- ...date_project_statistics_shared_examples.rb | 6 +- .../namespaces/traversal_scope_examples.rb | 25 + ...ccess_tokens_controller_shared_examples.rb | 46 +- .../api/conan_packages_shared_examples.rb | 26 + .../api/debian_packages_shared_examples.rb | 1 - .../package_details_shared_examples.rb | 24 + .../api/nuget_endpoints_shared_examples.rb | 1 + .../alert_management_shared_examples.rb | 6 +- ...r_registry_auth_service_shared_examples.rb | 2 + .../services/incident_shared_examples.rb | 16 +- ...th_all_expected_metrics_shared_examples.rb | 2 + ...hout_restricted_metrics_shared_examples.rb | 2 + .../work_item_base_types_importer.rb | 4 +- .../cleanup_worker_shared_examples.rb | 14 +- spec/support/system_exit_detected.rb | 15 + .../database/multiple_databases_spec.rb | 12 +- spec/tasks/gitlab/backup_rake_spec.rb | 108 +- spec/tasks/gitlab/db_rake_spec.rb | 4 +- spec/tasks/gitlab/password_rake_spec.rb | 8 +- spec/tasks/gitlab/usage_data_rake_spec.rb | 1 + spec/tooling/danger/datateam_spec.rb | 113 + spec/tooling/danger/project_helper_spec.rb | 2 +- .../tooling/docs/deprecation_handling_spec.rb | 40 + .../uploaders/ci/secure_file_uploader_spec.rb | 72 + .../admin/dashboard/index.html.haml_spec.rb | 13 +- spec/views/groups/edit.html.haml_spec.rb | 48 + spec/views/help/index.html.haml_spec.rb | 1 - .../header/_gitlab_version.html.haml_spec.rb | 16 + .../profiles/keys/_form.html.haml_spec.rb | 6 +- .../commits/_commit.html.haml_spec.rb | 2 +- spec/views/projects/edit.html.haml_spec.rb | 24 - .../merge_requests/show.html.haml_spec.rb | 28 - .../projects/services/_form.haml_spec.rb | 30 +- .../access_tokens/_table.html.haml_spec.rb | 24 +- .../shared/nav/_sidebar.html.haml_spec.rb | 3 +- .../shared/wikis/_sidebar.html.haml_spec.rb | 2 +- spec/workers/ci/build_finished_worker_spec.rb | 15 + ...ire_project_build_artifacts_worker_spec.rb | 32 + .../delete_expired_events_worker_spec.rb | 30 + .../concerns/application_worker_spec.rb | 67 - .../concerns/cluster_agent_queue_spec.rb | 19 + .../packages/cleanup_artifact_worker_spec.rb | 36 + .../cleanup_dependency_proxy_worker_spec.rb | 4 +- .../image_ttl_group_policy_worker_spec.rb | 12 +- spec/workers/deployments/hooks_worker_spec.rb | 4 +- spec/workers/email_receiver_worker_spec.rb | 78 +- spec/workers/every_sidekiq_worker_spec.rb | 4 +- .../loose_foreign_keys/cleanup_worker_spec.rb | 28 + .../update_head_pipeline_worker_spec.rb | 138 ++ .../dashboard/sync_dashboards_worker_spec.rb | 34 +- .../cleanup_package_file_worker_spec.rb | 76 + .../cleanup_package_registry_worker_spec.rb | 57 + .../packages/go/sync_packages_worker_spec.rb | 12 + ...ckage_files_for_destruction_worker_spec.rb | 55 + .../pages_update_configuration_worker_spec.rb | 53 +- spec/workers/pages_worker_spec.rb | 16 + ...urge_dependency_proxy_cache_worker_spec.rb | 6 +- spec/workers/web_hook_worker_spec.rb | 9 + tooling/bin/find_changes | 2 +- tooling/danger/datateam.rb | 58 + tooling/danger/project_helper.rb | 1 + tooling/deprecations/docs.rb | 39 - tooling/docs/deprecation_handling.rb | 42 + workhorse/.gitignore | 1 + workhorse/Makefile | 24 +- workhorse/internal/proxy/proxy.go | 20 +- workhorse/internal/upstream/upstream.go | 8 +- workhorse/internal/upstream/upstream_test.go | 17 + workhorse/proxy_test.go | 22 +- yarn.lock | 702 +++--- 3928 files changed, 124983 insertions(+), 52548 deletions(-) create mode 100644 .gitlab/issue_templates/Performance Indicator Metric.md create mode 100644 .gitlab/merge_request_templates/Removals.md delete mode 100644 .rubocop_todo/graphql/argument_name.yml create mode 100644 app/assets/javascripts/behaviors/markdown/render_sandboxed_mermaid.js rename app/assets/javascripts/{ => blob}/line_highlighter.js (100%) delete mode 100644 app/assets/javascripts/branches/branches_delete_modal.js create mode 100644 app/assets/javascripts/clusters/agents/graphql/provider.js create mode 100644 app/assets/javascripts/clusters_list/components/agent_options.vue create mode 100644 app/assets/javascripts/clusters_list/graphql/mutations/delete_agent.mutation.graphql delete mode 100644 app/assets/javascripts/confirm_danger_modal.js create mode 100644 app/assets/javascripts/crm/components/form.vue create mode 100644 app/assets/javascripts/design_management/components/design_notes/design_note_signed_out.vue create mode 100644 app/assets/javascripts/environments/components/deployment.vue create mode 100644 app/assets/javascripts/environments/components/deployment_status_badge.vue create mode 100644 app/assets/javascripts/environments/components/new_environment_item.vue create mode 100644 app/assets/javascripts/environments/graphql/mutations/action.mutation.graphql create mode 100644 app/assets/javascripts/environments/graphql/mutations/set_environment_to_stop.mutation.graphql create mode 100644 app/assets/javascripts/environments/graphql/queries/environment_to_stop.query.graphql create mode 100644 app/assets/javascripts/environments/graphql/queries/is_environment_stopping.query.graphql create mode 100644 app/assets/javascripts/environments/graphql/queries/is_last_deployment.query.graphql delete mode 100644 app/assets/javascripts/experimental_flags.js create mode 100644 app/assets/javascripts/gitlab_version_check.js create mode 100644 app/assets/javascripts/google_cloud/components/deployments_service_table.vue create mode 100644 app/assets/javascripts/google_tag_manager/index.js create mode 100644 app/assets/javascripts/graphql_shared/fragment_types/vulnerability_location_types.js create mode 100644 app/assets/javascripts/graphql_shared/fragments/issue.fragment.graphql rename app/assets/javascripts/{ => groups}/groups_list.js (91%) rename app/assets/javascripts/{ => groups}/landing.js (100%) rename app/assets/javascripts/{ => groups}/transfer_edit.js (100%) create mode 100644 app/assets/javascripts/integrations/overrides/components/integration_tabs.vue create mode 100644 app/assets/javascripts/issuable/bulk_update_sidebar/index.js delete mode 100644 app/assets/javascripts/issuable/bulk_update_sidebar/init_issue_status_select.js delete mode 100644 app/assets/javascripts/issuable/bulk_update_sidebar/issuable_init_bulk_update_sidebar.js rename app/assets/javascripts/{ => issues}/create_merge_request_dropdown.js (98%) delete mode 100644 app/assets/javascripts/issues/form.js create mode 100644 app/assets/javascripts/issues/index.js delete mode 100644 app/assets/javascripts/issues/init_filtered_search_service_desk.js rename app/assets/javascripts/{issues_list => issues/list}/components/issue_card_time_info.vue (100%) rename app/assets/javascripts/{issues_list => issues/list}/components/issues_list_app.vue (98%) rename app/assets/javascripts/{issues_list => issues/list}/components/jira_issues_import_status_app.vue (100%) rename app/assets/javascripts/{issues_list => issues/list}/components/new_issue_dropdown.vue (98%) rename app/assets/javascripts/{issues_list => issues/list}/constants.js (83%) rename app/assets/javascripts/{issues_list => issues/list}/eventhub.js (100%) rename app/assets/javascripts/{issues_list => issues/list}/index.js (80%) rename app/assets/javascripts/{issues_list => issues/list}/queries/get_issues.query.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/get_issues_counts.query.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/get_issues_list_details.query.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/issue.fragment.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/label.fragment.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/milestone.fragment.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/reorder_issues.mutation.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/search_labels.query.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/search_milestones.query.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/search_projects.query.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/search_users.query.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/queries/user.fragment.graphql (100%) rename app/assets/javascripts/{issues_list => issues/list}/utils.js (99%) delete mode 100644 app/assets/javascripts/issues/sentry_error_stack_trace/index.js delete mode 100644 app/assets/javascripts/issues/show.js rename app/assets/javascripts/issues/{sentry_error_stack_trace => show}/components/sentry_error_stack_trace.vue (100%) rename app/assets/javascripts/issues/show/{incident.js => index.js} (52%) delete mode 100644 app/assets/javascripts/issues/show/issue.js delete mode 100644 app/assets/javascripts/issues_list/components/issuable.vue delete mode 100644 app/assets/javascripts/issues_list/components/issuables_list_app.vue delete mode 100644 app/assets/javascripts/issues_list/service_desk_helper.js create mode 100644 app/assets/javascripts/jobs/bridge/graphql/queries/pipeline.query.graphql create mode 100644 app/assets/javascripts/lib/mermaid.js create mode 100644 app/assets/javascripts/lib/utils/resize_observer.js delete mode 100644 app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/empty_state.vue delete mode 100644 app/assets/javascripts/packages_and_registries/package_registry/pages/details.js rename app/assets/javascripts/packages_and_registries/package_registry/{components/details/app.vue => pages/details.vue} (93%) create mode 100644 app/assets/javascripts/packages_and_registries/shared/components/persisted_search.vue rename app/assets/javascripts/packages_and_registries/{container_registry/explorer => shared}/components/registry_breadcrumb.vue (81%) create mode 100644 app/assets/javascripts/pages/admin/runners/edit/index.js delete mode 100644 app/assets/javascripts/pages/admin/runners/show/index.js create mode 100644 app/assets/javascripts/pages/groups/packages/index.js delete mode 100644 app/assets/javascripts/pages/groups/packages/index/index.js create mode 100644 app/assets/javascripts/pages/groups/settings/access_tokens/index.js create mode 100644 app/assets/javascripts/pages/projects/packages/packages/index.js delete mode 100644 app/assets/javascripts/pages/projects/packages/packages/index/index.js delete mode 100644 app/assets/javascripts/pages/projects/packages/packages/show/index.js create mode 100644 app/assets/javascripts/pipelines/graphql/fragmentTypes.json rename app/assets/javascripts/{ => projects}/project_find_file.js (100%) rename app/assets/javascripts/{ => projects}/project_import.js (68%) rename app/assets/javascripts/{ => projects}/project_visibility.js (71%) rename app/assets/javascripts/{ => projects}/star.js (86%) create mode 100644 app/assets/javascripts/repository/components/blob_controls.vue create mode 100644 app/assets/javascripts/repository/queries/blob_controls.query.graphql create mode 100644 app/assets/javascripts/repository/queries/path_locks.fragment.graphql rename app/assets/javascripts/runner/{runner_details/runner_details_app.vue => admin_runner_edit/admin_runner_edit_app.vue} (60%) rename app/assets/javascripts/runner/{runner_details => admin_runner_edit}/index.js (73%) create mode 100644 app/assets/javascripts/runner/components/runner_header.vue delete mode 100644 app/assets/javascripts/runner/components/runner_type_alert.vue delete mode 100644 app/assets/javascripts/runner/components/stat/runner_online_stat.vue create mode 100644 app/assets/javascripts/runner/components/stat/runner_stats.vue create mode 100644 app/assets/javascripts/runner/components/stat/runner_status_stat.vue create mode 100644 app/assets/javascripts/runner/graphql/get_group_runners_count.query.graphql create mode 100644 app/assets/javascripts/runner/graphql/get_runners_count.query.graphql rename app/assets/javascripts/runner/{runner_details => }/runner_update_form_utils.js (100%) create mode 100644 app/assets/javascripts/security_configuration/graphql/configure_security_training_providers.mutation.graphql create mode 100644 app/assets/javascripts/security_configuration/resolver.js delete mode 100644 app/assets/javascripts/tree.js delete mode 100644 app/assets/javascripts/version_check_image.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/extensions/terraform/index.js create mode 100644 app/assets/javascripts/vue_shared/components/gitlab_version_check.vue delete mode 100644 app/assets/javascripts/vue_shared/issuable/show/constants.js delete mode 100644 app/assets/stylesheets/page_bundles/cycle_analytics.scss delete mode 100644 app/assets/stylesheets/pages/sherlock.scss create mode 100644 app/controllers/concerns/access_tokens_actions.rb create mode 100644 app/controllers/groups/settings/access_tokens_controller.rb create mode 100644 app/controllers/projects/google_cloud/deployments_controller.rb create mode 100644 app/controllers/sandbox_controller.rb delete mode 100644 app/controllers/sherlock/application_controller.rb delete mode 100644 app/controllers/sherlock/file_samples_controller.rb delete mode 100644 app/controllers/sherlock/queries_controller.rb delete mode 100644 app/controllers/sherlock/transactions_controller.rb create mode 100644 app/events/ci/pipeline_created_event.rb delete mode 100644 app/experiments/change_continuous_onboarding_link_urls_experiment.rb create mode 100644 app/experiments/require_verification_for_namespace_creation_experiment.rb create mode 100644 app/graphql/mutations/clusters/agent_tokens/revoke.rb create mode 100644 app/graphql/mutations/issues/set_escalation_status.rb create mode 100644 app/graphql/mutations/work_items/create.rb create mode 100644 app/graphql/resolvers/work_items/types_resolver.rb create mode 100644 app/graphql/types/ci/pipeline_message_type.rb create mode 100644 app/graphql/types/clusters/agent_token_status_enum.rb create mode 100644 app/graphql/types/incident_management/escalation_status_enum.rb create mode 100644 app/graphql/types/sha_format_enum.rb create mode 100644 app/graphql/types/work_item_type.rb create mode 100644 app/graphql/types/work_items/type_type.rb create mode 100644 app/helpers/groups/crm_settings_helper.rb delete mode 100644 app/helpers/projects/issues/service_desk_helper.rb create mode 100644 app/models/ci/secure_file.rb create mode 100644 app/models/concerns/forced_email_confirmation.rb create mode 100644 app/models/concerns/packages/destructible.rb create mode 100644 app/models/concerns/packages/installable.rb create mode 100644 app/models/concerns/runner_token_expiration_interval.rb create mode 100644 app/models/group/crm_settings.rb create mode 100644 app/models/members/project_namespace_member.rb create mode 100644 app/models/preloaders/environments/deployment_preloader.rb create mode 100644 app/models/work_item.rb delete mode 100644 app/models/work_item/type.rb create mode 100644 app/models/work_items/type.rb create mode 100644 app/policies/work_items/type_policy.rb create mode 100644 app/services/bulk_imports/lfs_objects_export_service.rb create mode 100644 app/services/ci/job_artifacts/delete_project_artifacts_service.rb create mode 100644 app/services/ci/job_artifacts/expire_project_build_artifacts_service.rb create mode 100644 app/services/ci/register_runner_service.rb create mode 100644 app/services/clusters/agent_tokens/track_usage_service.rb create mode 100644 app/services/clusters/agents/create_activity_event_service.rb create mode 100644 app/services/clusters/agents/delete_expired_events_service.rb delete mode 100644 app/services/dependency_proxy/download_blob_service.rb delete mode 100644 app/services/dependency_proxy/find_or_create_blob_service.rb create mode 100644 app/services/deployments/create_for_build_service.rb create mode 100644 app/services/google_cloud/create_service_accounts_service.rb create mode 100644 app/services/incident_management/issuable_escalation_statuses/after_update_service.rb create mode 100644 app/services/incident_management/issuable_escalation_statuses/prepare_update_service.rb delete mode 100644 app/services/packages/destroy_package_service.rb create mode 100644 app/services/packages/mark_package_files_for_destruction_service.rb create mode 100644 app/services/packages/mark_package_for_destruction_service.rb delete mode 100644 app/services/projects/update_pages_configuration_service.rb create mode 100644 app/services/work_items/build_service.rb create mode 100644 app/services/work_items/create_service.rb create mode 100644 app/uploaders/ci/secure_file_uploader.rb delete mode 100644 app/views/admin/labels/_form.html.haml create mode 100644 app/views/admin/runners/edit.html.haml delete mode 100644 app/views/graphiql/rails/editors/show.html.erb create mode 100644 app/views/groups/settings/_ip_restriction_registration_features_cta.html.haml delete mode 100644 app/views/groups/settings/_project_access_token_creation.html.haml create mode 100644 app/views/groups/settings/_resource_access_token_creation.html.haml create mode 100644 app/views/groups/settings/access_tokens/index.html.haml create mode 100644 app/views/layouts/header/_gitlab_version.html.haml create mode 100644 app/views/layouts/header/_marketing_links.html.haml create mode 100644 app/views/layouts/header/_sign_in_register_button.html.haml delete mode 100644 app/views/projects/branches/_delete_protected_modal.html.haml create mode 100644 app/views/projects/diffs/_email_line.html.haml delete mode 100644 app/views/projects/packages/packages/show.html.haml create mode 100644 app/views/sandbox/mermaid.html.erb delete mode 100644 app/views/shared/_confirm_modal.html.haml rename app/views/shared/{_service_settings.html.haml => _integration_settings.html.haml} (92%) delete mode 100644 app/views/shared/empty_states/_deploy_keys.html.haml delete mode 100644 app/views/shared/gitpod/_enable_gitpod_modal.html.haml delete mode 100644 app/views/sherlock/file_samples/show.html.haml delete mode 100644 app/views/sherlock/queries/_backtrace.html.haml delete mode 100644 app/views/sherlock/queries/_general.html.haml delete mode 100644 app/views/sherlock/queries/show.html.haml delete mode 100644 app/views/sherlock/transactions/_file_samples.html.haml delete mode 100644 app/views/sherlock/transactions/_general.html.haml delete mode 100644 app/views/sherlock/transactions/_queries.html.haml delete mode 100644 app/views/sherlock/transactions/index.html.haml delete mode 100644 app/views/sherlock/transactions/show.html.haml create mode 100644 app/workers/ci/job_artifacts/expire_project_build_artifacts_worker.rb create mode 100644 app/workers/clusters/agents/delete_expired_events_worker.rb create mode 100644 app/workers/concerns/cluster_agent_queue.rb rename app/workers/concerns/{dependency_proxy/cleanup_worker.rb => packages/cleanup_artifact_worker.rb} (59%) create mode 100644 app/workers/merge_requests/update_head_pipeline_worker.rb create mode 100644 app/workers/packages/cleanup_package_file_worker.rb create mode 100644 app/workers/packages/cleanup_package_registry_worker.rb create mode 100644 app/workers/packages/mark_package_files_for_destruction_worker.rb rename config/feature_flags/development/{hide_access_tokens.yml => bulk_expire_project_artifacts.yml} (70%) create mode 100644 config/feature_flags/development/chat_notification_deployment_protected_branch_filter.yml rename config/feature_flags/development/{use_primary_store_as_default_for_sessions.yml => ci_artifact_fast_removal_large_loop_limit.yml} (60%) create mode 100644 config/feature_flags/development/ci_decompose_for_namespace_monthly_usage_query.yml rename config/feature_flags/development/{ci_archived_build_trace_checksum.yml => ci_destroy_all_expired_service.yml} (72%) rename config/feature_flags/development/{cached_mr_widget.yml => ci_find_runners_by_ci_mirrors.yml} (63%) rename config/feature_flags/development/{ci_store_trace_outside_transaction.yml => ci_owned_runners_cross_joins_fix.yml} (63%) create mode 100644 config/feature_flags/development/ci_skip_legacy_extra_minutes_recalculation.yml create mode 100644 config/feature_flags/development/ci_skip_require_credit_card_for_addon_ci_minutes.yml create mode 100644 config/feature_flags/development/ci_use_variables_builder_definitions.yml rename config/feature_flags/development/{sidekiq_push_bulk_in_batches.yml => container_registry_cdn_redirect.yml} (63%) create mode 100644 config/feature_flags/development/custom_preloader_for_deployments.yml rename config/feature_flags/development/{dast_view_scans.yml => dast_api_scanner.yml} (67%) create mode 100644 config/feature_flags/development/datadog_integration_logs_collection.yml delete mode 100644 config/feature_flags/development/delete_branch_confirmation_modals.yml delete mode 100644 config/feature_flags/development/dependency_proxy_workhorse.yml delete mode 100644 config/feature_flags/development/expire_job_and_pipeline_cache_synchronously.yml delete mode 100644 config/feature_flags/development/find_tag_via_gitaly.yml rename config/feature_flags/development/{vue_issuables_list.yml => fix_comment_scroll.yml} (75%) create mode 100644 config/feature_flags/development/graphql_ci_runner_executor.yml delete mode 100644 config/feature_flags/development/improved_container_scan_matching.yml rename config/feature_flags/development/{multiple_gpg_signatures.yml => inline_haml_diff_line_rendering.yml} (63%) create mode 100644 config/feature_flags/development/linear_mirrors_worker_roots.yml delete mode 100644 config/feature_flags/development/linear_user_group_notification_settings_finder_ancestors_scopes.yml create mode 100644 config/feature_flags/development/migrate_vulnerability_finding_uuids.yml delete mode 100644 config/feature_flags/development/operational_vulnerabilities.yml delete mode 100644 config/feature_flags/development/optimized_issue_neighbor_queries.yml rename config/feature_flags/development/{scim_token_vue.yml => packages_installable_package_files.yml} (68%) delete mode 100644 config/feature_flags/development/paginatable_namespace_drop_down_for_project_creation.yml delete mode 100644 config/feature_flags/development/permitted_attributes_for_import_export.yml rename config/feature_flags/development/{verify_participants_access.yml => rate_limit_gitlab_shell.yml} (72%) rename config/feature_flags/development/{loose_index_scan_for_distinct_values.yml => rate_limit_profile_update_username.yml} (69%) rename config/feature_flags/development/{linear_group_descendants_finder.yml => rate_limit_user_by_id_endpoint.yml} (69%) create mode 100644 config/feature_flags/development/rate_limit_user_sign_up_endpoint.yml create mode 100644 config/feature_flags/development/rate_limit_username_exists_endpoint.yml create mode 100644 config/feature_flags/development/rebase_without_ci_ui.yml rename config/feature_flags/development/{optimize_merge_request_parser.yml => remote_mirror_fail_on_lfs.yml} (71%) rename config/feature_flags/development/{vue_epics_list.yml => runner_read_only_admin_view.yml} (64%) rename config/feature_flags/development/{admin_deploy_keys_vue.yml => sandboxed_mermaid.yml} (63%) delete mode 100644 config/feature_flags/development/show_relevant_approval_rule_approvers.yml delete mode 100644 config/feature_flags/development/swimlanes_buffered_rendering.yml rename config/feature_flags/development/{deployments_archive.yml => track_geo_proxy_events.yml} (65%) rename config/feature_flags/development/{log_import_export_relation_creation.yml => trigger_job_retry_action.yml} (62%) create mode 100644 config/feature_flags/development/unify_security_configuration.yml delete mode 100644 config/feature_flags/development/use_cmark_renderer.yml delete mode 100644 config/feature_flags/development/use_primary_and_secondary_stores_for_sessions.yml rename config/feature_flags/development/{use_optimized_group_labels_query.yml => use_traversal_ids_for_self_and_hierarchy.yml} (61%) create mode 100644 config/feature_flags/development/use_typhoeus_elasticsearch_adapter.yml rename config/feature_flags/development/{jira_use_first_ref_by_oid.yml => vue_integration_form.yml} (65%) delete mode 100644 config/feature_flags/development/vulnerability_location_image_filter.yml create mode 100644 config/feature_flags/experiment/logged_out_marketing_header.yml create mode 100644 config/feature_flags/experiment/pql_three_cta_test.yml create mode 100644 config/feature_flags/experiment/require_verification_for_group_creation.yml create mode 100644 config/feature_flags/experiment/require_verification_for_namespace_creation.yml create mode 100644 config/feature_flags/ops/ci_unsafe_regexp_logger.yml rename config/feature_flags/{development/log_implicit_sidekiq_status_calls.yml => ops/gitlab_gtm_datalayer.yml} (61%) create mode 100644 config/feature_flags/ops/prometheus_notify_max_alerts.yml create mode 100644 config/helpers/patched_crypto.js delete mode 100644 config/initializers/sherlock.rb create mode 100644 config/initializers/webhook_recursion_detection.rb create mode 100644 config/initializers/wikicloth_disable_lua_patch.rb rename config/initializers/{wikicloth_patch.rb => wikicloth_redos_patch.rb} (100%) delete mode 100644 config/locales/sherlock.en.yml create mode 100644 config/metrics/counts_28d/20211216083832_users_clicking_license_testing_visiting_external_website_monthly.yml create mode 100644 config/metrics/counts_7d/20211216084934_users_clicking_license_testing_visiting_external_website_weekly.yml create mode 100644 config/metrics/settings/20211201012652_flavor.yml delete mode 100644 config/routes/sherlock.rb create mode 100644 danger/plugins/datateam.rb rename data/deprecations/{14-3-deprecation-release-cli.yml => 14-2-deprecation-release-cli.yml} (92%) rename data/deprecations/{deprecation_omniauth-kerberos_gem.yml => 14-3-deprecation_omniauth-kerberos_gem.yml} (97%) rename data/deprecations/{serverless.yml => 14-3-serverless.yml} (97%) rename data/deprecations/{deprecate-defaultMergeCommitMessageWithDescription-graphql.yml => 14-5-deprecate-defaultMergeCommitMessageWithDescription-graphql.yml} (98%) rename data/deprecations/{15-0-deprecate-sles-12sp2.yml => 14-5-deprecate-sles-12sp2.yml} (97%) rename data/deprecations/{15-0-deprecation-versions-packagetype.yml => 14-5-deprecation-versions-packagetype.yml} (97%) rename data/deprecations/{disable_strict_host_key_checking.yml => 14-5-disable_strict_host_key_checking.yml} (97%) rename data/deprecations/{14-3-package-container-registry-api-group-update.yml => 14-5-package-container-registry-api-group-update.yml} (95%) rename data/deprecations/{15-0-remove-dependency-proxy-permissions-flag.yml => 14-5-remove-dependency-proxy-permissions-flag.yml} (98%) rename data/deprecations/{15-0-remove-package-pipelines-api.yml => 14-5-remove-package-pipelines-api.yml} (97%) rename data/deprecations/{15-0-remove-pipelines-from-version-field.yml => 14-5-remove-pipelines-from-version-field.yml} (94%) rename data/deprecations/{ runner-s3-authenticationtype-nonexplicit-config-deprecation.yml => 14-5-runner-s3-authenticationtype-nonexplicit-config-deprecation.yml} (97%) create mode 100644 data/deprecations/14-6-Enforce-validation-of-security-schemas.yml create mode 100644 data/deprecations/14-6-container-scanning-schemas-below-14.yml create mode 100644 data/deprecations/14-6-coverage-fuzzing-schemas-below-14.yml create mode 100644 data/deprecations/14-6-dast-schemas-below-14.yml create mode 100644 data/deprecations/14-6-dependency-scanning-schemas-below-14.yml rename data/deprecations/{job_char_limit.yml => 14-6-job_char_limit.yml} (69%) rename data/deprecations/{runner_api_new_stale_status_breaking_change.yml => 14-6-runner_api_new_stale_status_breaking_change.yml} (97%) create mode 100644 data/deprecations/14-6-sast-schemas-below-14.yml create mode 100644 data/deprecations/14-6-secret-detection-schemas-below-14.yml create mode 100644 data/deprecations/14-7-deprecate-artifacts-keyword.yml create mode 100644 data/deprecations/14-7-deprecate-godep-support-in-license-compliance.yml create mode 100644 data/deprecations/14-7-deprecate-merged_by-api-field.yml create mode 100644 data/deprecations/14-7-deprecate-static-site-editor.yml create mode 100644 data/deprecations/14-7-pseudonymizer.yml create mode 100644 data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml create mode 100644 data/deprecations/14-8-remove-support-for-fixup-in-commit-message-triggering-draft-status.yml create mode 100644 data/deprecations/15-0-deprecate-monitor-logging.yml create mode 100644 data/deprecations/15-0-deprecate-monitor-metrics.yml create mode 100644 data/deprecations/15-0-deprecate-monitor-tracing.yml create mode 100644 data/removals/14_0/14_0-ds-deprecations.yml create mode 100644 data/removals/14_0/14_0-lc-deprecations.yml create mode 100644 data/removals/14_0/change_default_branch_name_to_main.yml create mode 100644 data/removals/14_0/create-code-review-draft-wip.yml create mode 100644 data/removals/14_0/create-code-review-w-parameter-removal.yml create mode 100644 data/removals/14_0/deprecate_ci_project_config_path_variable.yml create mode 100644 data/removals/14_0/deprecation_bump_terraform_template_version.yml create mode 100644 data/removals/14_0/deprecation_manage_access_14_0.yml create mode 100644 data/removals/14_0/deprecation_update_cicd_templates_to_stop_using_hardcode_master.yml create mode 100644 data/removals/14_0/deuley_servicetemplates_removal.yml create mode 100644 data/removals/14_0/release_announce_deprecation_of_release_notes_api.yml create mode 100644 data/removals/14_0/release_deprecation_auto-deploy-image.yml create mode 100644 data/removals/14_0/release_domainsource_configuration_for_gitlab_pages_deprecation.yml create mode 100644 data/removals/14_0/release_legacy_feature_flags_deprecation.yml create mode 100644 data/removals/14_0/release_remove_redundant_keyvalue_pair_from_the_payload_of_dora.yml create mode 100644 data/removals/14_0/removal-geo-fdw-settings.yml create mode 100644 data/removals/14_0/removal-graphql-fields.yml create mode 100644 data/removals/14_0/removal-legacy-storage.yml create mode 100644 data/removals/14_0/removal-protect-features.yml create mode 100644 data/removals/14_0/removal-sidekiq_experimental_queue_selector.yml create mode 100644 data/removals/14_0/removal-unicorn.yml create mode 100644 data/removals/14_0/removal_ci_project_config_path.yml create mode 100644 data/removals/14_0/removal_enablement_helm2.yml create mode 100644 data/removals/14_0/removal_enablement_opensuse_15_1.yml create mode 100644 data/removals/14_0/removal_enablement_pg11.yml create mode 100644 data/removals/14_0/removal_enablement_ubuntu_16.yml create mode 100644 data/removals/14_0/removal_repost_static_analysis_notices.yml create mode 100644 data/removals/14_0/removal_runner_25555.yml create mode 100644 data/removals/14_0/removal_runner_26036.yml create mode 100644 data/removals/14_0/removal_runner_26419.yml create mode 100644 data/removals/14_0/removal_runner_4845.yml create mode 100644 data/removals/14_0/removal_runner_6413.yml create mode 100644 data/removals/14_0/removals-14-testing-team.yml create mode 100644 data/removals/14_0/removals_runner_26651.yml create mode 100644 data/removals/14_0/removals_runner_26679.yml create mode 100644 data/removals/14_0/removals_runner_26900.yml create mode 100644 data/removals/14_0/removals_runner_27175.yml create mode 100644 data/removals/14_0/removals_runner_27218.yml create mode 100644 data/removals/14_0/removals_runner_27551.yml create mode 100644 data/removals/14_0/removals_runner_27899.yml create mode 100644 data/removals/14_0/remove-sql-elector.yml create mode 100644 data/removals/14_0/remove_dast_env_variables.yml create mode 100644 data/removals/14_0/remove_dast_legacy_domain_validation.yml create mode 100644 data/removals/14_0/remove_dast_legacy_report_fields.yml create mode 100644 data/removals/14_0/remove_dast_spider_host_reset.yml create mode 100644 data/removals/14_0/remove_dast_template_stages.yml create mode 100644 data/removals/14_0/remove_optimize_api.yml create mode 100644 data/removals/14_0/remove_terraform_template.yml create mode 100644 data/removals/14_0/verify-ci-removal-parametertrace.yml create mode 100644 data/removals/14_0/verify-ci-removalpipelineservice.yml create mode 100644 data/removals/14_1/removal-memory-prometheus-options-source.yml create mode 100644 data/removals/14_1/removal-outdated-browser-support.yml create mode 100644 data/removals/14_2/removal-verify-build-log.yml create mode 100644 data/removals/14_3/removal-limit-tags-to-50.yml create mode 100644 data/removals/14_3/removal-verify-pe-pipelinefindername.yml create mode 100644 data/removals/14_3/removal_legacy_storage_setting.yml create mode 100644 data/removals/templates/_removal_template.md.erb create mode 100644 data/removals/templates/example.yml create mode 100644 data/whats_new/202201200001_14_07.yml create mode 100644 db/fixtures/development/31_terraform_state.rb delete mode 100644 db/migrate/20201211145950_add_bloat_estimate_to_reindex_action.rb delete mode 100644 db/migrate/20201214000000_change_mr_allow_maintainer_to_push_default.rb delete mode 100644 db/migrate/20201214032220_add_has_external_wiki_trigger.rb delete mode 100644 db/migrate/20201214084105_add_expiration_policy_completed_at_to_container_repositories.rb delete mode 100644 db/migrate/20201214111858_add_container_registry_cleanup_tags_service_max_list_size_to_application_settings.rb delete mode 100644 db/migrate/20201214112752_add_app_settings_container_reg_cleanup_tags_service_max_list_size_constraint.rb delete mode 100644 db/migrate/20201214113729_add_custom_mapping_columns_to_http_integrations.rb delete mode 100644 db/migrate/20201214184020_add_epic_board_list.rb delete mode 100644 db/migrate/20201215084652_delete_mock_deployment_service_records.rb delete mode 100644 db/migrate/20201215132151_change_unique_index_on_security_findings.rb delete mode 100644 db/migrate/20201215205404_create_namespace_package_settings.rb delete mode 100644 db/migrate/20201216151616_add_squash_commit_sha_index.rb delete mode 100644 db/migrate/20201216154457_add_devops_adoption_snapshot_range_end.rb delete mode 100644 db/migrate/20201217070530_add_group_merge_request_approval_settings.rb delete mode 100644 db/migrate/20201217111448_change_pages_deployment_size_to_bigint.rb delete mode 100644 db/migrate/20201217132603_create_elastic_reindexing_subtasks.rb delete mode 100644 db/migrate/20201218194311_create_admin_notes.rb delete mode 100644 db/migrate/20201221124036_add_devops_snapshot_index.rb delete mode 100644 db/migrate/20201221213415_change_clusters_helm_major_version_default_to_3.rb delete mode 100644 db/migrate/20201221225303_add_service_desk_reply_to_is_not_null_index_on_issues.rb delete mode 100644 db/migrate/20201222151823_update_trusted_apps_to_confidential.rb delete mode 100644 db/migrate/20201223114050_add_restrict_user_defined_variables_to_project_settings.rb delete mode 100644 db/migrate/20201224144948_migrate_coverage_report_worker.rb delete mode 100644 db/migrate/20201228110136_create_iterations_cadence.rb delete mode 100644 db/migrate/20201228110238_add_iterations_cadence_to_sprints.rb delete mode 100644 db/migrate/20201228184500_add_dismissal_reason_into_vulnerability_feedback_table.rb delete mode 100644 db/migrate/20201229105948_add_invisible_captcha_enabled_to_settings.rb delete mode 100644 db/migrate/20201230161206_add_rate_limiting_response_text_to_application_settings.rb delete mode 100644 db/migrate/20201230180202_create_onboarding_progress.rb delete mode 100644 db/migrate/20210101110640_set_limit_for_rate_limiting_response_text.rb delete mode 100644 db/migrate/20210102164121_drop_temporary_index_on_ci_builds.rb delete mode 100644 db/migrate/20210104163218_add_epic_board_position_index.rb delete mode 100644 db/migrate/20210105052034_rename_asset_proxy_whitelist_on_application_settings.rb delete mode 100644 db/migrate/20210105153342_add_entity_columns_to_vulnerability_occurrences.rb delete mode 100644 db/migrate/20210105154321_add_text_limit_to_vulnerability_occurrences_entity_columns.rb delete mode 100644 db/migrate/20210106061254_add_unique_index_for_golang_packages.rb delete mode 100644 db/migrate/20210106153021_drop_tmp_index_on_emails.rb delete mode 100644 db/migrate/20210106155209_add_merge_request_diff_commit_trailers.rb delete mode 100644 db/migrate/20210106191305_rename_indexes_on_git_lab_com.rb delete mode 100644 db/migrate/20210106225424_add_keep_latest_artifacts_to_application_settings.rb delete mode 100644 db/migrate/20210107105306_add_diff_type_to_merge_request_diffs.rb delete mode 100644 db/migrate/20210107154615_add_merge_request_context_commit_trailers.rb delete mode 100644 db/migrate/20210108161039_update_max_import_size_default.rb delete mode 100644 db/migrate/20210111051045_create_dast_profiles.rb delete mode 100644 db/migrate/20210111053308_add_project_fk_for_dast_profile.rb delete mode 100644 db/migrate/20210111075104_add_temporary_index_on_security_findings_scan_id.rb delete mode 100644 db/migrate/20210112084512_drop_tmp_index_on_emails_again.rb delete mode 100644 db/migrate/20210112202949_create_composer_cache_file.rb delete mode 100644 db/migrate/20210113224909_add_pipeline_configuration_full_path_to_compliance_pipeline.rb delete mode 100644 db/migrate/20210113231532_add_converted_at_to_experiment_subjects.rb delete mode 100644 db/migrate/20210113231546_add_context_to_experiment_subjects.rb delete mode 100644 db/migrate/20210114033715_remove_group_id_title_index.rb delete mode 100644 db/migrate/20210114142443_add_indexes_to_onboarding_progresses.rb delete mode 100644 db/migrate/20210115090452_create_group_repository_storage_move.rb delete mode 100644 db/migrate/20210117210226_add_has_external_issue_tracker_trigger.rb delete mode 100644 db/migrate/20210118111307_add_enforce_ssh_key_expiration_to_application_settings.rb delete mode 100644 db/migrate/20210119153801_add_proxy_settings_to_jira_tracker_data.rb delete mode 100644 db/migrate/20210119162812_add_text_limit_to_compliance_pipeline_configuration_full_path.rb delete mode 100644 db/migrate/20210120180956_extend_index_on_ci_builds_metadata.rb delete mode 100644 db/migrate/20210120221743_delete_oauth_applications_tmp_index.rb delete mode 100644 db/migrate/20210121093618_remove_repository_read_only_to_groups.rb delete mode 100644 db/migrate/20210121100038_add_devops_adoption_group_segment.rb delete mode 100644 db/migrate/20210121121102_optional_devops_adoption_segment_name.rb delete mode 100644 db/migrate/20210122073805_add_repository_read_only_to_namespace_settings.rb delete mode 100644 db/migrate/20210122153259_add_state_to_merge_request_reviewers.rb delete mode 100644 db/migrate/20210122155158_add_pipeline_step_to_bulk_imports_failures.rb delete mode 100644 db/migrate/20210125105410_add_devops_adoption_segment_namespace_fk.rb delete mode 100644 db/migrate/20210126030249_add_security_dashboard_access_level_into_project_features.rb delete mode 100644 db/migrate/20210126091713_add_unique_index_services_project_id_and_type.rb delete mode 100644 db/migrate/20210126092102_remove_index_services_project_id_and_type.rb delete mode 100644 db/migrate/20210126233608_add_rubygems_max_file_size_to_plan_limits.rb delete mode 100644 db/migrate/20210127052226_add_subgroup_events_to_web_hooks.rb delete mode 100644 db/migrate/20210127143025_add_oldest_merge_requests_index.rb delete mode 100644 db/migrate/20210127152613_add_iterations_cadence_date_range_constraint.rb delete mode 100644 db/migrate/20210127202613_remove_iteration_group_date_range_constraint.rb delete mode 100644 db/migrate/20210128044930_add_git_two_factor_session_expiry_to_application_settings.rb delete mode 100644 db/migrate/20210128101707_add_prevent_merge_without_jira_issue_to_project_settings.rb delete mode 100644 db/migrate/20210128114526_add_auto_delete_at_to_environments.rb delete mode 100644 db/migrate/20210128140157_add_content_type_to_dependency_proxy_manifests.rb delete mode 100644 db/migrate/20210128140232_add_text_limit_to_dependency_proxy_manifests_content_type.rb delete mode 100644 db/migrate/20210128152830_create_ci_namespace_monthly_usage.rb delete mode 100644 db/migrate/20210128172149_create_background_migration_tracking_tables.rb delete mode 100644 db/migrate/20210129225244_add_index_to_oncall_shfts_on_starts_at_and_ends_at.rb delete mode 100644 db/migrate/20210201034649_add_active_periods_to_on_call_rotations.rb delete mode 100644 db/migrate/20210201140434_add_oldest_merge_requests_index_again.rb delete mode 100644 db/migrate/20210203002331_drop_backup_label_index.rb delete mode 100644 db/migrate/20210203092540_remove_has_external_wiki_constraint.rb delete mode 100644 db/migrate/20210203092549_restore_has_external_wiki_default_value.rb delete mode 100644 db/migrate/20210203221631_create_packages_rubygems_metadata.rb delete mode 100644 db/migrate/20210203222620_add_expired_index_to_composer_cache_files.rb delete mode 100644 db/migrate/20210203223551_add_orphan_index_to_composer_cache_files.rb delete mode 100644 db/migrate/20210204152257_add_status_to_packages_packages.rb delete mode 100644 db/migrate/20210204212850_add_group_id_to_ci_daily_build_group_report_results.rb delete mode 100644 db/migrate/20210205084357_create_ci_project_monthly_usage.rb delete mode 100644 db/migrate/20210205134213_add_creator_id_to_custom_emoji.rb delete mode 100644 db/migrate/20210205143926_remove_namespace_id_foreign_key_on_namespace_onboarding_actions.rb delete mode 100644 db/migrate/20210205213915_remove_foreign_keys_from_alerts_service_data.rb delete mode 100644 db/migrate/20210208103243_add_issue_created_at_to_onboarding_progress.rb delete mode 100644 db/migrate/20210208125050_add_status_expires_at_to_user_statuses.rb delete mode 100644 db/migrate/20210208125248_add_index_on_user_statuses_status_expires_at.rb delete mode 100644 db/migrate/20210208144134_add_index_group_id_to_ci_daily_build_group_report_results.rb delete mode 100644 db/migrate/20210208161207_add_notes_create_limit_to_application_settings.rb delete mode 100644 db/migrate/20210208200914_add_ends_at_to_oncall_rotations.rb delete mode 100644 db/migrate/20210209110019_create_external_approval_rules.rb delete mode 100644 db/migrate/20210209160510_create_security_orchestration_policy_configurations.rb delete mode 100644 db/migrate/20210209171525_add_status_index_to_packages_packages.rb delete mode 100644 db/migrate/20210209232508_add_markdown_surround_selection_to_user_preferences.rb delete mode 100644 db/migrate/20210210210232_add_notes_create_limit_allowlist_to_application_settings.rb delete mode 100644 db/migrate/20210211195543_add_created_by_user_for_cluster_agent_token.rb delete mode 100644 db/migrate/20210212153934_make_the_geo_oauth_application_trusted_by_default.rb delete mode 100644 db/migrate/20210212163231_add_merge_when_pipeline_succeeds_to_notification_settings.rb delete mode 100644 db/migrate/20210214201118_add_delayed_project_removal_to_namespace_settings.rb delete mode 100644 db/migrate/20210214205155_add_index_to_namespaces_delayed_project_removal.rb delete mode 100644 db/migrate/20210215172449_remove_artifact_expiry_temp_index.rb delete mode 100644 db/migrate/20210216122140_add_in_product_marketing_emails_enabled_setting.rb delete mode 100644 db/migrate/20210216135504_add_created_by_to_cluster_agent.rb delete mode 100644 db/migrate/20210216193620_add_description_to_cluster_token.rb delete mode 100644 db/migrate/20210216223335_remove_index_on_issues_where_service_desk_reply_to_is_not_null.rb delete mode 100644 db/migrate/20210217101901_create_epic_list_user_preferences.rb delete mode 100644 db/migrate/20210218040814_add_environment_scope_to_group_variables.rb delete mode 100644 db/migrate/20210218142626_change_finding_fingerprint_enum.rb delete mode 100644 db/migrate/20210218144056_add_sprints_start_date_not_null_check_constraint.rb delete mode 100644 db/migrate/20210218144656_add_sprints_due_date_not_null_check_constraint.rb delete mode 100644 db/migrate/20210219100137_add_creator_foreign_key_to_custom_emoji.rb delete mode 100644 db/migrate/20210219111040_add_epic_issue_composite_index.rb delete mode 100644 db/migrate/20210219211845_add_version_usage_data_id_to_raw_usage_data.rb delete mode 100644 db/migrate/20210222030537_add_is_removed_to_oncall_participant.rb delete mode 100644 db/migrate/20210222042745_add_is_removed_index_to_oncall_participant.rb delete mode 100644 db/migrate/20210222070356_add_storage_size_to_namespace_statistics.rb delete mode 100644 db/migrate/20210222070413_add_wiki_size_to_namespace_statistics.rb delete mode 100644 db/migrate/20210222085529_add_epic_board_user_preference_user_fk.rb delete mode 100644 db/migrate/20210222085551_add_epic_board_user_preference_epic_list_fk.rb delete mode 100644 db/migrate/20210222105120_add_container_registry_access_level.rb delete mode 100644 db/migrate/20210223053451_add_branch_name_to_dast_profile.rb delete mode 100644 db/migrate/20210223132934_add_foreign_key_to_external_approval_rules.rb delete mode 100644 db/migrate/20210223133116_add_foreign_key_to_external_approval_rules_protected_branches.rb delete mode 100644 db/migrate/20210223230600_update_rubygems_metadata_metadata.rb delete mode 100644 db/migrate/20210224132547_add_null_constraint_to_terraform_state_name.rb delete mode 100644 db/migrate/20210224133337_add_name_field_to_cluster_agent_token.rb delete mode 100644 db/migrate/20210224161552_add_jira_issue_transition_automatic_to_jira_tracker_data.rb delete mode 100644 db/migrate/20210225090801_create_dora_daily_metrics.rb delete mode 100644 db/migrate/20210225135533_limit_cluster_token_size.rb delete mode 100644 db/migrate/20210225153522_add_allow_force_push_to_protected_branches.rb delete mode 100644 db/migrate/20210301150451_add_tier_to_environments.rb delete mode 100644 db/migrate/20210301193412_add_optional_to_ci_build_needs.rb delete mode 100644 db/migrate/20210301200601_rename_asset_proxy_allowlist_on_application_settings.rb rename db/migrate/{20181228175414_init_schema.rb => 20210301200959_init_schema.rb} (100%) create mode 100644 db/migrate/20210811193033_add_unique_index_to_vulnerability_finding_links.rb create mode 100644 db/migrate/20211026124336_add_archive_trace_events_to_integrations.rb create mode 100644 db/migrate/20211209230042_add_status_to_cluster_agent_tokens.rb create mode 100644 db/migrate/20211210025754_alter_constraint_of_phone.rb create mode 100644 db/migrate/20211210031721_change_user_details_phone_text_limit.rb create mode 100644 db/migrate/20211213142344_add_settings_user_email_lookup_limit.rb create mode 100644 db/migrate/20211213154259_add_status_to_packages_package_files.rb create mode 100644 db/migrate/20211213154704_add_status_index_to_packages_package_files.rb create mode 100644 db/migrate/20211215182006_update_application_settings_protected_paths.rb create mode 100644 db/migrate/20211216133107_add_cluster_agent_id_to_vulnerability_reads.rb create mode 100644 db/migrate/20211216134134_add_text_limit_to_vulnerability_reads_cluster_agent_id.rb create mode 100644 db/migrate/20211216135651_add_index_to_cluster_agent_id.rb create mode 100644 db/migrate/20211216220939_add_group_crm_settings.rb create mode 100644 db/migrate/20211217050753_remove_artifacts_archive_id_foreign_key_from_project_pages_metadata.rb create mode 100644 db/migrate/20211220174504_add_secure_scanning_actions_to_onboarding_progresses.rb create mode 100644 db/migrate/20211223125921_add_temp_index_to_members_state.rb create mode 100644 db/migrate/20211224112937_add_packages_cleanup_package_file_worker_capacity_to_application_settings.rb create mode 100644 db/migrate/20211224114539_add_packages_cleanup_package_file_worker_capacity_check_constraint_to_app_settings.rb create mode 100644 db/migrate/20220104174445_add_ci_runners_index_on_active_state.rb create mode 100644 db/migrate/20220105121325_add_route_namespace_reference.rb create mode 100644 db/migrate/20220106141756_remove_lock_version_indexes.rb create mode 100644 db/migrate/20220106230629_add_registry_migration_application_settings.rb create mode 100644 db/migrate/20220106230712_add_migration_columns_to_container_repositories.rb create mode 100644 db/migrate/20220107091629_add_route_namespace_index.rb create mode 100644 db/migrate/20220107165036_remove_note_id_index.rb create mode 100644 db/migrate/20220109133006_remove_ci_pipelines_lock_version_index.rb create mode 100644 db/migrate/20220110170953_create_ci_secure_files.rb create mode 100644 db/migrate/20220111095006_add_maintainer_note_to_ci_runners.rb create mode 100644 db/migrate/20220111095007_add_text_limit_to_ci_runners_maintainer_note.rb create mode 100644 db/migrate/20220111200254_remove_index_from_merge_requests.rb create mode 100644 db/migrate/20220112115413_add_requires_verification_to_user_details.rb create mode 100644 db/migrate/20220112205111_create_security_training_providers.rb create mode 100644 db/migrate/20220112232037_add_member_namespace_reference.rb create mode 100644 db/migrate/20220112232605_add_member_namespace_index.rb create mode 100644 db/migrate/20220113125401_create_security_trainings.rb create mode 100644 db/migrate/20220114131950_add_status_only_index_to_packages_package_files.rb create mode 100644 db/migrate/20220117225936_add_text_limits_to_container_repositories_migration_columns.rb create mode 100644 db/migrate/20220118141950_add_text_limit_to_container_registry_import_target_plan.rb create mode 100644 db/migrate/20220118155846_add_runner_token_expiration_interval_settings_to_application_settings.rb create mode 100644 db/migrate/20220118155847_add_runner_token_expiration_interval_settings_to_namespace_settings.rb create mode 100644 db/migrate/20220118155848_add_runner_token_expiration_interval_settings_to_project_settings.rb create mode 100644 db/migrate/20220203091304_fix_unique_packages_index_excluding_pending_destruction_status.rb delete mode 100644 db/post_migrate/20201211090634_schedule_populate_finding_uuid_for_vulnerability_feedback.rb delete mode 100644 db/post_migrate/20201216185336_add_devops_adoption_snapshot_not_null.rb delete mode 100644 db/post_migrate/20201217112249_change_pages_deployment_size_to_bigint_cleanup.rb delete mode 100644 db/post_migrate/20201223012231_reindex_ci_pipelines_on_schedule_id_and_id.rb delete mode 100644 db/post_migrate/20201231133921_schedule_set_default_iteration_cadences.rb delete mode 100644 db/post_migrate/20210105030125_cleanup_projects_with_bad_has_external_wiki_data.rb delete mode 100644 db/post_migrate/20210105052229_clean_up_asset_proxy_whitelist_rename_on_application_settings.rb delete mode 100644 db/post_migrate/20210105103649_delete_column_group_id_on_compliance_framework.rb delete mode 100644 db/post_migrate/20210107194543_remove_alerts_service_records.rb delete mode 100644 db/post_migrate/20210111075105_schedule_uuid_population_for_security_findings.rb delete mode 100644 db/post_migrate/20210111075206_schedule_uuid_population_for_security_findings2.rb delete mode 100644 db/post_migrate/20210112143418_remove_duplicate_services2.rb delete mode 100644 db/post_migrate/20210115215854_cancel_artifact_expiry_backfill.rb delete mode 100644 db/post_migrate/20210115220610_schedule_artifact_expiry_backfill.rb delete mode 100644 db/post_migrate/20210119122354_alter_vsa_issue_first_mentioned_in_commit_value.rb delete mode 100644 db/post_migrate/20210203143131_migrate_existing_devops_segments_to_groups.rb delete mode 100644 db/post_migrate/20210205104425_add_new_post_eoa_plans.rb delete mode 100644 db/post_migrate/20210205144537_remove_namespace_onboarding_actions_table.rb delete mode 100644 db/post_migrate/20210205174154_remove_bad_dependency_proxy_manifests.rb delete mode 100644 db/post_migrate/20210205213933_drop_alerts_service_data.rb delete mode 100644 db/post_migrate/20210205214003_remove_alerts_service_records_again.rb delete mode 100644 db/post_migrate/20210210093901_backfill_updated_at_after_repository_storage_move.rb delete mode 100644 db/post_migrate/20210210221006_cleanup_projects_with_bad_has_external_issue_tracker_data.rb delete mode 100644 db/post_migrate/20210215095328_migrate_delayed_project_removal_from_namespaces_to_namespace_settings.rb delete mode 100644 db/post_migrate/20210215144909_migrate_usage_trends_sidekiq_queue.rb delete mode 100644 db/post_migrate/20210217100728_move_create_release_evidence_queue_out_of_cronjob_namespace.rb delete mode 100644 db/post_migrate/20210218105431_remove_deprecated_ci_builds_columns.rb delete mode 100644 db/post_migrate/20210218110552_remove_deprecated_ci_runner_column.rb delete mode 100644 db/post_migrate/20210219102900_reschedule_set_default_iteration_cadences.rb delete mode 100644 db/post_migrate/20210222185538_remove_backup_labels_foreign_keys.rb delete mode 100644 db/post_migrate/20210222192144_remove_backup_labels_table.rb delete mode 100644 db/post_migrate/20210224150506_reschedule_artifact_expiry_backfill.rb delete mode 100644 db/post_migrate/20210226120851_move_container_registry_enabled_to_project_features.rb delete mode 100644 db/post_migrate/20210226141517_dedup_issue_metrics.rb delete mode 100644 db/post_migrate/20210301200959_clean_up_asset_proxy_allowlist_rename_on_application_settings.rb create mode 100644 db/post_migrate/20211123161906_cleanup_after_drop_invalid_security_findings.rb create mode 100644 db/post_migrate/20211206161271_add_indexes_for_primary_email_cleanup_migration.rb create mode 100644 db/post_migrate/20211206162601_cleanup_after_add_primary_email_to_emails_if_user_confirmed.rb create mode 100644 db/post_migrate/20211207081708_add_index_ci_job_artifacts_project_id_file_type.rb create mode 100644 db/post_migrate/20211207125331_remove_jobs_for_recalculate_vulnerabilities_occurrences_uuid.rb create mode 100644 db/post_migrate/20211207135331_schedule_recalculate_uuid_on_vulnerabilities_occurrences4.rb create mode 100644 db/post_migrate/20211207173510_remove_extra_finding_evidence_tables_foreign_keys.rb create mode 100644 db/post_migrate/20211207173511_remove_extra_finding_evidence_tables.rb create mode 100644 db/post_migrate/20211208122200_schedule_backfill_ci_namespace_mirrors.rb create mode 100644 db/post_migrate/20211208122201_schedule_backfill_ci_project_mirrors.rb create mode 100644 db/post_migrate/20211209203820_add_tmp_index_on_report_type.rb create mode 100644 db/post_migrate/20211209203821_convert_stringified_raw_metadata_hash_to_json.rb create mode 100644 db/post_migrate/20211210140000_add_temporary_static_object_token_index.rb create mode 100644 db/post_migrate/20211210140629_encrypt_static_object_token.rb create mode 100644 db/post_migrate/20211214012507_backfill_incident_issue_escalation_statuses.rb create mode 100644 db/post_migrate/20211217120000_modify_kubernetes_resource_location_index_to_vulnerability_occurrences.rb create mode 100644 db/post_migrate/20211217145923_add_index_to_events_on_author_id_and_action_and_id.rb create mode 100644 db/post_migrate/20211217174331_mark_recalculate_finding_signatures_as_completed.rb create mode 100644 db/post_migrate/20211220064757_drop_temporary_indexes_for_primary_email_migration.rb create mode 100644 db/post_migrate/20211220120402_add_index_on_ci_pipelines_user_id_id_failure_reason.rb create mode 100644 db/post_migrate/20211220123956_update_invalid_member_states.rb create mode 100644 db/post_migrate/20211229023654_add_async_index_ci_job_artifacts_project_id_file_type.rb create mode 100644 db/post_migrate/20211230112517_remove_index_events_on_author_id_and_action_and_id.rb create mode 100644 db/post_migrate/20211230113031_add_index_to_events_on_author_id_and_id.rb create mode 100644 db/post_migrate/20220104060049_remove_foreign_key_ci_group_variables_group_id.rb create mode 100644 db/post_migrate/20220105020514_remove_ci_minutes_additional_packs_namespace_id_foreign_key_constraint.rb create mode 100644 db/post_migrate/20220106231518_remove_foreign_key_ci_daily_build_group_report_results_group_id.rb create mode 100644 db/post_migrate/20220106233459_remove_foreign_key_ci_pending_builds_namespace_id.rb create mode 100644 db/post_migrate/20220106235626_remove_foreign_key_ci_runner_namespaces_namespace_id.rb create mode 100644 db/post_migrate/20220109134455_add_idx_vulnerability_occurrences_dedup_again.rb create mode 100644 db/post_migrate/20220110171049_schedule_populate_test_reports_issue_id.rb create mode 100644 db/post_migrate/20220110224913_remove_dast_scanner_profiles_builds_ci_build_id_fk.rb create mode 100644 db/post_migrate/20220110231420_remove_requirements_management_test_reports_build_id_fk.rb create mode 100644 db/post_migrate/20220110233155_remove_dast_site_profiles_builds_ci_build_id_fk.rb create mode 100644 db/post_migrate/20220111002756_remove_security_scans_build_id_fk.rb create mode 100644 db/post_migrate/20220111023852_index_cluster_agent_tokens_on_status.rb create mode 100644 db/post_migrate/20220111102314_truncate_ci_mirror_tables.rb create mode 100644 db/post_migrate/20220111221516_remove_projects_ci_pending_builds_fk.rb create mode 100644 db/post_migrate/20220112015940_remove_projects_ci_running_builds_fk.rb create mode 100644 db/post_migrate/20220112090556_remove_cascade_delete_from_project_namespace_foreign_key.rb create mode 100644 db/post_migrate/20220112230642_remove_projects_ci_unit_tests_project_id_fk.rb create mode 100644 db/post_migrate/20220112232723_remove_projects_ci_daily_build_group_report_results_project_id_fk.rb create mode 100644 db/post_migrate/20220113013319_remove_projects_ci_freeze_periods_project_id_fk.rb create mode 100644 db/post_migrate/20220113014438_remove_projects_ci_resource_groups_project_id_fk.rb create mode 100644 db/post_migrate/20220113015830_remove_projects_ci_build_report_results_project_id_fk.rb create mode 100644 db/post_migrate/20220113035519_remove_users_ci_job_token_project_scope_links_added_by_id_fk.rb create mode 100644 db/post_migrate/20220113040447_remove_users_ci_pipeline_schedules_owner_id_fk.rb create mode 100644 db/post_migrate/20220114105525_add_index_on_projects_path.rb create mode 100644 db/post_migrate/20220116175851_add_author_index_to_design_management_versions.rb create mode 100644 db/post_migrate/20220119141736_remove_projects_ci_pipeline_artifacts_project_id_fk.rb delete mode 100644 db/schema_migrations/20181228175414 delete mode 100644 db/schema_migrations/20201211090634 delete mode 100644 db/schema_migrations/20201211145950 delete mode 100644 db/schema_migrations/20201214000000 delete mode 100644 db/schema_migrations/20201214032220 delete mode 100644 db/schema_migrations/20201214084105 delete mode 100644 db/schema_migrations/20201214111858 delete mode 100644 db/schema_migrations/20201214112752 delete mode 100644 db/schema_migrations/20201214113729 delete mode 100644 db/schema_migrations/20201214184020 delete mode 100644 db/schema_migrations/20201215084652 delete mode 100644 db/schema_migrations/20201215132151 delete mode 100644 db/schema_migrations/20201215205404 delete mode 100644 db/schema_migrations/20201216151616 delete mode 100644 db/schema_migrations/20201216154457 delete mode 100644 db/schema_migrations/20201216185336 delete mode 100644 db/schema_migrations/20201217070530 delete mode 100644 db/schema_migrations/20201217111448 delete mode 100644 db/schema_migrations/20201217112249 delete mode 100644 db/schema_migrations/20201217132603 delete mode 100644 db/schema_migrations/20201218194311 delete mode 100644 db/schema_migrations/20201221124036 delete mode 100644 db/schema_migrations/20201221213415 delete mode 100644 db/schema_migrations/20201221225303 delete mode 100644 db/schema_migrations/20201222151823 delete mode 100644 db/schema_migrations/20201223012231 delete mode 100644 db/schema_migrations/20201223114050 delete mode 100644 db/schema_migrations/20201224144948 delete mode 100644 db/schema_migrations/20201228110136 delete mode 100644 db/schema_migrations/20201228110238 delete mode 100644 db/schema_migrations/20201228184500 delete mode 100644 db/schema_migrations/20201229105948 delete mode 100644 db/schema_migrations/20201230161206 delete mode 100644 db/schema_migrations/20201230180202 delete mode 100644 db/schema_migrations/20201231133921 delete mode 100644 db/schema_migrations/20210101110640 delete mode 100644 db/schema_migrations/20210102164121 delete mode 100644 db/schema_migrations/20210104163218 delete mode 100644 db/schema_migrations/20210105030125 delete mode 100644 db/schema_migrations/20210105052034 delete mode 100644 db/schema_migrations/20210105052229 delete mode 100644 db/schema_migrations/20210105103649 delete mode 100644 db/schema_migrations/20210105153342 delete mode 100644 db/schema_migrations/20210105154321 delete mode 100644 db/schema_migrations/20210106061254 delete mode 100644 db/schema_migrations/20210106153021 delete mode 100644 db/schema_migrations/20210106155209 delete mode 100644 db/schema_migrations/20210106191305 delete mode 100644 db/schema_migrations/20210106225424 delete mode 100644 db/schema_migrations/20210107105306 delete mode 100644 db/schema_migrations/20210107154615 delete mode 100644 db/schema_migrations/20210107194543 delete mode 100644 db/schema_migrations/20210108161039 delete mode 100644 db/schema_migrations/20210111051045 delete mode 100644 db/schema_migrations/20210111053308 delete mode 100644 db/schema_migrations/20210111075104 delete mode 100644 db/schema_migrations/20210111075105 delete mode 100644 db/schema_migrations/20210111075206 delete mode 100644 db/schema_migrations/20210112084512 delete mode 100644 db/schema_migrations/20210112143418 delete mode 100644 db/schema_migrations/20210112202949 delete mode 100644 db/schema_migrations/20210113224909 delete mode 100644 db/schema_migrations/20210113231532 delete mode 100644 db/schema_migrations/20210113231546 delete mode 100644 db/schema_migrations/20210114033715 delete mode 100644 db/schema_migrations/20210114142443 delete mode 100644 db/schema_migrations/20210115090452 delete mode 100644 db/schema_migrations/20210115215854 delete mode 100644 db/schema_migrations/20210115220610 delete mode 100644 db/schema_migrations/20210117210226 delete mode 100644 db/schema_migrations/20210118111307 delete mode 100644 db/schema_migrations/20210119122354 delete mode 100644 db/schema_migrations/20210119153801 delete mode 100644 db/schema_migrations/20210119162812 delete mode 100644 db/schema_migrations/20210120180956 delete mode 100644 db/schema_migrations/20210120221743 delete mode 100644 db/schema_migrations/20210121093618 delete mode 100644 db/schema_migrations/20210121100038 delete mode 100644 db/schema_migrations/20210121121102 delete mode 100644 db/schema_migrations/20210122073805 delete mode 100644 db/schema_migrations/20210122153259 delete mode 100644 db/schema_migrations/20210122155158 delete mode 100644 db/schema_migrations/20210125105410 delete mode 100644 db/schema_migrations/20210126030249 delete mode 100644 db/schema_migrations/20210126091713 delete mode 100644 db/schema_migrations/20210126092102 delete mode 100644 db/schema_migrations/20210126233608 delete mode 100644 db/schema_migrations/20210127052226 delete mode 100644 db/schema_migrations/20210127143025 delete mode 100644 db/schema_migrations/20210127152613 delete mode 100644 db/schema_migrations/20210127202613 delete mode 100644 db/schema_migrations/20210128044930 delete mode 100644 db/schema_migrations/20210128101707 delete mode 100644 db/schema_migrations/20210128114526 delete mode 100644 db/schema_migrations/20210128140157 delete mode 100644 db/schema_migrations/20210128140232 delete mode 100644 db/schema_migrations/20210128152830 delete mode 100644 db/schema_migrations/20210128172149 delete mode 100644 db/schema_migrations/20210129225244 delete mode 100644 db/schema_migrations/20210201034649 delete mode 100644 db/schema_migrations/20210201140434 delete mode 100644 db/schema_migrations/20210203002331 delete mode 100644 db/schema_migrations/20210203092540 delete mode 100644 db/schema_migrations/20210203092549 delete mode 100644 db/schema_migrations/20210203143131 delete mode 100644 db/schema_migrations/20210203221631 delete mode 100644 db/schema_migrations/20210203222620 delete mode 100644 db/schema_migrations/20210203223551 delete mode 100644 db/schema_migrations/20210204152257 delete mode 100644 db/schema_migrations/20210204212850 delete mode 100644 db/schema_migrations/20210205084357 delete mode 100644 db/schema_migrations/20210205104425 delete mode 100644 db/schema_migrations/20210205134213 delete mode 100644 db/schema_migrations/20210205143926 delete mode 100644 db/schema_migrations/20210205144537 delete mode 100644 db/schema_migrations/20210205174154 delete mode 100644 db/schema_migrations/20210205213915 delete mode 100644 db/schema_migrations/20210205213933 delete mode 100644 db/schema_migrations/20210205214003 delete mode 100644 db/schema_migrations/20210208103243 delete mode 100644 db/schema_migrations/20210208125050 delete mode 100644 db/schema_migrations/20210208125248 delete mode 100644 db/schema_migrations/20210208144134 delete mode 100644 db/schema_migrations/20210208161207 delete mode 100644 db/schema_migrations/20210208200914 delete mode 100644 db/schema_migrations/20210209110019 delete mode 100644 db/schema_migrations/20210209160510 delete mode 100644 db/schema_migrations/20210209171525 delete mode 100644 db/schema_migrations/20210209232508 delete mode 100644 db/schema_migrations/20210210093901 delete mode 100644 db/schema_migrations/20210210210232 delete mode 100644 db/schema_migrations/20210210221006 delete mode 100644 db/schema_migrations/20210211195543 delete mode 100644 db/schema_migrations/20210212153934 delete mode 100644 db/schema_migrations/20210212163231 delete mode 100644 db/schema_migrations/20210214201118 delete mode 100644 db/schema_migrations/20210214205155 delete mode 100644 db/schema_migrations/20210215095328 delete mode 100644 db/schema_migrations/20210215144909 delete mode 100644 db/schema_migrations/20210215172449 delete mode 100644 db/schema_migrations/20210216122140 delete mode 100644 db/schema_migrations/20210216135504 delete mode 100644 db/schema_migrations/20210216193620 delete mode 100644 db/schema_migrations/20210216223335 delete mode 100644 db/schema_migrations/20210217100728 delete mode 100644 db/schema_migrations/20210217101901 delete mode 100644 db/schema_migrations/20210218040814 delete mode 100644 db/schema_migrations/20210218105431 delete mode 100644 db/schema_migrations/20210218110552 delete mode 100644 db/schema_migrations/20210218142626 delete mode 100644 db/schema_migrations/20210218144056 delete mode 100644 db/schema_migrations/20210218144656 delete mode 100644 db/schema_migrations/20210219100137 delete mode 100644 db/schema_migrations/20210219102900 delete mode 100644 db/schema_migrations/20210219111040 delete mode 100644 db/schema_migrations/20210219211845 delete mode 100644 db/schema_migrations/20210222030537 delete mode 100644 db/schema_migrations/20210222042745 delete mode 100644 db/schema_migrations/20210222070356 delete mode 100644 db/schema_migrations/20210222070413 delete mode 100644 db/schema_migrations/20210222085529 delete mode 100644 db/schema_migrations/20210222085551 delete mode 100644 db/schema_migrations/20210222105120 delete mode 100644 db/schema_migrations/20210222185538 delete mode 100644 db/schema_migrations/20210222192144 delete mode 100644 db/schema_migrations/20210223053451 delete mode 100644 db/schema_migrations/20210223132934 delete mode 100644 db/schema_migrations/20210223133116 delete mode 100644 db/schema_migrations/20210223230600 delete mode 100644 db/schema_migrations/20210224132547 delete mode 100644 db/schema_migrations/20210224133337 delete mode 100644 db/schema_migrations/20210224150506 delete mode 100644 db/schema_migrations/20210224161552 delete mode 100644 db/schema_migrations/20210225090801 delete mode 100644 db/schema_migrations/20210225135533 delete mode 100644 db/schema_migrations/20210225153522 delete mode 100644 db/schema_migrations/20210226120851 delete mode 100644 db/schema_migrations/20210226141517 delete mode 100644 db/schema_migrations/20210301150451 delete mode 100644 db/schema_migrations/20210301193412 delete mode 100644 db/schema_migrations/20210301200601 create mode 100644 db/schema_migrations/20210811193033 create mode 100644 db/schema_migrations/20211026124336 create mode 100644 db/schema_migrations/20211123161906 create mode 100644 db/schema_migrations/20211206161271 create mode 100644 db/schema_migrations/20211206162601 create mode 100644 db/schema_migrations/20211207081708 create mode 100644 db/schema_migrations/20211207125331 create mode 100644 db/schema_migrations/20211207135331 create mode 100644 db/schema_migrations/20211207173510 create mode 100644 db/schema_migrations/20211207173511 create mode 100644 db/schema_migrations/20211208122200 create mode 100644 db/schema_migrations/20211208122201 create mode 100644 db/schema_migrations/20211209203820 create mode 100644 db/schema_migrations/20211209203821 create mode 100644 db/schema_migrations/20211209230042 create mode 100644 db/schema_migrations/20211210025754 create mode 100644 db/schema_migrations/20211210031721 create mode 100644 db/schema_migrations/20211210140000 create mode 100644 db/schema_migrations/20211210140629 create mode 100644 db/schema_migrations/20211213142344 create mode 100644 db/schema_migrations/20211213154259 create mode 100644 db/schema_migrations/20211213154704 create mode 100644 db/schema_migrations/20211214012507 create mode 100644 db/schema_migrations/20211215182006 create mode 100644 db/schema_migrations/20211216133107 create mode 100644 db/schema_migrations/20211216134134 create mode 100644 db/schema_migrations/20211216135651 create mode 100644 db/schema_migrations/20211216220939 create mode 100644 db/schema_migrations/20211217050753 create mode 100644 db/schema_migrations/20211217120000 create mode 100644 db/schema_migrations/20211217145923 create mode 100644 db/schema_migrations/20211217174331 create mode 100644 db/schema_migrations/20211220064757 create mode 100644 db/schema_migrations/20211220120402 create mode 100644 db/schema_migrations/20211220123956 create mode 100644 db/schema_migrations/20211220174504 create mode 100644 db/schema_migrations/20211223125921 create mode 100644 db/schema_migrations/20211224112937 create mode 100644 db/schema_migrations/20211224114539 create mode 100644 db/schema_migrations/20211229023654 create mode 100644 db/schema_migrations/20211230112517 create mode 100644 db/schema_migrations/20211230113031 create mode 100644 db/schema_migrations/20220104060049 create mode 100644 db/schema_migrations/20220104174445 create mode 100644 db/schema_migrations/20220105020514 create mode 100644 db/schema_migrations/20220105121325 create mode 100644 db/schema_migrations/20220106141756 create mode 100644 db/schema_migrations/20220106230629 create mode 100644 db/schema_migrations/20220106230712 create mode 100644 db/schema_migrations/20220106231518 create mode 100644 db/schema_migrations/20220106233459 create mode 100644 db/schema_migrations/20220106235626 create mode 100644 db/schema_migrations/20220107091629 create mode 100644 db/schema_migrations/20220107165036 create mode 100644 db/schema_migrations/20220109133006 create mode 100644 db/schema_migrations/20220109134455 create mode 100644 db/schema_migrations/20220110170953 create mode 100644 db/schema_migrations/20220110171049 create mode 100644 db/schema_migrations/20220110224913 create mode 100644 db/schema_migrations/20220110231420 create mode 100644 db/schema_migrations/20220110233155 create mode 100644 db/schema_migrations/20220111002756 create mode 100644 db/schema_migrations/20220111023852 create mode 100644 db/schema_migrations/20220111095006 create mode 100644 db/schema_migrations/20220111095007 create mode 100644 db/schema_migrations/20220111102314 create mode 100644 db/schema_migrations/20220111200254 create mode 100644 db/schema_migrations/20220111221516 create mode 100644 db/schema_migrations/20220112015940 create mode 100644 db/schema_migrations/20220112090556 create mode 100644 db/schema_migrations/20220112115413 create mode 100644 db/schema_migrations/20220112205111 create mode 100644 db/schema_migrations/20220112230642 create mode 100644 db/schema_migrations/20220112232037 create mode 100644 db/schema_migrations/20220112232605 create mode 100644 db/schema_migrations/20220112232723 create mode 100644 db/schema_migrations/20220113013319 create mode 100644 db/schema_migrations/20220113014438 create mode 100644 db/schema_migrations/20220113015830 create mode 100644 db/schema_migrations/20220113035519 create mode 100644 db/schema_migrations/20220113040447 create mode 100644 db/schema_migrations/20220113125401 create mode 100644 db/schema_migrations/20220114105525 create mode 100644 db/schema_migrations/20220114131950 create mode 100644 db/schema_migrations/20220116175851 create mode 100644 db/schema_migrations/20220117225936 create mode 100644 db/schema_migrations/20220118141950 create mode 100644 db/schema_migrations/20220118155846 create mode 100644 db/schema_migrations/20220118155847 create mode 100644 db/schema_migrations/20220118155848 create mode 100644 db/schema_migrations/20220119141736 create mode 100644 db/schema_migrations/20220203091304 create mode 100644 doc/administration/docs_self_host.md delete mode 100644 doc/administration/img/instance_review_button.png create mode 100644 doc/administration/img/instance_review_v14_7.png delete mode 100644 doc/administration/operations/cleaning_up_redis_sessions.md create mode 100644 doc/administration/sidekiq_health_check.md create mode 100644 doc/api/group_access_tokens.md create mode 100644 doc/api/project_access_tokens.md create mode 100644 doc/architecture/blueprints/ci_data_decay/index.md create mode 100644 doc/architecture/blueprints/ci_data_decay/pipeline_data_time_decay.png create mode 100644 doc/architecture/blueprints/runner_scaling/gitlab-autoscaling-overview.png create mode 100644 doc/architecture/blueprints/runner_scaling/index.md delete mode 100644 doc/ci/ci_cd_for_external_repos/img/ci_cd_for_external_repo.png create mode 100644 doc/ci/cloud_services/aws/index.md create mode 100644 doc/ci/cloud_services/index.md create mode 100644 doc/ci/environments/deployment_approvals.md create mode 100644 doc/ci/pipelines/cicd_minutes.md rename doc/{user/admin_area/settings/img/group_pipelines_quota.png => ci/pipelines/img/group_cicd_minutes_quota.png} (100%) rename doc/ci/pipelines/img/{pipeline-fork_v13_7.png => pipeline_fork_v13_7.png} (100%) create mode 100644 doc/development/event_store.md create mode 100644 doc/development/service_ping/performance_indicator_metrics.md delete mode 100644 doc/development/snowplow/dictionary.md delete mode 100644 doc/development/testing_guide/ci.md create mode 100644 doc/security/img/unlock_user_v14_7.png delete mode 100644 doc/security/rack_attack.md create mode 100644 doc/subscriptions/img/quarterly_reconciliation.png create mode 100644 doc/tutorials/index.md create mode 100644 doc/update/removals.md delete mode 100644 doc/user/admin_area/img/admin_labels.png create mode 100644 doc/user/admin_area/img/admin_labels_v14_7.png delete mode 100644 doc/user/admin_area/img/license_upload_v13_12.png delete mode 100644 doc/user/admin_area/monitoring/img/health_check_token.png delete mode 100644 doc/user/admin_area/settings/img/admin_project_quota_view.png delete mode 100644 doc/user/admin_area/settings/img/external_authorization_service_settings.png delete mode 100644 doc/user/admin_area/settings/img/file_template_admin_area_v14_0.png delete mode 100644 doc/user/analytics/img/repository_analytics_v13_0.png delete mode 100644 doc/user/application_security/policies/img/scan_execution_policy_yaml_mode_v14_3.png create mode 100644 doc/user/application_security/policies/img/scan_execution_policy_yaml_mode_v14_7.png delete mode 100644 doc/user/application_security/security_dashboard/img/group_security_dashboard_v13_3.png delete mode 100644 doc/user/application_security/security_dashboard/img/pipeline_security_dashboard_v14_4.png delete mode 100644 doc/user/application_security/security_dashboard/img/project_security_dashboard_chart_v13_11.png delete mode 100644 doc/user/application_security/security_dashboard/img/security_center_settings_v13_4.png delete mode 100644 doc/user/group/epics/img/epics_search_v13_11.png create mode 100644 doc/user/group/epics/img/epics_search_v14_7.png delete mode 100644 doc/user/group/epics/img/epics_sort.png create mode 100644 doc/user/group/epics/img/epics_sort_14_7.png delete mode 100644 doc/user/group/img/group_code_coverage_analytics_v13_9.png create mode 100644 doc/user/group/settings/group_access_tokens.md delete mode 100644 doc/user/group/value_stream_analytics/img/vsa_stage_table_v13_12.png create mode 100644 doc/user/group/value_stream_analytics/img/vsa_stage_table_v14_7.png create mode 100644 doc/user/infrastructure/clusters/migrate_to_gitlab_agent.md create mode 100644 doc/user/packages/container_registry/reduce_container_registry_storage.md delete mode 100644 doc/user/project/img/description_templates.png create mode 100644 doc/user/project/img/description_templates_v14_7.png create mode 100644 doc/user/project/integrations/pipeline_status_emails.md delete mode 100644 doc/user/project/issues/img/issue_board.png delete mode 100644 doc/user/project/merge_requests/img/commit-button_v13_12.png delete mode 100644 doc/user/project/merge_requests/img/ff_merge_rebase.png create mode 100644 doc/user/project/merge_requests/img/ff_merge_rebase_v14_7.png delete mode 100644 doc/user/project/merge_requests/img/squash_edit_form.png delete mode 100644 doc/user/project/merge_requests/img/squash_mr_commits.png delete mode 100644 doc/user/project/merge_requests/img/squash_mr_message.png delete mode 100644 doc/user/project/merge_requests/img/squash_mr_widget.png delete mode 100644 doc/user/project/merge_requests/img/squash_squashed_commit.png delete mode 100644 doc/user/project/merge_requests/reviews/img/suggestions_custom_commit_messages_v13_1.jpg create mode 100644 doc/user/project/merge_requests/reviews/img/suggestions_custom_commit_messages_v14_7.png delete mode 100644 doc/user/project/pages/img/icons/lock.png delete mode 100644 doc/user/project/settings/img/import_export_download_export.png delete mode 100644 doc/user/project/settings/img/import_export_export_button.png delete mode 100644 doc/user/project/settings/img/import_export_mail_link.png delete mode 100644 doc/user/project/settings/img/import_export_new_project.png delete mode 100644 doc/user/project/settings/img/import_export_select_file.png create mode 100644 doc/user/search/img/code_search.png delete mode 100644 doc/user/search/img/project_code_search.png create mode 100644 lib/api/internal/mail_room.rb create mode 100644 lib/backup/packages.rb create mode 100644 lib/backup/terraform_state.rb delete mode 100644 lib/banzai/renderer/common_mark/html.rb create mode 100644 lib/gitlab/background_migration/backfill_ci_namespace_mirrors.rb create mode 100644 lib/gitlab/background_migration/backfill_ci_project_mirrors.rb create mode 100644 lib/gitlab/background_migration/backfill_incident_issue_escalation_statuses.rb create mode 100644 lib/gitlab/background_migration/base_job.rb delete mode 100644 lib/gitlab/background_migration/cleanup_concurrent_rename.rb delete mode 100644 lib/gitlab/background_migration/cleanup_concurrent_schema_change.rb delete mode 100644 lib/gitlab/background_migration/cleanup_concurrent_type_change.rb delete mode 100644 lib/gitlab/background_migration/copy_column.rb create mode 100644 lib/gitlab/background_migration/encrypt_static_object_token.rb create mode 100644 lib/gitlab/background_migration/fix_vulnerability_occurrences_with_hashes_as_raw_metadata.rb delete mode 100644 lib/gitlab/background_migration/migrate_legacy_artifacts.rb create mode 100644 lib/gitlab/background_migration/populate_test_reports_issue_id.rb delete mode 100644 lib/gitlab/background_migration/remove_duplicate_services.rb create mode 100644 lib/gitlab/ci/build/status/reason.rb create mode 100644 lib/gitlab/ci/jwt_v2.rb create mode 100644 lib/gitlab/ci/status/build/waiting_for_approval.rb create mode 100644 lib/gitlab/ci/templates/Security/DAST-On-Demand-API-Scan.gitlab-ci.yml create mode 100644 lib/gitlab/data_builder/archive_trace.rb delete mode 100644 lib/gitlab/database/loose_index_scan_distinct_count.rb create mode 100644 lib/gitlab/email/failure_handler.rb create mode 100644 lib/gitlab/event_store.rb create mode 100644 lib/gitlab/event_store/event.rb create mode 100644 lib/gitlab/event_store/store.rb create mode 100644 lib/gitlab/event_store/subscriber.rb create mode 100644 lib/gitlab/event_store/subscription.rb create mode 100644 lib/gitlab/exceptions_app.rb create mode 100644 lib/gitlab/mail_room/authenticator.rb create mode 100644 lib/gitlab/metrics/exporter/gc_request_middleware.rb create mode 100644 lib/gitlab/metrics/exporter/health_checks_middleware.rb create mode 100644 lib/gitlab/metrics/exporter/metrics_middleware.rb create mode 100644 lib/gitlab/middleware/webhook_recursion_detection.rb create mode 100644 lib/gitlab/pagination/keyset/in_operator_optimization/order_by_column_data.rb create mode 100644 lib/gitlab/pagination/keyset/sql_type_missing_error.rb create mode 100644 lib/gitlab/password.rb delete mode 100644 lib/gitlab/redis/multi_store.rb delete mode 100644 lib/gitlab/redis/sessions_store_helper.rb delete mode 100644 lib/gitlab/sherlock.rb delete mode 100644 lib/gitlab/sherlock/collection.rb delete mode 100644 lib/gitlab/sherlock/file_sample.rb delete mode 100644 lib/gitlab/sherlock/line_profiler.rb delete mode 100644 lib/gitlab/sherlock/line_sample.rb delete mode 100644 lib/gitlab/sherlock/location.rb delete mode 100644 lib/gitlab/sherlock/middleware.rb delete mode 100644 lib/gitlab/sherlock/query.rb delete mode 100644 lib/gitlab/sherlock/transaction.rb create mode 100644 lib/gitlab/web_hooks.rb create mode 100644 lib/gitlab/web_hooks/recursion_detection.rb create mode 100644 lib/gitlab/web_hooks/recursion_detection/uuid.rb create mode 100644 lib/gitlab_edition.rb create mode 100644 metrics_server/override_gitlab_current_settings.rb create mode 100644 qa/.confiner/quarantine.yml create mode 100644 qa/knapsack/.gitignore delete mode 100644 qa/knapsack/gcs/.gitignore delete mode 100644 qa/lib/gitlab/page/main/welcome.rb delete mode 100644 qa/lib/gitlab/page/main/welcome.stub.rb create mode 100644 qa/qa/flow/user_onboarding.rb create mode 100644 qa/qa/resource/reusable_group.rb rename qa/qa/specs/features/api/1_manage/{bulk_import_group_spec.rb => migration/gitlab_migration_group_spec.rb} (92%) create mode 100644 qa/qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb create mode 100644 qa/qa/specs/features/api/1_manage/migration/gitlab_migration_mr_spec.rb create mode 100644 qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb create mode 100644 qa/qa/specs/features/api/1_manage/migration/gitlab_project_migration_common.rb create mode 100644 qa/qa/specs/features/api/3_create/gitaly/praefect_connectivity_spec.rb rename qa/qa/specs/features/browser_ui/1_manage/group/{bulk_import_group_spec.rb => gitlab_migration_group_spec.rb} (90%) create mode 100644 qa/qa/specs/features/browser_ui/1_manage/project/invite_group_to_project_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_merge_ref_diff_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_editor_lint_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/8_monitor/.gitkeep delete mode 100644 qa/qa/specs/features/browser_ui/8_monitor/all_monitor_core_features_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/8_monitor/cluster_with_prometheus.rb create mode 100644 qa/qa/support/page_error_checker.rb create mode 100644 qa/qa/tools/delete_test_resources.rb create mode 100644 qa/qa/tools/long_running_spec_reporter.rb create mode 100644 qa/qa/tools/test_resource_data_processor.rb create mode 100644 qa/spec/support/page_error_checker_spec.rb create mode 100644 qa/spec/tools/long_running_spec_reporter_spec.rb create mode 100644 qa/spec/tools/test_resources_data_processor_spec.rb create mode 100644 rubocop/cop/database/establish_connection.rb create mode 100644 rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction.rb create mode 100755 scripts/setup/find-jh-branch.rb create mode 100644 shared/packages/.gitkeep create mode 100644 shared/terraform_state/.gitkeep create mode 100644 spec/controllers/admin/runner_projects_controller_spec.rb create mode 100644 spec/controllers/concerns/check_rate_limit_spec.rb create mode 100644 spec/controllers/groups/packages_controller_spec.rb create mode 100644 spec/controllers/projects/packages/packages_controller_spec.rb delete mode 100644 spec/experiments/change_continuous_onboarding_link_urls_experiment_spec.rb create mode 100644 spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb create mode 100644 spec/factories/ci/pipeline_message.rb create mode 100644 spec/factories/ci/secure_files.rb create mode 100644 spec/factories/group/crm_settings.rb rename spec/factories/{work_item => work_items}/work_item_types.rb (62%) create mode 100644 spec/features/groups/settings/access_tokens_spec.rb create mode 100644 spec/features/help_dropdown_spec.rb create mode 100644 spec/features/issues/user_scrolls_to_deeplinked_note_spec.rb create mode 100644 spec/features/markdown/sandboxed_mermaid_spec.rb create mode 100644 spec/features/user_sees_marketing_header_spec.rb create mode 100644 spec/fixtures/ci_secure_files/upload-keystore.jks create mode 100644 spec/fixtures/error_tracking/go_two_exception_event.json delete mode 100644 spec/frontend/__helpers__/matchers.js create mode 100644 spec/frontend/__helpers__/matchers/index.js create mode 100644 spec/frontend/__helpers__/matchers/to_have_sprite_icon.js create mode 100644 spec/frontend/__helpers__/matchers/to_have_tracking_attributes.js create mode 100644 spec/frontend/__helpers__/matchers/to_have_tracking_attributes_spec.js create mode 100644 spec/frontend/__helpers__/matchers/to_match_interpolated_text.js create mode 100644 spec/frontend/__helpers__/matchers/to_match_interpolated_text_spec.js delete mode 100644 spec/frontend/__helpers__/matchers_spec.js delete mode 100644 spec/frontend/__helpers__/wait_using_real_timer.js create mode 100644 spec/frontend/behaviors/copy_to_clipboard_spec.js rename spec/frontend/{ => blob}/line_highlighter_spec.js (99%) delete mode 100644 spec/frontend/branches/branches_delete_modal_spec.js create mode 100644 spec/frontend/clusters_list/components/agent_options_spec.js create mode 100644 spec/frontend/content_editor/extensions/code_spec.js create mode 100644 spec/frontend/content_editor/extensions/image_spec.js create mode 100644 spec/frontend/crm/form_spec.js create mode 100644 spec/frontend/design_management/components/design_notes/__snapshots__/design_note_signed_out_spec.js.snap create mode 100644 spec/frontend/design_management/components/design_notes/design_note_signed_out_spec.js create mode 100644 spec/frontend/environments/deployment_spec.js create mode 100644 spec/frontend/environments/deployment_status_badge_spec.js create mode 100644 spec/frontend/environments/new_environment_item_spec.js create mode 100644 spec/frontend/google_cloud/components/deployments_service_table_spec.js create mode 100644 spec/frontend/google_tag_manager/index_spec.js rename spec/frontend/{ => groups}/landing_spec.js (99%) rename spec/frontend/{ => groups}/transfer_edit_spec.js (94%) create mode 100644 spec/frontend/integrations/overrides/components/integration_tabs_spec.js rename spec/frontend/{ => issues}/create_merge_request_dropdown_spec.js (97%) rename spec/frontend/{issues_list => issues/list}/components/issue_card_time_info_spec.js (98%) rename spec/frontend/{issues_list => issues/list}/components/issues_list_app_spec.js (98%) rename spec/frontend/{issues_list => issues/list}/components/jira_issues_import_status_app_spec.js (97%) rename spec/frontend/{issues_list => issues/list}/components/new_issue_dropdown_spec.js (96%) rename spec/frontend/{issues_list => issues/list}/mock_data.js (100%) rename spec/frontend/{issues_list => issues/list}/utils_spec.js (97%) rename spec/frontend/issues/{sentry_error_stack_trace => show}/components/sentry_error_stack_trace_spec.js (86%) delete mode 100644 spec/frontend/issues_list/components/__snapshots__/issuables_list_app_spec.js.snap delete mode 100644 spec/frontend/issues_list/components/issuable_spec.js delete mode 100644 spec/frontend/issues_list/components/issuables_list_app_spec.js delete mode 100644 spec/frontend/issues_list/issuable_list_test_data.js delete mode 100644 spec/frontend/issues_list/service_desk_helper_spec.js create mode 100644 spec/frontend/lib/utils/resize_observer_spec.js delete mode 100644 spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/empty_state_spec.js rename spec/frontend/packages_and_registries/package_registry/{components/details/app_spec.js => pages/details_spec.js} (93%) rename spec/frontend/packages_and_registries/shared/{ => components}/__snapshots__/publish_method_spec.js.snap (100%) rename spec/frontend/packages_and_registries/{container_registry/explorer => shared}/components/__snapshots__/registry_breadcrumb_spec.js.snap (71%) rename spec/frontend/packages_and_registries/shared/{ => components}/package_icon_and_name_spec.js (100%) rename spec/frontend/packages_and_registries/shared/{ => components}/package_path_spec.js (100%) rename spec/frontend/packages_and_registries/shared/{ => components}/package_tags_spec.js (100%) rename spec/frontend/packages_and_registries/shared/{ => components}/packages_list_loader_spec.js (100%) create mode 100644 spec/frontend/packages_and_registries/shared/components/persisted_search_spec.js rename spec/frontend/packages_and_registries/shared/{ => components}/publish_method_spec.js (100%) rename spec/frontend/packages_and_registries/{container_registry/explorer => shared}/components/registry_breadcrumb_spec.js (93%) rename spec/frontend/{ => projects}/project_find_file_spec.js (97%) create mode 100644 spec/frontend/repository/components/blob_controls_spec.js rename spec/frontend/runner/{runner_detail/runner_details_app_spec.js => admin_runner_edit/admin_runner_edit_app_spec.js} (67%) create mode 100644 spec/frontend/runner/components/runner_header_spec.js delete mode 100644 spec/frontend/runner/components/runner_type_alert_spec.js delete mode 100644 spec/frontend/runner/components/stat/runner_online_stat_spec.js create mode 100644 spec/frontend/runner/components/stat/runner_stats_spec.js create mode 100644 spec/frontend/runner/components/stat/runner_status_stat_spec.js rename spec/frontend/runner/{runner_detail => }/runner_update_form_utils_spec.js (92%) delete mode 100644 spec/frontend/version_check_image_spec.js create mode 100644 spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js create mode 100644 spec/frontend/vue_shared/components/gitlab_version_check_spec.js create mode 100644 spec/graphql/mutations/clusters/agent_tokens/revoke_spec.rb create mode 100644 spec/graphql/mutations/issues/set_escalation_status_spec.rb create mode 100644 spec/graphql/resolvers/work_items/types_resolver_spec.rb create mode 100644 spec/graphql/types/ci/pipeline_message_type_spec.rb create mode 100644 spec/graphql/types/clusters/agent_token_status_enum_spec.rb create mode 100644 spec/graphql/types/incident_management/escalation_status_enum_spec.rb create mode 100644 spec/helpers/groups/crm_settings_helper_spec.rb delete mode 100644 spec/helpers/projects/issues/service_desk_helper_spec.rb create mode 100644 spec/helpers/ssh_keys_helper_spec.rb create mode 100644 spec/lib/api/helpers/rate_limiter_spec.rb create mode 100644 spec/lib/backup/lfs_spec.rb create mode 100644 spec/lib/backup/object_backup_spec.rb delete mode 100644 spec/lib/backup/repository_backup_error_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_ci_namespace_mirrors_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_ci_project_mirrors_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_incident_issue_escalation_statuses_spec.rb create mode 100644 spec/lib/gitlab/background_migration/base_job_spec.rb delete mode 100644 spec/lib/gitlab/background_migration/cleanup_concurrent_schema_change_spec.rb create mode 100644 spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb create mode 100644 spec/lib/gitlab/background_migration/fix_vulnerability_occurrences_with_hashes_as_raw_metadata_spec.rb delete mode 100644 spec/lib/gitlab/background_migration/migrate_legacy_artifacts_spec.rb delete mode 100644 spec/lib/gitlab/background_migration/remove_duplicate_services_spec.rb create mode 100644 spec/lib/gitlab/ci/build/status/reason_spec.rb create mode 100644 spec/lib/gitlab/ci/jwt_v2_spec.rb create mode 100644 spec/lib/gitlab/ci/status/build/waiting_for_approval_spec.rb create mode 100644 spec/lib/gitlab/data_builder/archive_trace_spec.rb delete mode 100644 spec/lib/gitlab/database/loose_index_scan_distinct_count_spec.rb create mode 100644 spec/lib/gitlab/database/no_cross_db_foreign_keys_spec.rb create mode 100644 spec/lib/gitlab/email/failure_handler_spec.rb create mode 100644 spec/lib/gitlab/event_store/event_spec.rb create mode 100644 spec/lib/gitlab/event_store/store_spec.rb create mode 100644 spec/lib/gitlab/exceptions_app_spec.rb create mode 100644 spec/lib/gitlab/logger_spec.rb create mode 100644 spec/lib/gitlab/mail_room/authenticator_spec.rb create mode 100644 spec/lib/gitlab/metrics/exporter/gc_request_middleware_spec.rb create mode 100644 spec/lib/gitlab/metrics/exporter/health_checks_middleware_spec.rb create mode 100644 spec/lib/gitlab/metrics/exporter/metrics_middleware_spec.rb delete mode 100644 spec/lib/gitlab/metrics/exporter/sidekiq_exporter_spec.rb create mode 100644 spec/lib/gitlab/middleware/webhook_recursion_detection_spec.rb create mode 100644 spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_column_data_spec.rb delete mode 100644 spec/lib/gitlab/redis/multi_store_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/collection_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/file_sample_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/line_profiler_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/line_sample_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/location_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/middleware_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/query_spec.rb delete mode 100644 spec/lib/gitlab/sherlock/transaction_spec.rb create mode 100644 spec/lib/gitlab/web_hooks/recursion_detection_spec.rb create mode 100644 spec/lib/gitlab_edition_spec.rb delete mode 100644 spec/migrations/20210112143418_remove_duplicate_services2_spec.rb delete mode 100644 spec/migrations/20210119122354_alter_vsa_issue_first_mentioned_in_commit_value_spec.rb delete mode 100644 spec/migrations/20210205174154_remove_bad_dependency_proxy_manifests_spec.rb delete mode 100644 spec/migrations/20210210093901_backfill_updated_at_after_repository_storage_move_spec.rb delete mode 100644 spec/migrations/20210218040814_add_environment_scope_to_group_variables_spec.rb delete mode 100644 spec/migrations/20210226141517_dedup_issue_metrics_spec.rb delete mode 100644 spec/migrations/20210918202855_reschedule_pending_jobs_for_recalculate_vulnerabilities_occurrences_uuid_spec.rb create mode 100644 spec/migrations/20211207125331_remove_jobs_for_recalculate_vulnerabilities_occurrences_uuid_spec.rb rename spec/migrations/{schedule_recalculate_uuid_on_vulnerabilities_occurrences2_spec.rb => 20211207135331_schedule_recalculate_uuid_on_vulnerabilities_occurrences4_spec.rb} (72%) create mode 100644 spec/migrations/20211210140629_encrypt_static_object_token_spec.rb create mode 100644 spec/migrations/20211214012507_backfill_incident_issue_escalation_statuses_spec.rb create mode 100644 spec/migrations/20211217174331_mark_recalculate_finding_signatures_as_completed_spec.rb delete mode 100644 spec/migrations/add_has_external_issue_tracker_trigger_spec.rb delete mode 100644 spec/migrations/add_has_external_wiki_trigger_spec.rb delete mode 100644 spec/migrations/add_new_post_eoa_plans_spec.rb create mode 100644 spec/migrations/cleanup_after_add_primary_email_to_emails_if_user_confirmed_spec.rb delete mode 100644 spec/migrations/cleanup_projects_with_bad_has_external_issue_tracker_data_spec.rb delete mode 100644 spec/migrations/cleanup_projects_with_bad_has_external_wiki_data_spec.rb delete mode 100644 spec/migrations/drop_alerts_service_data_spec.rb delete mode 100644 spec/migrations/migrate_delayed_project_removal_from_namespaces_to_namespace_settings_spec.rb delete mode 100644 spec/migrations/remove_alerts_service_records_again_spec.rb delete mode 100644 spec/migrations/remove_alerts_service_records_spec.rb delete mode 100644 spec/migrations/reschedule_artifact_expiry_backfill_spec.rb delete mode 100644 spec/migrations/schedule_populate_finding_uuid_for_vulnerability_feedback_spec.rb delete mode 100644 spec/migrations/schedule_recalculate_uuid_on_vulnerabilities_occurrences3_spec.rb create mode 100644 spec/migrations/update_application_settings_protected_paths_spec.rb create mode 100644 spec/migrations/update_invalid_member_states_spec.rb create mode 100644 spec/models/ci/secure_file_spec.rb create mode 100644 spec/models/group/crm_settings_spec.rb create mode 100644 spec/models/preloaders/environments/deployment_preloader_spec.rb create mode 100644 spec/models/ref_matcher_spec.rb rename spec/models/{work_item => work_items}/type_spec.rb (59%) create mode 100644 spec/requests/api/graphql/group/work_item_types_spec.rb create mode 100644 spec/requests/api/graphql/mutations/issues/set_escalation_status_spec.rb create mode 100644 spec/requests/api/graphql/mutations/work_items/create_spec.rb create mode 100644 spec/requests/api/graphql/project/work_item_types_spec.rb create mode 100644 spec/requests/api/internal/mail_room_spec.rb create mode 100644 spec/requests/groups/settings/access_tokens_controller_spec.rb create mode 100644 spec/requests/projects/google_cloud/deployments_controller_spec.rb rename spec/{controllers => requests}/projects/settings/access_tokens_controller_spec.rb (50%) create mode 100644 spec/requests/recursive_webhook_detection_spec.rb create mode 100644 spec/requests/sandbox_controller_spec.rb create mode 100644 spec/rubocop/cop/database/establish_connection_spec.rb create mode 100644 spec/rubocop/cop/migration/prevent_global_enable_lock_retries_with_disable_ddl_transaction_spec.rb create mode 100644 spec/scripts/setup/find_jh_branch_spec.rb create mode 100644 spec/services/bulk_imports/lfs_objects_export_service_spec.rb create mode 100644 spec/services/ci/job_artifacts/delete_project_artifacts_service_spec.rb create mode 100644 spec/services/ci/job_artifacts/expire_project_build_artifacts_service_spec.rb create mode 100644 spec/services/ci/register_runner_service_spec.rb create mode 100644 spec/services/clusters/agent_tokens/track_usage_service_spec.rb create mode 100644 spec/services/clusters/agents/create_activity_event_service_spec.rb create mode 100644 spec/services/clusters/agents/delete_expired_events_service_spec.rb delete mode 100644 spec/services/dependency_proxy/download_blob_service_spec.rb delete mode 100644 spec/services/dependency_proxy/find_or_create_blob_service_spec.rb create mode 100644 spec/services/deployments/create_for_build_service_spec.rb create mode 100644 spec/services/google_cloud/create_service_accounts_service_spec.rb create mode 100644 spec/services/incident_management/issuable_escalation_statuses/after_update_service_spec.rb create mode 100644 spec/services/incident_management/issuable_escalation_statuses/prepare_update_service_spec.rb create mode 100644 spec/services/packages/mark_package_files_for_destruction_service_spec.rb rename spec/services/packages/{destroy_package_service_spec.rb => mark_package_for_destruction_service_spec.rb} (55%) delete mode 100644 spec/services/projects/update_pages_configuration_service_spec.rb create mode 100644 spec/services/work_items/build_service_spec.rb create mode 100644 spec/services/work_items/create_service_spec.rb create mode 100644 spec/support/shared_examples/controllers/rate_limited_endpoint_shared_examples.rb create mode 100644 spec/support/shared_examples/features/access_tokens_shared_examples.rb create mode 100644 spec/support/shared_examples/features/sidebar/sidebar_labels_shared_examples.rb delete mode 100644 spec/support/shared_examples/lib/gitlab/redis/multi_store_feature_flags_shared_examples.rb create mode 100644 spec/support/shared_examples/models/concerns/packages/destructible_shared_examples.rb rename spec/support/shared_examples/{controllers => requests}/access_tokens_controller_shared_examples.rb (60%) create mode 100644 spec/support/system_exit_detected.rb create mode 100644 spec/tooling/danger/datateam_spec.rb create mode 100644 spec/tooling/docs/deprecation_handling_spec.rb create mode 100644 spec/uploaders/ci/secure_file_uploader_spec.rb create mode 100644 spec/views/layouts/header/_gitlab_version.html.haml_spec.rb create mode 100644 spec/workers/ci/job_artifacts/expire_project_build_artifacts_worker_spec.rb create mode 100644 spec/workers/clusters/agents/delete_expired_events_worker_spec.rb create mode 100644 spec/workers/concerns/cluster_agent_queue_spec.rb create mode 100644 spec/workers/concerns/packages/cleanup_artifact_worker_spec.rb create mode 100644 spec/workers/merge_requests/update_head_pipeline_worker_spec.rb create mode 100644 spec/workers/packages/cleanup_package_file_worker_spec.rb create mode 100644 spec/workers/packages/cleanup_package_registry_worker_spec.rb create mode 100644 spec/workers/packages/mark_package_files_for_destruction_worker_spec.rb create mode 100644 spec/workers/pages_worker_spec.rb create mode 100644 tooling/danger/datateam.rb delete mode 100644 tooling/deprecations/docs.rb create mode 100644 tooling/docs/deprecation_handling.rb diff --git a/.dockerignore b/.dockerignore index d20c733313..b2aef4d31c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,7 +5,7 @@ # Following are the files we need: # - ./config/initializers/0_inject_enterprise_edition_module.rb # - ./ee/app/models/license.rb -# - ./lib/gitlab.rb +# - ./lib/gitlab_edition.rb # - ./lib/gitlab/utils.rb # - ./qa/ # - ./INSTALLATION_TYPE diff --git a/.eslintrc.yml b/.eslintrc.yml index 0f73a9c510..e80b2e6d9e 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -99,6 +99,10 @@ overrides: rules: '@gitlab/require-i18n-strings': off '@gitlab/no-runtime-template-compiler': off + 'no-restricted-syntax': + - error + - selector: CallExpression[callee.object.name=/(wrapper|vm)/][callee.property.name="setData"] + message: 'Avoid using "setData" on VTU wrapper' - files: - 'config/**/*' - 'scripts/**/*' diff --git a/.gitignore b/.gitignore index 0a7808601e..03f77ed89e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ eslint-report.html /.gitlab_shell_secret .idea +.nova /.vscode/* /.rbenv-version .rbx/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 405346d68d..314f99c5f4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -80,6 +80,7 @@ variables: CACHE_CLASSES: "true" CHECK_PRECOMPILED_ASSETS: "true" FF_USE_FASTZIP: "true" + SKIP_FLAKY_TESTS_AUTOMATICALLY: "true" DOCS_REVIEW_APPS_DOMAIN: "178.62.207.141.nip.io" DOCS_GITLAB_REPO_SUFFIX: "ee" diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 5eb96d1add..71e4571b60 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -6,161 +6,6 @@ *.rb @gitlab-org/maintainers/rails-backend *.rake @gitlab-org/maintainers/rails-backend -[Documentation Directories] -.markdownlint.yml @marcel.amirault @eread @aqualls @cnorris -/doc/.markdownlint @marcel.amirault @eread @aqualls @cnorris -/doc/ @gl-docsteam -/doc/.vale/ @marcel.amirault @eread @aqualls @cnorris -/doc/administration/geo/ @axil -/doc/administration/gitaly/ @eread -/doc/administration/lfs/ @aqualls -/doc/administration/monitoring/ @ngaskill -/doc/administration/operations/ @axil @eread @marcia -/doc/administration/packages/ @ngaskill -/doc/administration/pages/ @rdickenson @kpaizee -/doc/administration/postgresql/ @marcia -/doc/administration/raketasks/ @axil @eread -/doc/administration/redis/ @axil -/doc/administration/reference_architectures/ @axil -/doc/administration/snippets/ @aqualls -/doc/administration/troubleshooting @axil @marcia @eread -/doc/api/graphql/ @msedlakjakubowski @kpaizee -/doc/api/graphql/reference/ @kpaizee -/doc/api/group_activity_analytics.md @fneill -/doc/api/vulnerabilities.md @fneill -/doc/ci/ @marcel.amirault @sselhorn -/doc/ci/environments/ @rdickenson -/doc/ci/services/ @sselhorn -/doc/ci/test_cases/ @msedlakjakubowski -/doc/development/ @marcia -/doc/development/documentation/ @cnorris @dianalogan -/doc/development/i18n/ @ngaskill -/doc/development/value_stream_analytics.md @fneill -/doc/gitlab-basics/ @aqualls -/doc/install/ @axil -/doc/operations/ @ngaskill @rdickenson -/doc/push_rules/ @aqualls -/doc/security/ @eread -/doc/ssh/ @eread -/doc/subscriptions/ @sselhorn -/doc/topics/autodevops/ @marcia -/doc/topics/git/ @aqualls -/doc/update/ @axil @marcia -/doc/user/analytics/ @fneill @ngaskill -/doc/user/application_security/ @rdickenson -/doc/user/application_security/container_scanning/ @ngaskill -/doc/user/application_security/cluster_image_scanning/ @ngaskill -/doc/user/application_security/cve_id_request.md @fneill -/doc/user/application_security/security_dashboard @fneill -/doc/user/application_security/vulnerabilities @fneill -/doc/user/application_security/vulnerability_report @fneill -/doc/user/clusters/ @marcia -/doc/user/compliance/ @rdickenson @eread -/doc/user/group/ @msedlakjakubowski -/doc/user/group/devops_adoption/ @fneill -/doc/user/group/epics/ @msedlakjakubowski -/doc/user/group/insights/ @fneill -/doc/user/group/iterations/ @msedlakjakubowski -/doc/user/group/roadmap/ @msedlakjakubowski -/doc/user/group/value_stream_analytics/ @fneill -/doc/user/infrastructure/ @marcia -/doc/user/packages/ @ngaskill -/doc/user/packages/infrastructure_registry/ @marcia -/doc/user/packages/terraform_module_registry/ @marcia -/doc/user/profile/ @msedlakjakubowski @eread -/doc/user/project/ @aqualls @rdickenson @eread @msedlakjakubowski @ngaskill -/doc/user/project/clusters/ @marcia -/doc/user/project/import/ @ngaskill @msedlakjakubowski -/doc/user/project/issues/ @msedlakjakubowski -/doc/user/project/merge_requests/ @aqualls @eread -/doc/user/project/milestones/ @msedlakjakubowski -/doc/user/project/pages/ @rdickenson -/doc/user/project/repository/ @aqualls -/doc/user/project/settings/ @aqualls @eread -/doc/user/project/static_site_editor/index.md @aqualls -/doc/user/project/web_ide/index.md @aqualls -/doc/user/project/wiki/index.md @aqualls -/doc/user/search/ @marcia @aqualls -/doc/user/workspace/ @fneill - -[Docs Create] -/doc/administration/file_hooks.md @aqualls -/doc/administration/git_protocol.md @aqualls -/doc/administration/invalidate_markdown_cache.md @aqualls -/doc/administration/issue_closing_pattern.md @aqualls -/doc/administration/merge_request_diffs.md @aqualls -/doc/administration/repository_checks.md @aqualls -/doc/administration/static_objects_external_storage.md @aqualls -/doc/api/access_requests.md @aqualls -/doc/api/branches.md @aqualls -/doc/api/commits.md @aqualls -/doc/api/discussions.md @aqualls -/doc/api/group_wikis.md @aqualls -/doc/api/keys.md @aqualls -/doc/api/markdown.md @aqualls -/doc/api/merge_request_approvals.md @aqualls -/doc/api/merge_request_context_commits.md @aqualls -/doc/api/merge_requests.md @aqualls -/doc/api/project_aliases.md @aqualls -/doc/api/project_badges.md @aqualls -/doc/api/project_import_export.md @aqualls -/doc/api/project_level_variables.md @aqualls -/doc/api/project_snippets.md @aqualls -/doc/api/project_statistics.md @aqualls -/doc/api/project_templates.md @aqualls -/doc/api/project_vulnerabilities.md @aqualls -/doc/api/protected_branches.md @aqualls -/doc/api/protected_tags.md @aqualls -/doc/api/remote_mirrors.md @aqualls -/doc/api/repositories.md @aqualls -/doc/api/repository_files.md @aqualls -/doc/api/repository_submodules.md @aqualls -/doc/api/search.md @aqualls -/doc/api/services.md @aqualls -/doc/api/snippets.md @aqualls -/doc/api/suggestions.md @aqualls -/doc/api/tags.md @aqualls -/doc/api/visual_review_discussions.md @aqualls -/doc/api/wikis.md @aqualls -/doc/intro/index.md @aqualls -/doc/topics/gitlab_flow.md @aqualls -/doc/user/admin_area/settings/account_and_limit_settings.md @aqualls -/doc/user/admin_area/settings/instance_template_repository.md @aqualls -/doc/user/admin_area/settings/project_integration_management.md @aqualls -/doc/user/admin_area/settings/push_event_activities_limit.md @aqualls -/doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls -/doc/user/asciidoc.md @aqualls -/doc/user/index.md @aqualls -/doc/user/markdown.md @aqualls -/doc/user/project/autocomplete_characters.md @aqualls -/doc/user/project/badges.md @aqualls -/doc/user/project/code_intelligence.md @aqualls -/doc/user/project/code_owners.md @aqualls -/doc/user/project/file_lock.md @aqualls -/doc/user/project/git_attributes.md @aqualls -/doc/user/project/highlighting.md @aqualls -/doc/user/project/index.md @aqualls -/doc/user/project/protected_branches.md @aqualls -/doc/user/project/protected_tags.md @aqualls -/doc/user/project/push_options.md @aqualls -/doc/user/project/settings/import_export.md @aqualls -/doc/user/snippets.md @aqualls - -[Docs Ecosystem] -/doc/administration/integration/ @kpaizee -/doc/integration/ @kpaizee -/doc/user/project/integrations/ @kpaizee -/doc/user/project/integrations/prometheus_library/ @ngaskill - -[Docs Growth] -/doc/administration/instance_review.md @kpaizee -/doc/api/invitations.md @kpaizee -/doc/api/experiments.md @kpaizee -/doc/development/experiment_guide/ @kpaizee -/doc/development/snowplow/ @fneill -/doc/development/service_ping/ @fneill -/doc/user/admin_area/license.md @kpaizee - [Frontend] *.scss @annabeldunstone @gitlab-org/maintainers/frontend *.js @gitlab-org/maintainers/frontend @@ -357,3 +202,158 @@ ee/lib/ee/gitlab/git_access.rb @proglottis @toon @zj-gitlab ee/lib/ee/gitlab/git_access_*.rb @proglottis @toon @zj-gitlab ee/lib/ee/gitlab/checks/** @proglottis @toon @zj-gitlab lib/gitlab/checks/** @proglottis @toon @zj-gitlab + +[Documentation Directories] +.markdownlint.yml @marcel.amirault @eread @aqualls @cnorris +/doc/.markdownlint @marcel.amirault @eread @aqualls @cnorris +/doc/ @gl-docsteam +/doc/.vale/ @marcel.amirault @eread @aqualls @cnorris +/doc/administration/geo/ @axil +/doc/administration/gitaly/ @eread +/doc/administration/lfs/ @aqualls +/doc/administration/monitoring/ @ngaskill +/doc/administration/operations/ @axil @eread @marcia +/doc/administration/packages/ @ngaskill +/doc/administration/pages/ @rdickenson @kpaizee +/doc/administration/postgresql/ @marcia +/doc/administration/raketasks/ @axil @eread +/doc/administration/redis/ @axil +/doc/administration/reference_architectures/ @axil +/doc/administration/snippets/ @aqualls +/doc/administration/troubleshooting @axil @marcia @eread +/doc/api/graphql/ @msedlakjakubowski @kpaizee +/doc/api/graphql/reference/ @kpaizee +/doc/api/group_activity_analytics.md @fneill +/doc/api/vulnerabilities.md @fneill +/doc/ci/ @marcel.amirault @sselhorn +/doc/ci/environments/ @rdickenson +/doc/ci/services/ @sselhorn +/doc/ci/test_cases/ @msedlakjakubowski +/doc/development/ @marcia +/doc/development/documentation/ @cnorris @dianalogan +/doc/development/i18n/ @ngaskill +/doc/development/value_stream_analytics.md @fneill +/doc/gitlab-basics/ @aqualls +/doc/install/ @axil +/doc/operations/ @ngaskill @rdickenson +/doc/push_rules/ @aqualls +/doc/security/ @eread +/doc/ssh/ @eread +/doc/subscriptions/ @sselhorn +/doc/topics/autodevops/ @marcia +/doc/topics/git/ @aqualls +/doc/update/ @axil @marcia +/doc/user/analytics/ @fneill @ngaskill +/doc/user/application_security/ @rdickenson +/doc/user/application_security/container_scanning/ @ngaskill +/doc/user/application_security/cluster_image_scanning/ @ngaskill +/doc/user/application_security/cve_id_request.md @fneill +/doc/user/application_security/security_dashboard @fneill +/doc/user/application_security/vulnerabilities @fneill +/doc/user/application_security/vulnerability_report @fneill +/doc/user/clusters/ @marcia +/doc/user/compliance/ @rdickenson @eread +/doc/user/group/ @msedlakjakubowski +/doc/user/group/devops_adoption/ @fneill +/doc/user/group/epics/ @msedlakjakubowski +/doc/user/group/insights/ @fneill +/doc/user/group/iterations/ @msedlakjakubowski +/doc/user/group/roadmap/ @msedlakjakubowski +/doc/user/group/value_stream_analytics/ @fneill +/doc/user/infrastructure/ @marcia +/doc/user/packages/ @ngaskill +/doc/user/packages/infrastructure_registry/ @marcia +/doc/user/packages/terraform_module_registry/ @marcia +/doc/user/profile/ @msedlakjakubowski @eread +/doc/user/project/ @aqualls @rdickenson @eread @msedlakjakubowski @ngaskill +/doc/user/project/clusters/ @marcia +/doc/user/project/import/ @ngaskill @msedlakjakubowski +/doc/user/project/issues/ @msedlakjakubowski +/doc/user/project/merge_requests/ @aqualls @eread +/doc/user/project/milestones/ @msedlakjakubowski +/doc/user/project/pages/ @rdickenson +/doc/user/project/repository/ @aqualls +/doc/user/project/settings/ @aqualls @eread +/doc/user/project/static_site_editor/index.md @aqualls +/doc/user/project/web_ide/index.md @aqualls +/doc/user/project/wiki/index.md @aqualls +/doc/user/search/ @marcia @aqualls +/doc/user/workspace/ @fneill + +[Docs Create] +/doc/administration/file_hooks.md @aqualls +/doc/administration/git_protocol.md @aqualls +/doc/administration/invalidate_markdown_cache.md @aqualls +/doc/administration/issue_closing_pattern.md @aqualls +/doc/administration/merge_request_diffs.md @aqualls +/doc/administration/repository_checks.md @aqualls +/doc/administration/static_objects_external_storage.md @aqualls +/doc/api/access_requests.md @aqualls +/doc/api/branches.md @aqualls +/doc/api/commits.md @aqualls +/doc/api/discussions.md @aqualls +/doc/api/group_wikis.md @aqualls +/doc/api/keys.md @aqualls +/doc/api/markdown.md @aqualls +/doc/api/merge_request_approvals.md @aqualls +/doc/api/merge_request_context_commits.md @aqualls +/doc/api/merge_requests.md @aqualls +/doc/api/project_aliases.md @aqualls +/doc/api/project_badges.md @aqualls +/doc/api/project_import_export.md @aqualls +/doc/api/project_level_variables.md @aqualls +/doc/api/project_snippets.md @aqualls +/doc/api/project_statistics.md @aqualls +/doc/api/project_templates.md @aqualls +/doc/api/project_vulnerabilities.md @aqualls +/doc/api/protected_branches.md @aqualls +/doc/api/protected_tags.md @aqualls +/doc/api/remote_mirrors.md @aqualls +/doc/api/repositories.md @aqualls +/doc/api/repository_files.md @aqualls +/doc/api/repository_submodules.md @aqualls +/doc/api/search.md @aqualls +/doc/api/services.md @aqualls +/doc/api/snippets.md @aqualls +/doc/api/suggestions.md @aqualls +/doc/api/tags.md @aqualls +/doc/api/visual_review_discussions.md @aqualls +/doc/api/wikis.md @aqualls +/doc/intro/index.md @aqualls +/doc/topics/gitlab_flow.md @aqualls +/doc/user/admin_area/settings/account_and_limit_settings.md @aqualls +/doc/user/admin_area/settings/instance_template_repository.md @aqualls +/doc/user/admin_area/settings/project_integration_management.md @aqualls +/doc/user/admin_area/settings/push_event_activities_limit.md @aqualls +/doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls +/doc/user/asciidoc.md @aqualls +/doc/user/index.md @aqualls +/doc/user/markdown.md @aqualls +/doc/user/project/autocomplete_characters.md @aqualls +/doc/user/project/badges.md @aqualls +/doc/user/project/code_intelligence.md @aqualls +/doc/user/project/code_owners.md @aqualls +/doc/user/project/file_lock.md @aqualls +/doc/user/project/git_attributes.md @aqualls +/doc/user/project/highlighting.md @aqualls +/doc/user/project/index.md @aqualls +/doc/user/project/protected_branches.md @aqualls +/doc/user/project/protected_tags.md @aqualls +/doc/user/project/push_options.md @aqualls +/doc/user/project/settings/import_export.md @aqualls +/doc/user/snippets.md @aqualls + +[Docs Ecosystem] +/doc/administration/integration/ @kpaizee +/doc/integration/ @kpaizee +/doc/user/project/integrations/ @kpaizee +/doc/user/project/integrations/prometheus_library/ @ngaskill + +[Docs Growth] +/doc/administration/instance_review.md @kpaizee +/doc/api/invitations.md @kpaizee +/doc/api/experiments.md @kpaizee +/doc/development/experiment_guide/ @kpaizee +/doc/development/snowplow/ @fneill +/doc/development/service_ping/ @fneill +/doc/user/admin_area/license.md @kpaizee diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml index ae36c0cea7..c439e9a7c8 100644 --- a/.gitlab/ci/docs.gitlab-ci.yml +++ b/.gitlab/ci/docs.gitlab-ci.yml @@ -44,7 +44,7 @@ docs-lint markdown: - .default-retry - .docs:rules:docs-lint # When updating the image version here, update it in /scripts/lint-doc.sh too. - image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-markdown:alpine-3.14-vale-2.12.0-markdownlint-0.29.0 + image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-markdown:alpine-3.15-vale-2.14.0-markdownlint-0.30.0 stage: lint needs: [] script: @@ -53,7 +53,7 @@ docs-lint markdown: docs-lint links: extends: - .docs:rules:docs-lint - image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.14-ruby-2.7.5-08847baa + image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.15-ruby-2.7.5-cee62c13 stage: lint needs: [] script: @@ -77,15 +77,16 @@ ui-docs-links lint: script: - bundle exec haml-lint -i DocumentationLinks -docs-lint deprecations: +docs-lint deprecations-and-removals: variables: SETUP_DB: "false" extends: - .default-retry - .rails-cache - .default-before_script - - .docs:rules:deprecations + - .docs:rules:deprecations-and-removals stage: lint needs: [] script: - bundle exec rake gitlab:docs:check_deprecations + - bundle exec rake gitlab:docs:check_removals diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index ea4ae3b049..1dd5285e0a 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -306,6 +306,11 @@ qa-frontend-node:latest: - .qa-frontend-node - .frontend:rules:qa-frontend-node-latest image: ${GITLAB_DEPENDENCY_PROXY}node:latest + # This is a workaround for https://github.com/webpack/webpack/issues/14532 until + # we can upgrade to Webpack 5 and switch to SHA256: https://gitlab.com/gitlab-org/gitlab/-/issues/350120 + script: + - *yarn-install + - run_timed_command "retry yarn run webpack-prod-node-latest" webpack-dev-server: extends: diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index 4fec223e66..b12f76f282 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -33,6 +33,15 @@ qa:selectors: script: - bundle exec bin/qa Test::Sanity::Selectors +qa:auto_quarantine: + extends: + - .qa-job-base + rules: + - if: '$QA_TRIGGER_AUTO_QUARANTINE =~ /true|yes|1/i' + script: + - bundle exec confiner -r .confiner/quarantine.yml + allow_failure: true + qa:selectors-as-if-foss: extends: - qa:selectors diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index d676dc2f33..1d2f94b616 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -346,7 +346,7 @@ rspec fast_spec_helper minimal: db:rollback: extends: .db-job-base script: - - scripts/db_tasks db:migrate VERSION=20181228175414 + - scripts/db_tasks db:migrate VERSION=20210301200959 - scripts/db_tasks db:migrate SKIP_SCHEMA_VERSION_CHECK=true db:rollback decomposed: @@ -360,6 +360,12 @@ db:migrate:reset: script: - bundle exec rake db:migrate:reset +db:migrate:reset decomposed: + extends: + - db:migrate:reset + - .decomposed-database + - .rails:rules:decomposed-databases + db:migrate-from-previous-major-version: extends: .db-job-base variables: @@ -457,7 +463,7 @@ db:backup_and_restore: script: - . scripts/prepare_build.sh - bundle exec rake db:drop db:create db:structure:load db:seed_fu - - mkdir -p tmp/tests/public/uploads tmp/tests/{artifacts,pages,lfs-objects,registry} + - mkdir -p tmp/tests/public/uploads tmp/tests/{artifacts,pages,lfs-objects,terraform_state,registry,packages} - bundle exec rake gitlab:backup:create - date - bundle exec rake gitlab:backup:restore @@ -592,8 +598,10 @@ rspec:undercoverage: else echo "Using \$CI_COMMIT_SHA ($CI_COMMIT_SHA) for this non-merge result pipeline."; fi; + - UNDERCOVERAGE_COMPARE="${CI_MERGE_REQUEST_DIFF_BASE_SHA:-$(git merge-base origin/master HEAD)}" + - echo "Undercoverage comparing with ${UNDERCOVERAGE_COMPARE}" - if [ -f scripts/undercoverage ]; then - run_timed_command "scripts/undercoverage"; + run_timed_command "scripts/undercoverage ${UNDERCOVERAGE_COMPARE}"; fi; rspec:feature-flags: diff --git a/.gitlab/ci/review-apps/dast.gitlab-ci.yml b/.gitlab/ci/review-apps/dast.gitlab-ci.yml index 512c850b7d..d0ad4d23a8 100644 --- a/.gitlab/ci/review-apps/dast.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/dast.gitlab-ci.yml @@ -45,7 +45,6 @@ # 10019, 10021 Missing security headers # 10023, 10024, 10025, 10037 Information Disclosure # 10040 Secure Pages Include Mixed Content -# 10055 CSP # 10056 X-Debug-Token Information Leak # Duration: 14 minutes 20 seconds @@ -54,7 +53,7 @@ dast:secureHeaders-csp-infoLeak: - .dast_conf variables: DAST_USERNAME: "user1" - DAST_ONLY_INCLUDE_RULES: "10019,10021,10023,10024,10025,10037,10040,10055,10056" + DAST_ONLY_INCLUDE_RULES: "10019,10021,10023,10024,10025,10037,10040,10056" script: - /analyze diff --git a/.gitlab/ci/review-apps/qa.gitlab-ci.yml b/.gitlab/ci/review-apps/qa.gitlab-ci.yml index af4674b802..4ef6efa260 100644 --- a/.gitlab/ci/review-apps/qa.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/qa.gitlab-ci.yml @@ -26,35 +26,22 @@ - export CI_ENVIRONMENT_URL="$(cat environment_url.txt)" - echo "${CI_ENVIRONMENT_URL}" - cd qa - - if [ -n "$KNAPSACK_REPORT_PATH" ]; then - bundle exec rake knapsack:download; - fi - artifacts: - paths: - - qa/tmp - expire_in: 7 days - when: always - -.parallel-qa-base: - parallel: 5 - variables: - KNAPSACK_TEST_FILE_PATTERN: "qa/specs/features/**/*_spec.rb" script: - | bin/test "${QA_SCENARIO}" "${CI_ENVIRONMENT_URL}" \ -- \ --color --format documentation \ --format RspecJunitFormatter --out tmp/rspec.xml - after_script: - - if [ -n "$KNAPSACK_GENERATE_REPORT" ]; then - mv qa/${KNAPSACK_REPORT_PATH} qa/knapsack/gcs/regenerated-${CI_NODE_INDEX}.json; - fi artifacts: paths: - - qa/tmp # we can't merge list so need to include explicitly once more - - qa/knapsack/gcs/regenerated-*.json + - qa/tmp reports: junit: qa/tmp/rspec.xml + expire_in: 7 days + when: always + +.parallel-qa-base: + parallel: 5 .allure-report-base: image: @@ -79,16 +66,6 @@ --ignore-missing-results \ --color -.knapsack-upload-base: - image: - name: ${QA_IMAGE} - entrypoint: [""] - stage: post-qa - before_script: - - cd qa - script: - - bundle exec rake 'knapsack:upload[knapsack/gcs/regenerated-*.json]' - review-qa-smoke: extends: - .review-qa-base @@ -96,8 +73,8 @@ review-qa-smoke: retry: 1 # This is confusing but this means "2 runs at max". variables: QA_RUN_TYPE: review-qa-smoke - script: - - bin/test Test::Instance::Smoke "${CI_ENVIRONMENT_URL}" + QA_SCENARIO: Test::Instance::Smoke + review-qa-reliable: extends: @@ -108,7 +85,6 @@ review-qa-reliable: variables: QA_RUN_TYPE: review-qa-reliable QA_SCENARIO: Test::Instance::Reliable - KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-reliable.json review-qa-all: extends: @@ -118,7 +94,6 @@ review-qa-all: variables: QA_RUN_TYPE: review-qa-all QA_SCENARIO: Test::Instance::All - KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-all.json review-performance: extends: @@ -155,6 +130,15 @@ allure-report-qa-smoke: ALLURE_REPORT_PATH_PREFIX: gitlab-review-smoke ALLURE_JOB_NAME: review-qa-smoke +allure-report-qa-reliable: + extends: + - .allure-report-base + - .review:rules:review-qa-reliable-report + needs: ["review-qa-reliable"] + variables: + ALLURE_REPORT_PATH_PREFIX: gitlab-review-reliable + ALLURE_JOB_NAME: review-qa-reliable + allure-report-qa-all: extends: - .allure-report-base @@ -164,18 +148,15 @@ allure-report-qa-all: ALLURE_REPORT_PATH_PREFIX: gitlab-review-all ALLURE_JOB_NAME: review-qa-all -knapsack-report-qa-all: +knapsack-report: extends: - - .knapsack-upload-base - - .review:rules:knapsack-report-qa-all - needs: ["review-qa-all"] - variables: - KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-all.json - -knapsack-report-qa-reliable: - extends: - - .knapsack-upload-base - - .review:rules:knapsack-report-qa-reliable - needs: ["review-qa-reliable"] - variables: - KNAPSACK_REPORT_PATH: knapsack/gcs/review-qa-reliable.json + - .review:rules:knapsack-report + image: + name: ${QA_IMAGE} + entrypoint: [""] + stage: post-qa + allow_failure: true + before_script: + - cd qa + script: + - bundle exec rake 'knapsack:upload[tmp/knapsack/*/*.json]' diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index e62de4bc6d..008b62f6a0 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -171,12 +171,13 @@ - ".markdownlint.yml" - "scripts/lint-doc.sh" -.docs-deprecations-patterns: &docs-deprecations-patterns +.docs-deprecations-and-removals-patterns: &docs-deprecations-and-removals-patterns - "doc/update/deprecations.md" - - "data/deprecations/*.yml" - - "data/deprecations/templates/_deprecation_template.md.erb" + - "doc/update/removals.md" + - "data/deprecations/**/*" + - "data/removals/**/*" + - "tooling/docs/**/*" - "lib/tasks/gitlab/docs/compile_deprecations.rake" - - "tooling/deprecations/docs.rb" .bundler-patterns: &bundler-patterns - '{Gemfile.lock,*/Gemfile.lock,*/*/Gemfile.lock}' @@ -228,6 +229,9 @@ - "vendor/assets/**/*" - "{,ee/,jh/}{app/assets,app/helpers,app/presenters,app/views,locale,public,symbol}/**/*" +.controllers-patterns: &controllers-patterns + - "{,ee/,jh/}{app/controllers}/**/*" + .startup-css-patterns: &startup-css-patterns - "{,ee/,jh/}app/assets/stylesheets/startup/**/*" @@ -256,7 +260,7 @@ - "lib/gitlab/markdown_cache/active_record/**/*" - "config/prometheus/common_metrics.yml" # Used by Gitlab::DatabaseImporters::CommonMetrics::Importer - "{,ee/,jh/}app/models/project_statistics.rb" # Used to calculate sizes in migration specs - - "GITALY_SERVER_VERSION" # Has interactions with background migrations:https://gitlab.com/gitlab-org/gitlab/-/issues/336538 + - "GITALY_SERVER_VERSION" # Has interactions with background migrations:https://gitlab.com/gitlab-org/gitlab/-/issues/336538 # CI changes - ".gitlab-ci.yml" - ".gitlab/ci/**/*" @@ -279,7 +283,7 @@ - ".dockerignore" - "qa/**/*" -# Code patterns + .ci-patterns + .workhorse-patterns +# Code patterns + .ci-patterns .code-patterns: &code-patterns - "{package.json,yarn.lock}" - ".browserslistrc" @@ -541,10 +545,10 @@ changes: *docs-patterns when: on_success -.docs:rules:deprecations: +.docs:rules:deprecations-and-removals: rules: - <<: *if-default-refs - changes: *docs-deprecations-patterns + changes: *docs-deprecations-and-removals-patterns ################## # GraphQL rules # @@ -1612,12 +1616,14 @@ changes: *ci-review-patterns - <<: *if-dot-com-gitlab-org-merge-request changes: *frontend-patterns + - <<: *if-dot-com-gitlab-org-merge-request + changes: *controllers-patterns + - <<: *if-dot-com-gitlab-org-merge-request + changes: *qa-patterns - <<: *if-dot-com-gitlab-org-merge-request changes: *code-patterns when: manual allow_failure: true - - <<: *if-dot-com-gitlab-org-merge-request - changes: *qa-patterns - <<: *if-dot-com-gitlab-org-schedule variables: KNAPSACK_GENERATE_REPORT: "true" @@ -1648,56 +1654,51 @@ rules: - when: on_success -# The rule needs to be duplicated between `on_success` and `on_failure` -# because the jobs `needs` the previous job to complete. -# With `when: always`, and the `review-qa-*` jobs are manual, the `allure-report-qa-*` jobs -# would start running before the qa jobs have started. -# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63844#note_599012559 +# If the needed job isn't allowed to fail, we need to use `when: always` in +# order to keep the job always running after it. +# +# If the needed job is allowed to fail, we need to use both +# `when: on_success` and `when: on_failure` in order to keep +# the job always running after it. +# Not that if the needed job has `when: on_success` we can use `when: always` +# for the depending job. +# +# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76756 + +# Since `review-qa-smoke` isn't allowed to fail, we need to use `when: always` for `review-qa-smoke-report`. .review:rules:review-qa-smoke-report: rules: - - when: on_success - - when: on_failure + - when: always .review:rules:review-qa-reliable: rules: - when: on_success - allow_failure: true + +# Since `review-qa-reliable` isn't allowed to fail, we need to use `when: always`for `review-qa-reliable-report`. +.review:rules:review-qa-reliable-report: + rules: + - when: always .review:rules:review-qa-all: rules: - - <<: *if-merge-request-labels-run-review-app # we explicitely don't allow the job to fail in that case + - <<: *if-merge-request-labels-run-review-app # we explicitly don't allow the job to fail in that case - <<: *if-dot-com-gitlab-org-merge-request changes: *code-patterns when: manual - allow_failure: true # manual jobs needs to be allowd to fail, otherwise they block the pipeline + allow_failure: true # manual jobs needs to be allowed to fail, otherwise they block the pipeline - when: on_success allow_failure: true -# The rule needs to be duplicated between `on_success` and `on_failure` -# because the jobs `needs` the previous job to complete. -# With `when: always`, and the `review-qa-*` jobs are manual, the `allure-report-qa-*` jobs -# would start running before the qa jobs have started. -# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63844#note_599012559 +# Since `review-qa-all` is allowed to fail (and potentially manual), we need to use `when: on_success` and `when: on_failure` for `review-qa-all-report`. .review:rules:review-qa-all-report: rules: - when: on_success - allow_failure: true - when: on_failure - allow_failure: true -# Generate knapsack report on successful runs only -# Reliable suite will pass most of the time so this should yield best distribution -.review:rules:knapsack-report-qa-reliable: - rules: - - if: '$KNAPSACK_GENERATE_REPORT == "true"' - when: on_success - allow_failure: true - -.review:rules:knapsack-report-qa-all: +.review:rules:knapsack-report: rules: - if: '$KNAPSACK_GENERATE_REPORT == "true"' when: always - allow_failure: true .review:rules:review-cleanup: rules: diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index 1eb3bd2ea4..13108ba289 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -151,14 +151,17 @@ detect-previous-failed-tests: add-jh-folder: extends: .setup:rules:add-jh-folder - image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge + image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7 stage: prepare before_script: - - apk add --no-cache --update curl bash + - source ./scripts/utils.sh + - install_gitlab_gem script: - - curl --location -o "jh-folder.tar.gz" "https://gitlab.com/gitlab-jh/gitlab/-/archive/main-jh/gitlab-main-jh.tar.gz?path=jh" + - JH_BRANCH=$(./scripts/setup/find-jh-branch.rb) + - 'echo "JH_BRANCH: ${JH_BRANCH}"' + - curl --location -o "jh-folder.tar.gz" "https://gitlab.com/gitlab-jh/gitlab/-/archive/${JH_BRANCH}/gitlab-${JH_BRANCH}.tar.gz?path=jh" - tar -xf "jh-folder.tar.gz" - - mv gitlab-main-jh-jh/jh/ ./ + - mv "gitlab-${JH_BRANCH}-jh/jh/" ./ - cp Gemfile.lock jh/ - ls -l jh/ artifacts: diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml index cd53adc6d4..aab077e575 100644 --- a/.gitlab/ci/workhorse.gitlab-ci.yml +++ b/.gitlab/ci/workhorse.gitlab-ci.yml @@ -4,7 +4,7 @@ workhorse:verify: stage: test needs: [] script: - - make -C workhorse # test build + - make -C workhorse # test build - make -C workhorse verify .workhorse:test: diff --git a/.gitlab/ci/yaml.gitlab-ci.yml b/.gitlab/ci/yaml.gitlab-ci.yml index 590593b9d7..218dc0a785 100644 --- a/.gitlab/ci/yaml.gitlab-ci.yml +++ b/.gitlab/ci/yaml.gitlab-ci.yml @@ -10,4 +10,4 @@ lint-yaml: variables: LINT_PATHS: .gitlab-ci.yml .gitlab/ci lib/gitlab/ci/templates script: - - yamllint -f colored $LINT_PATHS + - yamllint --strict -f colored $LINT_PATHS diff --git a/.gitlab/issue_templates/Experiment Rollout.md b/.gitlab/issue_templates/Experiment Rollout.md index a7d6b46220..3ddcb5fe89 100644 --- a/.gitlab/issue_templates/Experiment Rollout.md +++ b/.gitlab/issue_templates/Experiment Rollout.md @@ -1,10 +1,10 @@ - + ## Summary This issue tracks the rollout and status of an experiment through to removal. -1. Experiment key / feature flag name: `` +1. Feature flag name: `` 1. Epic or issue link: `` This is an experiment rollout issue @@ -55,7 +55,7 @@ Note: you can use the [CXL calculator](https://cxl.com/ab-test-calculator/) to d - Runtime in days, or until we expect to reach statistical significance: `30` - We will roll this out behind a feature flag and expose this to ``% of actors to start then ramp it up from there. -`/chatops run feature set --actors` +`/chatops run feature set --actors` ### Status @@ -83,14 +83,14 @@ In this rollout issue, ensure the scoped `experiment::` label is kept accurate. ## Roll Out Steps - [ ] [Confirm that end-to-end tests pass with the feature flag enabled](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/feature_flags.html#confirming-that-end-to-end-tests-pass-with-a-feature-flag-enabled). If there are failing tests, contact the relevant [stable counterpart in the Quality department](https://about.gitlab.com/handbook/engineering/quality/#individual-contributors) to collaborate in updating the tests or confirming that the failing tests are not caused by the changes behind the enabled feature flag. -- [ ] Enable on staging (`/chatops run feature set true --staging`) +- [ ] Enable on staging (`/chatops run feature set true --staging`) - [ ] Test on staging - [ ] Ensure that documentation has been updated -- [ ] Enable on GitLab.com for individual groups/projects listed above and verify behaviour (`/chatops run feature set --project=gitlab-org/gitlab feature_name true`) +- [ ] Enable on GitLab.com for individual groups/projects listed above and verify behaviour (`/chatops run feature set --project=gitlab-org/gitlab true`) - [ ] Coordinate a time to enable the flag with the SRE oncall and release managers - In `#production` mention `@sre-oncall` and `@release-managers`. Once an SRE on call and Release Manager on call confirm, you can proceed with the rollout - [ ] Announce on the issue an estimated time this will be enabled on GitLab.com -- [ ] Enable on GitLab.com by running chatops command in `#production` (`/chatops run feature set feature_name true`) +- [ ] Enable on GitLab.com by running chatops command in `#production` (`/chatops run feature set true`) - [ ] Cross post chatops Slack command to `#support_gitlab-com` ([more guidance when this is necessary in the dev docs](https://docs.gitlab.com/ee/development/feature_flags/controls.html#where-to-run-commands)) and in your team channel - [ ] Announce on the issue that the flag has been enabled - [ ] Remove experiment code and feature flag and add changelog entry - a separate [cleanup issue](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Experiment%20Successful%20Cleanup) might be required @@ -102,7 +102,7 @@ In this rollout issue, ensure the scoped `experiment::` label is kept accurate. - [ ] This feature can be disabled by running the following Chatops command: ``` -/chatops run feature set false +/chatops run feature set false ``` ## Experiment Successful Cleanup Concerns diff --git a/.gitlab/issue_templates/Feature Proposal - basic.md b/.gitlab/issue_templates/Feature Proposal - basic.md index b16b5910b7..b447bcfe0a 100644 --- a/.gitlab/issue_templates/Feature Proposal - basic.md +++ b/.gitlab/issue_templates/Feature Proposal - basic.md @@ -13,6 +13,6 @@ Use the following resources to find the appropriate labels: - https://about.gitlab.com/handbook/product/categories/features/ --> -/label ~"group::" ~"section::" ~"Category::" +/label ~group:: ~section:: ~Category: /label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate" /label ~"type::feature" ~"feature::addition" ~documentation diff --git a/.gitlab/issue_templates/Feature Proposal - lean.md b/.gitlab/issue_templates/Feature Proposal - lean.md index c525531537..c826abe7e1 100644 --- a/.gitlab/issue_templates/Feature Proposal - lean.md +++ b/.gitlab/issue_templates/Feature Proposal - lean.md @@ -52,7 +52,6 @@ Use the following resources to find the appropriate labels: - https://about.gitlab.com/handbook/product/categories/features/ --> -/label ~"type::feature" -/label ~"group::" ~"section::" ~"Category::" +/label ~group:: ~section:: ~Category: /label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate" -/label ~documentation ~direction +/label ~"type::feature" ~documentation ~direction diff --git a/.gitlab/issue_templates/Feature proposal - detailed.md b/.gitlab/issue_templates/Feature proposal - detailed.md index f75ee08bfc..f7d0567f80 100644 --- a/.gitlab/issue_templates/Feature proposal - detailed.md +++ b/.gitlab/issue_templates/Feature proposal - detailed.md @@ -118,6 +118,6 @@ Use the following resources to find the appropriate labels: - https://gitlab.com/gitlab-org/gitlab/-/labels - https://about.gitlab.com/handbook/product/categories/features/ --> -/label ~"group::" ~"section::" ~"Category::" +/label ~group:: ~section:: ~Category: /label ~"GitLab Free" ~"GitLab Premium" ~"GitLab Ultimate" /label ~"type::feature" ~documentation ~direction diff --git a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md index 3c482105a2..256bddcbda 100644 --- a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md +++ b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md @@ -175,8 +175,8 @@ That's all of the required database changes. #### Step 1. Implement replication and verification - [ ] Add the following lines to the `cool_widget` model to accomplish some important tasks: - - Include `Gitlab::Geo::ReplicableModel` in the `CoolWidget` class, and specify the Replicator class `with_replicator Geo::CoolWidgetReplicator`. - - Include the `::Gitlab::Geo::VerificationState` concern. + - Include `::Geo::ReplicableModel` in the `CoolWidget` class, and specify the Replicator class `with_replicator Geo::CoolWidgetReplicator`. + - Include the `::Geo::VerifiableModel` concern. - Delegate verification related methods to the `cool_widget_state` model. - For verification, override some scopes to use the `cool_widget_states` table instead of the model table. - Implement the `verification_state_object` method to return the object that holds @@ -192,8 +192,8 @@ That's all of the required database changes. class CoolWidget < ApplicationRecord ... - include ::Gitlab::Geo::ReplicableModel - include ::Gitlab::Geo::VerificationState + include ::Geo::ReplicableModel + include ::Geo::VerifiableModel with_replicator Geo::CoolWidgetReplicator diff --git a/.gitlab/issue_templates/Geo Replicate a new blob type.md b/.gitlab/issue_templates/Geo Replicate a new blob type.md index d2fc7307c8..44b80158e5 100644 --- a/.gitlab/issue_templates/Geo Replicate a new blob type.md +++ b/.gitlab/issue_templates/Geo Replicate a new blob type.md @@ -179,8 +179,8 @@ That's all of the required database changes. #### Step 1. Implement replication and verification - [ ] Add the following lines to the `cool_widget` model to accomplish some important tasks: - - Include `Gitlab::Geo::ReplicableModel` in the `CoolWidget` class, and specify the Replicator class `with_replicator Geo::CoolWidgetReplicator`. - - Include the `::Gitlab::Geo::VerificationState` concern. + - Include `::Geo::ReplicableModel` in the `CoolWidget` class, and specify the Replicator class `with_replicator Geo::CoolWidgetReplicator`. + - Include the `::Geo::VerifiableModel` concern. - Delegate verification related methods to the `cool_widget_state` model. - For verification, override some scopes to use the `cool_widget_states` table instead of the model table. - Implement the `verification_state_object` method to return the object that holds @@ -194,8 +194,8 @@ That's all of the required database changes. class CoolWidget < ApplicationRecord ... - include ::Gitlab::Geo::ReplicableModel - include ::Gitlab::Geo::VerificationState + include ::Geo::ReplicableModel + include ::Geo::VerifiableModel with_replicator Geo::CoolWidgetReplicator diff --git a/.gitlab/issue_templates/Performance Indicator Metric.md b/.gitlab/issue_templates/Performance Indicator Metric.md new file mode 100644 index 0000000000..f4d8885b11 --- /dev/null +++ b/.gitlab/issue_templates/Performance Indicator Metric.md @@ -0,0 +1,23 @@ + + +## Summary + + + +## Tasks + +- [ ] [Link to metric definition]() +- [ ] Create issue in GitLab Data Team project using [Product Performance Indicator template](https://gitlab.com/gitlab-data/analytics/-/issues/new?issuable_template=Product%20Performance%20Indicator%20Template) + +See [Product Intelligence Guide](https://docs.gitlab.com/ee/development/service_ping/performance_indicator_metrics.html) for details + +/label ~"product intelligence" ~"Data Warehouse::Impact Check" diff --git a/.gitlab/issue_templates/Security developer workflow.md b/.gitlab/issue_templates/Security developer workflow.md index 6bf9e6971d..e63727fe48 100644 --- a/.gitlab/issue_templates/Security developer workflow.md +++ b/.gitlab/issue_templates/Security developer workflow.md @@ -53,6 +53,7 @@ After your merge request has been approved according to our [approval guidelines | Description | Link | | -------- | -------- | | Issue on [GitLab](https://gitlab.com/gitlab-org/gitlab/issues) | #TODO | +| CVE ID request on [`gitlab-org/cves`](https://gitlab.com/gitlab-org/cves/-/issues?sort=created_date&state=opened) | #TODO for AppSec | ### Details diff --git a/.gitlab/merge_request_templates/Deprecations.md b/.gitlab/merge_request_templates/Deprecations.md index 1cadf54ff1..e0b4f127e4 100644 --- a/.gitlab/merge_request_templates/Deprecations.md +++ b/.gitlab/merge_request_templates/Deprecations.md @@ -2,21 +2,23 @@ /label ~"release post" ~"release post item" ~"Technical Writing" ~"devops::" ~"group::" ~"release post item::deprecation" /milestone % -/assign `@PM` +/assign `@EM/PM` (choose the DRI; remove backticks here, and below) **Be sure to link this MR to the relevant deprecation issue(s).** +If the MR does not have a deprecation issue, hit pause and review [this handbook documentation](https://about.gitlab.com/handbook/product/gitlab-the-product/#process-for-deprecating-and-removing-a-feature) and connect with the Product Manager DRI. + Deprecation announcements can and should be created and merged into Docs at any time, to optimize user awareness and planning. We encourage confirmed deprecations to be merged as soon as the required reviews are complete, even if weeks ahead of the target milestone's release post. For the announcement to be included in a specific release post and that release's documentation packages, this MR must be reviewed/merged per the due dates below: **By the 10th**: Assign this MR to these team members as Reviewer and for Approval (optional unless noted as required): - Product Marketing: `@PMM` - Product Designer(s): `@ProductDesigners` -- Group Manager or Director: `@manager` +- Product Group Manager or Director: `@PM` - Required - Engineering Manager: `@EM` - Required - Technical writer: `@TW` - Required -**By 11:59 AM PDT 15th**: PM assigns this MR to the TW reviewer for final review and merge: `@PM` +**By 11:59 AM PDT 15th**: EM/PM assigns this MR to the TW reviewer for final review and merge: `@EM/PM` **By 11:59 PM PDT 17th**: TW Reviewer updates Docs by merging this MR to `master`: `@TW` @@ -31,9 +33,9 @@ They are frequently updated, and everyone should make sure they are aware of the - Deprecation Issue: - Deprecation MR (optional): -## PM release post item checklist +## EM/PM release post item checklist -- [ ] Set yourself as the Assignee. +- [ ] Set yourself as the Assignee, meaning you are the DRI. - [ ] If the deprecation is a [breaking change](https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-change), add label `breaking change`. - [ ] Follow the process to [create a deprecation YAML file](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-deprecation-entry). - [ ] Add reviewers by the 10th. diff --git a/.gitlab/merge_request_templates/Removals.md b/.gitlab/merge_request_templates/Removals.md new file mode 100644 index 0000000000..398714826b --- /dev/null +++ b/.gitlab/merge_request_templates/Removals.md @@ -0,0 +1,103 @@ + + +**Be sure to link this MR to the relevant deprecation issue(s).** + +If the MR does not have a deprecation issue, hit pause and: + +- Review [this handbook documentation](https://about.gitlab.com/handbook/product/gitlab-the-product/#process-for-deprecating-and-removing-a-feature). +- Connect with the Product Manager DRI. + +Removals must be [announced as Deprecations](https://about.gitlab.com/handbook/marketing/blog/release-posts/#deprecations) at least 2 milestones in advance of the planned removal date. Removals can only be removed in a XX.0 major release if it creates a [breaking change](https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-changes-deprecations-and-removing-features). + +**By the 10th**: Assign this MR to these team members as reviewers, and for approval: + +- Required: + - Product Group Manager or Director: `@PM` + - Engineering Manager: `@EM` + - Technical writer: `@TW` +- Optional: + - Product Designer(s): `@ProductDesigners` + - Product Marketing: `@PMM` + +**By 7:59 PM UTC 15th (11:59 AM PT)**: EM/PM assigns this MR to the TW reviewer for final review and merge: `@EM/PM` + +**By 7:59 AM UTC 18th (11:59 PM PT 17th)**: TW Reviewer updates Docs by merging this MR to `master`: `@TW` + +--- + +Please review the [guidelines for removals](https://about.gitlab.com/handbook/marketing/blog/release-posts/#removals). + +## Links + +- Removal Issue: +- Removal MR (optional): + +## EM/PM release post item checklist + +- [ ] Set yourself as the Assignee, meaning you are the DRI. +- [ ] If the removal is a [breaking change](https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-change), add label `breaking change`. +- [ ] Follow the process to [create a removal YAML file](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-removal-entry). +- [ ] Add reviewers by the 10th. +- [ ] When ready to be merged and not later than the 15th, add the ~ready label and @ message the TW for final review and merge. + +## Reviewers + +When the content is ready for review, the Technical Writer and Engineering Manager _must_ +review it. Optional reviewers can include Product Marketing, Product Design, and the Product Leaders +for this area. Use the +[Reviewers for Merge Requests](https://docs.gitlab.com/ee/user/project/merge_requests/getting_started#reviewer) +feature for all reviews. Reviewers will `approve` the MR and remove themselves from the reviewers list when their review is complete. + +- [ ] (Recommended) PMM +- [ ] (Optional) Product Designer +- [ ] (Optional) Group Manager or Director +- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). + +### Tech writer review + +The TW should review according to the criteria listed below. Review a removal MR +with the same process as regular docs MRs. Add suggestions as needed, @ message +the PM to inform them the first review is complete, and remove +yourself as a reviewer if it's not yet ready for merge. + +
+Expand for Details + +- [ ] Title: + - Length limit: 7 words (not including articles or prepositions). + - Capitalization: ensure the title is [sentence cased](https://design.gitlab.com/content/punctuation#case). + - No Markdown `` `code` `` formatting in the title, as it doesn't render correctly in the release post. +- [ ] Consistency: + - Ensure that all resources (docs, removal, etc.) refer to the feature with the same term / feature name. +- [ ] Content: + - Make sure the removal is accurate based on your understanding. Look for typos or grammar mistakes. Work with PM and PMM to ensure a consistent GitLab style and tone for messaging, based on other features and removals. + - Review use of whitespace and bullet lists. Will the removal item be easily scannable when published? Consider adding line breaks or breaking content into bullets if you have more than a few sentences. + - Make sure there aren't acronyms readers may not understand per . +- [ ] Links: + - All links must be full URLs, as the removal YAML files are used in multiple projects. Do not use relative links. The generated doc is an exception to the relative link rule and currently uses absolute links only. + - Make sure all links and anchors are correct. Do not link to the H1 (top) anchor on a docs page. +- [ ] Code. Make sure any included code is wrapped in code blocks. +- [ ] Capitalization. Make sure to capitalize feature names. Stay consistent with the Documentation Style Guidance on [Capitalization](https://docs.gitlab.com/ee/development/documentation/styleguide.html#capitalization). +- [ ] Blank spaces. Remove unnecessary spaces (end of line spaces, double spaces, extra blank lines, and lines with only spaces). + +
+ +When the PM indicates it is ready for merge and all issues have been addressed, start the merge process. + +#### Technical writer merge process + +The [removals doc's `.md` file](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/update/removals.md) +must be updated before this MR is merged: + +1. Check out the MR's branch (in the [`gitlab-org/gitlab`](https://gitlab.com/gitlab-org/gitlab) project). +1. From the command line (in the branch), run `bin/rake gitlab:docs:compile_removals`. + If you want to double check that it worked, you can run `bin/rake gitlab:docs:check_removals` + to verify that the doc is up to date. +1. Commit the updated file and push the changes. +1. Set the MR to merge when the pipeline succeeds (or merge if the pipeline is already complete). + +If you have trouble running the rake task, check the [troubleshooting steps](https://about.gitlab.com/handbook/marketing/blog/release-posts/#deprecation-rake-task-troubleshooting). + +/label ~"release post" ~"release post item" ~"Technical Writing" ~devops:: ~group:: ~"release post item::removal" +/milestone % +/assign `@EM/PM` (choose the DRI; remove backticks here, and below) diff --git a/.markdownlint.yml b/.markdownlint.yml index bb4c859e19..e1e2b24631 100644 --- a/.markdownlint.yml +++ b/.markdownlint.yml @@ -26,6 +26,7 @@ proper-names: names: [ "Akismet", "Alertmanager", + "AlmaLinux", "API", "Asana", "Auth0", @@ -91,7 +92,7 @@ proper-names: "markdownlint", "Mattermost", "Microsoft", - "Minikube", + "minikube", "MinIO", "ModSecurity", "NGINX Ingress", @@ -103,6 +104,7 @@ proper-names: "OpenID", "OpenShift", "PgBouncer", + "Postfix", "PostgreSQL", "Praefect", "Prometheus", @@ -117,6 +119,7 @@ proper-names: "runit", "Salesforce", "SAML", + "Sendmail", "Sentry", "Sidekiq", "Shibboleth", diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 94d8d40c10..300706a4d8 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -325,7 +325,6 @@ Performance/Sum: - 'lib/container_registry/tag.rb' - 'lib/gitlab/ci/reports/test_suite_comparer.rb' - 'lib/gitlab/diff/file.rb' - - 'lib/gitlab/sherlock/transaction.rb' - 'lib/gitlab/usage_data.rb' - 'lib/peek/views/detailed_view.rb' - 'spec/models/namespace/root_storage_statistics_spec.rb' diff --git a/.rubocop_todo/database/multiple_databases.yml b/.rubocop_todo/database/multiple_databases.yml index e555c2f912..7329d178dc 100644 --- a/.rubocop_todo/database/multiple_databases.yml +++ b/.rubocop_todo/database/multiple_databases.yml @@ -1,14 +1,12 @@ --- Database/MultipleDatabases: Exclude: - - ee/lib/ee/gitlab/database.rb - ee/lib/gitlab/geo/database_tasks.rb - ee/lib/gitlab/geo/geo_tasks.rb - ee/lib/gitlab/geo/health_check.rb - ee/lib/gitlab/geo/log_cursor/daemon.rb - ee/lib/pseudonymizer/dumper.rb - ee/lib/pseudonymizer/pager.rb - - ee/lib/system_check/geo/geo_database_configured_check.rb - ee/spec/lib/pseudonymizer/dumper_spec.rb - ee/spec/services/ee/merge_requests/update_service_spec.rb - lib/backup/database.rb @@ -21,16 +19,13 @@ Database/MultipleDatabases: - lib/gitlab/database/migrations/observers/query_log.rb - lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table.rb - lib/gitlab/database.rb - - lib/gitlab/database/schema_cache_with_renamed_table.rb - lib/gitlab/database/with_lock_retries.rb - lib/gitlab/gitlab_import/importer.rb - lib/gitlab/health_checks/db_check.rb - lib/gitlab/import_export/base/relation_factory.rb - lib/gitlab/import_export/group/relation_tree_restorer.rb - lib/gitlab/legacy_github_import/importer.rb - - lib/gitlab/metrics/samplers/database_sampler.rb - lib/gitlab/seeder.rb - - lib/gitlab/sherlock/query.rb - lib/system_check/orphans/repository_check.rb - spec/db/schema_spec.rb - spec/initializers/database_config_spec.rb @@ -39,15 +34,8 @@ Database/MultipleDatabases: - spec/lib/gitlab/database_spec.rb - spec/lib/gitlab/metrics/subscribers/active_record_spec.rb - spec/lib/gitlab/profiler_spec.rb - - spec/lib/gitlab/usage_data_metrics_spec.rb - - spec/lib/gitlab/usage_data_queries_spec.rb - spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/constraints_spec.rb - spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb - - spec/lib/gitlab/usage/metrics/instrumentations/database_metric_spec.rb - - spec/lib/gitlab/utils/usage_data_spec.rb - - spec/models/project_feature_usage_spec.rb - - spec/models/users_statistics_spec.rb - - spec/services/users/activity_service_spec.rb - spec/support/caching.rb - spec/support/gitlab/usage/metrics_instrumentation_shared_examples.rb - spec/support/helpers/database_connection_helpers.rb diff --git a/.rubocop_todo/gitlab/delegate_predicate_methods.yml b/.rubocop_todo/gitlab/delegate_predicate_methods.yml index d31b4a30fc..7ed3fc3e4f 100644 --- a/.rubocop_todo/gitlab/delegate_predicate_methods.yml +++ b/.rubocop_todo/gitlab/delegate_predicate_methods.yml @@ -2,9 +2,6 @@ Gitlab/DelegatePredicateMethods: Exclude: - app/models/clusters/cluster.rb - - app/models/concerns/ci/metadatable.rb - app/models/concerns/integrations/base_data_fields.rb - app/models/project.rb - ee/app/models/concerns/ee/ci/metadatable.rb - - ee/app/models/license.rb - - lib/gitlab/ci/trace/stream.rb diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml index 898768c242..f13325378d 100644 --- a/.rubocop_todo/gitlab/namespaced_class.yml +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -369,6 +369,7 @@ Gitlab/NamespacedClass: - app/models/wiki_page.rb - app/models/wiki_page/meta.rb - app/models/wiki_page/slug.rb + - app/models/work_item.rb - app/models/x509_certificate.rb - app/models/x509_commit_signature.rb - app/models/x509_issuer.rb diff --git a/.rubocop_todo/graphql/argument_name.yml b/.rubocop_todo/graphql/argument_name.yml deleted file mode 100644 index 29d2ae7d4a..0000000000 --- a/.rubocop_todo/graphql/argument_name.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -GraphQL/ArgumentName: - Exclude: - - ee/app/graphql/mutations/audit_events/external_audit_event_destinations/update.rb diff --git a/.rubocop_todo/graphql/field_definitions.yml b/.rubocop_todo/graphql/field_definitions.yml index c6ca867426..35ed870fa4 100644 --- a/.rubocop_todo/graphql/field_definitions.yml +++ b/.rubocop_todo/graphql/field_definitions.yml @@ -5,9 +5,6 @@ GraphQL/FieldDefinitions: - app/graphql/types/group_type.rb - app/graphql/types/issue_type.rb - app/graphql/types/label_type.rb - - app/graphql/types/project_type.rb - - app/graphql/types/projects/topic_type.rb - - app/graphql/types/release_type.rb - ee/app/graphql/types/ci/code_quality_degradation_type.rb - ee/app/graphql/types/epic_type.rb - ee/app/graphql/types/group_release_stats_type.rb diff --git a/.rubocop_todo/graphql/field_method.yml b/.rubocop_todo/graphql/field_method.yml index 1cc4aa7e26..7c336451c4 100644 --- a/.rubocop_todo/graphql/field_method.yml +++ b/.rubocop_todo/graphql/field_method.yml @@ -6,7 +6,3 @@ GraphQL/FieldMethod: - app/graphql/types/metrics/dashboards/annotation_type.rb - app/graphql/types/packages/package_details_type.rb - app/graphql/types/project_type.rb - - ee/app/graphql/types/dast/profile_type.rb - - ee/app/graphql/types/dast_site_validation_type.rb - - ee/app/graphql/types/group_release_stats_type.rb - - ee/app/graphql/types/incident_management/oncall_rotation_type.rb diff --git a/.rubocop_todo/graphql/ordered_arguments.yml b/.rubocop_todo/graphql/ordered_arguments.yml index a2df1315ee..3a4e805948 100644 --- a/.rubocop_todo/graphql/ordered_arguments.yml +++ b/.rubocop_todo/graphql/ordered_arguments.yml @@ -4,9 +4,6 @@ GraphQL/OrderedArguments: - app/graphql/resolvers/base_issues_resolver.rb - app/graphql/resolvers/design_management/designs_resolver.rb - app/graphql/resolvers/design_management/version/design_at_version_resolver.rb - - app/graphql/resolvers/design_management/version/designs_at_version_resolver.rb - - app/graphql/resolvers/design_management/version_in_collection_resolver.rb - - app/graphql/resolvers/group_milestones_resolver.rb - app/graphql/resolvers/merge_requests_resolver.rb - app/graphql/resolvers/paginated_tree_resolver.rb - app/graphql/resolvers/tree_resolver.rb diff --git a/.rubocop_todo/rails/include_url_helper.yml b/.rubocop_todo/rails/include_url_helper.yml index 2dedba19c7..6a34c58ecf 100644 --- a/.rubocop_todo/rails/include_url_helper.yml +++ b/.rubocop_todo/rails/include_url_helper.yml @@ -7,7 +7,6 @@ Rails/IncludeUrlHelper: - app/models/integrations/campfire.rb - app/models/integrations/confluence.rb - app/models/integrations/custom_issue_tracker.rb - - app/models/integrations/datadog.rb - app/models/integrations/discord.rb - app/models/integrations/ewm.rb - app/models/integrations/external_wiki.rb diff --git a/.rubocop_todo/rails/save_bang.yml b/.rubocop_todo/rails/save_bang.yml index d7c9366d85..15361fd674 100644 --- a/.rubocop_todo/rails/save_bang.yml +++ b/.rubocop_todo/rails/save_bang.yml @@ -1,24 +1,7 @@ --- Rails/SaveBang: Exclude: - - ee/spec/initializers/fog_google_https_private_urls_spec.rb - ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb - - ee/spec/lib/gitlab/auth/ldap/access_spec.rb - - ee/spec/lib/gitlab/auth/o_auth/user_spec.rb - - ee/spec/lib/gitlab/auth/saml/user_spec.rb - - ee/spec/lib/gitlab/elastic/search_results_spec.rb - - ee/spec/lib/gitlab/email/handler/ee/service_desk_handler_spec.rb - - ee/spec/lib/gitlab/geo_spec.rb - - ee/spec/lib/gitlab/git_access_spec.rb - - ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb - - ee/spec/lib/gitlab/mirror_spec.rb - - ee/spec/models/application_setting_spec.rb - - ee/spec/models/approval_merge_request_rule_spec.rb - - ee/spec/models/approval_project_rule_spec.rb - - ee/spec/models/burndown_spec.rb - - ee/spec/models/elasticsearch_indexed_namespace_spec.rb - - ee/spec/models/gitlab_subscription_spec.rb - - ee/spec/models/issue_spec.rb - ee/spec/models/protected_environment_spec.rb - ee/spec/models/repository_spec.rb - ee/spec/models/scim_identity_spec.rb @@ -28,31 +11,6 @@ Rails/SaveBang: - ee/spec/models/visible_approvable_spec.rb - ee/spec/models/vulnerabilities/feedback_spec.rb - ee/spec/models/vulnerabilities/issue_link_spec.rb - - ee/spec/services/ee/merge_requests/update_service_spec.rb - - ee/spec/services/ee/notes/quick_actions_service_spec.rb - - ee/spec/services/ee/notification_service_spec.rb - - ee/spec/services/epic_links/create_service_spec.rb - - ee/spec/services/epics/close_service_spec.rb - - ee/spec/services/epics/issue_promote_service_spec.rb - - ee/spec/services/epics/reopen_service_spec.rb - - ee/spec/services/epics/tree_reorder_service_spec.rb - - ee/spec/services/epics/update_dates_service_spec.rb - - ee/spec/services/epics/update_service_spec.rb - - ee/spec/services/geo/blob_verification_secondary_service_spec.rb - - ee/spec/services/geo/files_expire_service_spec.rb - - ee/spec/services/geo/metrics_update_service_spec.rb - - ee/spec/services/geo/registry_consistency_service_spec.rb - - ee/spec/services/geo/repository_verification_secondary_service_spec.rb - - ee/spec/services/groups/autocomplete_service_spec.rb - - ee/spec/services/ldap_group_reset_service_spec.rb - - ee/spec/services/lfs/unlock_file_service_spec.rb - - ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb - - ee/spec/services/quick_actions/interpret_service_spec.rb - - ee/spec/services/slash_commands/global_slack_handler_spec.rb - - ee/spec/services/start_pull_mirroring_service_spec.rb - - ee/spec/services/status_page/trigger_publish_service_spec.rb - - ee/spec/services/todo_service_spec.rb - - ee/spec/services/vulnerability_feedback/create_service_spec.rb - spec/lib/backup/manager_spec.rb - spec/lib/gitlab/alerting/alert_spec.rb - spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb @@ -66,11 +24,6 @@ Rails/SaveBang: - spec/lib/gitlab/database/custom_structure_spec.rb - spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb - spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb - - spec/lib/gitlab/gfm/reference_rewriter_spec.rb - - spec/lib/gitlab/git_access_spec.rb - - spec/lib/gitlab/import_export/avatar_saver_spec.rb - - spec/lib/gitlab/import_export/base/relation_factory_spec.rb - - spec/lib/gitlab/import_export/design_repo_restorer_spec.rb - spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb - spec/lib/gitlab/import_export/fork_spec.rb - spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb @@ -90,9 +43,3 @@ Rails/SaveBang: - spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb - spec/lib/gitlab/import_export/snippets_repo_saver_spec.rb - spec/lib/gitlab/import_export/uploads_manager_spec.rb - - spec/lib/gitlab/import_export/uploads_saver_spec.rb - - spec/lib/gitlab/import_export/wiki_restorer_spec.rb - - spec/lib/gitlab/lets_encrypt/client_spec.rb - - spec/lib/gitlab/middleware/go_spec.rb - - spec/lib/gitlab/shard_health_cache_spec.rb - - spec/mailers/notify_spec.rb diff --git a/.rubocop_todo/rails/time_zone.yml b/.rubocop_todo/rails/time_zone.yml index 0e2b036c31..86d0632ac4 100644 --- a/.rubocop_todo/rails/time_zone.yml +++ b/.rubocop_todo/rails/time_zone.yml @@ -76,7 +76,6 @@ Rails/TimeZone: - lib/gitlab/prometheus/queries/additional_metrics_environment_query.rb - lib/gitlab/prometheus/queries/matched_metric_query.rb - lib/gitlab/prometheus_client.rb - - lib/gitlab/sherlock/transaction.rb - lib/gitlab/task_helpers.rb - lib/gitlab/x509/tag.rb - lib/grafana/time_window.rb @@ -141,7 +140,6 @@ Rails/TimeZone: - spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb - spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb - spec/lib/gitlab/prometheus/queries/validate_query_spec.rb - - spec/lib/gitlab/sherlock/transaction_spec.rb - spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb - spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb - spec/lib/gitlab/updated_notes_paginator_spec.rb diff --git a/.rubocop_todo/rspec/timecop_freeze.yml b/.rubocop_todo/rspec/timecop_freeze.yml index c20c6214fa..8deefee116 100644 --- a/.rubocop_todo/rspec/timecop_freeze.yml +++ b/.rubocop_todo/rspec/timecop_freeze.yml @@ -2,9 +2,6 @@ RSpec/TimecopFreeze: Exclude: - ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb - - ee/spec/lib/gitlab/geo/git_push_http_spec.rb - - ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb - - ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb - ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb - ee/spec/models/merge_train_spec.rb - ee/spec/support/shared_contexts/lib/gitlab/insights/reducers/reducers_shared_contexts.rb diff --git a/.rubocop_todo/style/open_struct_use.yml b/.rubocop_todo/style/open_struct_use.yml index aa486f6956..ed4a53f289 100644 --- a/.rubocop_todo/style/open_struct_use.yml +++ b/.rubocop_todo/style/open_struct_use.yml @@ -13,7 +13,6 @@ Style/OpenStructUse: - lib/gitlab/testing/request_inspector_middleware.rb - lib/mattermost/session.rb - spec/controllers/groups/clusters_controller_spec.rb - - spec/controllers/import/gitlab_controller_spec.rb - spec/controllers/projects/clusters_controller_spec.rb - spec/factories/go_module_versions.rb - spec/factories/wiki_pages.rb @@ -26,17 +25,13 @@ Style/OpenStructUse: - spec/graphql/mutations/commits/create_spec.rb - spec/helpers/application_settings_helper_spec.rb - spec/helpers/profiles_helper_spec.rb - - spec/initializers/doorkeeper_spec.rb - spec/lib/gitlab/auth/o_auth/provider_spec.rb - - spec/lib/gitlab/database/migrations/runner_spec.rb - spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb - spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb - spec/lib/gitlab/legacy_github_import/project_creator_spec.rb - spec/lib/gitlab/quick_actions/command_definition_spec.rb - spec/models/design_management/design_action_spec.rb - spec/models/design_management/design_at_version_spec.rb - - spec/models/user_spec.rb - - spec/presenters/packages/nuget/search_results_presenter_spec.rb - spec/services/packages/nuget/metadata_extraction_service_spec.rb - spec/services/projects/import_service_spec.rb - spec/services/system_note_service_spec.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 39ae46d244..3d1db34250 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,23 +2,492 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. -## 14.6.5 (2022-02-25) +## 14.7.4 (2022-02-25) ### Security (8 changes) -- [Limit commands_changes to certain keys](gitlab-org/security/gitlab@138c437f2819d62ce4750fb84399d8868c844b01) ([merge request](gitlab-org/security/gitlab!2227)) -- [Add runners_token prefix to Group and Project](gitlab-org/security/gitlab@682d4e9b63d3d36901638edc75c1b265460d42dc) ([merge request](gitlab-org/security/gitlab!2250)) -- [Anonymous user can enumerate all users through GraphQL endpoint](gitlab-org/security/gitlab@2b00a8036b291d3ad5de551a5e13c2a0a39d0234) ([merge request](gitlab-org/security/gitlab!2102)) -- [Check for unsafe characters in email addresses before sending](gitlab-org/security/gitlab@6bc653b3dadefb3d2c80823786d43e6b7f8c4620) ([merge request](gitlab-org/security/gitlab!2208)) -- [Warn when snippet contains unretrievable files](gitlab-org/security/gitlab@f9ae9515ec98ab934f4aa3a35af0aca806bbe21d) ([merge request](gitlab-org/security/gitlab!2203)) -- [Prevent DOS when rendering math markdown](gitlab-org/security/gitlab@fd6d496df6f4b5eb3da0b851f9ff8ebb1d68d3f2) ([merge request](gitlab-org/security/gitlab!2201)) -- [Check permission when creating members through service](gitlab-org/security/gitlab@948e5103285de2a6cdb5152ff2c13ae4db2f4cda) ([merge request](gitlab-org/security/gitlab!2211)) -- [Reset password field on page load](gitlab-org/security/gitlab@1417b463f2771a4b17e068dea9de3aa6c4540962) ([merge request](gitlab-org/security/gitlab!2194)) +- [Limit commands_changes to certain keys](gitlab-org/security/gitlab@59351be8d1d868e31bc849482b266e4047710eeb) ([merge request](gitlab-org/security/gitlab!2226)) +- [Add runners_token prefix to Group and Project](gitlab-org/security/gitlab@74615b7fd5359c4da7f1a3ca9052685e81e1690f) ([merge request](gitlab-org/security/gitlab!2249)) +- [Anonymous user can enumerate all users through GraphQL endpoint](gitlab-org/security/gitlab@e213dfc546020d3f88b40cdfc0f877138b0aaef5) ([merge request](gitlab-org/security/gitlab!2119)) +- [Check for unsafe characters in email addresses before sending](gitlab-org/security/gitlab@395385ffccfd9d25063531ea955b179d9bc4f0c5) ([merge request](gitlab-org/security/gitlab!2207)) +- [Warn when snippet contains unretrievable files](gitlab-org/security/gitlab@dc4b3c00284e17bcbf20ec2ae1ee7e8a7efae9b2) ([merge request](gitlab-org/security/gitlab!2204)) +- [Prevent DOS when rendering math markdown](gitlab-org/security/gitlab@f01674f210dee4c803b4850292d16412463b18e3) ([merge request](gitlab-org/security/gitlab!2200)) +- [Check permission when creating members through service](gitlab-org/security/gitlab@4f9b302511ddfaf07af8d08d848252e0c64ff307) ([merge request](gitlab-org/security/gitlab!2210)) +- [Reset password field on page load](gitlab-org/security/gitlab@1a6541462e1ddd58ea9a172fbd3c0b9026760784) ([merge request](gitlab-org/security/gitlab!2193)) -## 14.6.4 (2022-02-03) +## 14.7.3 (2022-02-15) + +### Fixed (2 changes) + +- [Update GitHub PRs Importer to force update repository](gitlab-org/gitlab@33f12736b070362cb89e9bbb4b3aa7d86fc373c3) ([merge request](gitlab-org/gitlab!80595)) +- [Fix Geo checksummable check failing when file is nil](gitlab-org/gitlab@f49e3ea3e4d4ca7a64607687f9aaa974801b6bf9) ([merge request](gitlab-org/gitlab!80595)) **GitLab Enterprise Edition** + +### Changed (1 change) + +- [Properly exclude pending_destruction packages when creating one](gitlab-org/gitlab@9fb9f1ca8a2342225b7017c211f85175a4ef56dd) ([merge request](gitlab-org/gitlab!80595)) + +## 14.7.2 (2022-02-08) + +### Added (1 change) + +- [Allow self-hosted instances to render same-origin Iframe](gitlab-org/gitlab@eb7c78363cdfc670286967872d8458fc5f6d82e8) ([merge request](gitlab-org/gitlab!79966)) + +### Fixed (4 changes) + +- [Geo: Fix reverify object stored files](gitlab-org/gitlab@603700dcca3b8f25a3b80b44b11a73df549c0cb3) ([merge request](gitlab-org/gitlab!79966)) **GitLab Enterprise Edition** +- [Geo: Fix verification failures of remote stored files](gitlab-org/gitlab@2eb8ac7e88dcd40f0e8266966655962e4d6e3171) ([merge request](gitlab-org/gitlab!79966)) **GitLab Enterprise Edition** +- [GitLab Version - CE Admin Dashboard [RUN ALL RSPEC] [RUN AS-IF-FOSS]](gitlab-org/gitlab@f2253ce2d729fa202a26b54f3ca870b932ea1855) ([merge request](gitlab-org/gitlab!79966)) +- [Fix cluster integration HTTP adapter](gitlab-org/gitlab@c05027ef4d7ec35fc16e8e16dc6e5af201f665c3) ([merge request](gitlab-org/gitlab!79966)) + +### Changed (1 change) + +- [Update to ruby-magic v0.5.4](gitlab-org/gitlab@ced6ef1001730dc2851f58f7db3229d1c585b9d3) ([merge request](gitlab-org/gitlab!79966)) + +### Removed (1 change) + +- [Disable sandboxed_mermaid feature flag by default](gitlab-org/gitlab@70c40d43169bd48d360ed7a6a03c33c05d5e3738) ([merge request](gitlab-org/gitlab!79966)) + +## 14.7.1 (2022-02-03) No changes. +## 14.7.0 (2022-01-21) + +### Added (84 changes) + +- [Add verification before namespace creation](gitlab-org/gitlab@62c6ea0ff38f4a90ede4d5200e78206cdb71d29b) ([merge request](gitlab-org/gitlab!77315)) +- [Add GraphQL mutation to destroy timeline events](gitlab-org/gitlab@71a1be80522bd01d3434dde6a5bb009454e65839) ([merge request](gitlab-org/gitlab!78192)) **GitLab Enterprise Edition** +- [ApplicationSetting: Add runner_token_expiration_interval field](gitlab-org/gitlab@d62621aa82714995cfe84c056773b291775b77bc) by @KyleFromKitware ([merge request](gitlab-org/gitlab!77884)) +- [Rate limit Gitlab Shell operations](gitlab-org/gitlab@ddda5851babbad2f89b7ba37b0437b87e55950e5) ([merge request](gitlab-org/gitlab!78373)) +- [Add `Delete` button to label edit view](gitlab-org/gitlab@07fa8e097bfc1143cfe362a0a4f2031d4792b73b) ([merge request](gitlab-org/gitlab!77917)) +- [Enable autocomplete on cadence iteration create/edit pages](gitlab-org/gitlab@f0f99fc37266ebffb82134419bde8346ca799091) by @espadav8 ([merge request](gitlab-org/gitlab!78272)) **GitLab Enterprise Edition** +- [Extend GraphQL API interface with `securityTrainingProviders` field](gitlab-org/gitlab@d182af0c80834ddfc6f5db0587202f013351a42e) ([merge request](gitlab-org/gitlab!78195)) **GitLab Enterprise Edition** +- [Hierarchy page to show work items](gitlab-org/gitlab@a88b585c3b8cc4fd4fd11229e175ed4e24dead13) ([merge request](gitlab-org/gitlab!76720)) +- [Add group level access token UI](gitlab-org/gitlab@a1a5cb34efe5218b562c69e621fc586625b3ed0a) by @fh1ch ([merge request](gitlab-org/gitlab!77449)) +- [Remove ci_archived_build_trace_checksum feature flag](gitlab-org/gitlab@fbdec367917ae9f8ec4577f6de6ecd292755d5d0) ([merge request](gitlab-org/gitlab!78368)) +- [Add scan result policies into the policy](gitlab-org/gitlab@71e49518d368fa7ab6a20a7ce295b5025923179f) ([merge request](gitlab-org/gitlab!77810)) **GitLab Enterprise Edition** +- [Enable logging when recursive webhook detected](gitlab-org/gitlab@2c9dc9a4b3d8b9f510369277f9d9fb12c319ee57) ([merge request](gitlab-org/gitlab!78343)) +- [Enable sandboxed_mermaid feature flag](gitlab-org/gitlab@da35abbc144db7737f0633cc7c3b4121e7db1ad5) ([merge request](gitlab-org/gitlab!78283)) +- [Feat(SM Subscription History): trim table size](gitlab-org/gitlab@1f43ddd699ee4934878f99d9741dc3ccbeb48e1a) ([merge request](gitlab-org/gitlab!78183)) **GitLab Enterprise Edition** +- [Add subsidized cost factor for Open Source plan](gitlab-org/gitlab@f71cc9528fb35bf963845913c67cf1ad69e144e9) ([merge request](gitlab-org/gitlab!77882)) **GitLab Enterprise Edition** +- [Remove expired agent activity events as new events are created](gitlab-org/gitlab@8aa9f25450d99139cc806cc985422a1ae0808b50) ([merge request](gitlab-org/gitlab!75709)) +- [Add docs for pages domain rate-limits](gitlab-org/gitlab@12555484fbbe1687188644806e2c0880859f1977) ([merge request](gitlab-org/gitlab!77969)) +- [Add a temporary index for Member.state](gitlab-org/gitlab@4a0852c64aee2312a4475db720d9acb04beeb075) ([merge request](gitlab-org/gitlab!77298)) +- [Adding Secure Files data model and file uploader](gitlab-org/gitlab@92da2973e1cfc22b988ec4a24a5e36da6e1ff426) ([merge request](gitlab-org/gitlab!77886)) +- [Expose internal_url setting for Geo secondaries](gitlab-org/gitlab@0af8fa9eba99528d17cbadc3a811575fea862897) ([merge request](gitlab-org/gitlab!77179)) **GitLab Enterprise Edition** +- [Add the `draft` argument to GraphQL MergeRequestsResolver](gitlab-org/gitlab@701214248ec36e6b79c4db3cd78cd315ba62e7f2) ([merge request](gitlab-org/gitlab!78181)) +- [Send a rejection email if incoming emails are too large](gitlab-org/gitlab@d9e1fb2be07af9f43f8cda7ceca2f362586830f1) ([merge request](gitlab-org/gitlab!77638)) +- [Clean up escalations after changing incident proj](gitlab-org/gitlab@75943f4afd57a030e8c3667d47a938d9d3bf02c1) ([merge request](gitlab-org/gitlab!77086)) **GitLab Enterprise Edition** +- [Support default templates for issues/MRs via .gitlab/ folders](gitlab-org/gitlab@9cdca50399671316824442cbb00f3c27f4a82a13) by @davebarr ([merge request](gitlab-org/gitlab!76326)) +- [Add link to the self-managed trial flow from SaaS trial signup](gitlab-org/gitlab@c68e39aab18b6d373369b1b4fce5d9f99b1c2fae) ([merge request](gitlab-org/gitlab!76476)) **GitLab Enterprise Edition** +- [feat: Bump Code-Quality image to 0.85.26](gitlab-org/gitlab@fb862e4f77f377e269a15d6bdbbd3b1b2f0fe22f) ([merge request](gitlab-org/gitlab!78125)) +- [Allow issue contacts from parent groups](gitlab-org/gitlab@380cc55a36a2e0e738f8c58e03f18b344712d99b) by @leetickett ([merge request](gitlab-org/gitlab!77352)) +- [Allow to wrap inline code in other marks](gitlab-org/gitlab@e3b9f1ab6a7002c5d7ed1b4917b7a3e5aa54d016) ([merge request](gitlab-org/gitlab!78081)) +- [Registration features info for ip restriction](gitlab-org/gitlab@70dad3a46c4e7a8aa052014b1972ebe1d6feaa32) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74022)) **GitLab Enterprise Edition** +- [Add approve button on pending members table](gitlab-org/gitlab@844577de50d75d35eaad3950ea972f677d721889) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75756)) **GitLab Enterprise Edition** +- [Upgrade GitLab Pages to 1.51.0](gitlab-org/gitlab@fe8eab56e1af1cb531b80bdd9418b80aab045387) ([merge request](gitlab-org/gitlab!78066)) +- [Indicate locked users in Admin Area](gitlab-org/gitlab@ecb69f22f0bcf9e45638441edc8a096060138179) ([merge request](gitlab-org/gitlab!77729)) +- [Include the project name VSA stage records](gitlab-org/gitlab@2277b12463d6ba32a68737f396a001842e530f07) ([merge request](gitlab-org/gitlab!77841)) **GitLab Enterprise Edition** +- [Accept maintainer_note in REST runner registration](gitlab-org/gitlab@574e6f6e2ee3d80b89a09abb7346b60e94e06269) ([merge request](gitlab-org/gitlab!77779)) +- [Enforce unique contact email for group hierarchy](gitlab-org/gitlab@6895e1ad1ec27efebd0750d0351917ebbba38c6f) by @leetickett ([merge request](gitlab-org/gitlab!77830)) +- [Add maintainer_note field to CI runners table](gitlab-org/gitlab@0ecabcff56b140cd7a9211500d44072d2c020f8c) ([merge request](gitlab-org/gitlab!77767)) +- [GitLab Version - Help Dropdown Version](gitlab-org/gitlab@a12657ea63d161613d2b1ce88cb01029d196f9e5) ([merge request](gitlab-org/gitlab!74830)) +- [Add support for backing up Packages](gitlab-org/gitlab@7d89a2283e629ddad1695189774f66d2c1e4d8d4) ([merge request](gitlab-org/gitlab!77532)) +- [Allow to configure log level of Gitlab:Logger (by env variable)](gitlab-org/gitlab@f5718975c73f2469eb437d7f0e40c7b9ab3c0cdb) by @wwwjon ([merge request](gitlab-org/gitlab!77667)) +- [REST API: add field merge_user to MR response](gitlab-org/gitlab@5246e6c9ebd5d717ddc1c48bcba39e754656bf34) by @trakos ([merge request](gitlab-org/gitlab!77658)) +- [Add index for selecting active agent tokens](gitlab-org/gitlab@732ecd9ce4ad55e6149f62501acd51c70b168508) ([merge request](gitlab-org/gitlab!77923)) +- [Add vulnerabilityFindingDismiss GraphQL mutation](gitlab-org/gitlab@3a3e04be0d988de3d0742eae81cb34de25be3b9c) ([merge request](gitlab-org/gitlab!77372)) **GitLab Enterprise Edition** +- [Enable filtering agent tokens by status](gitlab-org/gitlab@caab657574087d94a02a6e8fca482e6683f8acfe) ([merge request](gitlab-org/gitlab!77735)) +- [Add customer relations group setting](gitlab-org/gitlab@3ecdc804ab926194bf7b6687ce6e850480b400e5) by @leetickett ([merge request](gitlab-org/gitlab!77386)) +- [Add namespace_id reference to routes](gitlab-org/gitlab@b8eb9f1daf0f17f9f4b1a7024f7b8a471937892e) ([merge request](gitlab-org/gitlab!77571)) +- [Add scan result policy into policy list](gitlab-org/gitlab@f8846f093036b1e44f406f0817455563341b8e20) ([merge request](gitlab-org/gitlab!77778)) **GitLab Enterprise Edition** +- [Add package managers api paths to details type](gitlab-org/gitlab@d00938625158efc2dbc15228962787ab1fa82eef) ([merge request](gitlab-org/gitlab!77518)) +- [Adds API feature configuring default mr target](gitlab-org/gitlab@1e3a3ddfc408d43de1ce018525912c6f19953581) ([merge request](gitlab-org/gitlab!77169)) +- [Enable autocomplete features on iteration forms](gitlab-org/gitlab@bcb5110c0a49760cf4fbc03f0e13f80c2cd28ff3) by @espadav8 ([merge request](gitlab-org/gitlab!77511)) **GitLab Enterprise Edition** +- [Add editAdminUrl to Runner GraphQL API](gitlab-org/gitlab@62dd4d2257bf3322d06fb3e45223dca94468ab1a) ([merge request](gitlab-org/gitlab!77748)) +- [Expose iteration ordinal number via APIs](gitlab-org/gitlab@e558ef90dcbed60c0e234f2ec3a8733a0fc040e8) ([merge request](gitlab-org/gitlab!77650)) **GitLab Enterprise Edition** +- [Add enable and disable advanced search rake tasks](gitlab-org/gitlab@4de079337744c963657174e43fd72dbfe42a638b) ([merge request](gitlab-org/gitlab!75946)) **GitLab Enterprise Edition** +- [Allow to hide personalization questions on New Group page](gitlab-org/gitlab@f64750a2ce222c7f0199408a6f5d53a1d6bff36e) by @wwwjon ([merge request](gitlab-org/gitlab!76920)) +- [Registration features info for sending emails](gitlab-org/gitlab@657c11fec93bb29b8e3bd28f8b9c9330f1498a43) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74042)) **GitLab Enterprise Edition** +- [Add Group Access Token API endpoints](gitlab-org/gitlab@de7db9d75eecc16266f9331fa99aa7ab8cdf2e1e) by @fh1ch ([merge request](gitlab-org/gitlab!77236)) +- [GraphQL: Add count property to RunnerType’s connection](gitlab-org/gitlab@fcaa5681819bc800acc0e1ae751420e6e994c193) ([merge request](gitlab-org/gitlab!77578)) +- [Add GraphQL mutation to revoke an agent token](gitlab-org/gitlab@43d8a69cfbdd26e55a61d13fada73d9012a77242) ([merge request](gitlab-org/gitlab!77635)) +- [Schedule recalculating UUID for all `Vulnerabilities::Finding` records](gitlab-org/gitlab@88326bacf0d0dd14c04aed23f0506cf6ff51d45b) ([merge request](gitlab-org/gitlab!75546)) +- [Add migration to enqueue background worker](gitlab-org/gitlab@853e639114a473a00338f5b42c0085fbee8e91a9) ([merge request](gitlab-org/gitlab!76714)) +- [Add createdAt to Runner GraphQL API](gitlab-org/gitlab@f91730711cf4c452b90863fadd3dd4fcbedc7093) ([merge request](gitlab-org/gitlab!77561)) +- [Add search and sorting to tags](gitlab-org/gitlab@ee4c64d2c469291e3b51a88e20bc658c58f52004) ([merge request](gitlab-org/gitlab!76759)) +- [Update gitlab-omniauth-openid-connect gem to support ECSDA keys](gitlab-org/gitlab@1c8377c8cf95ec518561a65323766856d1f76d81) ([merge request](gitlab-org/gitlab!77491)) +- [Remove dependency proxy feature flag](gitlab-org/gitlab@5237844f3fcfc918376d20012a703ed1a2525b4a) ([merge request](gitlab-org/gitlab!77477)) +- [Upgrade GitLab Pages to 1.50.0](gitlab-org/gitlab@7bae98c9590cd2ad1b17e5a1abd4737320632ada) ([merge request](gitlab-org/gitlab!77405)) +- [Add HTTP status to LFS push client error messages](gitlab-org/gitlab@4e1acedbfd28b3adf9c0a0569843e80f2d5d6ef8) ([merge request](gitlab-org/gitlab!77334)) +- [Add group crm settings](gitlab-org/gitlab@083c1f8f6eb4accca6b6707a32866a59260504c6) by @leetickett ([merge request](gitlab-org/gitlab!76983)) +- [Add co_authored_by to merge commit templates](gitlab-org/gitlab@143e577c77c56339473561ddeeb0e0c75073f8ff) by @trakos ([merge request](gitlab-org/gitlab!76042)) +- [Allow filtering epics by author_username and not[author_username]](gitlab-org/gitlab@5d759493f94eafb3361ab1080d31beeff6203375) by @espadav8 ([merge request](gitlab-org/gitlab!77151)) **GitLab Enterprise Edition** +- [Add `ref_path` to PipelineType](gitlab-org/gitlab@f1cb789d3d0267455a7242f6a8de63688f65eb26) by @genctys ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/72591)) +- [Allow LDAP failover](gitlab-org/gitlab@3a900c1b39be153b37be3db8e60bcfb8de51513b) by @sathieu ([merge request](gitlab-org/gitlab!77000)) +- [Add Backup and Restore tasks for Terraform States](gitlab-org/gitlab@58a8d4f80b24f2e6dc6d99a2675ea220310d044b) ([merge request](gitlab-org/gitlab!63347)) +- [Handle syncing alert escalation status to incident](gitlab-org/gitlab@badcfcd2aa91748bf67adfcfd22b316199723e91) ([merge request](gitlab-org/gitlab!75706)) +- [Added possibility to remove agent from UI](gitlab-org/gitlab@6b5b5e8f5879e896efcb76a8eb9fff16282f4881) ([merge request](gitlab-org/gitlab!77199)) +- [Add "Scan library" tab](gitlab-org/gitlab@d3ca75aacca08c7651b0c0b8bd49a3253aac8e51) ([merge request](gitlab-org/gitlab!77107)) **GitLab Enterprise Edition** +- [Enable github_importer_use_diff_note_with_suggestions by default](gitlab-org/gitlab@eaab50eb575d73513ac2f2eef4f85adbbccb0043) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74096)) +- [Rename projects set for delayed deletion](gitlab-org/gitlab@268d41a518a7021f75881e46290e533ac85ab3df) ([merge request](gitlab-org/gitlab!76675)) +- [Add unique userid count for Geo proxied requests](gitlab-org/gitlab@27ae10f38bbeffa53d729881b854f63402e86d82) ([merge request](gitlab-org/gitlab!76587)) **GitLab Enterprise Edition** +- [Add rate limiting for user email lookup](gitlab-org/gitlab@fe9363276e8e6027c851b83ec6bf13ec6a412878) ([merge request](gitlab-org/gitlab!76760)) +- [Export Project LFS Objects as part of GitLab Migration](gitlab-org/gitlab@7867db2c22fb9c9850e1dcb49f26fa2b89a665c6) ([merge request](gitlab-org/gitlab!77018)) +- [Add GraphQL query to retrieve timeline events](gitlab-org/gitlab@e18bf545fa62c1e15977bed1f55c94de88285932) ([merge request](gitlab-org/gitlab!76232)) **GitLab Enterprise Edition** +- [Limit Sidekiq push_bulk to a maximum of 1000 jobs in one go by default](gitlab-org/gitlab@8e2664ed46c4d172024a1c52673fc6ea3a1be667) ([merge request](gitlab-org/gitlab!77088)) +- [Add revoked status to cluster agent tokens](gitlab-org/gitlab@283842444a31d6ebab0ae22559e6e71dd918e691) ([merge request](gitlab-org/gitlab!76505)) +- [Allow passing in an epic parent_id when updating epics](gitlab-org/gitlab@d71076d540cd7a888ffbdc34748c493d229c4f5e) by @espadav8 ([merge request](gitlab-org/gitlab!76510)) **GitLab Enterprise Edition** +- [Add database.flavor to usage data](gitlab-org/gitlab@9179c6fc3d589d2a042d3716b3577bb0b1644989) ([merge request](gitlab-org/gitlab!75587)) + +### Fixed (98 changes) + +- [Fix copying/pasting images in the Content Editor](gitlab-org/gitlab@0cbc98ec5e900b1e5cd9bc70330038b6bd1facb8) ([merge request](gitlab-org/gitlab!78295)) +- [Fix security dashboard showing wrong count for more than 100 projects](gitlab-org/gitlab@bdceb76ca0d67b8aeb3d60ceddd9f546f15880b9) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78074)) **GitLab Enterprise Edition** +- [Fix default emaildomain when creating RAT users](gitlab-org/gitlab@b8f08407b9b3551e9a6f2e194cc68d4621b16f53) by @cruelsmith ([merge request](gitlab-org/gitlab!74506)) +- [Show blocked status label in deployments view](gitlab-org/gitlab@95fc512756749b80d46863975b98e9ba8c081bf1) ([merge request](gitlab-org/gitlab!78234)) **GitLab Enterprise Edition** +- [Dependency proxy settings are built on access](gitlab-org/gitlab@b45f64264ef2d86a9461bce01f329515c06a4cf8) ([merge request](gitlab-org/gitlab!77553)) +- [Allow git protocol to be used for repository imports](gitlab-org/gitlab@0f5eade690d7b5f744ea19a5a4e84bb126e4b60e) ([merge request](gitlab-org/gitlab!78479)) +- [Show "Issues" menu when Jira issues is enabled](gitlab-org/gitlab@807e746aeb02406309e9dc40afca0d5f4b4c7428) ([merge request](gitlab-org/gitlab!78467)) **GitLab Enterprise Edition** +- [Order child epics in roadmap by configured sort order](gitlab-org/gitlab@53a095bf9d319b69d95517895495d84f0801b0dc) by @espadav8 ([merge request](gitlab-org/gitlab!78249)) **GitLab Enterprise Edition** +- [Fix disabled style for mirror settings field](gitlab-org/gitlab@105e3ac6aa244fd202d846fed19b30cdde07360d) ([merge request](gitlab-org/gitlab!78399)) +- [Destroy trace chunks and data when deleting pipelines](gitlab-org/gitlab@70987ae1fad949e03f9812a2baa5635c64d0dd23) ([merge request](gitlab-org/gitlab!78116)) +- [Fix authorized_groups to include sub groups as well](gitlab-org/gitlab@2273ebc4d6defa6b76be38bf4fd026926d5e0704) by @wwwjon ([merge request](gitlab-org/gitlab!76556)) +- [Fix margin for submit button with captcha](gitlab-org/gitlab@b6b3509f1bb98adeaa4a24bc40faa8e8e8799176) ([merge request](gitlab-org/gitlab!78316)) +- [Migrate Epics tabs to Vue](gitlab-org/gitlab@186fe2573fc3b97481a234764f238ca782184792) ([merge request](gitlab-org/gitlab!77653)) **GitLab Enterprise Edition** +- [Fix N+1 issue when associating DAST profiles and CI Builds](gitlab-org/gitlab@1136d945411c12e328d96faf9d019167c629e086) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75448)) **GitLab Enterprise Edition** +- [Geo: Fix undefined separate_verification_state_table?](gitlab-org/gitlab@17bb757f0b2781606194e3c504ea9fd468981c0b) ([merge request](gitlab-org/gitlab!78293)) **GitLab Enterprise Edition** +- [Error Tracking: Fix collecting errors for golang](gitlab-org/gitlab@e0d5bee3b05bf7c90dbc36c788a77924006939d0) by @bastianccm ([merge request](gitlab-org/gitlab!78199)) +- [Notify admins 15 days prior to license expiration](gitlab-org/gitlab@c58f99d5aaa7f70b1d727d9c4591dbe030867bdb) ([merge request](gitlab-org/gitlab!78000)) **GitLab Enterprise Edition** +- [Fix auditor user able to bulk select vulns on vulnerability report](gitlab-org/gitlab@0d18a578bc1fcd8ea7cec17ac2e5eeae8bd6df46) ([merge request](gitlab-org/gitlab!78241)) **GitLab Enterprise Edition** +- [Fix autoscroll to comments on issues](gitlab-org/gitlab@2884857277ce2b6c1c01635f04022117258f9ac1) ([merge request](gitlab-org/gitlab!76340)) +- [Strip + reference format from HTML links](gitlab-org/gitlab@4a9a163cfe57669a96cf7f52babe5296817f81ce) ([merge request](gitlab-org/gitlab!78229)) +- [Allow developers to fork into group](gitlab-org/gitlab@ddcf166129acb5aee41547d2f6edd5596b7a49b2) ([merge request](gitlab-org/gitlab!78204)) +- [Use normal font weight and border for 'Subscribe' buttons](gitlab-org/gitlab@dc35d3c742b89c7e15648b3de05e81bad0158483) by @KevSlashNull ([merge request](gitlab-org/gitlab!75961)) +- [Improve visibility radio option text on new project page](gitlab-org/gitlab@bce954ea1ed798fd0cac0a9ff6660a94f53ca34c) ([merge request](gitlab-org/gitlab!78083)) +- [Fix schema registration in the pipeline editor](gitlab-org/gitlab@8710212ee7ade8321f0c3cdc2cb4615cad365017) ([merge request](gitlab-org/gitlab!77743)) +- [Boards - Fix weight assigned to wrong card](gitlab-org/gitlab@fe2abc0bc79a20c2017ff082b3ad220be2f6b222) ([merge request](gitlab-org/gitlab!78161)) **GitLab Enterprise Edition** +- [Remove unnecessary CSS in VSA](gitlab-org/gitlab@2e80c7955adfa1c05ad5bf56c32e169642312f67) ([merge request](gitlab-org/gitlab!78175)) +- [Fix shift after VSA path load](gitlab-org/gitlab@51961b486dae6db5d09b0c958b96d3ef4a2eef8d) ([merge request](gitlab-org/gitlab!77960)) +- [Fix Incident sidebar on issue boards](gitlab-org/gitlab@743ee5d690df326d441702aaa06041ca5e38505b) ([merge request](gitlab-org/gitlab!78021)) +- [Always autofill group slug](gitlab-org/gitlab@f4c35074e597fb95738fdc7977f20665062bf01f) ([merge request](gitlab-org/gitlab!78152)) +- [Update excon to v0.90.0](gitlab-org/gitlab@4efa0b3feee70cd1f1b95e100fbdd858a674d7d2) ([merge request](gitlab-org/gitlab!78147)) +- [Format issue list counts](gitlab-org/gitlab@2a359443494573caf5fab88a72df45d504fc5a56) ([merge request](gitlab-org/gitlab!77986)) +- [Ignore multiple when syntax highlighting](gitlab-org/gitlab@7a6fb02d8c4c6a9755dcc849913813b9c57cf35c) ([merge request](gitlab-org/gitlab!77796)) +- [Waive credit card validation if project has paid CI/CD minutes](gitlab-org/gitlab@7c2e0e1bf79c63bb1436ed2cb1aa1c97baf9441b) ([merge request](gitlab-org/gitlab!77829)) **GitLab Enterprise Edition** +- [Fix toggle code block button in Content Editor](gitlab-org/gitlab@766da0c228f5b1bf6dae79c45fa67fbb5844e260) ([merge request](gitlab-org/gitlab!78071)) +- [Use the same email validation for User and Email](gitlab-org/gitlab@866a5fa0f6ba9c71d728a8c7b4f7007d9fa9d755) ([merge request](gitlab-org/gitlab!77785)) +- [Expose new monthIso8601 GraphQL option to fix CI minutes usage sorting](gitlab-org/gitlab@43cd0bbd9ec6e59ae7bad449dd21ee10a67f0267) by @davebarr ([merge request](gitlab-org/gitlab!78006)) +- [Improve ReadTotalTimeout to start with reading](gitlab-org/gitlab@7448b7927973ba17af2d5a5121b2f5b221eb4405) ([merge request](gitlab-org/gitlab!77879)) +- [Update excon gem to v0.89.0](gitlab-org/gitlab@af75482f39e73d3670d82f4dd7050bd6bd46a4ab) ([merge request](gitlab-org/gitlab!78007)) +- [Fix infinite loop in Content Editor codeblocks](gitlab-org/gitlab@2fe3c8849ba12a03608de211b3cf3d5eb334f8e4) ([merge request](gitlab-org/gitlab!77965)) +- [Only show owners & admins CI minutes purchase notifications](gitlab-org/gitlab@723c7229d3e927b6552bdd84b8cbcd120fb3a24a) ([merge request](gitlab-org/gitlab!77118)) **GitLab Enterprise Edition** +- [Restric access to crm to reporter+](gitlab-org/gitlab@e495d6a5c83c7e9e194d425e5558385749cae73e) by @leetickett ([merge request](gitlab-org/gitlab!77825)) +- [Fix destruction of projects with pipelines](gitlab-org/gitlab@1cbf0709c5df11aa273350054ad276edf50e16fb) ([merge request](gitlab-org/gitlab!77941)) +- [Fix invalid raw_metadata being persisted](gitlab-org/gitlab@14835eb9bfda4c1a107f20c0c7f6594a89a3fa16) ([merge request](gitlab-org/gitlab!76151)) +- [Disable copy-code button for mermaid diagrams](gitlab-org/gitlab@ca5833e1c8adeda25c9a2e5ea64349307bef3c84) ([merge request](gitlab-org/gitlab!77935)) +- [Return 401 when using invalid tokens in oauth/token/info](gitlab-org/gitlab@3e0738ce3ae3d4b19d728f3cc719857b5f7c88ce) ([merge request](gitlab-org/gitlab!77644)) +- [Fix the text on Kubenetes Agent modal](gitlab-org/gitlab@60d29a672dceb8a41e13f2754339aef3dccacff0) ([merge request](gitlab-org/gitlab!77933)) +- [Add patch for WikiCloth Lua vulnerability](gitlab-org/gitlab@6c03aad1d81c574b695b207eb4335d6905f24ba5) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76174)) +- [Notify admins 15 days prior to license expiration](gitlab-org/gitlab@b07a83f73772ff9abdbd44153c4203a117661d0e) ([merge request](gitlab-org/gitlab!77608)) **GitLab Enterprise Edition** +- [Fix image comment note submission](gitlab-org/gitlab@a2e81cec76c72053f676dcea082a7b75b3f2037e) ([merge request](gitlab-org/gitlab!77864)) +- [Fix last update time for project in group page](gitlab-org/gitlab@a290c395c7af5012052045136a95bfde8de45dce) by @orozot ([merge request](gitlab-org/gitlab!77356)) +- [Fix missing autosave support in Epic create form](gitlab-org/gitlab@3c479a42896e4b9390232c8d5b0bce6635dc9e89) ([merge request](gitlab-org/gitlab!77859)) **GitLab Enterprise Edition** +- [Remove menu when is not possible to delete](gitlab-org/gitlab@3d10359ebe5e2c9f32ce51e27239ba5a9d0593a8) ([merge request](gitlab-org/gitlab!77692)) +- [Correctly pass instance in EDITOR_READY_EVENT](gitlab-org/gitlab@6be7d6bee5a2d1ad70a9d04013f5fdc3746f62a9) ([merge request](gitlab-org/gitlab!77852)) +- [Merge/squash commit templates: avoid breaking Git trailers](gitlab-org/gitlab@77922683758f9772d4b88f53a9e9cabf38267944) by @trakos ([merge request](gitlab-org/gitlab!77758)) +- [Prevent design discussions without login](gitlab-org/gitlab@73a6999553598919ea2db32bb3266e56cea03852) ([merge request](gitlab-org/gitlab!77563)) +- [Remove cluster image scanning dropdown item from scanner filter](gitlab-org/gitlab@343443b4abb7102549c67b498d96163eacfe2250) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77738)) **GitLab Enterprise Edition** +- [Fix hook log path for service hooks](gitlab-org/gitlab@b9141ad9c798d0e4219c922d5f2ee0ec8735661e) ([merge request](gitlab-org/gitlab!77741)) +- [Fix pipeline schedule resets to UTC on edit](gitlab-org/gitlab@d5298c293fc60a14ce431b63a13493025be2814f) by @JonstonChan ([merge request](gitlab-org/gitlab!77723)) +- [Use correct namespace method](gitlab-org/gitlab@375ee7ac45a4e9f554339752e6ec207e2b662787) ([merge request](gitlab-org/gitlab!77678)) +- [Re-add EachBatch include for failed_verification_timeouts](gitlab-org/gitlab@6285caf988103d29883e55fbc1b3d34c6699cd0f) ([merge request](gitlab-org/gitlab!77676)) **GitLab Enterprise Edition** +- [Fix Sidekiq reporting to Sentry outside of job contexts](gitlab-org/gitlab@4ee15af663a4277e43cd53798168edfac7367428) ([merge request](gitlab-org/gitlab!77659)) +- [Fix sticky filters not working on vulnerability report](gitlab-org/gitlab@d57da00d0771100f1b7a278715882088fadc24ec) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77647)) **GitLab Enterprise Edition** +- [Fix Kubernetes Agent Link on Project page](gitlab-org/gitlab@eff9a85753bfc0d6d4ed5316d65c2d49bf17cc2b) ([merge request](gitlab-org/gitlab!77645)) +- [Externalize strings for translation in todos](gitlab-org/gitlab@224f2ead1c3592dd7372de94e05d5d0d65342dbc) ([merge request](gitlab-org/gitlab!77402)) +- [Update Rails to v6.1.4.4](gitlab-org/gitlab@a091fd5e95b7033453c236d7f8e188cebd8b94ff) ([merge request](gitlab-org/gitlab!77630)) +- [Fix input group text border color](gitlab-org/gitlab@4ba08fe6ad7bc85e760fc0b6c9fcb7bac898c19a) ([merge request](gitlab-org/gitlab!77607)) +- [Match address of host when checking whether to login](gitlab-org/gitlab@d8d066def6db36708a6373ec1640ef4401c66647) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73492)) **GitLab Enterprise Edition** +- [Improve LFS client performance and fix compatibility with Azure DevOps](gitlab-org/gitlab@6e532b4d22abcac66b54993ab27fc791db13e40f) ([merge request](gitlab-org/gitlab!77326)) +- [Do not fail report ingestion if there is an invalid finding](gitlab-org/gitlab@c752c229fc0bb68fdf0503301c192ffd364aca3a) ([merge request](gitlab-org/gitlab!77591)) **GitLab Enterprise Edition** +- [Update acme-client to v2.0.9](gitlab-org/gitlab@c0a40f092db148ec87dc0bb09d75f664e7ebd305) ([merge request](gitlab-org/gitlab!77534)) +- [Update rouge gem version](gitlab-org/gitlab@bad64f0b050212029e5a7ae2b4d5ea696b36ee48) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76884)) +- [Adjust bottom margin for loose markdown lists](gitlab-org/gitlab@c197e14dbd8fb307c4580e26d1196e703315b449) ([merge request](gitlab-org/gitlab!77275)) +- [Remove running build entries when calling doom on a build](gitlab-org/gitlab@bedc9243d29e8c5bbfd8a1c17373e8d09c5f388a) ([merge request](gitlab-org/gitlab!77507)) +- [Fix migration for cases with empty strings](gitlab-org/gitlab@8d5405a6516ee07721fadcc43c1da27fc0b7a177) ([merge request](gitlab-org/gitlab!77506)) +- [Fix 500 errors when renaming projects with underscores](gitlab-org/gitlab@4a70f4ef144347dc9dc98240cfc63693e2458855) ([merge request](gitlab-org/gitlab!77485)) +- [Geo: adapt verification timed out query to use state table](gitlab-org/gitlab@2b6d41e07fc4be9318aa0402856cb4f23aa46dc3) ([merge request](gitlab-org/gitlab!77364)) **GitLab Enterprise Edition** +- [Allow admins to foce confirm emails](gitlab-org/gitlab@e3a73408c5d8fea67dc613fb54225c925115eb50) ([merge request](gitlab-org/gitlab!77287)) +- [Ignore new line differences when deciding whether to squash MR](gitlab-org/gitlab@7b38fbeeddbaed7fc34470ee29a7d6a0c7bd2793) by @trakos ([merge request](gitlab-org/gitlab!77429)) +- [Fix re-use of extensions between instances](gitlab-org/gitlab@6c29b2da23027c526be90091370a9dcb663a46c2) ([merge request](gitlab-org/gitlab!77319)) +- [Fix nil actor errors in Sentry API handler](gitlab-org/gitlab@fa51f84199e4ef09d3c7d5fe96927bf2aebfed3d) ([merge request](gitlab-org/gitlab!77340)) +- [Removes the dismiss button from the pipeline header alert](gitlab-org/gitlab@e1f8647c94e84033856f94ac0bedf49e31b6e908) ([merge request](gitlab-org/gitlab!77128)) +- [Call dependency proxy cleanup workers in purge](gitlab-org/gitlab@ed164a8c593f4e4a34db9e3f056721ee30f67563) ([merge request](gitlab-org/gitlab!77043)) +- [Add Auth0, JWT, and Shibboleth to list of providers with icons](gitlab-org/gitlab@67a5600d4b36f1a673be94ed75aab70426d63a78) ([merge request](gitlab-org/gitlab!77213)) +- [Fix Prometheus endpoint to return created alerts](gitlab-org/gitlab@d473fefa655b7d362f8ebcc4d1205b2955d466fd) ([merge request](gitlab-org/gitlab!77168)) +- [Make time track help state top margin consistent](gitlab-org/gitlab@010bca712fd8db81589e8cd4d73b90983735868c) ([merge request](gitlab-org/gitlab!77087)) +- [Validate against duplicates in job needs](gitlab-org/gitlab@1aa37265cf00ac987cd33a56823db7bfdd0238a5) ([merge request](gitlab-org/gitlab!77083)) +- [Fix MergeRequest's MergeUser for non-MWPS merges in GraphQL API](gitlab-org/gitlab@a65d4e2b68f3849c9d5193e38fcf300aa0985549) by @trakos ([merge request](gitlab-org/gitlab!76043)) +- [Align roadmap quarters to calendar quarters](gitlab-org/gitlab@e0e4058d7d934bdc3db3c06ab8449b3d35049621) by @espadav8 ([merge request](gitlab-org/gitlab!76927)) **GitLab Enterprise Edition** +- [checks: Fix revalidation of preexisting commits](gitlab-org/gitlab@d86514f1068552632ea4988d705b18803938f696) ([merge request](gitlab-org/gitlab!76106)) +- [Fix project import from remote to import from S3](gitlab-org/gitlab@242c4c8f6128580d78da81e18a655c7dbda7a380) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75170)) +- [Mark vulnerabilities as not resolved on default branch on ingestion](gitlab-org/gitlab@80e79c7adc9574a485628b1479ababd98600551d) ([merge request](gitlab-org/gitlab!77060)) **GitLab Enterprise Edition** +- [Skip updating vulnerability statistics if there are no new records](gitlab-org/gitlab@e580999f2b52996769a80a0930f5fc846bf7b7a2) ([merge request](gitlab-org/gitlab!77056)) **GitLab Enterprise Edition** +- [Remove legacy pages config updates](gitlab-org/gitlab@a1a540c0c4db7376cce601cc87e14f9193302c3b) ([merge request](gitlab-org/gitlab!76918)) +- [Do not check SSO session for git operations originating from CI/CD jobs](gitlab-org/gitlab@fc84cab8beb8e64df750e7e4019978d4551f886f) ([merge request](gitlab-org/gitlab!76909)) **GitLab Enterprise Edition** +- [MR Documentation suggestions](gitlab-org/gitlab@9f4cf0975108469e83ec16fb30530f69c2fdc4a9) by @lzampier ([merge request](gitlab-org/gitlab!66778)) +- [Drop reindexing leftovers only if exclusive lease is granted](gitlab-org/gitlab@0b4a82f2120527a21a502ca8531d7da0726c3dd5) ([merge request](gitlab-org/gitlab!75290)) +- [Fix import project from gitlab.com error](gitlab-org/gitlab@677873e2d0df439cda3a5a92eabaf76e354fa9bb) by @orozot ([merge request](gitlab-org/gitlab!76768)) +- [Fix filename overflowing modal when importing](gitlab-org/gitlab@b49c821609cee720da8d277488fd2969f3f97d25) by @KevSlashNull ([merge request](gitlab-org/gitlab!75891)) + +### Changed (135 changes) + +- [Change hashing algorithm in webpack](gitlab-org/gitlab@8d42ec95c12041ce8738828a9e07e7569afd8bea) ([merge request](gitlab-org/gitlab!78581)) +- [Swap FK ci_pipeline_artifacts to projects for LFK](gitlab-org/gitlab@5e3f68fc65480679d2e12aaab0ca05729e56c079) ([merge request](gitlab-org/gitlab!78058)) +- [Remove permitted_attributes_for_import_export feature flag](gitlab-org/gitlab@8897e37db2c20621fc59371f4e3c38c0f6048ad2) ([merge request](gitlab-org/gitlab!75090)) +- [Do not add a failed build todo before auto-retry](gitlab-org/gitlab@971b38d23fd1359b6e9838ec3df8e5a3a6745fc9) ([merge request](gitlab-org/gitlab!77972)) +- [Redesign new policy form](gitlab-org/gitlab@eedf5c443a761b90d3b9f4cf31c8c5afc150fb99) ([merge request](gitlab-org/gitlab!77482)) **GitLab Enterprise Edition** +- [Labels widget - focus first item on search](gitlab-org/gitlab@13986d5bb220d21830b8462170daf856c59bc3e2) ([merge request](gitlab-org/gitlab!78425)) +- [Add shared runner tab to group CI/CD analytics](gitlab-org/gitlab@927f165c4d6d02006ddb2acca84c7b3cde97644d) ([merge request](gitlab-org/gitlab!78014)) **GitLab Enterprise Edition** +- [Update sort name from Last updated to Updated date](gitlab-org/gitlab@546e0a86241a332bde96bacd991876db06ea6c69) ([merge request](gitlab-org/gitlab!77684)) +- [Warn when mention all users in a group](gitlab-org/gitlab@1c858cc3e2c13f05068f83a3bb81451084c3c1f4) ([merge request](gitlab-org/gitlab!77624)) +- [Check for removed external issues before creation](gitlab-org/gitlab@cb2ee27d217c9616f297b05e9ce473aec94d920c) ([merge request](gitlab-org/gitlab!78323)) **GitLab Enterprise Edition** +- [Replace Member created state with active](gitlab-org/gitlab@58655c28e5232fd4b79cd85693f526ffc7591303) ([merge request](gitlab-org/gitlab!76653)) +- [Polish Slack application edit page UI](gitlab-org/gitlab@bc80b81cdf3207196b294d19752e56a4a070eb05) ([merge request](gitlab-org/gitlab!78252)) **GitLab Enterprise Edition** +- [Enable feature flag bulk_expire_project_artifacts](gitlab-org/gitlab@df74c6101841f141a5cd993665f0bce1c75606fc) ([merge request](gitlab-org/gitlab!78429)) +- [Make pipeline badges Pajamas-complient](gitlab-org/gitlab@855d9ddf8511364a892f3bb1b6c12f97770d350a) ([merge request](gitlab-org/gitlab!77980)) +- [Format email code blocks and code blocks in emails](gitlab-org/gitlab@d9e12b8fd319285d0415b794750e531bff5f11ba) by @smokris ([merge request](gitlab-org/gitlab!76977)) +- [Geo Sites - Icon Actions](gitlab-org/gitlab@2bf77ebf3f0b27edca536737aa7a88afd7a05786) ([merge request](gitlab-org/gitlab!78410)) **GitLab Enterprise Edition** +- [Geo - Rename routes from Nodes to Sites](gitlab-org/gitlab@7e9d16fa36764634c7eb230f81dcae68fcd9cdff) ([merge request](gitlab-org/gitlab!78150)) **GitLab Enterprise Edition** +- [Cleanup after AddPrimaryEmailToEmailsIfUserConfirmed](gitlab-org/gitlab@074490e6d9646d5757bfc5b309530f4bfb564c2f) ([merge request](gitlab-org/gitlab!76141)) +- [Change default shallow clone depth to 20](gitlab-org/gitlab@07ed1b8bbfd9e9088cc0aa30de35547aeec54f92) ([merge request](gitlab-org/gitlab!77576)) +- [Update webhook badges to pajamas](gitlab-org/gitlab@173a008c9800be87ef6fc7991bf84b44fd62cd8a) ([merge request](gitlab-org/gitlab!78325)) +- [Update button text to expand all files](gitlab-org/gitlab@95d919a3ea9b4fbe3dee9b2155417491285ede38) ([merge request](gitlab-org/gitlab!78322)) +- [Ignnore Finding Evidence summary column](gitlab-org/gitlab@888bfec3014f5b9fe6df528a25ff22d2c22774a1) ([merge request](gitlab-org/gitlab!78314)) **GitLab Enterprise Edition** +- [Add LFK ci_daily_build_group_report_results to projects](gitlab-org/gitlab@59186e18639f1de38dd299584a1b7a31da4fb72b) ([merge request](gitlab-org/gitlab!78149)) +- [Enable by default the feature flag to track Geo proxy events](gitlab-org/gitlab@3254c186c2c148ffd66646c17b7d22a6ec8da652) ([merge request](gitlab-org/gitlab!78301)) **GitLab Enterprise Edition** +- [Update on-demand scans breadcrumbs](gitlab-org/gitlab@b880dcb10a7a24989f9cfe9bb5986ceb20eacad8) ([merge request](gitlab-org/gitlab!78063)) **GitLab Enterprise Edition** +- [Change pipeline page layout to fluid](gitlab-org/gitlab@33bab2ef1a7f96860a3761238492868cb4ce3109) ([merge request](gitlab-org/gitlab!78124)) +- [Default to fluid layout for the pipeline editor](gitlab-org/gitlab@b3cad6c69325d466090c742e813f938dddfe6be0) ([merge request](gitlab-org/gitlab!78038)) +- [Skip failed builds](gitlab-org/gitlab@ba8a9b5b2b3f51c04f472ee7592be34c2411c742) ([merge request](gitlab-org/gitlab!78218)) **GitLab Enterprise Edition** +- [Redirect to on-demand scan form after editing a DAST profile](gitlab-org/gitlab@d5edfabb6dbbb706801305a09bd4625f5cdff5b3) ([merge request](gitlab-org/gitlab!77819)) **GitLab Enterprise Edition** +- [Conditionally disable group user cap enablement](gitlab-org/gitlab@a746c36cf8ca59483cf885a05984b68d7545621a) ([merge request](gitlab-org/gitlab!76130)) **GitLab Enterprise Edition** +- [Use normalized license data in csv export](gitlab-org/gitlab@c77746663f2777f9fa645d8c0fee4543b34c07a1) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78266)) **GitLab Enterprise Edition** +- [Enable vue-router in package registry](gitlab-org/gitlab@37277b57975d68b8ac6144ccd7f998a815f05cd8) ([merge request](gitlab-org/gitlab!77762)) +- [Replace window.confirm with GlModal for registration token reset](gitlab-org/gitlab@ba77f398a904f3147985e17de2a34b85c4cf97f2) ([merge request](gitlab-org/gitlab!77883)) +- [Enable `packages_installable_package_files` by default](gitlab-org/gitlab@a72b417afc0c0a026258b4d04b808ad30e86be0d) ([merge request](gitlab-org/gitlab!78254)) +- [Labels widget - focus first item on search](gitlab-org/gitlab@2a3760507fd6874dac0e6b6a286978df649ab916) ([merge request](gitlab-org/gitlab!78246)) +- [Increase exclusive lease timeout](gitlab-org/gitlab@45cd1d6f10d4e59ae36317adc687cbb5c4b68760) ([merge request](gitlab-org/gitlab!78240)) **GitLab Enterprise Edition** +- [Add offline, stale count to runner admins section](gitlab-org/gitlab@1351c794534c43fcb14df4d32da98ad4a73c158d) ([merge request](gitlab-org/gitlab!77871)) +- [Enable trial onboarding flow for other sources](gitlab-org/gitlab@d95bb41326a8487ed1dceaa06ea7e500353873a4) ([merge request](gitlab-org/gitlab!77992)) **GitLab Enterprise Edition** +- [Add member_namespace_id to members table](gitlab-org/gitlab@4dae8709826eaede354d906370cd91a0fa230911) ([merge request](gitlab-org/gitlab!77592)) +- [Convert trial lead creation form to Vue](gitlab-org/gitlab@bcbe2b3ddfb71609295262857d313b8743ea1e48) ([merge request](gitlab-org/gitlab!77537)) **GitLab Enterprise Edition** +- [Update approval settings to toast on success](gitlab-org/gitlab@ad8c805970245dc3c3118a318ff0e23fc19a2a5d) ([merge request](gitlab-org/gitlab!77975)) **GitLab Enterprise Edition** +- [Format total count of runners in tabs by locale](gitlab-org/gitlab@3b516f7d4359f5a4c15f9b9b769ecce7990f85d5) ([merge request](gitlab-org/gitlab!78187)) +- [Updated Group/Project home panel ID copy-on-click](gitlab-org/gitlab@55072ccd0870eab2031c4f453b8951b015910faa) by @stingrayza ([merge request](gitlab-org/gitlab!75904)) +- [Update MR head pipeline when pipeline event is published](gitlab-org/gitlab@5a8dd34937474f90d39bc4a9a2332fb69ae6b90a) ([merge request](gitlab-org/gitlab!78172)) +- [Removes FK for ci_pipeline_schedules to users](gitlab-org/gitlab@abea2e32298f4efcda6fe062d626f9c1e3a1c66a) ([merge request](gitlab-org/gitlab!78163)) +- [Removes FK for ci_job_token_project_scope_links to users](gitlab-org/gitlab@3a12e4cd830d5a9c910484377388f7187aa18306) ([merge request](gitlab-org/gitlab!78162)) +- [Swap FK ci_build_report_results to projects for LFK](gitlab-org/gitlab@6fbc44b7e47ce8ba2e39da88fdb694ecaf8e992a) ([merge request](gitlab-org/gitlab!78157)) +- [Swap FK ci_resource_groups to projects for LFK](gitlab-org/gitlab@fe98ddccf9d5f9fa2cc2cfec5f8132101bf2cf11) ([merge request](gitlab-org/gitlab!78156)) +- [Swap FK ci_freeze_periods to projects for LFK](gitlab-org/gitlab@84bac9521da055ef8bc7e66fcab4443cf238a1a8) ([merge request](gitlab-org/gitlab!78155)) +- [Add LFK ci_unit_tests to projects on project_id](gitlab-org/gitlab@3e4b59847decb8f8954862c1581e566ece04d9b4) ([merge request](gitlab-org/gitlab!78146)) +- [Enable new rich text/source toggle in self-managed](gitlab-org/gitlab@ccac603d81f009b5fae616e9b3298b7d8d0fc6ba) ([merge request](gitlab-org/gitlab!77995)) +- [Nullify project_namespace_id reference](gitlab-org/gitlab@9699e82fbb26b6921b01f1eb2e15189f106605da) ([merge request](gitlab-org/gitlab!78046)) +- [Geo Nodes Form - Object Storage Beta Badge](gitlab-org/gitlab@578cdcfe5b81f2de7a49131b82a9afd56a1323cd) ([merge request](gitlab-org/gitlab!77989)) **GitLab Enterprise Edition** +- [Update total count of runners for each type](gitlab-org/gitlab@92512ba6c3fdb2f36e49f552e525bdd914098dee) ([merge request](gitlab-org/gitlab!77752)) +- [Clean up add GitLab to Slack app](gitlab-org/gitlab@1c86cc581f5d74c87dc79e0891ad7bc172b0c0c9) ([merge request](gitlab-org/gitlab!78094)) **GitLab Enterprise Edition** +- [Fix help text for checkboxes on integrations form](gitlab-org/gitlab@dc0edd94ffa032702dac1669a216b0c41962469e) ([merge request](gitlab-org/gitlab!77885)) +- [Encrypt static_object_token_encrypted field via background migration](gitlab-org/gitlab@12f6ada924e737e6d0ecf4f50bf45fc9b7f3fe80) ([merge request](gitlab-org/gitlab!76684)) +- [Migrate enable Gitpod confirmation modal to `GlModal`](gitlab-org/gitlab@699354cc7380c6b4346aefaafc8e9b154d5ab198) ([merge request](gitlab-org/gitlab!77716)) +- [Allow skipping CI when rebasing in UI](gitlab-org/gitlab@ef01df71974b083fcb773b397253a55c074e710c) by @KevSlashNull ([merge request](gitlab-org/gitlab!76056)) +- [Update Nokogiri to v1.12.5](gitlab-org/gitlab@e3c195f6db687cccddf2bd3dcd07b873e853b197) ([merge request](gitlab-org/gitlab!77631)) +- [Use badges for branches/tags in commit page](gitlab-org/gitlab@6a13a3aee811edba6c436dc101b6142e7f31dd13) ([merge request](gitlab-org/gitlab!77851)) +- [Update DAST On-demand scan template](gitlab-org/gitlab@8f13ed956909aa9528afd1d89145012d052f9a4e) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73564)) **GitLab Enterprise Edition** +- [Update secret-detection git log command](gitlab-org/gitlab@7c0576b5901f5fef72b5b4ae949534b92871e503) ([merge request](gitlab-org/gitlab!77722)) +- [Add validation for new_user_signups_cap enabling](gitlab-org/gitlab@708d3a4891bf5575f3e891e43d860d3d70cc52d3) ([merge request](gitlab-org/gitlab!75906)) **GitLab Enterprise Edition** +- [Update upload a license file docs](gitlab-org/gitlab@2e39fcc0ea0af37d4a397f195b6b0f1a8b99c80a) ([merge request](gitlab-org/gitlab!77311)) **GitLab Enterprise Edition** +- [Reposition and restyle integration reset button](gitlab-org/gitlab@f4a072b67ab4aef9f6a27bc1fb20478cb6fa2ea3) ([merge request](gitlab-org/gitlab!77921)) +- [Add merge trains copy to ff merge](gitlab-org/gitlab@e795349c99768f8f6599688e4c4b2897746b8848) ([merge request](gitlab-org/gitlab!77904)) +- [Remove carat from dropdown button](gitlab-org/gitlab@41f50cde39f7a9347d96c566a77e26dd838df853) ([merge request](gitlab-org/gitlab!77870)) +- [Convert OAuth2 authorization panel to GitLab UI utility classes](gitlab-org/gitlab@7783f443a91240c6fe0fc6bfd1060fc373a286e2) ([merge request](gitlab-org/gitlab!77621)) +- [Translate settings string in user preferences](gitlab-org/gitlab@d1928d59b92e33bc992192a286e9ee5fc2ce3d60) ([merge request](gitlab-org/gitlab!77439)) +- [Replaced browser confirm modal with GlModal for lock button](gitlab-org/gitlab@46b3429a5afcaba64e1be54c4acd0ea4bc2a5f7e) ([merge request](gitlab-org/gitlab!77690)) **GitLab Enterprise Edition** +- [Enable linear versions in GroupDescendantsFinder](gitlab-org/gitlab@3c7dc938bfe474d55503bdfa0c95ccf4eb78ea4d) ([merge request](gitlab-org/gitlab!75877)) +- [Create Deployments in Separate Transaction](gitlab-org/gitlab@b74b75293717263e52ac8da3c77be7a4801996e9) ([merge request](gitlab-org/gitlab!77840)) +- [Improve UI text of external authentication](gitlab-org/gitlab@2fb0a9fa6e6a2647910f6110115e80e1a169243b) ([merge request](gitlab-org/gitlab!75822)) +- [Update search badges to pajamas](gitlab-org/gitlab@a60ee44463c5bea59847a8ceebc15af74db2cb95) ([merge request](gitlab-org/gitlab!77812)) +- [Switch from confirm to default](gitlab-org/gitlab@0d7434f06046bfef8d01f86b7f3526cd2002df5e) ([merge request](gitlab-org/gitlab!77780)) +- [Improve UI text of group webhooks page](gitlab-org/gitlab@8272c8ce1bd721a8783137e5efc6595524ac8757) ([merge request](gitlab-org/gitlab!76187)) +- [Refactor admin labels to use shared HAML partial](gitlab-org/gitlab@a016abab7d3a95f2bb04db557e0e5e84fd4aa42e) ([merge request](gitlab-org/gitlab!77546)) +- [Update flash alerts of Admin Runner UI](gitlab-org/gitlab@c7d1fc6075a38186d3877d5b812c6d8ea8822e21) ([merge request](gitlab-org/gitlab!77669)) +- [Sort followed users events by id desc](gitlab-org/gitlab@d67b33e8b2b5f636abaa12ae711bd3ef66523408) ([merge request](gitlab-org/gitlab!77436)) +- [GitLab Version - Update Version Status Indicator](gitlab-org/gitlab@e8826a3c4221a9793f88a9a0e817653a037641ca) ([merge request](gitlab-org/gitlab!77521)) +- [Prevent raising validation errors for SyncDashboardsWorker](gitlab-org/gitlab@e7f36851f7b02e1c4e67b159b961caef7816a840) ([merge request](gitlab-org/gitlab!77657)) +- [Update snippet search badge to use pajamas](gitlab-org/gitlab@b1fd72385f1c416a9109cae62267039c00705e8c) ([merge request](gitlab-org/gitlab!77726)) +- [Improve outbound requests settings UI text](gitlab-org/gitlab@8ecdf1de3e9b4428f3836c886db470121998585b) ([merge request](gitlab-org/gitlab!77488)) +- [Remove Geo pages verification feature flag](gitlab-org/gitlab@9a76f4e6712e855a491e90fe69e501e34508f9c1) ([merge request](gitlab-org/gitlab!77551)) **GitLab Enterprise Edition** +- [Geo: Verify LFS objects](gitlab-org/gitlab@aa4207006a9b63d2c3731e680551eb886c90df9e) ([merge request](gitlab-org/gitlab!76363)) **GitLab Enterprise Edition** +- [Add support for user_id, group_id and group_path](gitlab-org/gitlab@a2187ab03790d31cf0a92f17ed01ff83c2d1c4af) ([merge request](gitlab-org/gitlab!76595)) **GitLab Enterprise Edition** +- [Remove `log_import_export_relation_creation` feature flag](gitlab-org/gitlab@ad7c30ff1d8054915adf35b164314c36e4e48720) ([merge request](gitlab-org/gitlab!77144)) +- [Remove feature flag optimize_merge_request_parser](gitlab-org/gitlab@ff5b66f0dac674acd11070ca4e4501720f16162f) ([merge request](gitlab-org/gitlab!68379)) +- [Update look and feel of runner heading](gitlab-org/gitlab@f3cf2fee21f932765556b79fe343c56a49fc6884) ([merge request](gitlab-org/gitlab!77519)) +- [Move the Runner edit page to an `/edit` path](gitlab-org/gitlab@0db46eaeb1973543394374737e5f040600989ebb) ([merge request](gitlab-org/gitlab!77514)) +- [User linear version UserGroupNotificationSettingsFinder#execute](gitlab-org/gitlab@9d4a65977f91211ba6ac52a0706dbff39eb929d7) ([merge request](gitlab-org/gitlab!75645)) +- [Refactored sidebar jobs details container badge](gitlab-org/gitlab@14fcb9fe7ce2773bfb25caeb42b657475cbbedf1) ([merge request](gitlab-org/gitlab!77675)) +- [Remove deployments_archive feature flag](gitlab-org/gitlab@616cfcc6e78979b43540c74019c1ae2906b207c5) ([merge request](gitlab-org/gitlab!77490)) +- [Update Coverage-Fuzzing yml and use last package file in corpus](gitlab-org/gitlab@0bb3bcc59c61aedc459e8a81c8ebbbfcf3b928da) ([merge request](gitlab-org/gitlab!77228)) **GitLab Enterprise Edition** +- [Make strings in user preferences translatable](gitlab-org/gitlab@df4151982ee381efa303a1f6a514069d0ea39f42) ([merge request](gitlab-org/gitlab!77483)) +- [Deprecate plaintext field static_objects_external_storage_auth_token](gitlab-org/gitlab@733e5ddd605435b7cbe10449f1e58c8ac3b04988) ([merge request](gitlab-org/gitlab!77579)) +- [Add createAlert as alternative to createFlash](gitlab-org/gitlab@a205f845c65ef8728b7489b320c3ce656de7f5de) ([merge request](gitlab-org/gitlab!76136)) +- [Increase icon size for categories in emoji picker](gitlab-org/gitlab@f075efeacac0720f13528a1cd740e5c5105016b3) ([merge request](gitlab-org/gitlab!77577)) +- [Update acts-as-taggable-on gem version](gitlab-org/gitlab@c84e36fedbb4ecdb2834810eb15c07584f0b68bc) ([merge request](gitlab-org/gitlab!77565)) +- [Refactored Badges on environment items](gitlab-org/gitlab@055cd12f11c10dfb0e502faf9ed0adc836a05b21) ([merge request](gitlab-org/gitlab!77113)) +- [Update nuget version regex](gitlab-org/gitlab@d1f2e41a4d4e23e7a2f4391725a8347740d2dd19) ([merge request](gitlab-org/gitlab!77543)) +- [Remove commit templates variable placeholders from settings](gitlab-org/gitlab@940da33d70644349f97219087fe1fa18b5c3fe5e) by @trakos ([merge request](gitlab-org/gitlab!77350)) +- [Externalize strings for translation on dashboard](gitlab-org/gitlab@006ae2d6172f3c10e3764db9f8c55d2ef6b2640b) ([merge request](gitlab-org/gitlab!77432)) +- [Make strings in top nav translatable](gitlab-org/gitlab@03c5a413485f24c6014427b2de8b654728566ecc) ([merge request](gitlab-org/gitlab!77475)) **GitLab Enterprise Edition** +- [Fail remote mirror if LFS sync fails](gitlab-org/gitlab@10c8a8ba9c1fd1bb731e27afa1006bc8c31f6bd4) ([merge request](gitlab-org/gitlab!77339)) +- [Update Azure storage Gem dependencies](gitlab-org/gitlab@2741aefc230f467e0574682333cb07a9b3df7e80) ([merge request](gitlab-org/gitlab!77472)) +- [Add Pajamas-complient badge for runners](gitlab-org/gitlab@f8e41cd2351fe2f64099bf8762d02f0281ee630a) ([merge request](gitlab-org/gitlab!77399)) +- [Translate labels in user main settings](gitlab-org/gitlab@9cb8eb9e01c9f3b64eb3c41e7069096dda558d0e) ([merge request](gitlab-org/gitlab!77450)) +- [Allow hidden pacakge files to be downloaded](gitlab-org/gitlab@e6eecff1491a3817451fd481f4e79a6852beda53) ([merge request](gitlab-org/gitlab!77291)) +- [Externalize strings for translation user's chat settings](gitlab-org/gitlab@c9d0b0c87a4cd56a420d73e3d2778662e80109f4) ([merge request](gitlab-org/gitlab!77433)) +- [Use "never contacted" wording in runner's frontend](gitlab-org/gitlab@2048b5e101b868c8c27db07221feaf6878247010) ([merge request](gitlab-org/gitlab!77375)) +- [Rename routes for project services](gitlab-org/gitlab@523c3082b4186f1f2ca63bad9e5573a9f3137eb2) ([merge request](gitlab-org/gitlab!77376)) +- [Update button variant and category](gitlab-org/gitlab@9d6c6562651cab2129c3a815d22b4ef37b66e340) ([merge request](gitlab-org/gitlab!77313)) +- [Alter phone constraint bigger](gitlab-org/gitlab@74d33307a6b254d889f5dcbd67c583b665d41a0f) by @memorycancel ([merge request](gitlab-org/gitlab!76516)) +- [Set feature flag lfs_auto_link_fork_source to true by default](gitlab-org/gitlab@0b5407ccc9a198b1e779850d4c4951a7b63afb70) ([merge request](gitlab-org/gitlab!77341)) +- [Registration Flow - Don't pre-select role](gitlab-org/gitlab@81fea3beaae533a27a041850b691c06b900697ac) by @tarunvelli ([merge request](gitlab-org/gitlab!76051)) +- [Remove find_tag_via_gitaly feature flag](gitlab-org/gitlab@cf9515de7a31631b18cfef1580bba90e2f1abdcb) ([merge request](gitlab-org/gitlab!77303)) +- [Adjusts Member awaiting scope to be distinct](gitlab-org/gitlab@0f117a67c9c59afef603db58e0a186a815e08dfc) ([merge request](gitlab-org/gitlab!76864)) **GitLab Enterprise Edition** +- [Add fail flag to pipeline trigger examples](gitlab-org/gitlab@666c22848f6ff042d5fde38b6649ca2c81f5eb6e) ([merge request](gitlab-org/gitlab!77095)) +- [Release Geo: Treat missing blobs as sync failed](gitlab-org/gitlab@1ee0241c957ec82ce10616f69e916833514da2ff) ([merge request](gitlab-org/gitlab!77274)) **GitLab Enterprise Edition** +- [Delete events in batches when project is destroyed](gitlab-org/gitlab@7d633be80765ddd75436dd94663c01f2da27b728) ([merge request](gitlab-org/gitlab!77031)) +- [Add limitation warning for permission export](gitlab-org/gitlab@079fe3bbe45129c149d3981b752ea2ebde273e91) ([merge request](gitlab-org/gitlab!77121)) **GitLab Enterprise Edition** +- [Change texts about credit card verification](gitlab-org/gitlab@cc868d4accbb5f44259c66a463b0bb23ff9148c4) ([merge request](gitlab-org/gitlab!77111)) **GitLab Enterprise Edition** +- [Treat API requests from the frontend as web traffic in the rate limiter](gitlab-org/gitlab@7b54a4b5184003f85919921c2aa8a7ba3848c989) ([merge request](gitlab-org/gitlab!76965)) +- [Restyle "hints" on appearance settings](gitlab-org/gitlab@c17e794bd8d2cb427bb04d775afb9b1acaef1454) by @KevSlashNull ([merge request](gitlab-org/gitlab!75871)) +- [Do not show participants invisible to the user](gitlab-org/gitlab@d07f416fbeb5f924a41c064138512da035f1905f) ([merge request](gitlab-org/gitlab!77021)) +- [Use connects_to to connect to the Geo tracking DB](gitlab-org/gitlab@235cfc0308426acfc22e5ad29fd29d91c4c54d08) ([merge request](gitlab-org/gitlab!76700)) **GitLab Enterprise Edition** +- [Add CI_JOB_JWT_V2 with iss and aud format changes](gitlab-org/gitlab@25081011347036615ae981314f6cfcb252f4e671) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/72555)) +- [Migrate the visibility change confirmation to vue](gitlab-org/gitlab@db85f7235a474ee1bb48ba194f15aae274b6e90d) ([merge request](gitlab-org/gitlab!76417)) +- [Drop jira_use_first_ref_by_oid feature flag](gitlab-org/gitlab@ce5c275e4ccc00ce67b8c885d504aa220335059e) ([merge request](gitlab-org/gitlab!76611)) +- [Update button variant to confirm](gitlab-org/gitlab@2d80d85cbfaa8a80145a992c933c25866a3b7c86) ([merge request](gitlab-org/gitlab!77022)) +- [Remove OAuth paths from protected paths rate limit](gitlab-org/gitlab@cf35d50245622626d178ab21fe1b429bc85cb729) ([merge request](gitlab-org/gitlab!76882)) +- [Add vulnerability_states for scan_result_policies](gitlab-org/gitlab@a7e8caeb92aea8508503bdd90eb08fcc1e74271b) ([merge request](gitlab-org/gitlab!76865)) **GitLab Enterprise Edition** +- [Add toggle method to control use_minimum_char_limit](gitlab-org/gitlab@a4d04c0b2d3786cd0ba3e158cadc4bdbd547aa57) by @orozot ([merge request](gitlab-org/gitlab!76835)) + +### Removed (13 changes) + +- [Remove feedback link in discover security point](gitlab-org/gitlab@e721427a2c56d337ec8899741ba6f146ec055379) ([merge request](gitlab-org/gitlab!78313)) **GitLab Enterprise Edition** +- [Revert "Merge branch 'rajat/work-hierarchy' into 'master'"](gitlab-org/gitlab@025fa4da03ea514fa83feb5a8b5b0dff98bc1a48) ([merge request](gitlab-org/gitlab!78395)) +- [Remove cached_mr_widget feature flag](gitlab-org/gitlab@38c4ca9b293730ab4e9015f371234aee2422e654) ([merge request](gitlab-org/gitlab!78355)) +- [Remove automatic addition of incident label](gitlab-org/gitlab@d4a57b8fc3b879a02760b7be4780f23ee9a26ee7) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78258)) +- [Delete paginatable_namespace_drop_down_for_project_creation FF](gitlab-org/gitlab@a20daa48a9b8331264b21571ff4bd709efa5b1a7) ([merge request](gitlab-org/gitlab!72240)) +- [Remove redis MultiStore implementation](gitlab-org/gitlab@c66fb99d1e09f3b061c5d8a678a17f772376f4ef) ([merge request](gitlab-org/gitlab!78049)) +- [Remove "Saved scans" tab from DAST configuration](gitlab-org/gitlab@011bf15a10f914ab9f57eff5d5cf513c2e928b74) ([merge request](gitlab-org/gitlab!77288)) **GitLab Enterprise Edition** +- [Remove EXMOD experiment documentation](gitlab-org/gitlab@f355b4d84cc9e3beb6ea28c1046c50c36b3ac766) ([merge request](gitlab-org/gitlab!78091)) +- [Remove delete_branch_confirmation_modals feature flag](gitlab-org/gitlab@336301f70b9f2af71ed73bdfe101b83747f08fd7) ([merge request](gitlab-org/gitlab!77231)) +- [Remove problematic query from obselete open environment in diff feature](gitlab-org/gitlab@90f07756725877199ef1661fdabad84b8acd0d4d) ([merge request](gitlab-org/gitlab!77963)) +- [Remove LooseIndexScanDistinctCount class](gitlab-org/gitlab@e105810c007104bc48edb5c88a9544115a7319a0) ([merge request](gitlab-org/gitlab!77746)) +- [Delete vue_issuables_list feature flag](gitlab-org/gitlab@3abadcad5791b8b40a9db9905a4275b9fee4e144) ([merge request](gitlab-org/gitlab!77051)) +- [Remove vulnerability_location_image_filter feature flag](gitlab-org/gitlab@a9a8fde623c5936f667c5fed890394478a4cf3b9) ([merge request](gitlab-org/gitlab!76298)) + +### Security (4 changes) + +- [Upgrade mermaid js library](gitlab-org/gitlab@7ad21d909cea9e2ec1dec848c2c395aee745db8b) ([merge request](gitlab-org/gitlab!78176)) +- [Rate limit /users/sign_up](gitlab-org/gitlab@9c15124fdb59b50fd210837d803dba3ed1723284) ([merge request](gitlab-org/gitlab!77835)) +- [Rate limit update username action](gitlab-org/gitlab@5e4cc7ebac15542c14fa82ba408d21d75345d774) ([merge request](gitlab-org/gitlab!77221)) +- [Enforce rate limit per IP on /users/:username/exists](gitlab-org/gitlab@5e9c4d189b90caec408c3649b84d2787c8931cfa) ([merge request](gitlab-org/gitlab!77119)) + +### Performance (12 changes) + +- [Avoid extra Sidekiq jobs for expiring CI etags](gitlab-org/gitlab@dc29dc66328fc6609c134d6569f8a6c0c74c9309) ([merge request](gitlab-org/gitlab!78468)) +- [Optimize query for issue neighbors](gitlab-org/gitlab@1833947a07026c195175ab4056336e4b6b480a30) ([merge request](gitlab-org/gitlab!78443)) +- [Improve on-demand scans polling performances](gitlab-org/gitlab@186f44f9760b0c5760c7ddd27bb34f4f1789006c) ([merge request](gitlab-org/gitlab!78375)) **GitLab Enterprise Edition** +- [Remove ci_decompose_belonging_to_parent_group feature flag](gitlab-org/gitlab@c6926279b2e790d32146cf66b19a770fe443acd0) ([merge request](gitlab-org/gitlab!77944)) +- [Optimize protected branches/tags matching](gitlab-org/gitlab@d95f91c344faacb36aad43adae2412c038d48280) ([merge request](gitlab-org/gitlab!77988)) +- [Add index for resolving timeouts on environments page](gitlab-org/gitlab@171f3decb6f2e52739d2de9a0a868f62b715e2db) ([merge request](gitlab-org/gitlab!75767)) +- [Inline diff line rendering](gitlab-org/gitlab@839bc405f542ea98d16a6a0b3bc9cb4566b08906) ([merge request](gitlab-org/gitlab!57237)) +- [Utilize C version of CommonMark renderer](gitlab-org/gitlab@cc2380771b8c314bf325a2fe7212a02ef9675e37) ([merge request](gitlab-org/gitlab!75800)) +- [Improve epic swimlanes query performance for group board](gitlab-org/gitlab@42de05b81420534abd05ce531436e08f9d906b53) ([merge request](gitlab-org/gitlab!75378)) **GitLab Enterprise Edition** +- [Fix slow events query for followed users](gitlab-org/gitlab@17b71e6ce339424ac6f5658da345b7b3e307b7e6) ([merge request](gitlab-org/gitlab!77028)) +- [Read running builds from denormalized table upon assignment](gitlab-org/gitlab@7f669ae8570cc373581464861d764b0334c3a1c4) ([merge request](gitlab-org/gitlab!77104)) +- [Introduce an optimized labels query on group transfer](gitlab-org/gitlab@7cdf20af2a29ab118663ce32dbb59794e93c12a4) ([merge request](gitlab-org/gitlab!77034)) + +### Other (68 changes) + +- [Geo: Verify uploads](gitlab-org/gitlab@ddf052cf83d329149f359cd690447bbeccd95de0) ([merge request](gitlab-org/gitlab!78068)) **GitLab Enterprise Edition** +- [Add columns in prep of registry import](gitlab-org/gitlab@8d2ee3c7055dd089760d9fd8ffb1e6a0b7da130d) ([merge request](gitlab-org/gitlab!77725)) +- [Remove ci_running_builds FK to projects](gitlab-org/gitlab@5e0a4b2309ba8d6d94533e8d52cc976152007cfb) ([merge request](gitlab-org/gitlab!78027)) +- [Remove `scim_token_vue` feature flag](gitlab-org/gitlab@a99950d4a544ec74a67aaa44e3667d83920318da) ([merge request](gitlab-org/gitlab!78220)) +- [Remove FK security_scans.build_id as we have LFK](gitlab-org/gitlab@fc438951bc97aca0e818730e51f83b730f3f2796) ([merge request](gitlab-org/gitlab!77919)) +- [Add backfill migrations for ci namespace/project mirrors](gitlab-org/gitlab@10412e26ab4772f0a70975e3509eecad18d1ea01) ([merge request](gitlab-org/gitlab!76327)) +- [Add package file cleanup jobs](gitlab-org/gitlab@d039bfa25a695d87a9486a5c56b190d42ecac65a) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77212)) +- [Remove ci_store_trace_outside_transaction feature flag](gitlab-org/gitlab@2efe1c3552b13e55e4ed6aacc75f50f87b4830cd) ([merge request](gitlab-org/gitlab!78465)) +- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@67db38fc01aeefe8ebce455c223d0292bd5d2ce4) by @edith007 ([merge request](gitlab-org/gitlab!75940)) **GitLab Enterprise Edition** +- [Remove FK dast_scanner_profiles_builds.ci_build_id as we have LFK](gitlab-org/gitlab@ac5eacabbdb89c6311df7763a07ae78a0067d8f4) ([merge request](gitlab-org/gitlab!77910)) +- [Remove FK requirements_management_test_reports.build_id as we have LFK](gitlab-org/gitlab@aa91697c133b208b48b95e7df1d3f7bea2800018) ([merge request](gitlab-org/gitlab!77912)) +- [Remove FK dast_site_profiles_builds.ci_build_id as we have LFK](gitlab-org/gitlab@89d4d45ea795febdbe6d49f0e6fcf107ab598f14) ([merge request](gitlab-org/gitlab!77916)) +- [Fix GraphQL/FieldDefinitions offense (Part 3/4)](gitlab-org/gitlab@e3939b1b2814393988c642cc22d4ac01fba00df0) by @KevSlashNull ([merge request](gitlab-org/gitlab!76016)) +- [Fix GraphQL/ArgumentName offense](gitlab-org/gitlab@10601fb5bf124aa47aa89119428b3655fa22f9e6) by @KevSlashNull ([merge request](gitlab-org/gitlab!76013)) +- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@2f817b54d9bb7a793c0e187b7541314a885bb44f) by @edith007 ([merge request](gitlab-org/gitlab!75988)) +- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@8c1b0a556c085cdd178dbbd150d04648c87092d9) by @edith007 ([merge request](gitlab-org/gitlab!75970)) **GitLab Enterprise Edition** +- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@2a2bc7c5e700bf0531753ae3e58eb847d95d3dcc) by @edith007 ([merge request](gitlab-org/gitlab!76010)) +- [Remove alllow database cross join from runner_matchers](gitlab-org/gitlab@7f4df5cc89b944c2227128cb88df063a078a629d) ([merge request](gitlab-org/gitlab!78084)) +- [Remove opt_in_sidekiq_status feature flag](gitlab-org/gitlab@73166fc00e91a7c02ce77920b5f0685cd84f03d1) ([merge request](gitlab-org/gitlab!78279)) +- [chore: Mark previous Recalculation background migrations as succeeded](gitlab-org/gitlab@4d50836b166c3e61879b44606820aa558667a6d6) ([merge request](gitlab-org/gitlab!77052)) +- [Limit subscription page container to 990px](gitlab-org/gitlab@ffd11f2cb270a8a578b86ad7f5403c90fc5a56be) ([merge request](gitlab-org/gitlab!77947)) **GitLab Enterprise Edition** +- [Improve SSH key format validation](gitlab-org/gitlab@053b079d82c58a185afc4010440c78c64024944a) ([merge request](gitlab-org/gitlab!77996)) +- [Remove `admin_deploy_keys_vue` feature flag](gitlab-org/gitlab@18f44e6f41b198e5986b0eee0e29c2b3806f111d) ([merge request](gitlab-org/gitlab!78144)) +- [Remove `hide_access_tokens` feature flag](gitlab-org/gitlab@74f72fde3fa8b5c9298adc67ca149b5637519d32) ([merge request](gitlab-org/gitlab!78148)) +- [Remove show.html.erb as Rails 5 now supports nonce-based CSP headers](gitlab-org/gitlab@dd23e8540b8a3e3ae3b5e93480422426c87ca039) by @edith007 ([merge request](gitlab-org/gitlab!75998)) +- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@9ee72296a506b389593abc5d0f5182a3e2a21f6a) by @edith007 ([merge request](gitlab-org/gitlab!75976)) +- [Remove ci_pending_builds FK to projects](gitlab-org/gitlab@671e495b24f812df2f36b59ec1be592023aae85e) ([merge request](gitlab-org/gitlab!78010)) +- [Truncate ci_namespace_mirrors and ci_project_mirrors](gitlab-org/gitlab@63143a7853b61a155d90d5ff3f3e033cedaf5b71) ([merge request](gitlab-org/gitlab!77953)) +- [Remove feature flag multiple_gpg_signatures](gitlab-org/gitlab@e6f08a7853161ef2c3597bfa151ef7816f0dbf04) ([merge request](gitlab-org/gitlab!78112)) +- [Backfill TestReports issue_id column](gitlab-org/gitlab@d1045bff47b7a231a5fc79990be5c3869f19457c) ([merge request](gitlab-org/gitlab!77770)) +- [Fix Style/OpenStructUse offenses for users and package specs](gitlab-org/gitlab@a61455cd231d54ddee54cb6ebbd63ff5e1550df4) by @edith007 ([merge request](gitlab-org/gitlab!75240)) +- [Fix Style/OpenStructUse offense for Gitlab::Database::Migrations::Runner](gitlab-org/gitlab@895a968955624e3f80d65523b7f9428a34e54791) by @edith007 ([merge request](gitlab-org/gitlab!75323)) +- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@85f034ff82119df755959ff71edbe32454411fba) by @edith007 ([merge request](gitlab-org/gitlab!75289)) +- [Pass formats explicitly when rendering .html file](gitlab-org/gitlab@9ab0a173f11a09248a65692f586e82fa5841b063) by @edith007 ([merge request](gitlab-org/gitlab!75775)) **GitLab Enterprise Edition** +- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@11dd30f1eba382d96a84aa0985f812a175f290de) by @edith007 ([merge request](gitlab-org/gitlab!75969)) **GitLab Enterprise Edition** +- [Pass formats explicitly when rendering kerberos error](gitlab-org/gitlab@bcbf3501ece285a6fef2a5be057e27b69c522cfe) by @edith007 ([merge request](gitlab-org/gitlab!76011)) **GitLab Enterprise Edition** +- [Fix Style/OpenStructUse offenses in gitlab_controller_spec](gitlab-org/gitlab@e20818ecb8485a22e0e6d2341c79564bbca654aa) by @edith007 ([merge request](gitlab-org/gitlab!75194)) +- [Pass formats explicitly when rendering .md file](gitlab-org/gitlab@d0a56f252c025fa25ac706387ef5a6094e3a267d) by @edith007 ([merge request](gitlab-org/gitlab!75779)) **GitLab Enterprise Edition** +- [Adjust license upload page style](gitlab-org/gitlab@a224cdf8d9c3a8252f1853b3fd6a3365d49ae163) ([merge request](gitlab-org/gitlab!77670)) **GitLab Enterprise Edition** +- [Pass formats explicitly when rendering html](gitlab-org/gitlab@29f03fb2ba7dd9590b95b3b457160ca81b50fe5a) by @edith007 ([merge request](gitlab-org/gitlab!75772)) +- [Remove index_merge_requests_on_title index from merge_requests table](gitlab-org/gitlab@ffa845bf5d480a528a7183beeb4bf536465cf9a3) by @edith007 ([merge request](gitlab-org/gitlab!75823)) +- [Improve 'Add an SSH key' page](gitlab-org/gitlab@2a2596f2d7ea8e2afa151da430c2061193bd31e3) ([merge request](gitlab-org/gitlab!77403)) +- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@de123aba96869395eb4878d00947fcb35f27306a) by @edith007 ([merge request](gitlab-org/gitlab!75929)) **GitLab Enterprise Edition** +- [Remove "show_relevant_approval_rule_approvers" feature flag](gitlab-org/gitlab@afcfaa8cef0c35ba907fd54c6c4188b621fa3f0d) ([merge request](gitlab-org/gitlab!77227)) +- [Cleanup pipeline logger feature flags](gitlab-org/gitlab@ec525e62a32e70c12b7e773c072fd645f2f8975f) ([merge request](gitlab-org/gitlab!77973)) +- [Remove the dast_view_scans feature flag](gitlab-org/gitlab@0d05f8de936646d95d4d5fa4c60a24014701e57e) ([merge request](gitlab-org/gitlab!77672)) **GitLab Enterprise Edition** +- [Refactor all the specs to use `:integration` rather than `:service`](gitlab-org/gitlab@2930cf7c19308df5524b2bb431e02827a77cf73e) by @edith007 ([merge request](gitlab-org/gitlab!75997)) +- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@223ebf2c17861e2c4adbee2b00ffb2b36b45277a) by @edith007 ([merge request](gitlab-org/gitlab!76007)) **GitLab Enterprise Edition** +- [Remove foreign key constraint ci_runner_namespaces.namespace_id](gitlab-org/gitlab@2bed6a32c702a787ef4521c449255d47145b94af) ([merge request](gitlab-org/gitlab!77727)) +- [Remove foreign key ci_daily_build_group_report_results.group_id](gitlab-org/gitlab@d801789b2ebb064386366bd3673124899af3b5ba) ([merge request](gitlab-org/gitlab!77721)) +- [Deprecate agent token deletion mutation](gitlab-org/gitlab@fd65575598150ac1a23da513d7ab3aaadc2cc2d2) ([merge request](gitlab-org/gitlab!77837)) +- [Use an enum for agent token statuses](gitlab-org/gitlab@2f6db027701195d978bd8238bb55d3e3b60c96a8) ([merge request](gitlab-org/gitlab!77735)) +- [Remove foreign key ci_pending_builds.namespace_id](gitlab-org/gitlab@668cc33add3476588f83d12e959fd293f9432709) ([merge request](gitlab-org/gitlab!77724)) +- [Pass formats explicitly when rendering .md file](gitlab-org/gitlab@7b068a4d88bfa440e3eeafa811bd7da81e5397b8) by @edith007 ([merge request](gitlab-org/gitlab!75778)) **GitLab Enterprise Edition** +- [Raise custom errors when backup creation fails](gitlab-org/gitlab@5689d89da7ceeff03b75db174f898aca9df7fe0c) ([merge request](gitlab-org/gitlab!76754)) +- [Pass formats explicitly when rendering .md file](gitlab-org/gitlab@7360983df1c4bd9ce5ea4c0198db7675f0c786e8) by @edith007 ([merge request](gitlab-org/gitlab!75777)) **GitLab Enterprise Edition** +- [Use design system badges for project domains](gitlab-org/gitlab@62e5e7b6b7814d131337f24488bd059a9935c292) ([merge request](gitlab-org/gitlab!77613)) +- [Add package file status attribute](gitlab-org/gitlab@e7420d284fafa321cfe3d81d12cadd028f312019) ([merge request](gitlab-org/gitlab!76767)) +- [Remove foreign key ci_minutes_additional_packs.namespace_id](gitlab-org/gitlab@aff84c0895e16483554a5aaa19dbc5bd459c2d7a) ([merge request](gitlab-org/gitlab!77550)) +- [Remove foreign key ci_group_variables.group_id as we have loose fK](gitlab-org/gitlab@ed2adc84f919c11193be49b2040892a087973e93) ([merge request](gitlab-org/gitlab!77494)) +- [Remove feature flag `ff_limit_ssh_key_lifetime`](gitlab-org/gitlab@23e9f7c0bd53915b92f82e735f6463956478cf77) ([merge request](gitlab-org/gitlab!77568)) +- [Cleanup after DropInvalidSecurityFindings migration](gitlab-org/gitlab@f8059937c176a19c9795dcbf324098f0f800c5a3) ([merge request](gitlab-org/gitlab!75134)) +- [Remove foreign key project_pages_metadata.ci_job_artifacts](gitlab-org/gitlab@d2c9fe10b1ce996c5aef14123668b29b32098d5a) ([merge request](gitlab-org/gitlab!76996)) +- [Update GitLab Runner Helm Chart to 0.36.0](gitlab-org/gitlab@bff5d0848213999f67c87ce228db0f93a3820290) ([merge request](gitlab-org/gitlab!77082)) +- [Fix GraphQL/OrderedArguments offense (Part 3/6)](gitlab-org/gitlab@55c5417e1e56f83a87660852cab73174382e94be) by @KevSlashNull ([merge request](gitlab-org/gitlab!76025)) +- [Pass formats explicitly when rendering .html format](gitlab-org/gitlab@2e8f39197824f4e3203a17f4dc64eb7a0164f8f4) by @edith007 ([merge request](gitlab-org/gitlab!75782)) +- [Fix Gitlab/DelegatePredicateMethods offenses](gitlab-org/gitlab@518700a11025b0000ff3ce011638417a882612b0) by @edith007 ([merge request](gitlab-org/gitlab!76001)) +- [Fix Rails/SaveBang offenses](gitlab-org/gitlab@513b0e1dbdf95ea595e7548ff26929e0be30ce29) by @edith007 ([merge request](gitlab-org/gitlab!75894)) **GitLab Enterprise Edition** + ## 14.6.3 (2022-01-18) ### Fixed (4 changes) @@ -417,6 +886,10 @@ No changes. - [Fix OpenStruct use](gitlab-org/gitlab@f8466f5943a1afeabaf9cf781f7804a8df515a0e) by @mehulsharma ([merge request](gitlab-org/gitlab!74702)) - [Update Sidekiq to 6.3.1](gitlab-org/gitlab@22e8bc0af656717e56428a7227c467fe08021c66) ([merge request](gitlab-org/gitlab!73973)) +## 14.5.3 (2022-01-11) + +No changes. + ## 14.5.2 (2021-12-03) No changes. @@ -959,6 +1432,10 @@ No changes. - [Add pipeline artifacts and uploads sizes to project REST API](gitlab-org/gitlab@58d66f28faf42ae98ca11ff1ba0bdd9180e988ad) by @guillaume.chauvel ([merge request](gitlab-org/gitlab!72075)) - [Remove not used parameter from epics finder](gitlab-org/gitlab@49fce172b57b2f376a114726b1dd1900fe36a238) ([merge request](gitlab-org/gitlab!72285)) **GitLab Enterprise Edition** +## 14.4.5 (2022-01-11) + +No changes. + ## 14.4.4 (2021-12-03) No changes. diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 5ac2cb5708..45bfbe72f7 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -14.6.5 \ No newline at end of file +14.7.4 \ No newline at end of file diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION index 7f3a46a841..ba0a719118 100644 --- a/GITLAB_PAGES_VERSION +++ b/GITLAB_PAGES_VERSION @@ -1 +1 @@ -1.49.0 +1.51.0 diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION index 516e0c5f54..35d41ddb27 100644 --- a/GITLAB_SHELL_VERSION +++ b/GITLAB_SHELL_VERSION @@ -1 +1 @@ -13.22.1 +13.22.2 diff --git a/Gemfile b/Gemfile index 9f152aa521..334e7df768 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -gem 'rails', '~> 6.1.4.1' +gem 'rails', '~> 6.1.4.4' gem 'bootsnap', '~> 1.9.1', require: false @@ -50,7 +50,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0' gem 'omniauth-twitter', '~> 1.4' gem 'omniauth_crowd', '~> 2.4.0' gem 'omniauth-authentiq', '~> 0.3.3' -gem 'gitlab-omniauth-openid-connect', '~> 0.8.0', require: 'omniauth_openid_connect' +gem 'gitlab-omniauth-openid-connect', '~> 0.9.0', require: 'omniauth_openid_connect' gem 'omniauth-salesforce', '~> 1.0.5' gem 'omniauth-atlassian-oauth2', '~> 0.2.0' gem 'rack-oauth2', '~> 1.16.0' @@ -74,7 +74,7 @@ gem 'u2f', '~> 0.2.1' gem 'validates_hostname', '~> 1.0.11' gem 'rubyzip', '~> 2.0.0', require: 'zip' # GitLab Pages letsencrypt support -gem 'acme-client', '~> 2.0', '>= 2.0.6' +gem 'acme-client', '~> 2.0', '>= 2.0.9' # Browser detection gem 'browser', '~> 4.2' @@ -98,10 +98,7 @@ gem 'rack-cors', '~> 1.0.6', require: 'rack/cors' # GraphQL API gem 'graphql', '~> 1.11.10' -# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab/issues/31771 -# TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released: -# https://gitlab.com/gitlab-org/gitlab/issues/31747 -gem 'graphiql-rails', '~> 1.4.10' +gem 'graphiql-rails', '~> 1.8' gem 'apollo_upload_server', '~> 2.1.0' gem 'graphql-docs', '~> 1.6.0', group: [:development, :test] gem 'graphlient', '~> 0.4.0' # Used by BulkImport feature (group::import) @@ -149,6 +146,7 @@ gem 'aws-sdk-core', '~> 3' gem 'aws-sdk-cloudformation', '~> 1' gem 'aws-sdk-s3', '~> 1' gem 'faraday_middleware-aws-sigv4', '~>0.3.0' +gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # Markdown and HTML processing gem 'html-pipeline', '~> 2.13.2' @@ -169,7 +167,7 @@ gem 'asciidoctor-kroki', '~> 0.5.0', require: false gem 'rouge', '~> 3.27.0' gem 'truncato', '~> 0.7.11' gem 'bootstrap_form', '~> 4.2.0' -gem 'nokogiri', '~> 1.11.4' +gem 'nokogiri', '~> 1.12' gem 'escape_utils', '~> 1.1' # Calendar rendering @@ -193,12 +191,12 @@ end # State machine gem 'state_machines-activerecord', '~> 0.8.0' -# Issue tags -gem 'acts-as-taggable-on', '~> 8.1' +# CI domain tags +gem 'acts-as-taggable-on', '~> 9.0' # Background jobs gem 'sidekiq', '~> 6.3' -gem 'sidekiq-cron', '~> 1.0' +gem 'sidekiq-cron', '~> 1.2' gem 'redis-namespace', '~> 1.8.1' gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch' @@ -263,7 +261,7 @@ gem 'ruby-fogbugz', '~> 0.2.1' gem 'kubeclient', '~> 4.9.2' # Sanitize user input -gem 'sanitize', '~> 5.2.1' +gem 'sanitize', '~> 6.0' gem 'babosa', '~> 1.0.4' # Sanitizes SVG input @@ -276,7 +274,7 @@ gem 'licensee', '~> 9.14.1' gem 'charlock_holmes', '~> 0.7.7' # Detect mime content type from content -gem 'ruby-magic', '~> 0.4' +gem 'ruby-magic', '~> 0.5' # Faster blank gem 'fast_blank' @@ -312,7 +310,7 @@ gem 'pg_query', '~> 2.1' gem 'premailer-rails', '~> 1.10.3' # LabKit: Tracing and Correlation -gem 'gitlab-labkit', '~> 0.21.1' +gem 'gitlab-labkit', '~> 0.21.3' # Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0 # because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900 gem 'thrift', '>= 0.14.0' @@ -394,8 +392,6 @@ group :development, :test do gem 'parallel', '~> 1.19', require: false - gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false - gem 'test_file_finder', '~> 0.1.3' end @@ -443,7 +439,8 @@ end gem 'octokit', '~> 4.15' -# https://gitlab.com/gitlab-org/gitlab/issues/207207 +# Updating this gem version here is deprecated. See: +# https://docs.gitlab.com/ee/development/emails.html#mailroom-gem-updates gem 'gitlab-mail_room', '~> 0.0.9', require: 'mail_room' gem 'email_reply_trimmer', '~> 0.1' @@ -483,14 +480,14 @@ end gem 'spamcheck', '~> 0.1.0' # Gitaly GRPC protocol definitions -gem 'gitaly', '~> 14.4.0.pre.rc43' +gem 'gitaly', '~> 14.6.0.pre.rc1' # KAS GRPC protocol definitions gem 'kas-grpc', '~> 0.0.2' -gem 'grpc', '~> 1.30.2' +gem 'grpc', '~> 1.42.0' -gem 'google-protobuf', '~> 3.17.1' +gem 'google-protobuf', '~> 3.19.0' gem 'toml-rb', '~> 2.0' diff --git a/Gemfile.lock b/Gemfile.lock index d15a27d60e..4fd0bf053c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,72 +9,72 @@ GEM remote: https://rubygems.org/ specs: RedCloth (4.3.2) - acme-client (2.0.6) + acme-client (2.0.9) faraday (>= 0.17, < 2.0.0) - actioncable (6.1.4.1) - actionpack (= 6.1.4.1) - activesupport (= 6.1.4.1) + actioncable (6.1.4.4) + actionpack (= 6.1.4.4) + activesupport (= 6.1.4.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.4.1) - actionpack (= 6.1.4.1) - activejob (= 6.1.4.1) - activerecord (= 6.1.4.1) - activestorage (= 6.1.4.1) - activesupport (= 6.1.4.1) + actionmailbox (6.1.4.4) + actionpack (= 6.1.4.4) + activejob (= 6.1.4.4) + activerecord (= 6.1.4.4) + activestorage (= 6.1.4.4) + activesupport (= 6.1.4.4) mail (>= 2.7.1) - actionmailer (6.1.4.1) - actionpack (= 6.1.4.1) - actionview (= 6.1.4.1) - activejob (= 6.1.4.1) - activesupport (= 6.1.4.1) + actionmailer (6.1.4.4) + actionpack (= 6.1.4.4) + actionview (= 6.1.4.4) + activejob (= 6.1.4.4) + activesupport (= 6.1.4.4) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.4.1) - actionview (= 6.1.4.1) - activesupport (= 6.1.4.1) + actionpack (6.1.4.4) + actionview (= 6.1.4.4) + activesupport (= 6.1.4.4) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.4.1) - actionpack (= 6.1.4.1) - activerecord (= 6.1.4.1) - activestorage (= 6.1.4.1) - activesupport (= 6.1.4.1) + actiontext (6.1.4.4) + actionpack (= 6.1.4.4) + activerecord (= 6.1.4.4) + activestorage (= 6.1.4.4) + activesupport (= 6.1.4.4) nokogiri (>= 1.8.5) - actionview (6.1.4.1) - activesupport (= 6.1.4.1) + actionview (6.1.4.4) + activesupport (= 6.1.4.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.4.1) - activesupport (= 6.1.4.1) + activejob (6.1.4.4) + activesupport (= 6.1.4.4) globalid (>= 0.3.6) - activemodel (6.1.4.1) - activesupport (= 6.1.4.1) - activerecord (6.1.4.1) - activemodel (= 6.1.4.1) - activesupport (= 6.1.4.1) + activemodel (6.1.4.4) + activesupport (= 6.1.4.4) + activerecord (6.1.4.4) + activemodel (= 6.1.4.4) + activesupport (= 6.1.4.4) activerecord-explain-analyze (0.1.0) activerecord (>= 4) pg - activestorage (6.1.4.1) - actionpack (= 6.1.4.1) - activejob (= 6.1.4.1) - activerecord (= 6.1.4.1) - activesupport (= 6.1.4.1) + activestorage (6.1.4.4) + actionpack (= 6.1.4.4) + activejob (= 6.1.4.4) + activerecord (= 6.1.4.4) + activesupport (= 6.1.4.4) marcel (~> 1.0.0) mini_mime (>= 1.1.0) - activesupport (6.1.4.1) + activesupport (6.1.4.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - acts-as-taggable-on (8.1.0) - activerecord (>= 5.0, < 6.2) + acts-as-taggable-on (9.0.0) + activerecord (>= 6.0, < 7.1) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) aes_key_wrap (1.1.0) @@ -124,14 +124,14 @@ GEM aws-sigv4 (~> 1.1) aws-sigv4 (1.2.1) aws-eventstream (~> 1, >= 1.0.2) - azure-storage-blob (2.0.1) + azure-storage-blob (2.0.3) azure-storage-common (~> 2.0) - nokogiri (~> 1.11.0.rc2) - azure-storage-common (2.0.2) + nokogiri (~> 1, >= 1.10.8) + azure-storage-common (2.0.4) faraday (~> 1.0) - faraday_middleware (~> 1.0.0.rc1) + faraday_middleware (~> 1.0, >= 1.0.0.rc1) net-http-persistent (~> 4.0) - nokogiri (~> 1.11.0.rc2) + nokogiri (~> 1, >= 1.10.8) babosa (1.0.4) backport (1.2.0) base32 (0.3.2) @@ -239,7 +239,6 @@ GEM danger gitlab (~> 4.2, >= 4.2.0) database_cleaner (1.7.0) - debugger-ruby_core_source (1.3.8) deckar01-task_list (2.3.1) html-pipeline declarative (0.0.20) @@ -333,8 +332,10 @@ GEM escape_utils (1.2.1) et-orbi (1.2.1) tzinfo + ethon (0.15.0) + ffi (>= 1.15.0) eventmachine (1.2.7) - excon (0.71.1) + excon (0.90.0) execjs (2.8.1) expression_parser (0.9.0) extended-markdown-filter (0.6.0) @@ -450,7 +451,7 @@ GEM rails (>= 3.2.0) git (1.7.0) rchardet (~> 1.8) - gitaly (14.4.0.pre.rc43) + gitaly (14.6.0.pre.rc1) grpc (~> 1.0) github-markup (1.7.0) gitlab (4.16.1) @@ -472,10 +473,10 @@ GEM fog-json (~> 1.2.0) mime-types ms_rest_azure (~> 0.12.0) - gitlab-labkit (0.21.1) + gitlab-labkit (0.21.3) actionpack (>= 5.0.0, < 7.0.0) activesupport (>= 5.0.0, < 7.0.0) - grpc (~> 1.30.2) + grpc (>= 1.37) jaeger-client (~> 1.1) opentracing (~> 0.4) pg_query (~> 2.1) @@ -491,7 +492,7 @@ GEM gitlab-mail_room (0.0.9) gitlab-markup (1.8.0) gitlab-net-dns (0.9.1) - gitlab-omniauth-openid-connect (0.8.0) + gitlab-omniauth-openid-connect (0.9.1) addressable (~> 2.7) omniauth (~> 1.9) openid_connect (~> 1.2) @@ -511,7 +512,7 @@ GEM omniauth (~> 1.3) pyu-ruby-sasl (>= 0.0.3.3, < 0.1) rubyntlm (~> 0.5) - globalid (0.5.2) + globalid (1.0.0) activesupport (>= 5.0) gon (6.4.0) actionpack (>= 3.0.20) @@ -529,8 +530,8 @@ GEM signet (~> 0.12) google-cloud-env (1.5.0) faraday (>= 0.17.3, < 2.0) - google-protobuf (3.17.3) - googleapis-common-protos-types (1.1.0) + google-protobuf (3.19.1) + googleapis-common-protos-types (1.3.0) google-protobuf (~> 3.14) googleauth (0.14.0) faraday (>= 0.17.3, < 2.0) @@ -559,7 +560,7 @@ GEM grape_logging (1.8.3) grape rack - graphiql-rails (1.4.10) + graphiql-rails (1.8.0) railties sprockets-rails graphlient (0.4.0) @@ -578,8 +579,8 @@ GEM graphql (~> 1.6) html-pipeline (~> 2.8) sass (~> 3.4) - grpc (1.30.2) - google-protobuf (~> 3.12) + grpc (1.42.0) + google-protobuf (~> 3.18) googleapis-common-protos-types (~> 1.0) gssapi (1.2.0) ffi (>= 1.0.1) @@ -739,7 +740,7 @@ GEM lumberjack (1.2.7) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (1.0.1) + marcel (1.0.2) marginalia (1.10.0) actionpack (>= 2.3) activerecord (>= 2.3) @@ -752,7 +753,7 @@ GEM mini_histogram (0.3.1) mini_magick (4.10.1) mini_mime (1.1.1) - mini_portile2 (2.5.3) + mini_portile2 (2.6.1) minitest (5.11.3) mixlib-cli (2.1.8) mixlib-config (3.0.9) @@ -790,11 +791,9 @@ GEM netrc (0.11.0) nio4r (2.5.8) no_proxy_fix (0.1.2) - nokogiri (1.11.7) - mini_portile2 (~> 2.5.0) + nokogiri (1.12.5) + mini_portile2 (~> 2.6.1) racc (~> 1.4) - nokogumbo (2.0.2) - nokogiri (~> 1.8, >= 1.8.4) notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) @@ -887,7 +886,7 @@ GEM nokogiri (>= 1.4.4) omniauth (~> 1.0) open4 (1.3.4) - openid_connect (1.2.0) + openid_connect (1.3.0) activemodel attr_required (>= 1.0.0) json-jwt (>= 1.5.0) @@ -952,7 +951,7 @@ GEM puma (>= 2.7) pyu-ruby-sasl (0.0.3.3) raabro (1.1.6) - racc (1.5.2) + racc (1.6.0) rack (2.2.3) rack-accept (0.4.5) rack (>= 0.4) @@ -971,20 +970,20 @@ GEM rack-test (1.1.0) rack (>= 1.0, < 3) rack-timeout (0.5.2) - rails (6.1.4.1) - actioncable (= 6.1.4.1) - actionmailbox (= 6.1.4.1) - actionmailer (= 6.1.4.1) - actionpack (= 6.1.4.1) - actiontext (= 6.1.4.1) - actionview (= 6.1.4.1) - activejob (= 6.1.4.1) - activemodel (= 6.1.4.1) - activerecord (= 6.1.4.1) - activestorage (= 6.1.4.1) - activesupport (= 6.1.4.1) + rails (6.1.4.4) + actioncable (= 6.1.4.4) + actionmailbox (= 6.1.4.4) + actionmailer (= 6.1.4.4) + actionpack (= 6.1.4.4) + actiontext (= 6.1.4.4) + actionview (= 6.1.4.4) + activejob (= 6.1.4.4) + activemodel (= 6.1.4.4) + activerecord (= 6.1.4.4) + activestorage (= 6.1.4.4) + activesupport (= 6.1.4.4) bundler (>= 1.15.0) - railties (= 6.1.4.1) + railties (= 6.1.4.4) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -998,9 +997,9 @@ GEM rails-i18n (6.0.0) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 7) - railties (6.1.4.1) - actionpack (= 6.1.4.1) - activesupport (= 6.1.4.1) + railties (6.1.4.4) + actionpack (= 6.1.4.4) + activesupport (= 6.1.4.4) method_source rake (>= 0.13) thor (~> 1.0) @@ -1009,8 +1008,6 @@ GEM rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) - rblineprof (0.3.6) - debugger-ruby_core_source (~> 1.3) rbtrace (0.4.14) ffi (>= 1.0.6) msgpack (>= 0.4.3) @@ -1124,8 +1121,8 @@ GEM rubocop-ast (>= 0.7.1) ruby-fogbugz (0.2.1) crack (~> 0.4) - ruby-magic (0.4.0) - mini_portile2 (~> 2.5.0) + ruby-magic (0.5.4) + mini_portile2 (~> 2.6) ruby-prof (1.3.1) ruby-progressbar (1.11.0) ruby-saml (1.13.0) @@ -1142,10 +1139,9 @@ GEM safe_yaml (1.0.4) safety_net_attestation (0.4.0) jwt (~> 2.0) - sanitize (5.2.1) + sanitize (6.0.0) crass (~> 1.0.2) - nokogiri (>= 1.8.0) - nokogumbo (~> 2.0) + nokogiri (>= 1.12.0) sass (3.5.5) sass-listen (~> 4.0.0) sass-listen (4.0.0) @@ -1184,7 +1180,7 @@ GEM connection_pool (>= 2.2.2) rack (~> 2.0) redis (>= 4.2.0) - sidekiq-cron (1.0.4) + sidekiq-cron (1.2.0) fugit (~> 1.1) sidekiq (>= 4.2.1) signet (0.14.0) @@ -1251,7 +1247,7 @@ GEM unicode-display_width (>= 1.5, < 3.0) unicode_utils (~> 1.4) strings-ansi (0.2.0) - swd (1.2.0) + swd (1.3.0) activesupport (>= 3) attr_required (>= 0.0.5) httpclient (>= 2.4) @@ -1311,6 +1307,8 @@ GEM tty-screen (~> 0.8) wisper (~> 2.0) tty-screen (0.8.1) + typhoeus (1.4.0) + ethon (>= 0.9.0) tzinfo (2.0.4) concurrent-ruby (~> 1.0) u2f (0.2.1) @@ -1358,7 +1356,7 @@ GEM safety_net_attestation (~> 0.4.0) securecompare (~> 1.0) tpm-key_attestation (~> 0.9.0) - webfinger (1.1.0) + webfinger (1.2.0) activesupport httpclient (>= 2.4) webmock (3.9.1) @@ -1381,16 +1379,16 @@ GEM nokogiri (~> 1.8) yajl-ruby (1.4.1) yard (0.9.26) - zeitwerk (2.5.1) + zeitwerk (2.5.3) PLATFORMS ruby DEPENDENCIES RedCloth (~> 4.3.2) - acme-client (~> 2.0, >= 2.0.6) + acme-client (~> 2.0, >= 2.0.9) activerecord-explain-analyze (~> 0.1) - acts-as-taggable-on (~> 8.1) + acts-as-taggable-on (~> 9.0) addressable (~> 2.8) akismet (~> 3.0) apollo_upload_server (~> 2.1.0) @@ -1472,36 +1470,36 @@ DEPENDENCIES gettext (~> 3.3) gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) - gitaly (~> 14.4.0.pre.rc43) + gitaly (~> 14.6.0.pre.rc1) github-markup (~> 1.7.0) gitlab-chronic (~> 0.10.5) gitlab-dangerfiles (~> 2.6.1) gitlab-experiment (~> 0.6.5) gitlab-fog-azure-rm (~> 1.2.0) - gitlab-labkit (~> 0.21.1) + gitlab-labkit (~> 0.21.3) gitlab-license (~> 2.0) gitlab-license_finder (~> 6.0) gitlab-mail_room (~> 0.0.9) gitlab-markup (~> 1.8.0) gitlab-net-dns (~> 0.9.1) - gitlab-omniauth-openid-connect (~> 0.8.0) + gitlab-omniauth-openid-connect (~> 0.9.0) gitlab-sidekiq-fetcher (= 0.8.0) gitlab-styles (~> 6.6.0) gitlab_chronic_duration (~> 0.10.6.2) gitlab_omniauth-ldap (~> 2.1.1) gon (~> 6.4.0) google-api-client (~> 0.33) - google-protobuf (~> 3.17.1) + google-protobuf (~> 3.19.0) gpgme (~> 2.0.19) grape (~> 1.5.2) grape-entity (~> 0.10.0) grape-path-helpers (~> 1.7.0) grape_logging (~> 1.7) - graphiql-rails (~> 1.4.10) + graphiql-rails (~> 1.8) graphlient (~> 0.4.0) graphql (~> 1.11.10) graphql-docs (~> 1.6.0) - grpc (~> 1.30.2) + grpc (~> 1.42.0) gssapi guard-rspec haml_lint (~> 0.36.0) @@ -1545,7 +1543,7 @@ DEPENDENCIES net-ldap (~> 0.16.3) net-ntp net-ssh (~> 6.0) - nokogiri (~> 1.11.4) + nokogiri (~> 1.12) oauth2 (~> 1.4) octokit (~> 4.15) ohai (~> 16.10) @@ -1589,11 +1587,10 @@ DEPENDENCIES rack-oauth2 (~> 1.16.0) rack-proxy (~> 0.6.0) rack-timeout (~> 0.5.1) - rails (~> 6.1.4.1) + rails (~> 6.1.4.4) rails-controller-testing rails-i18n (~> 6.0) rainbow (~> 3.0) - rblineprof (~> 0.3.6) rbtrace (~> 0.4) rdoc (~> 6.3.2) re2 (~> 1.2.0) @@ -1613,14 +1610,14 @@ DEPENDENCIES rspec_junit_formatter rspec_profiling (~> 0.0.6) ruby-fogbugz (~> 0.2.1) - ruby-magic (~> 0.4) + ruby-magic (~> 0.5) ruby-prof (~> 1.3.0) ruby-progressbar (~> 1.10) ruby-saml (~> 1.13.0) ruby_parser (~> 3.15) rubyzip (~> 2.0.0) rugged (~> 1.2) - sanitize (~> 5.2.1) + sanitize (~> 6.0) sassc-rails (~> 2.1.0) sd_notify (~> 0.1.0) seed-fu (~> 2.3.7) @@ -1629,7 +1626,7 @@ DEPENDENCIES settingslogic (~> 2.0.9) shoulda-matchers (~> 4.0.1) sidekiq (~> 6.3) - sidekiq-cron (~> 1.0) + sidekiq-cron (~> 1.2) simple_po_parser (~> 1.1.2) simplecov (~> 0.18.5) simplecov-cobertura (~> 1.3.1) @@ -1655,6 +1652,7 @@ DEPENDENCIES timecop (~> 0.9.1) toml-rb (~> 2.0) truncato (~> 0.7.11) + typhoeus (~> 1.4.0) u2f (~> 0.2.1) undercover (~> 0.4.4) unf (~> 0.1.4) diff --git a/README.md b/README.md index 64f19939ec..cff7a413e0 100644 --- a/README.md +++ b/README.md @@ -121,4 +121,4 @@ Please see [Getting help for GitLab](https://about.gitlab.com/getting-help/) on ## Is it awesome? -[These people](https://twitter.com/gitlab/likes) seem to like it. +[These people](https://twitter.com/gitlab/followers) seem to like it. diff --git a/VERSION b/VERSION index 5ac2cb5708..45bfbe72f7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -14.6.5 \ No newline at end of file +14.7.4 \ No newline at end of file diff --git a/app/assets/images/file_icons.svg b/app/assets/images/file_icons.svg index ec38020f97..def87dd916 100644 --- a/app/assets/images/file_icons.svg +++ b/app/assets/images/file_icons.svg @@ -1 +1 @@ -api-blueprintLayer 1Browserslist logoBrowserslist logoCfcucumber-mark-transparent-pipsNVIDIA-LogoDartGroup 3Group 3Asset 3logoklLayer 1MMocha Logonodemonnpostcss-logo-symbolprettier-icon-darkGroupGroup 2stylelint-icon-whitestylelint-icon-blackTEXTShoudinibadgeBrandVisualStudioCodewolframLanguage +api-blueprintLayer 1Browserslist logoBrowserslist logoCfcucumber-mark-transparent-pipsNVIDIA-LogoDartGroup 3Group 3Asset 3logoklLayer 1MMocha Logonodemonnpostcss-logo-symbolprettier-icon-darkGroupGroup 2stylelint-icon-whitestylelint-icon-blackTEXTShoudinibadgeBrandVisualStudioCodewolframLanguage diff --git a/app/assets/javascripts/admin/users/components/user_actions.vue b/app/assets/javascripts/admin/users/components/user_actions.vue index 567d715184..f5d21ece13 100644 --- a/app/assets/javascripts/admin/users/components/user_actions.vue +++ b/app/assets/javascripts/admin/users/components/user_actions.vue @@ -109,12 +109,13 @@ export default {
{{ $options.i18n.userAdministration diff --git a/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue b/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue index 0bdb45d35c..b3ae671d61 100644 --- a/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue +++ b/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue @@ -31,7 +31,8 @@ export default { props: { groupId: { type: Number, - required: true, + required: false, + default: null, }, groupNamespace: { type: String, @@ -57,6 +58,11 @@ export default { required: false, default: () => [], }, + loadingDefaultProjects: { + type: Boolean, + required: false, + default: false, + }, }, data() { return { @@ -111,6 +117,9 @@ export default { searchTerm() { this.search(); }, + defaultProjects(projects) { + this.selectedProjects = [...projects]; + }, }, mounted() { this.search(); @@ -202,6 +211,7 @@ export default { ref="projectsDropdown" class="dropdown dropdown-projects" toggle-class="gl-shadow-none" + :loading="loadingDefaultProjects" :show-clear-all="hasSelectedProjects" show-highlighted-items-title highlighted-items-title-class="gl-p-3" @@ -209,6 +219,7 @@ export default { @hide="onHide" > - {{ blobSize }} - + + {{ blobSize }} + + {{ __('LFS') }}
diff --git a/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue b/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue index a5b594fbd8..b2546d4769 100644 --- a/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue +++ b/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue @@ -53,6 +53,8 @@ export default { icon="code" category="primary" variant="default" + class="js-blob-viewer-switch-btn" + data-viewer="simple" @click="switchToViewer($options.SIMPLE_BLOB_VIEWER)" /> diff --git a/app/assets/javascripts/line_highlighter.js b/app/assets/javascripts/blob/line_highlighter.js similarity index 100% rename from app/assets/javascripts/line_highlighter.js rename to app/assets/javascripts/blob/line_highlighter.js diff --git a/app/assets/javascripts/boards/components/board_card.vue b/app/assets/javascripts/boards/components/board_card.vue index 563bed6a6b..dc821cb9f5 100644 --- a/app/assets/javascripts/boards/components/board_card.vue +++ b/app/assets/javascripts/boards/components/board_card.vue @@ -72,7 +72,7 @@ export default { data-qa-selector="board_card" :class="{ 'multi-select': multiSelectVisible, - 'user-can-drag': isDraggable, + 'gl-cursor-grab': isDraggable, 'is-disabled': isDisabled, 'is-active': isActive, 'gl-cursor-not-allowed gl-bg-gray-10': item.isLoading, diff --git a/app/assets/javascripts/boards/components/board_content_sidebar.vue b/app/assets/javascripts/boards/components/board_content_sidebar.vue index f89f8e5feb..156029b62b 100644 --- a/app/assets/javascripts/boards/components/board_content_sidebar.vue +++ b/app/assets/javascripts/boards/components/board_content_sidebar.vue @@ -6,11 +6,12 @@ import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdow import { __, sprintf } from '~/locale'; import BoardSidebarTimeTracker from '~/boards/components/sidebar/board_sidebar_time_tracker.vue'; import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue'; -import { ISSUABLE } from '~/boards/constants'; +import { ISSUABLE, INCIDENT } from '~/boards/constants'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import SidebarAssigneesWidget from '~/sidebar/components/assignees/sidebar_assignees_widget.vue'; import SidebarConfidentialityWidget from '~/sidebar/components/confidential/sidebar_confidentiality_widget.vue'; import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue'; +import SidebarSeverity from '~/sidebar/components/severity/sidebar_severity.vue'; import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue'; import SidebarTodoWidget from '~/sidebar/components/todo_toggle/sidebar_todo_widget.vue'; import SidebarLabelsWidget from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue'; @@ -29,6 +30,7 @@ export default { SidebarSubscriptionsWidget, SidebarDropdownWidget, SidebarTodoWidget, + SidebarSeverity, MountingPortal, SidebarWeightWidget: () => import('ee_component/sidebar/components/weight/sidebar_weight_widget.vue'), @@ -69,9 +71,15 @@ export default { isIssuableSidebar() { return this.sidebarType === ISSUABLE; }, + isIncidentSidebar() { + return this.activeBoardItem.type === INCIDENT; + }, showSidebar() { return this.isIssuableSidebar && this.isSidebarOpen; }, + sidebarTitle() { + return this.isIncidentSidebar ? __('Incident details') : __('Issue details'); + }, fullPath() { return this.activeBoardItem?.referencePath?.split('#')[0] || ''; }, @@ -138,7 +146,7 @@ export default { @close="handleClose" >