diff options
| author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-25 09:10:45 +0000 |
|---|---|---|
| committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-25 09:10:45 +0000 |
| commit | 06b4bed158fc0772cf4363e65baef9ca9357c07b (patch) | |
| tree | 19bd6e71b140ac66435599a5d9f428ba54dc9f13 | |
| parent | be7378bb7f3086f7ff6bce402d6b12812b505e77 (diff) | |
| download | gitlab-ce-06b4bed158fc0772cf4363e65baef9ca9357c07b.tar.gz | |
Add latest changes from gitlab-org/gitlab@master
21 files changed, 271 insertions, 138 deletions
diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 2af26d8413a..c7bb8144d77 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -411,7 +411,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/auditor_users.md @jglassman1 /doc/administration/auth/ @jglassman1 /doc/administration/auth/ldap/ @jglassman1 -/doc/administration/cicd.md @marcel.amirault +/doc/administration/cicd.md @drcatherinepope /doc/administration/clusters/ @phillipwells /doc/administration/compliance.md @eread /doc/administration/configure.md @axil @@ -419,7 +419,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/docs_self_host.md @axil /doc/administration/encrypted_configuration.md @axil /doc/administration/environment_variables.md @axil -/doc/administration/external_pipeline_validation.md @marcel.amirault +/doc/administration/external_pipeline_validation.md @drcatherinepope /doc/administration/feature_flags.md @axil /doc/administration/file_hooks.md @ashrafkhamis /doc/administration/geo/ @axil @@ -450,7 +450,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/logs/ @axil /doc/administration/logs/index.md @msedlakjakubowski /doc/administration/maintenance_mode/ @axil -/doc/administration/merge_request_diffs.md @ashrafkhamis +/doc/administration/merge_request_diffs.md @aqualls /doc/administration/monitoring/ @msedlakjakubowski /doc/administration/monitoring/gitlab_self_monitoring_project/ @msedlakjakubowski /doc/administration/monitoring/ip_allowlist.md @jglassman1 @@ -526,7 +526,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/epic_issues.md @msedlakjakubowski /doc/api/epic_links.md @msedlakjakubowski /doc/api/epics.md @msedlakjakubowski -/doc/api/error_tracking.md @msedlakjakubowski +/doc/api/error_tracking.md @drcatherinepope /doc/api/events.md @eread /doc/api/experiments.md @phillipwells /doc/api/feature_flag_user_lists.md @rdickenson @@ -535,6 +535,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/freeze_periods.md @rdickenson /doc/api/geo_nodes.md @axil /doc/api/graphql/audit_report.md @eread +/doc/api/graphql/branch_rules.md @aqualls /doc/api/graphql/custom_emoji.md @msedlakjakubowski /doc/api/graphql/getting_started.md @ashrafkhamis /doc/api/graphql/index.md @ashrafkhamis @@ -569,7 +570,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/issues_statistics.md @msedlakjakubowski /doc/api/iterations.md @msedlakjakubowski /doc/api/job_artifacts.md @marcel.amirault -/doc/api/jobs.md @marcel.amirault +/doc/api/jobs.md @drcatherinepope /doc/api/keys.md @aqualls /doc/api/labels.md @msedlakjakubowski /doc/api/license.md @fneill @@ -581,7 +582,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/merge_request_approvals.md @aqualls /doc/api/merge_request_context_commits.md @aqualls /doc/api/merge_requests.md @aqualls -/doc/api/merge_trains.md @marcel.amirault +/doc/api/merge_trains.md @drcatherinepope /doc/api/metadata.md @phillipwells /doc/api/metrics_dashboard_annotations.md @msedlakjakubowski /doc/api/metrics_user_starred_dashboards.md @msedlakjakubowski @@ -596,9 +597,9 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/pages.md @ashrafkhamis /doc/api/pages_domains.md @ashrafkhamis /doc/api/personal_access_tokens.md @eread -/doc/api/pipeline_schedules.md @marcel.amirault -/doc/api/pipeline_triggers.md @marcel.amirault -/doc/api/pipelines.md @marcel.amirault +/doc/api/pipeline_schedules.md @drcatherinepope +/doc/api/pipeline_triggers.md @drcatherinepope +/doc/api/pipelines.md @drcatherinepope /doc/api/plan_limits.md @jglassman1 /doc/api/product_analytics.md @lciutacu /doc/api/project_access_tokens.md @jglassman1 @@ -628,7 +629,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/resource_milestone_events.md @msedlakjakubowski /doc/api/resource_state_events.md @msedlakjakubowski /doc/api/resource_weight_events.md @msedlakjakubowski -/doc/api/rest/index.md @ashrafkhamis +/doc/api/rest/ @ashrafkhamis /doc/api/runners.md @fneill /doc/api/saml.md @jglassman1 /doc/api/scim.md @jglassman1 @@ -659,10 +660,10 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/wikis.md @ashrafkhamis /doc/architecture/blueprints/database/scalability/patterns/ @aqualls /doc/architecture/blueprints/database_scaling/ @aqualls -/doc/ci/ @marcel.amirault +/doc/ci/ @drcatherinepope /doc/ci/caching/ @marcel.amirault /doc/ci/chatops/ @phillipwells -/doc/ci/ci_cd_for_external_repos/ @marcel.amirault +/doc/ci/ci_cd_for_external_repos/ @drcatherinepope /doc/ci/cloud_deployment/ @rdickenson /doc/ci/cloud_deployment/ecs/ @rdickenson /doc/ci/cloud_services/ @marcel.amirault @@ -670,22 +671,28 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/ci/cloud_services/azure/ @marcel.amirault /doc/ci/cloud_services/google_cloud/ @marcel.amirault /doc/ci/directed_acyclic_graph/ @marcel.amirault -/doc/ci/docker/ @marcel.amirault +/doc/ci/docker/ @drcatherinepope /doc/ci/docker/using_docker_images.md @fneill /doc/ci/environments/ @rdickenson -/doc/ci/examples/ @marcel.amirault +/doc/ci/examples/ @drcatherinepope /doc/ci/examples/authenticating-with-hashicorp-vault/ @marcel.amirault /doc/ci/examples/deployment/ @rdickenson /doc/ci/examples/end_to_end_testing_webdriverio/ @marcel.amirault -/doc/ci/examples/laravel_with_gitlab_and_envoy/ @marcel.amirault +/doc/ci/examples/laravel_with_gitlab_and_envoy/ @drcatherinepope /doc/ci/examples/semantic-release.md @claytoncornell /doc/ci/interactive_web_terminal/ @fneill -/doc/ci/introduction/ @marcel.amirault -/doc/ci/jobs/ @marcel.amirault +/doc/ci/introduction/ @drcatherinepope +/doc/ci/jobs/ @drcatherinepope +/doc/ci/jobs/job_control.md @marcel.amirault /doc/ci/large_repositories/ @fneill +/doc/ci/lint.md @marcel.amirault /doc/ci/migration/ @marcel.amirault /doc/ci/pipeline_editor/ @marcel.amirault -/doc/ci/pipelines/ @marcel.amirault +/doc/ci/pipelines/ @drcatherinepope +/doc/ci/pipelines/downstream_pipelines.md @marcel.amirault +/doc/ci/pipelines/index.md @marcel.amirault +/doc/ci/pipelines/job_artifacts.md @marcel.amirault +/doc/ci/pipelines/pipeline_artifacts.md @marcel.amirault /doc/ci/quick_start/ @marcel.amirault /doc/ci/resource_groups/ @rdickenson /doc/ci/review_apps/ @marcel.amirault @@ -695,15 +702,14 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/ci/secrets/ @marcel.amirault /doc/ci/secure_files/ @marcel.amirault /doc/ci/services/ @fneill -/doc/ci/ssh_keys/ @marcel.amirault +/doc/ci/ssh_keys/ @drcatherinepope /doc/ci/test_cases/ @msedlakjakubowski /doc/ci/testing/ @marcel.amirault /doc/ci/testing/code_quality.md @rdickenson -/doc/ci/triggers/ @marcel.amirault +/doc/ci/triggers/ @drcatherinepope /doc/ci/variables/ @marcel.amirault /doc/ci/yaml/ @marcel.amirault /doc/development/application_limits.md @axil -/doc/development/approval_rules.md @aqualls /doc/development/audit_event_guide/ @eread /doc/development/auto_devops.md @phillipwells /doc/development/backend/ @sselhorn @@ -714,6 +720,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/cascading_settings.md @jglassman1 /doc/development/chatops_on_gitlabcom.md @phillipwells /doc/development/cicd/ @marcel.amirault +/doc/development/cicd/index.md @drcatherinepope /doc/development/code_intelligence/ @aqualls /doc/development/contributing/ @sselhorn /doc/development/database/ @aqualls @@ -722,7 +729,6 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/database_review.md @aqualls /doc/development/developing_with_solargraph.md @aqualls /doc/development/development_processes.md @sselhorn -/doc/development/diffs.md @aqualls /doc/development/distributed_tracing.md @msedlakjakubowski /doc/development/documentation/ @sselhorn /doc/development/documentation/styleguide/ @sselhorn @@ -769,7 +775,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/logging.md @msedlakjakubowski /doc/development/maintenance_mode.md @axil /doc/development/merge_request_concepts/ @aqualls -/doc/development/merge_request_diffs.md @aqualls +/doc/development/merge_request_concepts/diffs/ @aqualls /doc/development/omnibus.md @axil /doc/development/packages/ @claytoncornell /doc/development/pages/ @ashrafkhamis @@ -785,7 +791,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/secure_coding_guidelines.md @sselhorn /doc/development/service_ping/ @claytoncornell /doc/development/snowplow/ @claytoncornell -/doc/development/spam_protection_and_captcha/ @jglassman1 +/doc/development/spam_protection_and_captcha/ @phillipwells /doc/development/sql.md @aqualls /doc/development/testing_guide/ @sselhorn /doc/development/testing_guide/contract/ @sselhorn @@ -818,15 +824,18 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/integration/index.md @ashrafkhamis /doc/integration/jenkins.md @ashrafkhamis /doc/integration/jira/ @ashrafkhamis +/doc/integration/jira/dvcs/ @ashrafkhamis /doc/integration/mattermost/ @axil +/doc/integration/recaptcha.md @phillipwells /doc/integration/security_partners/ @rdickenson /doc/integration/slash_commands.md @ashrafkhamis /doc/integration/sourcegraph.md @aqualls /doc/integration/trello_power_up.md @ashrafkhamis /doc/integration/vault.md @phillipwells -/doc/operations/ @msedlakjakubowski +/doc/operations/error_tracking.md @drcatherinepope /doc/operations/feature_flags.md @rdickenson /doc/operations/incident_management/ @msedlakjakubowski +/doc/operations/index.md @msedlakjakubowski /doc/operations/metrics/ @msedlakjakubowski /doc/operations/metrics/dashboards/ @msedlakjakubowski /doc/policy/ @axil @@ -872,7 +881,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/admin_area/reporting/spamcheck.md @axil /doc/user/admin_area/review_abuse_reports.md @jglassman1 /doc/user/admin_area/settings/account_and_limit_settings.md @aqualls -/doc/user/admin_area/settings/continuous_integration.md @marcel.amirault +/doc/user/admin_area/settings/continuous_integration.md @drcatherinepope /doc/user/admin_area/settings/deprecated_api_rate_limits.md @aqualls /doc/user/admin_area/settings/email.md @msedlakjakubowski /doc/user/admin_area/settings/external_authorization.md @jglassman1 @@ -888,14 +897,16 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/admin_area/settings/push_event_activities_limit.md @aqualls /doc/user/admin_area/settings/rate_limit_on_issues_creation.md @msedlakjakubowski /doc/user/admin_area/settings/rate_limit_on_notes_creation.md @msedlakjakubowski -/doc/user/admin_area/settings/rate_limit_on_pipelines_creation.md @marcel.amirault +/doc/user/admin_area/settings/rate_limit_on_pipelines_creation.md @drcatherinepope /doc/user/admin_area/settings/rate_limit_on_users_api.md @jglassman1 +/doc/user/admin_area/settings/scim_setup.md @jglassman1 /doc/user/admin_area/settings/terraform_limits.md @phillipwells /doc/user/admin_area/settings/third_party_offers.md @lciutacu /doc/user/admin_area/settings/usage_statistics.md @claytoncornell /doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls /doc/user/analytics/ @lciutacu /doc/user/analytics/ci_cd_analytics.md @rdickenson +/doc/user/application_security/ @rdickenson /doc/user/application_security/api_fuzzing/ @rdickenson /doc/user/application_security/configuration/ @rdickenson /doc/user/application_security/container_scanning/ @rdickenson @@ -908,7 +919,6 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/application_security/dependency_scanning/ @rdickenson /doc/user/application_security/generate_test_vulnerabilities/ @claytoncornell /doc/user/application_security/iac_scanning/ @rdickenson -/doc/user/application_security/index.md @rdickenson /doc/user/application_security/offline_deployments/ @rdickenson /doc/user/application_security/policies/ @claytoncornell /doc/user/application_security/sast/ @rdickenson @@ -989,13 +999,19 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/profile/account/ @jglassman1 /doc/user/profile/contributions_calendar.md @lciutacu /doc/user/profile/notifications.md @msedlakjakubowski -/doc/user/project/ @aqualls +/doc/user/project/autocomplete_characters.md @aqualls +/doc/user/project/badges.md @lciutacu /doc/user/project/clusters/ @phillipwells /doc/user/project/clusters/runbooks/ @phillipwells +/doc/user/project/code_intelligence.md @aqualls +/doc/user/project/code_owners.md @aqualls /doc/user/project/deploy_boards.md @rdickenson /doc/user/project/deploy_keys/ @rdickenson /doc/user/project/deploy_tokens/ @rdickenson /doc/user/project/description_templates.md @msedlakjakubowski +/doc/user/project/file_lock.md @aqualls +/doc/user/project/git_attributes.md @aqualls +/doc/user/project/highlighting.md @aqualls /doc/user/project/import/ @eread /doc/user/project/import/jira.md @msedlakjakubowski /doc/user/project/index.md @lciutacu @@ -1015,9 +1031,13 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/project/merge_requests/reviews/ @aqualls /doc/user/project/merge_requests/status_checks.md @eread /doc/user/project/milestones/ @msedlakjakubowski +/doc/user/project/organize_work_with_projects.md @lciutacu /doc/user/project/pages/ @ashrafkhamis /doc/user/project/pages/custom_domains_ssl_tls_certification/ @ashrafkhamis /doc/user/project/pages/getting_started/ @ashrafkhamis +/doc/user/project/protected_branches.md @aqualls +/doc/user/project/protected_tags.md @aqualls +/doc/user/project/push_options.md @aqualls /doc/user/project/quick_actions.md @msedlakjakubowski /doc/user/project/releases/ @rdickenson /doc/user/project/remote_development/ @ashrafkhamis @@ -1084,8 +1104,10 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/controllers/concerns/enforces_two_factor_authentication.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/concerns/oauth_applications.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/concerns/project_unauthorized.rb @gitlab-org/manage/authentication-and-authorization/approvers +/app/models/concerns/require_email_verification.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/concerns/sessionless_authentication.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/concerns/snippet_authorizations.rb @gitlab-org/manage/authentication-and-authorization/approvers +/app/controllers/concerns/verifies_with_email.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/concerns/workhorse_authorization.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/groups/settings/access_tokens_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/ldap/ @gitlab-org/manage/authentication-and-authorization/approvers @@ -1097,6 +1119,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/controllers/profiles/two_factor_auths_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/profiles/webauthn_registrations_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/controllers/projects/settings/access_tokens_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers +/app/controllers/sessions_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/finders/groups/projects_requiring_authorizations_refresh/ @gitlab-org/manage/authentication-and-authorization/approvers /app/finders/personal_access_tokens_finder.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/helpers/access_tokens_helper.rb @gitlab-org/manage/authentication-and-authorization/approvers @@ -1133,8 +1156,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/services/todos/destroy/unauthorized_features_service.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/services/users/authorized_build_service.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/services/users/authorized_create_service.rb @gitlab-org/manage/authentication-and-authorization/approvers -/app/services/users/email_verification/generate_token_service.rb @gitlab-org/manage/authentication-and-authorization/approvers -/app/services/users/email_verification/validate_token_service.rb @gitlab-org/manage/authentication-and-authorization/approvers +/app/services/users/email_verification/ @gitlab-org/manage/authentication-and-authorization/approvers /app/services/users/refresh_authorized_projects_service.rb @gitlab-org/manage/authentication-and-authorization/approvers /app/services/webauthn/ @gitlab-org/manage/authentication-and-authorization/approvers /app/validators/json_schemas/cluster_agent_authorization_configuration.json @gitlab-org/manage/authentication-and-authorization/approvers @@ -1148,11 +1170,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/views/devise/mailer/password_change_by_admin.text.erb @gitlab-org/manage/authentication-and-authorization/approvers /app/views/devise/mailer/reset_password_instructions.html.haml @gitlab-org/manage/authentication-and-authorization/approvers /app/views/devise/mailer/reset_password_instructions.text.erb @gitlab-org/manage/authentication-and-authorization/approvers -/app/views/devise/passwords/ @gitlab-org/manage/authentication-and-authorization/approvers -/app/views/devise/shared/_omniauth_box.html.haml @gitlab-org/manage/authentication-and-authorization/approvers -/app/views/devise/shared/_signup_omniauth_provider_list.haml @gitlab-org/manage/authentication-and-authorization/approvers -/app/views/devise/shared/_signup_omniauth_providers.haml @gitlab-org/manage/authentication-and-authorization/approvers -/app/views/devise/shared/_signup_omniauth_providers_top.haml @gitlab-org/manage/authentication-and-authorization/approvers +/app/views/devise/**/ @gitlab-org/manage/authentication-and-authorization/approvers /app/views/doorkeeper/authorizations/ @gitlab-org/manage/authentication-and-authorization/approvers /app/views/doorkeeper/authorized_applications/ @gitlab-org/manage/authentication-and-authorization/approvers /app/views/errors/omniauth_error.html.haml @gitlab-org/manage/authentication-and-authorization/approvers @@ -1213,14 +1231,17 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /ee/app/controllers/ee/ldap/ @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/controllers/ee/omniauth_callbacks_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/controllers/ee/passwords_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers +/ee/app/controllers/ee/sessions_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/controllers/groups/omniauth_callbacks_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/controllers/groups/scim_oauth_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/controllers/oauth/ @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/controllers/omniauth_kerberos_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers +/ee/app/controllers/users/identity_verification_controller.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/finders/auth/ @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/helpers/ee/access_tokens_helper.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/helpers/ee/auth_helper.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/helpers/ee/personal_access_tokens_helper.rb @gitlab-org/manage/authentication-and-authorization/approvers +/ee/app/models/concerns/identity_verifiable.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/models/concerns/password_complexity.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/models/ee/personal_access_token.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/models/ee/project_authorization.rb @gitlab-org/manage/authentication-and-authorization/approvers @@ -1233,10 +1254,12 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /ee/app/services/ee/users/authorized_build_service.rb @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/services/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/services/security/token_revocation_service.rb @gitlab-org/manage/authentication-and-authorization/approvers +/ee/app/services/users/email_verification/ @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/validators/password/ @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/views/admin/application_settings/_personal_access_token_expiration_policy.html.haml @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/views/credentials_inventory_mailer/personal_access_token_revoked_email.html.haml @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/views/credentials_inventory_mailer/personal_access_token_revoked_email.text.haml @gitlab-org/manage/authentication-and-authorization/approvers +/app/views/devise/**/ @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/views/groups/_personal_access_token_expiration_policy.html.haml @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/views/groups/sso/_authorize_pane.html.haml @gitlab-org/manage/authentication-and-authorization/approvers /ee/app/views/notify/policy_revoked_personal_access_tokens_email.html.haml @gitlab-org/manage/authentication-and-authorization/approvers diff --git a/app/assets/javascripts/boards/components/board_card_move_to_position.vue b/app/assets/javascripts/boards/components/board_card_move_to_position.vue index 706b453e868..411423c1849 100644 --- a/app/assets/javascripts/boards/components/board_card_move_to_position.vue +++ b/app/assets/javascripts/boards/components/board_card_move_to_position.vue @@ -1,19 +1,17 @@ <script> -import { GlDropdown, GlDropdownItem } from '@gitlab/ui'; +import { GlDisclosureDropdown } from '@gitlab/ui'; import { mapActions, mapState } from 'vuex'; -import { s__ } from '~/locale'; - import Tracking from '~/tracking'; +import { + BOARD_CARD_MOVE_TO_POSITIONS_OPTIONS, + BOARD_CARD_MOVE_TO_POSITIONS_START_OPTION, +} from '../constants'; export default { - i18n: { - moveToStartText: s__('Boards|Move to start of list'), - moveToEndText: s__('Boards|Move to end of list'), - }, + BOARD_CARD_MOVE_TO_POSITIONS_OPTIONS, name: 'BoardCardMoveToPosition', components: { - GlDropdown, - GlDropdownItem, + GlDisclosureDropdown, }, mixins: [Tracking.mixin()], props: { @@ -96,30 +94,29 @@ export default { allItemsLoadedInList: !this.listHasNextPage, }); }, + selectMoveAction({ text }) { + if (text === BOARD_CARD_MOVE_TO_POSITIONS_START_OPTION) { + this.moveToStart(); + } else { + this.moveToEnd(); + } + }, }, }; </script> <template> - <gl-dropdown + <gl-disclosure-dropdown ref="dropdown" :key="itemIdentifier" - icon="ellipsis_v" - :text="s__('Boards|Move card')" - :text-sr-only="true" - class="move-to-position gl-display-block gl-mb-2 gl-ml-2 gl-mt-n3 gl-mr-n3" + class="move-to-position gl-display-block gl-mb-2 gl-ml-2 gl-mt-n3 gl-mr-n3 js-no-trigger" category="tertiary" + :items="$options.BOARD_CARD_MOVE_TO_POSITIONS_OPTIONS" + icon="ellipsis_v" :tabindex="index" + :toggle-text="s__('Boards|Move card')" + :text-sr-only="true" no-caret - @keydown.esc.native="$emit('hide')" - > - <div> - <gl-dropdown-item @click.stop="moveToStart"> - {{ $options.i18n.moveToStartText }} - </gl-dropdown-item> - <gl-dropdown-item @click.stop="moveToEnd"> - {{ $options.i18n.moveToEndText }} - </gl-dropdown-item> - </div> - </gl-dropdown> + @action="selectMoveAction" + /> </template> diff --git a/app/assets/javascripts/boards/constants.js b/app/assets/javascripts/boards/constants.js index 7a5ef01606f..5941e237298 100644 --- a/app/assets/javascripts/boards/constants.js +++ b/app/assets/javascripts/boards/constants.js @@ -1,5 +1,5 @@ import boardListsQuery from 'ee_else_ce/boards/graphql/board_lists.query.graphql'; -import { __ } from '~/locale'; +import { s__, __ } from '~/locale'; import updateEpicSubscriptionMutation from '~/sidebar/queries/update_epic_subscription.mutation.graphql'; import updateEpicTitleMutation from '~/sidebar/queries/update_epic_title.mutation.graphql'; import destroyBoardListMutation from './graphql/board_list_destroy.mutation.graphql'; @@ -152,3 +152,21 @@ export default { }; export const DEFAULT_BOARD_LIST_ITEMS_SIZE = 10; + +export const BOARD_CARD_MOVE_TO_POSITIONS_START_OPTION = s__('Boards|Move to start of list'); +export const BOARD_CARD_MOVE_TO_POSITIONS_END_OPTION = s__('Boards|Move to end of list'); + +/** + * Actions are stubbed in order to pass validation + * for GlDisclosureDropdown items property + */ +export const BOARD_CARD_MOVE_TO_POSITIONS_OPTIONS = [ + { + text: BOARD_CARD_MOVE_TO_POSITIONS_START_OPTION, + action: () => {}, + }, + { + text: BOARD_CARD_MOVE_TO_POSITIONS_END_OPTION, + action: () => {}, + }, +]; diff --git a/app/views/admin/application_settings/_signin.html.haml b/app/views/admin/application_settings/_signin.html.haml index 3e2551d753a..5b19716a0bc 100644 --- a/app/views/admin/application_settings/_signin.html.haml +++ b/app/views/admin/application_settings/_signin.html.haml @@ -39,7 +39,7 @@ .form-group = f.label :unknown_sign_in, _('Email notification for unknown sign-ins'), class: 'label-bold' - help_text = _('Notify users by email when sign-in location is not recognized.') - - help_link = link_to _('Learn more.'), help_page_path('user/profile/unknown_sign_in_notification.md'), target: '_blank', rel: 'noopener noreferrer' + - help_link = link_to _('Learn more.'), help_page_path('user/profile/notifications.md'), target: '_blank', rel: 'noopener noreferrer' = f.gitlab_ui_checkbox_component :notify_on_unknown_sign_in, _('Enable email notification'), help_text: '%{help_text} %{help_link}'.html_safe % { help_text: help_text, help_link: help_link } diff --git a/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml b/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml index 3f77a9f3d8f..97d21f14d3f 100644 --- a/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml +++ b/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml @@ -1,13 +1,13 @@ - title: "Support for REST API endpoints that reset runner registration tokens" # (required) The name of the feature to be deprecated announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed + removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: pedropombeiro # (required) GitLab username of the person reporting the deprecation stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383341 # (required) Link to the deprecation issue in GitLab body: | # (required) Do not modify this line, instead modify the lines below. The support for runner registration tokens is deprecated. As a consequence, the REST API endpoints to reset a registration token are also deprecated and will - be removed in GitLab 16.0. + be removed in GitLab 17.0. The deprecated endpoints are: - `POST /runners/reset_registration_token` @@ -18,7 +18,7 @@ as part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/). This new architecture introduces a new method for registering runners and will eliminate the legacy [runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens). - From GitLab 16.0 and later, the runner registration methods implemented by the new GitLab Runner token architecture will be the only supported methods. + From GitLab 17.0 and later, the runner registration methods implemented by the new GitLab Runner token architecture will be the only supported methods. end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate] documentation_url: https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner # (optional) This is a link to the current documentation page diff --git a/data/deprecations/15-9-browser-performance-testing-deprecation.yml b/data/deprecations/15-9-browser-performance-testing-deprecation.yml new file mode 100644 index 00000000000..a5d7429b56b --- /dev/null +++ b/data/deprecations/15-9-browser-performance-testing-deprecation.yml @@ -0,0 +1,26 @@ +# +# REQUIRED FIELDS +# +- title: "Browser Performance Testing is deprecated" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters." + announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated. + removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed + breaking_change: true # (required) Change to false if this is not a breaking change. + reporter: jocelynjane # (required) GitLab username of the person reporting the change + stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth + issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388719 # (required) Link to the deprecation issue in GitLab + body: | # (required) Do not modify this line, instead modify the lines below. + Due to limited customer usage, Browser Performance Testing is deprecated and will be removed. There is no planned replacement and users should stop using Browser Performance Testing before GitLab 17.0. +# +# OPTIONAL END OF SUPPORT FIELDS +# +# If an End of Support period applies, the announcement should be shared with GitLab Support +# in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR. +# + end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end. + # + # OTHER OPTIONAL FIELDS + # + tiers: Premium # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate] + documentation_url: https://docs.gitlab.com/ee/ci/testing/browser_performance_testing.html # (optional) This is a link to the current documentation page + image_url: # (optional) This is a link to a thumbnail image depicting the feature + video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg diff --git a/data/deprecations/15-9-load-performance-testing-deprecation.yml b/data/deprecations/15-9-load-performance-testing-deprecation.yml new file mode 100644 index 00000000000..77b56c69f92 --- /dev/null +++ b/data/deprecations/15-9-load-performance-testing-deprecation.yml @@ -0,0 +1,26 @@ +# +# REQUIRED FIELDS +# +- title: "Load Performance Testing is deprecated" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters." + announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated. + removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed + breaking_change: true # (required) Change to false if this is not a breaking change. + reporter: jocelynjane # (required) GitLab username of the person reporting the change + stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth + issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388723 # (required) Link to the deprecation issue in GitLab + body: | # (required) Do not modify this line, instead modify the lines below. + Due to low customer usage, Load Performance Testing is deprecated and will be removed. There is no planned replacement and users should stop using Load Performance Testing before GitLab 17.0. +# +# OPTIONAL END OF SUPPORT FIELDS +# +# If an End of Support period applies, the announcement should be shared with GitLab Support +# in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR. +# + end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end. + # + # OTHER OPTIONAL FIELDS + # + tiers: Premium # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate] + documentation_url: https://docs.gitlab.com/ee/ci/testing/load_performance_testing.html # (optional) This is a link to the current documentation page + image_url: # (optional) This is a link to a thumbnail image depicting the feature + video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg diff --git a/doc/administration/operations/fast_ssh_key_lookup.md b/doc/administration/operations/fast_ssh_key_lookup.md index a34b21e676a..48b9600187f 100644 --- a/doc/administration/operations/fast_ssh_key_lookup.md +++ b/doc/administration/operations/fast_ssh_key_lookup.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w NOTE: This document describes a drop-in replacement for the -`authorized_keys` file. For normal (non-deploy key) users, consider using +`authorized_keys` file. For standard (non-deploy key) users, consider using [SSH certificates](ssh_certificates.md). They are even faster, but are not a drop-in replacement. diff --git a/doc/administration/package_information/licensing.md b/doc/administration/package_information/licensing.md index ece1597c521..b6c3372d8db 100644 --- a/doc/administration/package_information/licensing.md +++ b/doc/administration/package_information/licensing.md @@ -41,7 +41,7 @@ Starting with version 8.13, GitLab has placed an additional step into Omnibus GitLab. The `license_check` step calls `lib/gitlab/tasks/license_check.rake`, which checks the compiled `LICENSE` file against the current list of approved and questionable licenses as denoted in the -arrays at the top of the script. This script will output one of `Good`, +arrays at the top of the script. This script outputs one of `Good`, `Unknown` or `Check` for each piece of software that is a part of the Omnibus GitLab package. diff --git a/doc/api/dora/metrics.md b/doc/api/dora/metrics.md index 335fd39516e..f0e90234ff4 100644 --- a/doc/api/dora/metrics.md +++ b/doc/api/dora/metrics.md @@ -26,7 +26,7 @@ GET /projects/:id/dora/metrics | `id` | integer/string | yes | The ID or [URL-encoded path of the project](../rest/index.md#namespaced-path-encoding) can be accessed by the authenticated user. | | `metric` | string | yes | One of `deployment_frequency`, `lead_time_for_changes`, `time_to_restore_service` or `change_failure_rate`. | | `end_date` | string | no | Date range to end at. ISO 8601 Date format, for example `2021-03-01`. Default is the current date. | -| `environment_tier` | string | no | The [tier of the environment](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. Deprecated, please use `environment_tiers`. | +| `environment_tier` | string | no | The [tier of the environment](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. Deprecated, use `environment_tiers`. | | `environment_tiers` | array of strings | no | The [tiers of the environments](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. | | `interval` | string | no | The bucketing interval. One of `all`, `monthly` or `daily`. Default is `daily`. | | `start_date` | string | no | Date range to start from. ISO 8601 Date format, for example `2021-03-01`. Default is 3 months ago. | @@ -67,7 +67,7 @@ GET /groups/:id/dora/metrics | `id` | integer/string | yes | The ID or [URL-encoded path of the project](../rest/index.md#namespaced-path-encoding) can be accessed by the authenticated user. | | `metric` | string | yes | One of `deployment_frequency`, `lead_time_for_changes`, `time_to_restore_service` or `change_failure_rate`. | | `end_date` | string | no | Date range to end at. ISO 8601 Date format, for example `2021-03-01`. Default is the current date. | -| `environment_tier` | string | no | The [tier of the environment](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. Deprecated, please use `environment_tiers`. | +| `environment_tier` | string | no | The [tier of the environment](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. Deprecated, use `environment_tiers`. | | `environment_tiers` | array of strings | no | The [tiers of the environments](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. | | `interval` | string | no | The bucketing interval. One of `all`, `monthly` or `daily`. Default is `daily`. | | `start_date` | string | no | Date range to start from. ISO 8601 Date format, for example `2021-03-01`. Default is 3 months ago. | diff --git a/doc/api/runners.md b/doc/api/runners.md index 5593cb52113..4f39eac0c7d 100644 --- a/doc/api/runners.md +++ b/doc/api/runners.md @@ -761,7 +761,7 @@ Response: > - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104691) in GitLab 15.7. WARNING: -This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/383341) in GitLab 15.7 and is planned for removal in 16.0. This change is a breaking change. +This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/383341) in GitLab 15.7 and is planned for removal in 17.0. This change is a breaking change. Reset the runner registration token for the GitLab instance. diff --git a/doc/architecture/blueprints/ci_pipeline_components/index.md b/doc/architecture/blueprints/ci_pipeline_components/index.md index 5bff794c683..cc004a1bb78 100644 --- a/doc/architecture/blueprints/ci_pipeline_components/index.md +++ b/doc/architecture/blueprints/ci_pipeline_components/index.md @@ -158,38 +158,50 @@ unable to achieve it early iterations. ## Structure of a component -A pipeline component is identified by the path to a repository or directory that defines it -and a specific version: `<component-path>@<version>`. +A pipeline component is identified by a unique address in the form `<fqdn>/<component-path>@<version>` containing: -For example: `gitlab-org/dast@1.0`. +- FQDN (Fully Qualified Domain Name). +- The path to a repository or directory that defines it. +- A specific version + +For example: `gitlab.com/gitlab-org/dast@1.0`. + +### The FQDN + +Initially we support only component addresses that point to the same GitLab instance, meaning that the FQDN matches +the GitLab host. ### The component path -A component path must contain at least the component YAML and optionally a +The directory identified by the component path must contain at least the component YAML and optionally a related `README.md` documentation file. The component path can be: -- A path to a project: `gitlab-org/dast`. The default component is processed. -- A path to an explicit component: `gitlab-org/dast/api-scan`. In this case the explicit `api-scan` component is processed. -- A path to a local directory: `/path/to/component`. This path must contain the component YAML that defines the component. - The path must start with `/` to indicate a full path in the repository. +- A path to a project: `gitlab.com/gitlab-org/dast`. The default component is processed. +- A path to an explicit component: `gitlab.com/gitlab-org/dast/api-scan`. In this case the explicit `api-scan` component is processed. +- A relative path to a local directory: `./path/to/component`. This path must contain the component YAML that defines the component. + The path must start with `./` or `../` to indicate a path relative to the current file's path. + +Relative local paths are a abbreviated form of the full component address, meaning that `./path/to/component` called from +a file `mydir/file.yml` in `gitlab-org/dast` project would be expanded to: + +```plaintext +gitlab.com/gitlab-org/dast/mydir/path/to/component@<CURRENT_SHA> +``` The component YAML file follows the filename convention `<type>.yml` where component type is one of: | Component type | Context | | -------------- | ------- | | `template` | For components used under `include:` keyword | -| `step` | For components used under `steps:` keyword | Based on the context where the component is used we fetch the correct YAML file. For example: -- if we are including a component `gitlab-org/dast@1.0` we expect a YAML file named `template.yml` in the +- if we are including a component `gitlab.com/gitlab-org/dast@1.0` we expect a YAML file named `template.yml` in the root directory of `gitlab-org/dast` repository. -- if we are including a component `gitlab-org/dast/api-scan@1.0` we expect a YAML file named `template.yml` inside a - directory `api-scan` of `gitlab-org/dast` repository. -- if we are using a step component `gitlab-org/dast/api-scan@1.0` we expect a YAML file named `step.yml` inside a +- if we are including a component `gitlab.com/gitlab-org/dast/api-scan@1.0` we expect a YAML file named `template.yml` inside a directory `api-scan` of `gitlab-org/dast` repository. A component YAML file: @@ -225,11 +237,11 @@ even when not releasing versions in the catalog. The version of the component can be (in order of highest priority first): -1. A commit SHA - For example: `gitlab-org/dast@e3262fdd0914fa823210cdb79a8c421e2cef79d8` -1. A released tag - For example: `gitlab-org/dast@1.0` -1. A special moving target version that points to the most recent released tag - For example: `gitlab-org/dast@~latest` -1. An unreleased tag - For example: `gitlab-org/dast@rc-1.0` -1. A branch name - For example: `gitlab-org/dast@master` +1. A commit SHA - For example: `gitlab.com/gitlab-org/dast@e3262fdd0914fa823210cdb79a8c421e2cef79d8` +1. A released tag - For example: `gitlab.com/gitlab-org/dast@1.0` +1. A special moving target version that points to the most recent released tag - For example: `gitlab.com/gitlab-org/dast@~latest` +1. An unreleased tag - For example: `gitlab.com/gitlab-org/dast@rc-1.0` +1. A branch name - For example: `gitlab.com/gitlab-org/dast@master` If a tag and branch exist with the same name, the tag takes precedence over the branch. Similarly, if a tag is named `e3262fdd0914fa823210cdb79a8c421e2cef79d8`, a commit SHA (if exists) @@ -267,7 +279,7 @@ The following directory structure would support 1 component per project: The `.gitlab-ci.yml` is recommended for the project to ensure changes are verified accordingly. -The component is now identified by the path `myorg/rails-rspec` and we expect a `template.yml` file +The component is now identified by the path `gitlab.com/myorg/rails-rspec` and we expect a `template.yml` file and `README.md` located in the root directory of the repository. The following directory structure would support multiple components per project: @@ -287,8 +299,8 @@ The following directory structure would support multiple components per project: In this example we are defining multiple test profiles that are executed with RSpec. The user could choose to use one or more of these. -Each of these components are identified by their path `myorg/rails-rspec/unit`, `myorg/rails-rspec/integration` -and `myorg/rails-rspec/feature`. +Each of these components are identified by their path `gitlab.com/myorg/rails-rspec/unit`, `gitlab.com/myorg/rails-rspec/integration` +and `gitlab.com/myorg/rails-rspec/feature`. This directory structure could also support both strategies: @@ -302,12 +314,8 @@ This directory structure could also support both strategies: │ └── template.yml # myorg/rails-rspec/unit ├── integration/ │ └── template.yml # myorg/rails-rspec/integration -├── feature/ -│ └── template.yml # myorg/rails-rspec/feature -└── report/ - ├── step.yml # myorg/rails-rspec/report - ├── Dockerfile - └── ... other files +└── feature/ + └── template.yml # myorg/rails-rspec/feature ``` With the above structure we could have a top-level component that can be used as the @@ -347,7 +355,7 @@ When using the component we pass the input parameters as follows: ```yaml include: - - component: org/my-component@1.0 + - component: gitlab.com/org/my-component@1.0 with: website: ${MY_WEBSITE} # variables expansion test_run: system @@ -359,7 +367,7 @@ possible [inputs provided upstream](#input-parameters-for-pipelines). Input parameters are validated as soon as possible: -1. Read the file `gitlab-template.yml` inside `org/my-component`. +1. Read the file `gitlab-template.yml` inside `org/my-component` project. 1. Parse `spec:inputs` from the specifications and validate the parameters against this schema. 1. If successfully validated, proceed with parsing the content. Return an error otherwise. 1. Interpolate input parameters inside the component's content. @@ -407,7 +415,7 @@ extend it to other `include:` types support inputs via `with:` syntax: ```yaml include: - - component: org/my-component@1.0 + - component: gitlab.com/org/my-component@1.0 with: foo: bar - local: path/to/file.yml diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md index 793266dfcb1..6840aa6108e 100644 --- a/doc/update/deprecations.md +++ b/doc/update/deprecations.md @@ -48,6 +48,39 @@ sole discretion of GitLab Inc. <div class="announcement-milestone"> +## Announced in 15.9 + +<div class="deprecation removal-170 breaking-change"> + +### Browser Performance Testing is deprecated + +Planned removal: GitLab <span class="removal-milestone">17.0</span> <span class="removal-date"></span> + +WARNING: +This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). +Review the details carefully before upgrading. + +Due to limited customer usage, Browser Performance Testing is deprecated and will be removed. There is no planned replacement and users should stop using Browser Performance Testing before GitLab 17.0. + +</div> + +<div class="deprecation removal-170 breaking-change"> + +### Load Performance Testing is deprecated + +Planned removal: GitLab <span class="removal-milestone">17.0</span> <span class="removal-date"></span> + +WARNING: +This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). +Review the details carefully before upgrading. + +Due to low customer usage, Load Performance Testing is deprecated and will be removed. There is no planned replacement and users should stop using Load Performance Testing before GitLab 17.0. + +</div> +</div> + +<div class="announcement-milestone"> + ## Announced in 15.8 <div class="deprecation removal-160 breaking-change"> @@ -680,19 +713,19 @@ The endpoint to get [changes from a single merge request](https://docs.gitlab.co </div> -<div class="deprecation removal-160 breaking-change"> +<div class="deprecation removal-170 breaking-change"> ### Support for REST API endpoints that reset runner registration tokens End of Support: GitLab <span class="removal-milestone">16.0</span> <span class="support-end-date"></span><br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> +Planned removal: GitLab <span class="removal-milestone">17.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). Review the details carefully before upgrading. The support for runner registration tokens is deprecated. As a consequence, the REST API endpoints to reset a registration token are also deprecated and will -be removed in GitLab 16.0. +be removed in GitLab 17.0. The deprecated endpoints are: - `POST /runners/reset_registration_token` @@ -703,7 +736,7 @@ In GitLab 15.8, we plan to implement a new method to bind runners to a GitLab in as part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/). This new architecture introduces a new method for registering runners and will eliminate the legacy [runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens). -From GitLab 16.0 and later, the runner registration methods implemented by the new GitLab Runner token architecture will be the only supported methods. +From GitLab 17.0 and later, the runner registration methods implemented by the new GitLab Runner token architecture will be the only supported methods. </div> diff --git a/doc/user/application_security/api_fuzzing/create_har_files.md b/doc/user/application_security/api_fuzzing/create_har_files.md index 5e033a75902..1a6144b991c 100644 --- a/doc/user/application_security/api_fuzzing/create_har_files.md +++ b/doc/user/application_security/api_fuzzing/create_har_files.md @@ -211,7 +211,7 @@ Review the HAR file for any of the following: We strongly recommended that you [edit or remove it](#edit-or-remove-sensitive-information) any sensitive information. -Use the following as a checklist to start with. Note that it's not an exhaustive list. +Use the following as a checklist to start with. It's not an exhaustive list. - Look for secrets. For example: if your application requires authentication, check common locations or authentication information: diff --git a/doc/user/application_security/coverage_fuzzing/index.md b/doc/user/application_security/coverage_fuzzing/index.md index 71c842ca277..5d2593a1bed 100644 --- a/doc/user/application_security/coverage_fuzzing/index.md +++ b/doc/user/application_security/coverage_fuzzing/index.md @@ -102,7 +102,7 @@ targets. Each fuzzing target **must** have a separate job. For example, the [go-fuzzing-example project](https://gitlab.com/gitlab-org/security-products/demos/go-fuzzing-example) contains one job that extends `.fuzz_base` for its single fuzzing target. -Note that the hidden job `.fuzz_base` uses several YAML keys that you must not override in your own +The hidden job `.fuzz_base` uses several YAML keys that you must not override in your own job. If you include these keys in your own job, you must copy their original content: - `before_script` diff --git a/doc/user/application_security/dast/browser_based_troubleshooting.md b/doc/user/application_security/dast/browser_based_troubleshooting.md index 78f2723ee38..6cc80bcfbc3 100644 --- a/doc/user/application_security/dast/browser_based_troubleshooting.md +++ b/doc/user/application_security/dast/browser_based_troubleshooting.md @@ -53,7 +53,7 @@ Knowing the outcome you expect, try to replicate it manually using a browser on DAST cannot scan correctly when: -- There is a CAPTCHA. Please turn these off in the testing environment for the application being scanned. +- There is a CAPTCHA. Turn these off in the testing environment for the application being scanned. - It does not have access to the target application. Ensure the GitLab Runner can access the application using the URLs used in the DAST configuration. ### How does your application work? diff --git a/doc/user/packages/composer_repository/index.md b/doc/user/packages/composer_repository/index.md index 49c54ec191e..b990cf1f09b 100644 --- a/doc/user/packages/composer_repository/index.md +++ b/doc/user/packages/composer_repository/index.md @@ -308,7 +308,7 @@ used to access them: ### Caching -To improve performance, Composer caches files related to a package. Note that Composer doesn't remove data by +To improve performance, Composer caches files related to a package. Composer doesn't remove data by itself. The cache grows as new packages are installed. If you encounter issues, clear the cache with this command: diff --git a/doc/user/project/members/index.md b/doc/user/project/members/index.md index 0b0184db14c..bc133c831e9 100644 --- a/doc/user/project/members/index.md +++ b/doc/user/project/members/index.md @@ -97,7 +97,7 @@ The Owner [role](../../permissions.md#project-members-permissions) can be added > - Modal window [enabled on GitLab.com and self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/247208) in GitLab 14.8. > - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/352526) in GitLab 14.9. [Feature flag `invite_members_group_modal`](https://gitlab.com/gitlab-org/gitlab/-/issues/352526) removed. -When you add a group to a project, each user in the group gets access to the project. +When you add a group to a project, every group member (direct or inherited) gets access to the project. Each user's access is based on: - The role they're assigned in the group. diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md index 260a866f9a5..935c5fff907 100644 --- a/doc/user/project/pages/introduction.md +++ b/doc/user/project/pages/introduction.md @@ -256,7 +256,7 @@ instead. Here are some examples of what happens given the above Pages site: | `/info/details` | `200 OK`: `public/info/details.html` | | `/info/details.html` | `200 OK`: `public/info/details.html` | -Note that when `public/data/index.html` exists, it takes priority over the `public/data.html` file +When `public/data/index.html` exists, it takes priority over the `public/data.html` file for both the `/data` and `/data/` URL paths. ## Known issues diff --git a/doc/user/project/service_desk.md b/doc/user/project/service_desk.md index cc195c3c959..9d86780e6f4 100644 --- a/doc/user/project/service_desk.md +++ b/doc/user/project/service_desk.md @@ -358,12 +358,10 @@ issues created through customer support requests, and filter or interact with th Messages from the end user are shown as coming from the special [Support Bot user](../../subscriptions/self_managed/index.md#billable-users). -You can read and write comments as you normally do in GitLab: +You can read and write comments as you usually do in GitLab:  -Note that: - - The project's visibility (private, internal, public) does not affect Service Desk. - The path to the project, including its group or namespace, is shown in emails. diff --git a/spec/frontend/boards/components/board_card_move_to_position_spec.js b/spec/frontend/boards/components/board_card_move_to_position_spec.js index 8dee3c77787..8af772ba6d0 100644 --- a/spec/frontend/boards/components/board_card_move_to_position_spec.js +++ b/spec/frontend/boards/components/board_card_move_to_position_spec.js @@ -1,8 +1,11 @@ import { shallowMount } from '@vue/test-utils'; -import Vue, { nextTick } from 'vue'; +import Vue from 'vue'; import Vuex from 'vuex'; -import { GlDropdown, GlDropdownItem } from '@gitlab/ui'; - +import { GlDisclosureDropdown, GlDisclosureDropdownItem } from '@gitlab/ui'; +import { + BOARD_CARD_MOVE_TO_POSITIONS_START_OPTION, + BOARD_CARD_MOVE_TO_POSITIONS_END_OPTION, +} from '~/boards/constants'; import BoardCardMoveToPosition from '~/boards/components/board_card_move_to_position.vue'; import { mockList, mockIssue2, mockIssue, mockIssue3, mockIssue4 } from 'jest/boards/mock_data'; import { mockTracking, unmockTracking } from 'helpers/tracking_helper'; @@ -10,8 +13,14 @@ import { mockTracking, unmockTracking } from 'helpers/tracking_helper'; Vue.use(Vuex); const dropdownOptions = [ - BoardCardMoveToPosition.i18n.moveToStartText, - BoardCardMoveToPosition.i18n.moveToEndText, + { + text: BOARD_CARD_MOVE_TO_POSITIONS_START_OPTION, + action: jest.fn(), + }, + { + text: BOARD_CARD_MOVE_TO_POSITIONS_END_OPTION, + action: jest.fn(), + }, ]; describe('Board Card Move to position', () => { @@ -53,8 +62,8 @@ describe('Board Card Move to position', () => { ...propsData, }, stubs: { - GlDropdown, - GlDropdownItem, + GlDisclosureDropdown, + GlDisclosureDropdownItem, }, }); }; @@ -64,12 +73,9 @@ describe('Board Card Move to position', () => { createComponent(); }); - afterEach(() => { - wrapper.destroy(); - }); - - const findMoveToPositionDropdown = () => wrapper.findComponent(GlDropdown); - const findDropdownItems = () => findMoveToPositionDropdown().findAllComponents(GlDropdownItem); + const findMoveToPositionDropdown = () => wrapper.findComponent(GlDisclosureDropdown); + const findDropdownItems = () => + findMoveToPositionDropdown().findAllComponents(GlDisclosureDropdownItem); const findDropdownItemAtIndex = (index) => findDropdownItems().at(index); describe('Dropdown', () => { @@ -80,7 +86,7 @@ describe('Board Card Move to position', () => { }); it('is opened on the click of vertical ellipsis and has 2 dropdown items when number of list items < 10', () => { - findMoveToPositionDropdown().vm.$emit('click'); + findMoveToPositionDropdown().vm.$emit('shown'); expect(findDropdownItems()).toHaveLength(dropdownOptions.length); }); }); @@ -97,26 +103,24 @@ describe('Board Card Move to position', () => { }); it.each` - dropdownIndex | dropdownLabel | trackLabel | positionInList - ${0} | ${BoardCardMoveToPosition.i18n.moveToStartText} | ${'move_to_start'} | ${0} - ${1} | ${BoardCardMoveToPosition.i18n.moveToEndText} | ${'move_to_end'} | ${-1} + dropdownIndex | dropdownItem | trackLabel | positionInList + ${0} | ${dropdownOptions[0]} | ${'move_to_start'} | ${0} + ${1} | ${dropdownOptions[1]} | ${'move_to_end'} | ${-1} `( 'on click of dropdown index $dropdownIndex with label $dropdownLabel should call moveItem action with tracking label $trackLabel', - async ({ dropdownIndex, dropdownLabel, trackLabel, positionInList }) => { - await findMoveToPositionDropdown().vm.$emit('click'); + async ({ dropdownIndex, dropdownItem, trackLabel, positionInList }) => { + await findMoveToPositionDropdown().vm.$emit('shown'); - expect(findDropdownItemAtIndex(dropdownIndex).text()).toBe(dropdownLabel); - await findDropdownItemAtIndex(dropdownIndex).vm.$emit('click', { - stopPropagation: () => {}, - }); + expect(findDropdownItemAtIndex(dropdownIndex).text()).toBe(dropdownItem.text); - await nextTick(); + await findMoveToPositionDropdown().vm.$emit('action', dropdownItem); expect(trackingSpy).toHaveBeenCalledWith('boards:list', 'click_toggle_button', { category: 'boards:list', label: trackLabel, property: 'type_card', }); + expect(dispatch).toHaveBeenCalledWith('moveItem', { fromListId: mockList.id, itemId: mockIssue2.id, |
