diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-11 21:09:40 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-11 21:09:40 +0000 |
commit | 213f46f188c29e9c442df61530110e172a7e819e (patch) | |
tree | 8544300e523c4e8cc3955406fa58e2d4b8ded773 | |
parent | 33f7ef81fd6bcab7bbdf0bc3f37d337256fb11fb (diff) | |
download | gitlab-ce-213f46f188c29e9c442df61530110e172a7e819e.tar.gz |
Add latest changes from gitlab-org/gitlab@master
301 files changed, 1376 insertions, 868 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 79c402c7fa7..9c7b66676a8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -126,22 +126,23 @@ variables: RUBY_VERSION: "2.7" GO_VERSION: "1.18" - TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" - GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" - TMP_TEST_GITLAB_WORKHORSE_PATH: "${TMP_TEST_FOLDER}/${GITLAB_WORKHORSE_FOLDER}" - KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json - RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json - RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json - RSPEC_PROFILING_FOLDER_PATH: rspec/profiling FRONTEND_FIXTURES_MAPPING_PATH: crystalball/frontend_fixtures_mapping.json - RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt - RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt - RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt - RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt - RSPEC_FOSS_IMPACT_PIPELINE_YML: rspec-foss-impact-pipeline.yml + GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" JUNIT_RESULT_FILE: rspec/junit_rspec.xml JUNIT_RETRY_FILE: rspec/junit_rspec-retry.xml + KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json + RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt + RSPEC_FOSS_IMPACT_PIPELINE_YML: rspec-foss-impact-pipeline.yml + RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt + RSPEC_MATCHING_JS_FILES_PATH: rspec/js_matching_files.txt + RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt + RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt + RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json + RSPEC_PROFILING_FOLDER_PATH: rspec/profiling + RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json + TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" + TMP_TEST_GITLAB_WORKHORSE_PATH: "${TMP_TEST_FOLDER}/${GITLAB_WORKHORSE_FOLDER}" ES_JAVA_OPTS: "-Xms256m -Xmx256m" ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200" diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 84ad1ea742c..c6d0ac6b69a 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -1438,7 +1438,6 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /**/javascripts/jobs/ @gitlab-org/ci-cd/verify/frontend /**/javascripts/pipelines/ @gitlab-org/ci-cd/verify/frontend /app/assets/javascripts/ci/ @gitlab-org/ci-cd/verify/frontend -/app/assets/javascripts/pipeline_new/ @gitlab-org/ci-cd/verify/frontend /app/assets/javascripts/ci/pipeline_schedules/ @gitlab-org/ci-cd/verify/frontend /ee/app/assets/javascripts/ci/ @gitlab-org/ci-cd/verify/frontend /app/assets/javascripts/token_access/ @gitlab-org/ci-cd/verify/frontend diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index cde023c149a..a309adb0715 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -212,7 +212,7 @@ jest minimal: - !reference [jest, needs] - "detect-tests" script: - - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi + - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]] || [[ -s "$RSPEC_MATCHING_JS_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi jest as-if-foss: extends: @@ -231,7 +231,7 @@ jest minimal as-if-foss: - "rspec-all frontend_fixture as-if-foss" - "detect-tests" script: - - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi + - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]] || [[ -s "$RSPEC_MATCHING_JS_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi jest-integration: extends: diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index b7e69314c97..326b32435b1 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -137,17 +137,20 @@ detect-tests: tooling/bin/find_tests ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH}; tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH} ${FRONTEND_FIXTURES_MAPPING_PATH}; filter_rspec_matched_foss_tests ${RSPEC_MATCHING_TESTS_PATH} ${RSPEC_MATCHING_TESTS_FOSS_PATH}; + tooling/bin/view_to_js_mappings ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_JS_FILES_PATH}; echoinfo "Changed files: $(cat $RSPEC_CHANGED_FILES_PATH)"; echoinfo "Related RSpec tests: $(cat $RSPEC_MATCHING_TESTS_PATH)"; echoinfo "Related FOSS RSpec tests: $(cat $RSPEC_MATCHING_TESTS_FOSS_PATH)"; + echoinfo "Related JS files: $(cat $RSPEC_MATCHING_JS_FILES_PATH)"; fi artifacts: expire_in: 7d paths: + - ${FRONTEND_FIXTURES_MAPPING_PATH} - ${RSPEC_CHANGED_FILES_PATH} - - ${RSPEC_MATCHING_TESTS_PATH} + - ${RSPEC_MATCHING_JS_FILES_PATH} - ${RSPEC_MATCHING_TESTS_FOSS_PATH} - - ${FRONTEND_FIXTURES_MAPPING_PATH} + - ${RSPEC_MATCHING_TESTS_PATH} detect-previous-failed-tests: extends: diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 86f877bc9a7..c47e47c74e9 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -43,7 +43,6 @@ Layout/LineLength: - 'app/controllers/groups/settings/integrations_controller.rb' - 'app/controllers/groups/settings/repository_controller.rb' - 'app/controllers/groups_controller.rb' - - 'app/controllers/import/available_namespaces_controller.rb' - 'app/controllers/import/base_controller.rb' - 'app/controllers/import/bitbucket_controller.rb' - 'app/controllers/import/bitbucket_server_controller.rb' @@ -3672,7 +3671,6 @@ Layout/LineLength: - 'spec/controllers/groups/settings/applications_controller_spec.rb' - 'spec/controllers/groups/settings/integrations_controller_spec.rb' - 'spec/controllers/groups_controller_spec.rb' - - 'spec/controllers/import/available_namespaces_controller_spec.rb' - 'spec/controllers/import/bitbucket_controller_spec.rb' - 'spec/controllers/import/bitbucket_server_controller_spec.rb' - 'spec/controllers/import/bulk_imports_controller_spec.rb' diff --git a/.rubocop_todo/performance/string_identifier_argument.yml b/.rubocop_todo/performance/string_identifier_argument.yml deleted file mode 100644 index cf9b1fe5cf7..00000000000 --- a/.rubocop_todo/performance/string_identifier_argument.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -# Cop supports --autocorrect. -Performance/StringIdentifierArgument: - Details: grace period - Exclude: - - 'ee/lib/gitlab/ingestion/bulk_insertable_task.rb' - - 'ee/spec/lib/audit/base_changes_auditor_spec.rb' - - 'ee/spec/lib/gitlab/rack_attack_spec.rb' - - 'ee/spec/lib/gitlab/status_page/storage/s3_client_spec.rb' - - 'ee/spec/presenters/ci/minutes/usage_presenter_spec.rb' - - 'ee/spec/serializers/test_reports_comparer_entity_spec.rb' - - 'ee/spec/serializers/test_reports_comparer_serializer_spec.rb' - - 'ee/spec/serializers/test_suite_comparer_entity_spec.rb' - - 'lib/gitlab/background_migration/batched_migration_job.rb' - - 'lib/gitlab/background_migration/fix_projects_without_prometheus_service.rb' - - 'lib/gitlab/git_access.rb' - - 'lib/gitlab/graphql/deprecations_base.rb' - - 'lib/gitlab/net_http_adapter.rb' - - 'lib/gitlab/sidekiq_config/cli_methods.rb' - - 'lib/gitlab/usage/metrics/instrumentations/base_metric.rb' - - 'metrics_server/settings_overrides.rb' - - 'qa/qa/resource/project.rb' - - 'qa/qa/vendor/jenkins/job.rb' - - 'sidekiq_cluster/cli.rb' - - 'spec/factories/wiki_pages.rb' - - 'spec/helpers/projects_helper_spec.rb' - - 'spec/lib/api/helpers/packages_helpers_spec.rb' - - 'spec/lib/banzai/filter/references/reference_filter_spec.rb' - - 'spec/lib/gitlab/background_migration/batched_migration_job_spec.rb' - - 'spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb' - - 'spec/lib/gitlab/database/partitioning_spec.rb' - - 'spec/lib/gitlab/http_spec.rb' - - 'spec/lib/gitlab/rack_attack_spec.rb' - - 'spec/lib/gitlab/submodule_links_spec.rb' - - 'spec/lib/gitlab/tracking_spec.rb' - - 'spec/lib/gitlab/utils/lazy_attributes_spec.rb' - - 'spec/services/merge_requests/refresh_service_spec.rb' - - 'spec/support/shared_examples/models/concerns/integrations/reset_secret_fields_shared_examples.rb' - - 'spec/support/shared_examples/quick_actions/issuable/close_quick_action_shared_examples.rb' diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml index 2303c5a1652..870b0f721b9 100644 --- a/.rubocop_todo/style/class_and_module_children.yml +++ b/.rubocop_todo/style/class_and_module_children.yml @@ -78,7 +78,6 @@ Style/ClassAndModuleChildren: - 'app/controllers/groups/milestones_controller.rb' - 'app/controllers/groups/runners_controller.rb' - 'app/controllers/groups/uploads_controller.rb' - - 'app/controllers/import/available_namespaces_controller.rb' - 'app/controllers/import/base_controller.rb' - 'app/controllers/import/bitbucket_controller.rb' - 'app/controllers/import/bitbucket_server_controller.rb' diff --git a/app/assets/javascripts/pipeline_new/components/pipeline_new_form.vue b/app/assets/javascripts/ci/pipeline_new/components/pipeline_new_form.vue index 5692627abef..5692627abef 100644 --- a/app/assets/javascripts/pipeline_new/components/pipeline_new_form.vue +++ b/app/assets/javascripts/ci/pipeline_new/components/pipeline_new_form.vue diff --git a/app/assets/javascripts/pipeline_new/components/refs_dropdown.vue b/app/assets/javascripts/ci/pipeline_new/components/refs_dropdown.vue index d0a955a1db3..d0a955a1db3 100644 --- a/app/assets/javascripts/pipeline_new/components/refs_dropdown.vue +++ b/app/assets/javascripts/ci/pipeline_new/components/refs_dropdown.vue diff --git a/app/assets/javascripts/pipeline_new/constants.js b/app/assets/javascripts/ci/pipeline_new/constants.js index 43f7634083b..43f7634083b 100644 --- a/app/assets/javascripts/pipeline_new/constants.js +++ b/app/assets/javascripts/ci/pipeline_new/constants.js diff --git a/app/assets/javascripts/pipeline_new/graphql/mutations/create_pipeline.mutation.graphql b/app/assets/javascripts/ci/pipeline_new/graphql/mutations/create_pipeline.mutation.graphql index a76e8f6b95b..a76e8f6b95b 100644 --- a/app/assets/javascripts/pipeline_new/graphql/mutations/create_pipeline.mutation.graphql +++ b/app/assets/javascripts/ci/pipeline_new/graphql/mutations/create_pipeline.mutation.graphql diff --git a/app/assets/javascripts/pipeline_new/graphql/queries/ci_config_variables.graphql b/app/assets/javascripts/ci/pipeline_new/graphql/queries/ci_config_variables.graphql index 648cd8b66b5..648cd8b66b5 100644 --- a/app/assets/javascripts/pipeline_new/graphql/queries/ci_config_variables.graphql +++ b/app/assets/javascripts/ci/pipeline_new/graphql/queries/ci_config_variables.graphql diff --git a/app/assets/javascripts/pipeline_new/graphql/resolvers.js b/app/assets/javascripts/ci/pipeline_new/graphql/resolvers.js index 7b0f58e8cf9..7b0f58e8cf9 100644 --- a/app/assets/javascripts/pipeline_new/graphql/resolvers.js +++ b/app/assets/javascripts/ci/pipeline_new/graphql/resolvers.js diff --git a/app/assets/javascripts/pipeline_new/index.js b/app/assets/javascripts/ci/pipeline_new/index.js index 71c76aeab36..71c76aeab36 100644 --- a/app/assets/javascripts/pipeline_new/index.js +++ b/app/assets/javascripts/ci/pipeline_new/index.js diff --git a/app/assets/javascripts/pipeline_new/utils/filter_variables.js b/app/assets/javascripts/ci/pipeline_new/utils/filter_variables.js index 57ce3d13a9a..57ce3d13a9a 100644 --- a/app/assets/javascripts/pipeline_new/utils/filter_variables.js +++ b/app/assets/javascripts/ci/pipeline_new/utils/filter_variables.js diff --git a/app/assets/javascripts/pipeline_new/utils/format_refs.js b/app/assets/javascripts/ci/pipeline_new/utils/format_refs.js index e6d26b32d47..e6d26b32d47 100644 --- a/app/assets/javascripts/pipeline_new/utils/format_refs.js +++ b/app/assets/javascripts/ci/pipeline_new/utils/format_refs.js diff --git a/app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules_form.vue b/app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules_form.vue index a4ef7827f73..367b1812a27 100644 --- a/app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules_form.vue +++ b/app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules_form.vue @@ -71,7 +71,7 @@ export default { timezone: this.cronTimezone, formCiVariables: {}, // TODO: Add the GraphQL query to help populate the predefined variables - // app/assets/javascripts/pipeline_new/components/pipeline_new_form.vue#131 + // app/assets/javascripts/ci/pipeline_new/components/pipeline_new_form.vue#131 predefinedValueOptions: {}, }; }, diff --git a/app/assets/javascripts/pages/projects/pipelines/new/index.js b/app/assets/javascripts/pages/projects/pipelines/new/index.js index e1f71965853..9b94b8ba96b 100644 --- a/app/assets/javascripts/pages/projects/pipelines/new/index.js +++ b/app/assets/javascripts/pages/projects/pipelines/new/index.js @@ -1,3 +1,3 @@ -import initNewPipelineForm from '~/pipeline_new/index'; +import initNewPipelineForm from '~/ci/pipeline_new/index'; initNewPipelineForm(); diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index faef5c6a2d0..e440b60ad1f 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -256,7 +256,7 @@ class GroupsController < Groups::ApplicationController def determine_layout if [:new, :create].include?(action_name.to_sym) - 'application' + 'dashboard' elsif [:edit, :update, :projects].include?(action_name.to_sym) 'group_settings' else diff --git a/app/controllers/import/available_namespaces_controller.rb b/app/controllers/import/available_namespaces_controller.rb deleted file mode 100644 index c16c40cefea..00000000000 --- a/app/controllers/import/available_namespaces_controller.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -class Import::AvailableNamespacesController < ApplicationController - feature_category :importers - urgency :low - - def index - render json: NamespaceSerializer.new.represent(current_user.manageable_groups_with_routes(include_groups_with_developer_maintainer_access: true)) - end -end diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb index f4e30f05261..ea1288c0b20 100644 --- a/app/controllers/projects/environments_controller.rb +++ b/app/controllers/projects/environments_controller.rb @@ -303,7 +303,7 @@ class Projects::EnvironmentsController < Projects::ApplicationController def append_info_to_payload(payload) super - return unless Feature.enabled?(:environments_search_logging) && params[:search] + return unless Feature.enabled?(:environments_search_logging) && params[:search].present? # Merging to :metadata will ensure these are logged as top level keys payload[:metadata] ||= {} diff --git a/app/helpers/groups/observability_helper.rb b/app/helpers/groups/observability_helper.rb index ca7019a4fc1..6cd6566cee1 100644 --- a/app/helpers/groups/observability_helper.rb +++ b/app/helpers/groups/observability_helper.rb @@ -13,7 +13,7 @@ module Groups }, 'explore' => { path: '/explore', - title: -> { s_('Observability|Explore') } + title: -> { s_('Observability|Explore telemetry data') } }, 'datasources' => { path: '/datasources', diff --git a/app/mailers/emails/imports.rb b/app/mailers/emails/imports.rb new file mode 100644 index 00000000000..d3e8b90d686 --- /dev/null +++ b/app/mailers/emails/imports.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Emails + module Imports + def github_gists_import_errors_email(user_id, errors) + @errors = errors + user = User.find(user_id) + + email_with_layout( + to: user.notification_email_or_default, + subject: subject(s_('GithubImporter|GitHub Gists import finished with errors')) + ) + end + end +end diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb index 5a3fc70832c..31726563662 100644 --- a/app/mailers/notify.rb +++ b/app/mailers/notify.rb @@ -24,6 +24,7 @@ class Notify < ApplicationMailer include Emails::InProductMarketing include Emails::AdminNotification include Emails::IdentityVerification + include Emails::Imports helper TimeboxesHelper helper MergeRequestsHelper diff --git a/app/mailers/previews/notify_preview.rb b/app/mailers/previews/notify_preview.rb index 7d7e01950c8..7ed594bf571 100644 --- a/app/mailers/previews/notify_preview.rb +++ b/app/mailers/previews/notify_preview.rb @@ -225,6 +225,10 @@ class NotifyPreview < ActionMailer::Preview Notify.project_was_moved_email(project.id, user.id, "gitlab/gitlab").message end + def github_gists_import_errors_email + Notify.github_gists_import_errors_email(user.id, { '12345' => 'Snippet maximum file count exceeded', '67890' => 'error message 2' }).message + end + private def project diff --git a/app/models/abuse_report.rb b/app/models/abuse_report.rb index cd27fa157f7..ee0c23ef31e 100644 --- a/app/models/abuse_report.rb +++ b/app/models/abuse_report.rb @@ -15,9 +15,9 @@ class AbuseReport < ApplicationRecord validates :category, presence: true validates :user_id, uniqueness: { - scope: :reporter_id, + scope: [:reporter_id, :category], message: ->(object, data) do - _('has already been reported for abuse') + _('You have already reported this user') end } diff --git a/app/services/security/ci_configuration/base_create_service.rb b/app/services/security/ci_configuration/base_create_service.rb index 7f3b66d40e1..aaa850fde39 100644 --- a/app/services/security/ci_configuration/base_create_service.rb +++ b/app/services/security/ci_configuration/base_create_service.rb @@ -3,7 +3,7 @@ module Security module CiConfiguration class BaseCreateService - attr_reader :branch_name, :current_user, :project + attr_reader :branch_name, :current_user, :project, :name def initialize(project, current_user) @project = project @@ -41,8 +41,18 @@ module Security end def existing_gitlab_ci_content - @gitlab_ci_yml ||= project.ci_config_for(project.repository.root_ref_sha) + root_ref = root_ref_sha(project) + return if root_ref.nil? + + @gitlab_ci_yml ||= project.ci_config_for(root_ref) YAML.safe_load(@gitlab_ci_yml) if @gitlab_ci_yml + rescue Psych::BadAlias + raise Gitlab::Graphql::Errors::MutationError, + ".gitlab-ci.yml with aliases/anchors is not supported. Please change the CI configuration manually." + rescue Psych::Exception => e + Gitlab::AppLogger.error("Failed to process existing .gitlab-ci.yml: #{e.message}") + raise Gitlab::Graphql::Errors::MutationError, + "#{name} merge request creation mutation failed" end def successful_change_path @@ -61,6 +71,15 @@ module Security self.class.to_s, action[:action], label: action[:default_values_overwritten].to_s ) end + + def root_ref_sha(project) + project.repository.root_ref_sha + rescue StandardError => e + # this might fail on the very first commit, + # and unfortunately it raises a StandardError + Gitlab::ErrorTracking.track_exception(e, project_id: project.id) + nil + end end end end diff --git a/app/services/security/ci_configuration/container_scanning_create_service.rb b/app/services/security/ci_configuration/container_scanning_create_service.rb index da2f1ac0981..4dfd05451ad 100644 --- a/app/services/security/ci_configuration/container_scanning_create_service.rb +++ b/app/services/security/ci_configuration/container_scanning_create_service.rb @@ -21,6 +21,10 @@ module Security def description _('Configure Container Scanning in `.gitlab-ci.yml` using the GitLab managed template. You can [add variable overrides](https://docs.gitlab.com/ee/user/application_security/container_scanning/#customizing-the-container-scanning-settings) to customize Container Scanning settings.') end + + def name + 'Container Scanning' + end end end end diff --git a/app/services/security/ci_configuration/dependency_scanning_create_service.rb b/app/services/security/ci_configuration/dependency_scanning_create_service.rb index b11eccc680c..66dd76c4b5d 100644 --- a/app/services/security/ci_configuration/dependency_scanning_create_service.rb +++ b/app/services/security/ci_configuration/dependency_scanning_create_service.rb @@ -21,6 +21,10 @@ module Security def description _('Configure Dependency Scanning in `.gitlab-ci.yml` using the GitLab managed template. You can [add variable overrides](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings) to customize Dependency Scanning settings.') end + + def name + 'Dependency Scanning' + end end end end diff --git a/app/services/security/ci_configuration/sast_create_service.rb b/app/services/security/ci_configuration/sast_create_service.rb index d78e22f1fe1..643cb7f89dc 100644 --- a/app/services/security/ci_configuration/sast_create_service.rb +++ b/app/services/security/ci_configuration/sast_create_service.rb @@ -20,13 +20,7 @@ module Security end def action - existing_content = begin - existing_gitlab_ci_content # this can fail on the very first commit - rescue StandardError - nil - end - - Security::CiConfiguration::SastBuildAction.new(project.auto_devops_enabled?, params, existing_content, project.ci_config_path).generate + Security::CiConfiguration::SastBuildAction.new(project.auto_devops_enabled?, params, existing_gitlab_ci_content, project.ci_config_path).generate end def next_branch @@ -40,6 +34,10 @@ module Security def description _('Configure SAST in `.gitlab-ci.yml` using the GitLab managed template. You can [add variable overrides](https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings) to customize SAST settings.') end + + def name + 'SAST' + end end end end diff --git a/app/services/security/ci_configuration/sast_iac_create_service.rb b/app/services/security/ci_configuration/sast_iac_create_service.rb index fbc65484216..61bbebd77d0 100644 --- a/app/services/security/ci_configuration/sast_iac_create_service.rb +++ b/app/services/security/ci_configuration/sast_iac_create_service.rb @@ -21,6 +21,10 @@ module Security def description _('Configure SAST IaC in `.gitlab-ci.yml` using the GitLab managed template. You can [add variable overrides](https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings) to customize SAST IaC settings.') end + + def name + 'SAST IaC' + end end end end diff --git a/app/services/security/ci_configuration/secret_detection_create_service.rb b/app/services/security/ci_configuration/secret_detection_create_service.rb index ca5138b6ed6..792fe4986e9 100644 --- a/app/services/security/ci_configuration/secret_detection_create_service.rb +++ b/app/services/security/ci_configuration/secret_detection_create_service.rb @@ -21,6 +21,10 @@ module Security def description _('Configure Secret Detection in `.gitlab-ci.yml` using the GitLab managed template. You can [add variable overrides](https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings) to customize Secret Detection settings.') end + + def name + 'Secret Detection' + end end end end diff --git a/app/views/notify/github_gists_import_errors_email.html.haml b/app/views/notify/github_gists_import_errors_email.html.haml new file mode 100644 index 00000000000..07b4cfca77e --- /dev/null +++ b/app/views/notify/github_gists_import_errors_email.html.haml @@ -0,0 +1,19 @@ +- text_style = 'font-size:16px; text-align:center; line-height:30px;' + +%p{ style: text_style } + = s_('GithubImporter|Your import of GitHub gists into GitLab snippets is complete.') + +%p + = s_('GithubImporter|GitHub gists that were not imported:') + + %ol + - @errors.each do |gist_id, error| + %li + = s_("GithubImporter|Gist with id %{gist_id} failed due to error: %{error}.") % { gist_id: gist_id, error: error } + - if error == Gitlab::GithubGistsImport::Importer::GistImporter::FILE_COUNT_LIMIT_MESSAGE + - import_snippets_url = help_page_url('api/import.md', anchor: 'import-github-gists-into-gitlab-snippets') + - import_snippets_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: import_snippets_url } + = html_escape(s_("GithubImporter|Please follow %{import_snippets_link_start}Import GitHub gists into GitLab snippets%{import_snippets_link_end} for more details.")) % { import_snippets_link_start: import_snippets_link_start, import_snippets_link_end: '</a>'.html_safe } + +%p + = s_('GithubImporter|GitHub gists with more than 10 files must be manually migrated.') diff --git a/app/views/notify/github_gists_import_errors_email.text.erb b/app/views/notify/github_gists_import_errors_email.text.erb new file mode 100644 index 00000000000..2743a658269 --- /dev/null +++ b/app/views/notify/github_gists_import_errors_email.text.erb @@ -0,0 +1,12 @@ +<%= s_('GithubImporter|Your import of GitHub gists into GitLab snippets is complete.') %> + +<%= s_('GithubImporter|GitHub gists that were not imported:') %> +<% @errors.each do |gist_id, error| %> + - <%= s_("GithubImporter|Gist with id %{gist_id} failed due to error: %{error}.") % { gist_id: gist_id, error: error } %> + <% if error == Gitlab::GithubGistsImport::Importer::GistImporter::FILE_COUNT_LIMIT_MESSAGE %> + <% import_snippets_url = help_page_url('api/import.md', anchor: 'import-github-gists-into-gitlab-snippets') %> + <%= s_("GithubImporter|Please follow %{import_snippets_url} for more details.") % { import_snippets_url: import_snippets_url } %> + <% end %> +<% end %> + +<%= s_('GithubImporter|GitHub gists with more than 10 files must be manually migrated.') %> diff --git a/app/workers/gitlab/github_gists_import/finish_import_worker.rb b/app/workers/gitlab/github_gists_import/finish_import_worker.rb index 1989b6314ea..284e5833f0c 100644 --- a/app/workers/gitlab/github_gists_import/finish_import_worker.rb +++ b/app/workers/gitlab/github_gists_import/finish_import_worker.rb @@ -18,14 +18,15 @@ module Gitlab INTERVAL = 30.seconds.to_i BLOCKING_WAIT_TIME = 5 + GISTS_ERRORS_BY_ID = 'gitlab:github-gists-import:%{user_id}:errors' def perform(user_id, waiter_key, remaining) waiter = wait_for_jobs(waiter_key, remaining) if waiter.nil? Gitlab::GithubGistsImport::Status.new(user_id).finish! - Gitlab::GithubImport::Logger.info(user_id: user_id, message: 'GitHub Gists import finished') + send_email_if_errors(user_id) else self.class.perform_in(INTERVAL, user_id, waiter.key, waiter.jobs_remaining) end @@ -41,6 +42,17 @@ module Gitlab waiter end + + def send_email_if_errors(user_id) + key = format(GISTS_ERRORS_BY_ID, user_id: user_id) + errors = ::Gitlab::Cache::Import::Caching.values_from_hash(key) + + return if errors.blank? + + Notify.github_gists_import_errors_email(user_id, errors).deliver_now + ensure + ::Gitlab::Cache::Import::Caching.expire(key, ::Gitlab::Cache::Import::Caching::SHORTER_TIMEOUT) + end end end end diff --git a/app/workers/gitlab/github_gists_import/import_gist_worker.rb b/app/workers/gitlab/github_gists_import/import_gist_worker.rb index 7e2b3709597..fb7fb661f4c 100644 --- a/app/workers/gitlab/github_gists_import/import_gist_worker.rb +++ b/app/workers/gitlab/github_gists_import/import_gist_worker.rb @@ -6,6 +6,8 @@ module Gitlab include ApplicationWorker include Gitlab::NotifyUponDeath + GISTS_ERRORS_BY_ID = 'gitlab:github-gists-import:%{user_id}:errors' + data_consistency :always queue_namespace :github_gists_importer feature_category :importers @@ -33,16 +35,16 @@ module Gitlab ::Gitlab::GithubGistsImport::Importer::GistImporter end - def with_logging(user_id, gist_id) - info(user_id, 'start importer', gist_id) + def with_logging(user_id, github_identifiers) + info(user_id, 'start importer', github_identifiers) yield - info(user_id, 'importer finished', gist_id) + info(user_id, 'importer finished', github_identifiers) end - def log_and_track_error(user_id, exception, gist_id) - error(user_id, exception.message, gist_id) + def log_and_track_error(user_id, exception, github_identifiers) + error(user_id, exception.message, github_identifiers) Gitlab::ErrorTracking.track_exception(exception, import_type: :github_gists, @@ -50,15 +52,17 @@ module Gitlab ) end - def error(user_id, error_message, gist_id) + def error(user_id, error_message, github_identifiers) attributes = { user_id: user_id, - github_identifiers: gist_id, + github_identifiers: github_identifiers, message: 'importer failed', 'error.message': error_message } Gitlab::GithubImport::Logger.error(structured_payload(attributes)) + + cache_error_for_email(user_id, github_identifiers[:id], error_message) end def info(user_id, message, gist_id) @@ -70,6 +74,12 @@ module Gitlab Gitlab::GithubImport::Logger.info(structured_payload(attributes)) end + + def cache_error_for_email(user_id, gist_id, error_message) + key = format(GISTS_ERRORS_BY_ID, user_id: user_id) + + ::Gitlab::Cache::Import::Caching.hash_add(key, gist_id, error_message) + end end end end diff --git a/config/feature_flags/development/commit_search_trailing_spaces.yml b/config/feature_flags/development/commit_search_trailing_spaces.yml index 19c63e7e2a5..b4d2f911620 100644 --- a/config/feature_flags/development/commit_search_trailing_spaces.yml +++ b/config/feature_flags/development/commit_search_trailing_spaces.yml @@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386825 milestone: '15.8' type: development group: group::source code -default_enabled: false +default_enabled: true diff --git a/config/initializers/grape_validators.rb b/config/initializers/grape_validators.rb index 005901155de..1eaceddf531 100644 --- a/config/initializers/grape_validators.rb +++ b/config/initializers/grape_validators.rb @@ -11,6 +11,6 @@ Grape::Validations.register_validator(:untrusted_regexp, ::API::Validations::Val Grape::Validations.register_validator(:email_or_email_list, ::API::Validations::Validators::EmailOrEmailList) Grape::Validations.register_validator(:iteration_id, ::API::Validations::Validators::IntegerOrCustomValue) Grape::Validations.register_validator(:project_portable, ::API::Validations::Validators::ProjectPortable) -Grape::Validations.register_validator(:source_full_path, ::API::Validations::Validators::BulkImports::DestinationNamespacePath) # rubocop: disable Layout/LineLength -Grape::Validations.register_validator(:destination_path, ::API::Validations::Validators::BulkImports::DestinationSlugPath) # rubocop: disable Layout/LineLength +Grape::Validations.register_validator(:destination_namespace_path, ::API::Validations::Validators::BulkImports::DestinationNamespacePath) # rubocop: disable Layout/LineLength +Grape::Validations.register_validator(:destination_slug_path, ::API::Validations::Validators::BulkImports::DestinationSlugPath) # rubocop: disable Layout/LineLength Grape::Validations.register_validator(:source_full_path, ::API::Validations::Validators::BulkImports::SourceFullPath) diff --git a/config/routes/group.rb b/config/routes/group.rb index 40f39ea2a67..582f8bf9471 100644 --- a/config/routes/group.rb +++ b/config/routes/group.rb @@ -124,10 +124,8 @@ constraints(::Constraints::GroupUrlConstrainer.new) do resources :email_campaigns, only: :index namespace :observability do - get 'dashboards' get 'explore' get 'datasources' - get 'manage' end namespace :harbor do diff --git a/config/routes/import.rb b/config/routes/import.rb index 004839d22a7..b319e6ca223 100644 --- a/config/routes/import.rb +++ b/config/routes/import.rb @@ -12,8 +12,6 @@ end namespace :import do resources :history, only: [:index], controller: :history - resources :available_namespaces, only: [:index], controller: :available_namespaces - namespace :url do post :validate end diff --git a/data/deprecations/14-0-nfs-fot-git-repository-storage.yml b/data/deprecations/14-0-nfs-fot-git-repository-storage.yml index b0746502713..31d98169730 100644 --- a/data/deprecations/14-0-nfs-fot-git-repository-storage.yml +++ b/data/deprecations/14-0-nfs-fot-git-repository-storage.yml @@ -1,8 +1,6 @@ - title: "NFS for Git repository storage" # The name of the feature to be deprecated announcement_milestone: "14.0" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-06-22" # The date of the milestone release when this feature was first announced as deprecated removal_milestone: "15.6" # The milestone when this feature is planned to be removed - removal_date: "2022-11-22" # (optional - may be required in the future) YYYY-MM-DD format - the date of the milestone release when this feature is planned to be removed breaking_change: false body: | # Do not modify this line, instead modify the lines below. With the general availability of Gitaly Cluster ([introduced in GitLab 13.0](https://about.gitlab.com/releases/2020/05/22/gitlab-13-0-released/)), we have deprecated development (bugfixes, performance improvements, etc) for NFS for Git repository storage in GitLab 14.0. We will continue to provide technical support for NFS for Git repositories throughout 14.x, but we will remove all support for NFS on November 22, 2022. This was originally planned for May 22, 2022, but in an effort to allow continued maturity of Gitaly Cluster, we have chosen to extend our deprecation of support date. Please see our official [Statement of Support](https://about.gitlab.com/support/statement-of-support/#gitaly-and-nfs) for further information. diff --git a/data/deprecations/14-10-dependency-scanning-default-java-version.yml b/data/deprecations/14-10-dependency-scanning-default-java-version.yml index c0ef84a562e..7379ac662d8 100644 --- a/data/deprecations/14-10-dependency-scanning-default-java-version.yml +++ b/data/deprecations/14-10-dependency-scanning-default-java-version.yml @@ -1,8 +1,6 @@ - title: "Dependency Scanning default Java version changed to 17" announcement_milestone: "14.10" - announcement_date: "2022-04-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: NicoleSchwartz body: | diff --git a/data/deprecations/14-10-deprecate-toggle-notes-confidentiality.yml b/data/deprecations/14-10-deprecate-toggle-notes-confidentiality.yml index 8a4dcd47e2c..6cce38a0b39 100644 --- a/data/deprecations/14-10-deprecate-toggle-notes-confidentiality.yml +++ b/data/deprecations/14-10-deprecate-toggle-notes-confidentiality.yml @@ -1,8 +1,6 @@ - title: "Toggle notes confidentiality on APIs" announcement_milestone: "14.10" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-03-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. Toggling notes confidentiality with REST and GraphQL APIs is being deprecated. Updating notes confidential attribute is no longer supported by any means. We are changing this to simplify the experience and prevent private information from being unintentionally exposed. diff --git a/data/deprecations/14-10-old-search-migration-removal.yml b/data/deprecations/14-10-old-search-migration-removal.yml index dd6161c2414..1991c0ef177 100644 --- a/data/deprecations/14-10-old-search-migration-removal.yml +++ b/data/deprecations/14-10-old-search-migration-removal.yml @@ -1,8 +1,6 @@ - title: "Outdated indices of Advanced Search migrations" announcement_milestone: "14.10" - announcement_date: "2021-04-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | As Advanced Search migrations usually require support multiple code paths for a long period of time, it’s important to clean those up when we safely can. We use GitLab major version upgrades as a safe time to remove backward compatibility for indices that have not been fully migrated. See the [upgrade documentation](https://docs.gitlab.com/ee/update/index.html#upgrading-to-a-new-major-version) for details. diff --git a/data/deprecations/14-2-deprecation-release-cli.yml b/data/deprecations/14-2-deprecation-release-cli.yml index f937728b944..205817a7b47 100644 --- a/data/deprecations/14-2-deprecation-release-cli.yml +++ b/data/deprecations/14-2-deprecation-release-cli.yml @@ -1,8 +1,6 @@ - title: "Release CLI distributed as a generic package" # The name of the feature to be deprecated announcement_milestone: "14.2" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-08-22" # The date of the milestone release when this feature was first announced as deprecated removal_milestone: "14.6" # The milestone when this feature is planned to be removed - removal_date: "2021-12-22" # the date of the milestone release when this feature is planned to be removed breaking_change: false body: | # Do not modify this line, instead modify the lines below. The [release-cli](https://gitlab.com/gitlab-org/release-cli) will be released as a [generic package](https://gitlab.com/gitlab-org/release-cli/-/packages) starting in GitLab 14.2. We will continue to deploy it as a binary to S3 until GitLab 14.5 and stop distributing it in S3 in GitLab 14.6. diff --git a/data/deprecations/14-2-deprecation-task-runner.yml b/data/deprecations/14-2-deprecation-task-runner.yml index b69fb0969d5..c84cd40e33e 100644 --- a/data/deprecations/14-2-deprecation-task-runner.yml +++ b/data/deprecations/14-2-deprecation-task-runner.yml @@ -1,8 +1,6 @@ - title: "Rename Task Runner pod to Toolbox" # The name of the feature to be deprecated announcement_milestone: "14.2" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-08-22" # The date of the milestone release when this feature was first announced as deprecated removal_milestone: "14.5" # The milestone when this feature is planned to be removed - removal_date: "2021-11-22" # the date of the milestone release when this feature is planned to be removed breaking_change: false body: | # Do not modify this line, instead modify the lines below. The Task Runner pod is used to execute periodic housekeeping tasks within the GitLab application and is often confused with the GitLab Runner. Thus, [Task Runner will be renamed to Toolbox](https://gitlab.com/groups/gitlab-org/charts/-/epics/25). diff --git a/data/deprecations/14-3-database-deprecate-legacy-database-conf.yml b/data/deprecations/14-3-database-deprecate-legacy-database-conf.yml index 829e1b39b0f..97af3e39009 100644 --- a/data/deprecations/14-3-database-deprecate-legacy-database-conf.yml +++ b/data/deprecations/14-3-database-deprecate-legacy-database-conf.yml @@ -1,8 +1,6 @@ - title: "Legacy database configuration" announcement_milestone: "14.3" - announcement_date: "2021-09-22" removal_milestone: "15.0" - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | The syntax of [GitLabs database](https://docs.gitlab.com/omnibus/settings/database.html) diff --git a/data/deprecations/14-3-deprecation_omniauth-kerberos_gem.yml b/data/deprecations/14-3-deprecation_omniauth-kerberos_gem.yml index 5f28497e982..31ac99335b5 100644 --- a/data/deprecations/14-3-deprecation_omniauth-kerberos_gem.yml +++ b/data/deprecations/14-3-deprecation_omniauth-kerberos_gem.yml @@ -1,8 +1,6 @@ - title: "OmniAuth Kerberos gem" announcement_milestone: "14.3" - announcement_date: "2021-09-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | # Do not modify this line, instead modify the lines below. The `omniauth-kerberos` gem will be removed in our next major release, GitLab 15.0. diff --git a/data/deprecations/14-3-repository-push-audit-events.yml b/data/deprecations/14-3-repository-push-audit-events.yml index bec376121da..4f8ace11a3e 100644 --- a/data/deprecations/14-3-repository-push-audit-events.yml +++ b/data/deprecations/14-3-repository-push-audit-events.yml @@ -1,8 +1,6 @@ - title: "Audit events for repository push events" announcement_milestone: "14.3" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-09-22" # https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69024 removal_milestone: "15.0" # the milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. Audit events for [repository events](https://docs.gitlab.com/ee/administration/audit_events.html#removed-events) are now deprecated and will be removed in GitLab 15.0. diff --git a/data/deprecations/14-3-serverless.yml b/data/deprecations/14-3-serverless.yml index 55a702c4d27..28e942cc65f 100644 --- a/data/deprecations/14-3-serverless.yml +++ b/data/deprecations/14-3-serverless.yml @@ -1,8 +1,6 @@ - title: "GitLab Serverless" announcement_milestone: "14.3" - announcement_date: "2021-09-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | GitLab Serverless is a feature set to support Knative-based serverless development with automatic deployments and monitoring. diff --git a/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml b/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml index 32e9f61db0c..216568b6d19 100644 --- a/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml +++ b/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml @@ -1,8 +1,6 @@ - title: "SaaS certificate-based integration with Kubernetes" announcement_milestone: "14.5" - announcement_date: "2021-11-15" removal_milestone: "15.9" - removal_date: "2023-02-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | The certificate-based integration with Kubernetes will be [deprecated and removed](https://about.gitlab.com/blog/2021/11/15/deprecating-the-cert-based-kubernetes-integration/). As a GitLab SaaS customer, on new namespaces, you will no longer be able to integrate GitLab and your cluster using the certificate-based approach as of GitLab 15.0. The integration for current users will be enabled per namespace. diff --git a/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml b/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml index 44098f83c20..85b006e6768 100644 --- a/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml +++ b/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml @@ -1,8 +1,6 @@ - title: "Self-managed certificate-based integration with Kubernetes" announcement_milestone: "14.5" - announcement_date: "2021-11-15" removal_milestone: "17.0" - removal_date: "2024-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | The certificate-based integration with Kubernetes [will be deprecated and removed](https://about.gitlab.com/blog/2021/11/15/deprecating-the-cert-based-kubernetes-integration/). diff --git a/data/deprecations/14-5-deprecate-convert-instance-runner-to-project.yml b/data/deprecations/14-5-deprecate-convert-instance-runner-to-project.yml index 953af3634f7..91f96e87703 100644 --- a/data/deprecations/14-5-deprecate-convert-instance-runner-to-project.yml +++ b/data/deprecations/14-5-deprecate-convert-instance-runner-to-project.yml @@ -1,8 +1,6 @@ - title: "Changing an instance (shared) runner to a project (specific) runner" announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" removal_milestone: "15.0" # the milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. In GitLab 15.0, you can no longer change an instance (shared) runner to a project (specific) runner. diff --git a/data/deprecations/14-5-deprecate-defaultMergeCommitMessageWithDescription-graphql.yml b/data/deprecations/14-5-deprecate-defaultMergeCommitMessageWithDescription-graphql.yml index 447fb4e3ef5..a993fa0897c 100644 --- a/data/deprecations/14-5-deprecate-defaultMergeCommitMessageWithDescription-graphql.yml +++ b/data/deprecations/14-5-deprecate-defaultMergeCommitMessageWithDescription-graphql.yml @@ -1,8 +1,6 @@ - title: "`defaultMergeCommitMessageWithDescription` GraphQL API field" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. The GraphQL API field `defaultMergeCommitMessageWithDescription` has been deprecated and will be removed in GitLab 15.0. For projects with a commit message template set, it will ignore the template. diff --git a/data/deprecations/14-5-deprecate-opensuse-15-2.yml b/data/deprecations/14-5-deprecate-opensuse-15-2.yml index abc30980c7f..ff1702b7de5 100644 --- a/data/deprecations/14-5-deprecate-opensuse-15-2.yml +++ b/data/deprecations/14-5-deprecate-opensuse-15-2.yml @@ -1,8 +1,6 @@ - title: "openSUSE Leap 15.2 packages" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "14.8" # The milestone when this feature is planned to be removed - removal_date: "2022-02-22" # the date of the milestone release when this feature is planned to be removed breaking_change: false body: | # Do not modify this line, instead modify the lines below. Distribution support and security updates for openSUSE Leap 15.2 are [ending December 2021](https://en.opensuse.org/Lifetime#openSUSE_Leap). diff --git a/data/deprecations/14-5-deprecate-sles-12sp2.yml b/data/deprecations/14-5-deprecate-sles-12sp2.yml index cc5bef6f203..37a0e917eb9 100644 --- a/data/deprecations/14-5-deprecate-sles-12sp2.yml +++ b/data/deprecations/14-5-deprecate-sles-12sp2.yml @@ -1,8 +1,6 @@ - title: "Support for SLES 12 SP2" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" removal_milestone: "15.0" # the milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. Long term service and support (LTSS) for SUSE Linux Enterprise Server (SLES) 12 SP2 [ended on March 31, 2021](https://www.suse.com/lifecycle/). The CA certificates on SP2 include the expired DST root certificate, and it's not getting new CA certificate package updates. We have implemented some [workarounds](https://gitlab.com/gitlab-org/gitlab-omnibus-builder/-/merge_requests/191), but we will not be able to continue to keep the build running properly. diff --git a/data/deprecations/14-5-deprecation-versions-packagetype.yml b/data/deprecations/14-5-deprecation-versions-packagetype.yml index 110bb9f218f..88b0133d4d3 100644 --- a/data/deprecations/14-5-deprecation-versions-packagetype.yml +++ b/data/deprecations/14-5-deprecation-versions-packagetype.yml @@ -1,8 +1,6 @@ - title: "`Versions` on base `PackageType`" announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. As part of the work to create a [Package Registry GraphQL API](https://gitlab.com/groups/gitlab-org/-/epics/6318), the Package group deprecated the `Version` type for the basic `PackageType` type and moved it to [`PackageDetailsType`](https://docs.gitlab.com/ee/api/graphql/reference/index.html#packagedetailstype). diff --git a/data/deprecations/14-5-deprecation-vsa-announce-deprecation-of-vsa-filtering-calculation.yml b/data/deprecations/14-5-deprecation-vsa-announce-deprecation-of-vsa-filtering-calculation.yml index 10ed8ff8ad6..c1b48e79386 100644 --- a/data/deprecations/14-5-deprecation-vsa-announce-deprecation-of-vsa-filtering-calculation.yml +++ b/data/deprecations/14-5-deprecation-vsa-announce-deprecation-of-vsa-filtering-calculation.yml @@ -1,8 +1,6 @@ - title: "Value Stream Analytics filtering calculation change" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. We are changing how the date filter works in Value Stream Analytics. Instead of filtering by the time that the issue or merge request was created, the date filter will filter by the end event time of the given stage. This will result in completely different figures after this change has rolled out. diff --git a/data/deprecations/14-5-disable_strict_host_key_checking.yml b/data/deprecations/14-5-disable_strict_host_key_checking.yml index c5677dd8c3c..33e1da0206b 100644 --- a/data/deprecations/14-5-disable_strict_host_key_checking.yml +++ b/data/deprecations/14-5-disable_strict_host_key_checking.yml @@ -1,8 +1,6 @@ - title: "Known host required for GitLab Runner SSH executor" announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" removal_milestone: "15.0" # the milestone when this feature is planned to be removed - removal_date: "2022-05-22" breaking_change: true body: | # Do not modify this line, instead modify the lines below. In [GitLab 14.3](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/3074), we added a configuration setting in the GitLab Runner `config.toml` file. This setting, [`[runners.ssh.disable_strict_host_key_checking]`](https://docs.gitlab.com/runner/executors/ssh.html#security), controls whether or not to use strict host key checking with the SSH executor. diff --git a/data/deprecations/14-5-geo-deprecate-promote-db.yml b/data/deprecations/14-5-geo-deprecate-promote-db.yml index 4aedc7a8876..d08ff45ad0b 100644 --- a/data/deprecations/14-5-geo-deprecate-promote-db.yml +++ b/data/deprecations/14-5-geo-deprecate-promote-db.yml @@ -1,8 +1,6 @@ - title: "`promote-db` command from `gitlab-ctl`" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" breaking_change: true body: | # Do not modify this line, instead modify the lines below. In GitLab 14.5, we introduced the command `gitlab-ctl promote` to promote any Geo secondary node to a primary during a failover. This command replaces `gitlab-ctl promote-db` which is used to promote database nodes in multi-node Geo secondary sites. `gitlab-ctl promote-db` will continue to function as-is and be available until GitLab 15.0. We recommend that Geo customers begin testing the new `gitlab-ctl promote` command in their staging environments and incorporating the new command in their failover procedures. diff --git a/data/deprecations/14-5-geo-deprecate-promote-to-primary-node.yml b/data/deprecations/14-5-geo-deprecate-promote-to-primary-node.yml index 048a78aedc7..09048c33d39 100644 --- a/data/deprecations/14-5-geo-deprecate-promote-to-primary-node.yml +++ b/data/deprecations/14-5-geo-deprecate-promote-to-primary-node.yml @@ -1,8 +1,6 @@ - title: "`promote-to-primary-node` command from `gitlab-ctl`" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" breaking_change: true body: | # Do not modify this line, instead modify the lines below. In GitLab 14.5, we introduced the command `gitlab-ctl promote` to promote any Geo secondary node to a primary during a failover. This command replaces `gitlab-ctl promote-to-primary-node` which was only usable for single-node Geo sites. `gitlab-ctl promote-to-primary-node` will continue to function as-is and be available until GitLab 15.0. We recommend that Geo customers begin testing the new `gitlab-ctl promote` command in their staging environments and incorporating the new command in their failover procedures. diff --git a/data/deprecations/14-5-package-container-registry-api-group-update.yml b/data/deprecations/14-5-package-container-registry-api-group-update.yml index 40174c02e50..d7dbf841c72 100644 --- a/data/deprecations/14-5-package-container-registry-api-group-update.yml +++ b/data/deprecations/14-5-package-container-registry-api-group-update.yml @@ -1,8 +1,6 @@ - title: "Update to the Container Registry group-level API" announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" removal_milestone: "15.0" # the milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. In milestone 15.0, support for the `tags` and `tags_count` parameters will be removed from the Container Registry API that [gets registry repositories from a group](../api/container_registry.md#within-a-group). diff --git a/data/deprecations/14-5-remove-dependency-proxy-permissions-flag.yml b/data/deprecations/14-5-remove-dependency-proxy-permissions-flag.yml index 0d9fe9c9539..075f518c3af 100644 --- a/data/deprecations/14-5-remove-dependency-proxy-permissions-flag.yml +++ b/data/deprecations/14-5-remove-dependency-proxy-permissions-flag.yml @@ -1,8 +1,6 @@ - title: "`dependency_proxy_for_private_groups` feature flag" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. We added a feature flag because [GitLab-#11582](https://gitlab.com/gitlab-org/gitlab/-/issues/11582) changed how public groups use the Dependency Proxy. Prior to this change, you could use the Dependency Proxy without authentication. The change requires authentication to use the Dependency Proxy. diff --git a/data/deprecations/14-5-remove-package-pipelines-api.yml b/data/deprecations/14-5-remove-package-pipelines-api.yml index 0cf2201d6e3..f6a091c7c4b 100644 --- a/data/deprecations/14-5-remove-package-pipelines-api.yml +++ b/data/deprecations/14-5-remove-package-pipelines-api.yml @@ -1,8 +1,6 @@ - title: "Package pipelines in API payload is paginated" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. A request to the API for `/api/v4/projects/:id/packages` returns a paginated result of packages. Each package lists all of its pipelines in this response. This is a performance concern, as it's possible for a package to have hundreds or thousands of associated pipelines. diff --git a/data/deprecations/14-5-remove-pipelines-from-version-field.yml b/data/deprecations/14-5-remove-pipelines-from-version-field.yml index 0470bba35cc..815a08550b2 100644 --- a/data/deprecations/14-5-remove-pipelines-from-version-field.yml +++ b/data/deprecations/14-5-remove-pipelines-from-version-field.yml @@ -1,8 +1,6 @@ - title: "`pipelines` field from the `version` field" # The name of the feature to be deprecated announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. In GraphQL, there are two `pipelines` fields that you can use in a [`PackageDetailsType`](https://docs.gitlab.com/ee/api/graphql/reference/#packagedetailstype) to get the pipelines for package versions: diff --git a/data/deprecations/14-5-runner-api-status-does-contain-paused.yml b/data/deprecations/14-5-runner-api-status-does-contain-paused.yml index 9cf1294467a..0daa5fb24c9 100644 --- a/data/deprecations/14-5-runner-api-status-does-contain-paused.yml +++ b/data/deprecations/14-5-runner-api-status-does-contain-paused.yml @@ -1,8 +1,6 @@ - title: "GraphQL API Runner status will not return `paused`" announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-11-22" removal_milestone: "16.0" # the milestone when this feature is planned to be removed - removal_date: "2023-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. The GitLab Runner GraphQL API endpoints will not return `paused` or `active` as a status in GitLab 16.0. diff --git a/data/deprecations/14-6-Enforce-validation-of-security-schemas.yml b/data/deprecations/14-6-Enforce-validation-of-security-schemas.yml index 614a1bc73d5..7c7096335f8 100644 --- a/data/deprecations/14-6-Enforce-validation-of-security-schemas.yml +++ b/data/deprecations/14-6-Enforce-validation-of-security-schemas.yml @@ -1,8 +1,6 @@ - title: "Enforced validation of security report schemas" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed body: | # Do not modify this line, instead modify the lines below. [Security report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation diff --git a/data/deprecations/14-6-container-scanning-schemas-below-14.yml b/data/deprecations/14-6-container-scanning-schemas-below-14.yml index 244c5662b25..910d42631ce 100644 --- a/data/deprecations/14-6-container-scanning-schemas-below-14.yml +++ b/data/deprecations/14-6-container-scanning-schemas-below-14.yml @@ -1,8 +1,6 @@ - title: "Container scanning schemas below 14.0.0" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed body: | # Do not modify this line, instead modify the lines below. [Container scanning report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation diff --git a/data/deprecations/14-6-coverage-fuzzing-schemas-below-14.yml b/data/deprecations/14-6-coverage-fuzzing-schemas-below-14.yml index dcb643d5787..fa663523a3a 100644 --- a/data/deprecations/14-6-coverage-fuzzing-schemas-below-14.yml +++ b/data/deprecations/14-6-coverage-fuzzing-schemas-below-14.yml @@ -1,8 +1,6 @@ - title: "Coverage guided fuzzing schemas below 14.0.0" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed body: | # Do not modify this line, instead modify the lines below. [Coverage guided fuzzing report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) below version 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation diff --git a/data/deprecations/14-6-dast-schemas-below-14.yml b/data/deprecations/14-6-dast-schemas-below-14.yml index 8ff3d899951..07dd822ffa8 100644 --- a/data/deprecations/14-6-dast-schemas-below-14.yml +++ b/data/deprecations/14-6-dast-schemas-below-14.yml @@ -1,8 +1,6 @@ - title: "DAST schemas below 14.0.0" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed body: | # Do not modify this line, instead modify the lines below. [DAST report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation diff --git a/data/deprecations/14-6-dependency-scanning-schemas-below-14.yml b/data/deprecations/14-6-dependency-scanning-schemas-below-14.yml index 5255779f5a8..da666ab3b6a 100644 --- a/data/deprecations/14-6-dependency-scanning-schemas-below-14.yml +++ b/data/deprecations/14-6-dependency-scanning-schemas-below-14.yml @@ -1,8 +1,6 @@ - title: "Dependency scanning schemas below 14.0.0" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed body: | # Do not modify this line, instead modify the lines below. [Dependency scanning report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation diff --git a/data/deprecations/14-6-deprecate-types.yml b/data/deprecations/14-6-deprecate-types.yml index c2afcc8226d..1b46f593264 100644 --- a/data/deprecations/14-6-deprecate-types.yml +++ b/data/deprecations/14-6-deprecate-types.yml @@ -1,8 +1,6 @@ - title: "`type` and `types` keyword in CI/CD configuration" # The name of the feature to be deprecated announcement_milestone: "14.6" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-12-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. The `type` and `types` CI/CD keywords will be removed in GitLab 15.0. Pipelines that use these keywords will stop working, so you must switch to `stage` and `stages`, which have the same behavior. diff --git a/data/deprecations/14-6-deprecation-license-compliance-api-terms.yml b/data/deprecations/14-6-deprecation-license-compliance-api-terms.yml index 03bfd5e1a7b..ac74fe5e84f 100644 --- a/data/deprecations/14-6-deprecation-license-compliance-api-terms.yml +++ b/data/deprecations/14-6-deprecation-license-compliance-api-terms.yml @@ -1,6 +1,5 @@ - title: "Legacy approval status names from License Compliance API" # The name of the feature to be deprecated announcement_milestone: "14.6" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-12-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. @@ -14,4 +13,3 @@ documentation_url: # (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 - removal_date: "2022-05-22" # (optional - may be required in the future) YYYY-MM-DD format. This should almost always be the 22nd of a month (YYYY-MM-22), the date of the milestone release when this feature is planned to be removed diff --git a/data/deprecations/14-6-deprecation-secure-dependency-scanning-bundler-audit.yml b/data/deprecations/14-6-deprecation-secure-dependency-scanning-bundler-audit.yml index 5321c23e797..952f3267723 100644 --- a/data/deprecations/14-6-deprecation-secure-dependency-scanning-bundler-audit.yml +++ b/data/deprecations/14-6-deprecation-secure-dependency-scanning-bundler-audit.yml @@ -1,6 +1,5 @@ - title: "bundler-audit Dependency Scanning tool" # The name of the feature to be deprecated announcement_milestone: "14.6" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-12-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. @@ -14,4 +13,3 @@ documentation_url: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/analyzers.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 - removal_date: "2022-05-22" # (optional - may be required in the future) YYYY-MM-DD format. This should almost always be the 22nd of a month (YYYY-MM-22), the date of the milestone release when this feature is planned to be removed diff --git a/data/deprecations/14-6-job_char_limit.yml b/data/deprecations/14-6-job_char_limit.yml index a1422f57506..4b94650fe23 100644 --- a/data/deprecations/14-6-job_char_limit.yml +++ b/data/deprecations/14-6-job_char_limit.yml @@ -1,8 +1,6 @@ - title: "CI/CD job name length limit" # The name of the feature to be deprecated announcement_milestone: "14.6" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-12-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # (optional - may be required in the future) YYYY-MM-DD format - the date of the milestone release when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. In GitLab 15.0 we are going to limit the number of characters in CI/CD job names to 255. Any pipeline with job names that exceed the 255 character limit will stop working after the 15.0 release. diff --git a/data/deprecations/14-6-remove-api-fuzzing-ci-configuration-create-mutation.yml b/data/deprecations/14-6-remove-api-fuzzing-ci-configuration-create-mutation.yml index 639c48f7302..9ee015c9883 100644 --- a/data/deprecations/14-6-remove-api-fuzzing-ci-configuration-create-mutation.yml +++ b/data/deprecations/14-6-remove-api-fuzzing-ci-configuration-create-mutation.yml @@ -1,8 +1,6 @@ - title: "apiFuzzingCiConfigurationCreate GraphQL mutation" announcement_milestone: "14.6" - announcement_date: "2021-12-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | The API Fuzzing configuration snippet is now being generated client-side and does not require an diff --git a/data/deprecations/14-6-sast-schemas-below-14.yml b/data/deprecations/14-6-sast-schemas-below-14.yml index 9afab73e316..0d1f25bdfa3 100644 --- a/data/deprecations/14-6-sast-schemas-below-14.yml +++ b/data/deprecations/14-6-sast-schemas-below-14.yml @@ -1,8 +1,6 @@ - title: "SAST schemas below 14.0.0" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed body: | # Do not modify this line, instead modify the lines below. [SAST report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation diff --git a/data/deprecations/14-6-secret-detection-schemas-below-14.yml b/data/deprecations/14-6-secret-detection-schemas-below-14.yml index 53c9cf89795..4a0bd69c433 100644 --- a/data/deprecations/14-6-secret-detection-schemas-below-14.yml +++ b/data/deprecations/14-6-secret-detection-schemas-below-14.yml @@ -1,8 +1,6 @@ - title: "Secret detection schemas below 14.0.0" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # the date of the milestone release when this feature is planned to be removed body: | # Do not modify this line, instead modify the lines below. [Secret detection report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation diff --git a/data/deprecations/14-7-deprecate-artifacts-keyword.yml b/data/deprecations/14-7-deprecate-artifacts-keyword.yml index e4c82ebcc24..17692f4b556 100644 --- a/data/deprecations/14-7-deprecate-artifacts-keyword.yml +++ b/data/deprecations/14-7-deprecate-artifacts-keyword.yml @@ -1,8 +1,6 @@ - title: "`artifacts:reports:cobertura` keyword" announcement_milestone: "14.7" - announcement_date: "2022-01-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | Currently, test coverage visualizations in GitLab only support Cobertura reports. Starting 15.0, the diff --git a/data/deprecations/14-7-deprecate-godep-support-in-license-compliance.yml b/data/deprecations/14-7-deprecate-godep-support-in-license-compliance.yml index 080853e6f1e..9b1282e7ca0 100644 --- a/data/deprecations/14-7-deprecate-godep-support-in-license-compliance.yml +++ b/data/deprecations/14-7-deprecate-godep-support-in-license-compliance.yml @@ -1,8 +1,6 @@ - title: "Godep support in License Compliance" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # This should almost always be the 22nd of a month (YYYY-MM-22), the date of the milestone release when this feature is planned to be removed. body: | # Do not modify this line, instead modify the lines below. The Godep dependency manager for Golang was deprecated in 2020 by Go and has been replaced with Go modules. diff --git a/data/deprecations/14-7-deprecate-merged_by-api-field.yml b/data/deprecations/14-7-deprecate-merged_by-api-field.yml index 623a544052a..b49b8bf5271 100644 --- a/data/deprecations/14-7-deprecate-merged_by-api-field.yml +++ b/data/deprecations/14-7-deprecate-merged_by-api-field.yml @@ -12,9 +12,7 @@ - title: "merged_by API field" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # the date of the milestone release when this feature is planned to be removed breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. The `merged_by` field in the [merge request API](https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests) has been deprecated in favor of the `merge_user` field which more correctly identifies who merged a merge request when performing actions (merge when pipeline succeeds, add to merge train) other than a simple merge. API users are encouraged to use the new `merge_user` field instead. The `merged_by` field will be removed in v5 of the GitLab REST API. diff --git a/data/deprecations/14-7-deprecate-static-site-editor.yml b/data/deprecations/14-7-deprecate-static-site-editor.yml index f44f4f3f256..ee87dfb2ed2 100644 --- a/data/deprecations/14-7-deprecate-static-site-editor.yml +++ b/data/deprecations/14-7-deprecate-static-site-editor.yml @@ -1,8 +1,6 @@ - title: "Static Site Editor" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # This should almost always be the 22nd of a month (YYYY-MM-22), the date of the milestone release when this feature is planned to be removed. body: | # Do not modify this line, instead modify the lines below. The Static Site Editor will no longer be available starting in GitLab 15.0. Improvements to the Markdown editing experience across GitLab will deliver smiliar benefit but with a wider reach. Incoming requests to the Static Site Editor will be redirected to the [Web IDE](https://docs.gitlab.com/ee/user/project/web_ide/index.html). diff --git a/data/deprecations/14-7-pseudonymizer.yml b/data/deprecations/14-7-pseudonymizer.yml index 43987332210..be52b467337 100644 --- a/data/deprecations/14-7-pseudonymizer.yml +++ b/data/deprecations/14-7-pseudonymizer.yml @@ -1,8 +1,6 @@ - title: "Pseudonymizer" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # This should almost always be the 22nd of a month (YYYY-MM-22), the date of the milestone release when this feature is planned to be removed. body: | # Do not modify this line, instead modify the lines below. The Pseudonymizer feature is generally unused, can cause production issues with large databases, diff --git a/data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml b/data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml index 324339a45ea..3b812068b30 100644 --- a/data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml +++ b/data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml @@ -1,8 +1,6 @@ - title: "Sidekiq metrics and health checks configuration" announcement_milestone: "14.7" - announcement_date: "2021-01-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | # Do not modify this line, instead modify the lines below. Exporting Sidekiq metrics and health checks using a single process and port is deprecated. diff --git a/data/deprecations/14-8-Elasticsearch-6-8.yml b/data/deprecations/14-8-Elasticsearch-6-8.yml index d9b7f607f27..3c35475c4a8 100644 --- a/data/deprecations/14-8-Elasticsearch-6-8.yml +++ b/data/deprecations/14-8-Elasticsearch-6-8.yml @@ -1,8 +1,6 @@ - title: "Elasticsearch 6.8" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | Elasticsearch 6.8 is deprecated in GitLab 14.8 and scheduled for removal in GitLab 15.0. diff --git a/data/deprecations/14-8-ci-build-variables.yml b/data/deprecations/14-8-ci-build-variables.yml index f12f6dda5a6..1dda7e8b32a 100644 --- a/data/deprecations/14-8-ci-build-variables.yml +++ b/data/deprecations/14-8-ci-build-variables.yml @@ -1,8 +1,6 @@ - title: "`CI_BUILD_*` predefined variables" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: dhershkovitch body: | diff --git a/data/deprecations/14-8-compliance-required-pipeline-configuration-premium.yml b/data/deprecations/14-8-compliance-required-pipeline-configuration-premium.yml index 1b262c98d40..cd94adca75f 100644 --- a/data/deprecations/14-8-compliance-required-pipeline-configuration-premium.yml +++ b/data/deprecations/14-8-compliance-required-pipeline-configuration-premium.yml @@ -1,8 +1,6 @@ - title: "Required pipeline configurations in Premium tier" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: sam.white body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-compliance-status-check-api-field.yml b/data/deprecations/14-8-compliance-status-check-api-field.yml index 6493905a6d5..77b12142a9a 100644 --- a/data/deprecations/14-8-compliance-status-check-api-field.yml +++ b/data/deprecations/14-8-compliance-status-check-api-field.yml @@ -1,8 +1,6 @@ - title: "External status check API breaking changes" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: sam.white body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-deprecate-projectFingerprint-from-PipelineSecurityReportFinding-GraphQL.yml b/data/deprecations/14-8-deprecate-projectFingerprint-from-PipelineSecurityReportFinding-GraphQL.yml index f2fd11ceb28..fdd8b355dca 100644 --- a/data/deprecations/14-8-deprecate-projectFingerprint-from-PipelineSecurityReportFinding-GraphQL.yml +++ b/data/deprecations/14-8-deprecate-projectFingerprint-from-PipelineSecurityReportFinding-GraphQL.yml @@ -1,8 +1,6 @@ - title: "`projectFingerprint` in `PipelineSecurityReportFinding` GraphQL" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: matt_wilson # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-deprecation-secure-dependency-scanning-retire-js.yml b/data/deprecations/14-8-deprecation-secure-dependency-scanning-retire-js.yml index 070262707a9..0deb0e9e788 100644 --- a/data/deprecations/14-8-deprecation-secure-dependency-scanning-retire-js.yml +++ b/data/deprecations/14-8-deprecation-secure-dependency-scanning-retire-js.yml @@ -1,6 +1,5 @@ - title: "Retire-JS Dependency Scanning tool" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed breaking_change: true body: | # Do not modify this line, instead modify the lines below. @@ -14,4 +13,3 @@ documentation_url: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/analyzers.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 - removal_date: "2022-05-22" # (optional - may be required in the future) YYYY-MM-DD format. This should almost always be the 22nd of a month (YYYY-MM-22), the date of the milestone release when this feature is planned to be removed diff --git a/data/deprecations/14-8-enforce-pat-expiration.yml b/data/deprecations/14-8-enforce-pat-expiration.yml index 6f165bbdb19..37cf4d827d1 100644 --- a/data/deprecations/14-8-enforce-pat-expiration.yml +++ b/data/deprecations/14-8-enforce-pat-expiration.yml @@ -1,8 +1,6 @@ - title: "Optional enforcement of PAT expiration" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: djensen # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-enforce-ssh-expiration.yml b/data/deprecations/14-8-enforce-ssh-expiration.yml index d772adf1b4c..6a67eee4b5f 100644 --- a/data/deprecations/14-8-enforce-ssh-expiration.yml +++ b/data/deprecations/14-8-enforce-ssh-expiration.yml @@ -1,8 +1,6 @@ - title: "Optional enforcement of SSH expiration" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: djensen # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-geo-deprecate-db-rake-tasks.yml b/data/deprecations/14-8-geo-deprecate-db-rake-tasks.yml index 0390632968a..333ae5b3a75 100644 --- a/data/deprecations/14-8-geo-deprecate-db-rake-tasks.yml +++ b/data/deprecations/14-8-geo-deprecate-db-rake-tasks.yml @@ -1,8 +1,6 @@ - title: "Deprecate custom Geo:db:* Rake tasks" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: false reporter: nhxnguyen body: | diff --git a/data/deprecations/14-8-geo-deprecate-replication-detail-routes.yml b/data/deprecations/14-8-geo-deprecate-replication-detail-routes.yml index c4a4117f0cd..84f502b2089 100644 --- a/data/deprecations/14-8-geo-deprecate-replication-detail-routes.yml +++ b/data/deprecations/14-8-geo-deprecate-replication-detail-routes.yml @@ -1,8 +1,6 @@ - title: "Deprecate Geo Admin UI Routes" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: false reporter: nhxnguyen body: | diff --git a/data/deprecations/14-8-gitaly-deprecate-legacy-config-options.yml b/data/deprecations/14-8-gitaly-deprecate-legacy-config-options.yml index 0273559a268..68ef00e5cd9 100644 --- a/data/deprecations/14-8-gitaly-deprecate-legacy-config-options.yml +++ b/data/deprecations/14-8-gitaly-deprecate-legacy-config-options.yml @@ -1,8 +1,6 @@ - title: "Deprecate legacy Gitaly configuration methods" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: mjwood # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-gitaly-remove-per-repository-election.yml b/data/deprecations/14-8-gitaly-remove-per-repository-election.yml index 88412780048..e2d9eafe0e1 100644 --- a/data/deprecations/14-8-gitaly-remove-per-repository-election.yml +++ b/data/deprecations/14-8-gitaly-remove-per-repository-election.yml @@ -1,8 +1,6 @@ - title: "Configurable Gitaly `per_repository` election strategy" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "14.9" # The milestone when this feature is planned to be removed - removal_date: "2022-03-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: false # If this deprecation is a breaking change, set this value to true reporter: mjwood # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-graphql-ids.yml b/data/deprecations/14-8-graphql-ids.yml index 599748652f6..03987176e33 100644 --- a/data/deprecations/14-8-graphql-ids.yml +++ b/data/deprecations/14-8-graphql-ids.yml @@ -1,8 +1,6 @@ - title: "GraphQL ID and GlobalID compatibility" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: alexkalderimis body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-grpc-proxy.yml b/data/deprecations/14-8-grpc-proxy.yml index 9f7a044d154..d2787d5d449 100644 --- a/data/deprecations/14-8-grpc-proxy.yml +++ b/data/deprecations/14-8-grpc-proxy.yml @@ -1,8 +1,6 @@ - title: "Support for gRPC-aware proxy deployed between Gitaly and rest of GitLab" announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: jacobvosmaer-gitlab # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-iteration-started-field.yml b/data/deprecations/14-8-iteration-started-field.yml index a4401632682..a3c693001c1 100644 --- a/data/deprecations/14-8-iteration-started-field.yml +++ b/data/deprecations/14-8-iteration-started-field.yml @@ -1,8 +1,6 @@ - title: "`started` iterations API field" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. The `started` field in the [iterations API](https://docs.gitlab.com/ee/api/iterations.html#list-project-iterations) is being deprecated and will be removed in GitLab 15.0. This field is being replaced with the `current` field (already available) which aligns with the naming for other time-based entities, such as milestones. diff --git a/data/deprecations/14-8-protect-cns-chs.yml b/data/deprecations/14-8-protect-cns-chs.yml index 098b571f9fb..7f0befa77c5 100644 --- a/data/deprecations/14-8-protect-cns-chs.yml +++ b/data/deprecations/14-8-protect-cns-chs.yml @@ -1,8 +1,6 @@ - title: "Container Network and Host Security" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: sam.white body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-protect-vulnerability-check.yml b/data/deprecations/14-8-protect-vulnerability-check.yml index 737756ae8ac..fd8e467d222 100644 --- a/data/deprecations/14-8-protect-vulnerability-check.yml +++ b/data/deprecations/14-8-protect-vulnerability-check.yml @@ -1,8 +1,6 @@ - title: "Vulnerability Check" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: sam.white body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-remove_ff_push_rules_supersede_code_owners.yml b/data/deprecations/14-8-remove_ff_push_rules_supersede_code_owners.yml index 24e192e7f33..b43671c4969 100644 --- a/data/deprecations/14-8-remove_ff_push_rules_supersede_code_owners.yml +++ b/data/deprecations/14-8-remove_ff_push_rules_supersede_code_owners.yml @@ -1,8 +1,6 @@ - title: "Deprecate feature flag PUSH_RULES_SUPERSEDE_CODE_OWNERS" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: sarahwaldner # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-request-profiling.yml b/data/deprecations/14-8-request-profiling.yml index eb7ab356d27..ed080993abc 100644 --- a/data/deprecations/14-8-request-profiling.yml +++ b/data/deprecations/14-8-request-profiling.yml @@ -1,8 +1,6 @@ - title: "Request profiling" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: iroussos body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml b/data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml index a8173a80047..22cc199c704 100644 --- a/data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml +++ b/data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml @@ -1,8 +1,6 @@ - title: "REST and GraphQL API Runner usage of `active` replaced by `paused`" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: pedropombeiro body: | diff --git a/data/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml b/data/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml index cf0476ae768..ce372a36f69 100644 --- a/data/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml +++ b/data/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml @@ -1,8 +1,6 @@ - title: "GraphQL API Runner will not accept `status` filter values of `active` or `paused`" announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true body: | # Do not modify this line, instead modify the lines below. The GitLab Runner GraphQL endpoints will stop accepting `paused` or `active` as a status value in GitLab 16.0. diff --git a/data/deprecations/14-8-sast-analyzer-removals.yml b/data/deprecations/14-8-sast-analyzer-removals.yml index 0ad3920669a..3ebfd23beb5 100644 --- a/data/deprecations/14-8-sast-analyzer-removals.yml +++ b/data/deprecations/14-8-sast-analyzer-removals.yml @@ -1,8 +1,6 @@ - title: "SAST analyzer consolidation and CI/CD template changes" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.4" - removal_date: "2022-09-22" breaking_change: true reporter: connorgilbert body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-sast-dotnet-21.yml b/data/deprecations/14-8-sast-dotnet-21.yml index 1a09329244d..581c579e90a 100644 --- a/data/deprecations/14-8-sast-dotnet-21.yml +++ b/data/deprecations/14-8-sast-dotnet-21.yml @@ -1,8 +1,6 @@ - title: "SAST support for .NET 2.1" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: connorgilbert body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-sast-secret-analyzer-image.yml b/data/deprecations/14-8-sast-secret-analyzer-image.yml index e774941ace4..113fd9bb1bc 100644 --- a/data/deprecations/14-8-sast-secret-analyzer-image.yml +++ b/data/deprecations/14-8-sast-secret-analyzer-image.yml @@ -1,8 +1,6 @@ - title: "Secure and Protect analyzer images published in new location" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: connorgilbert body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-sast-spotbugs-java-8.yml b/data/deprecations/14-8-sast-spotbugs-java-8.yml index 58d1e205aad..75e4ffc94bc 100644 --- a/data/deprecations/14-8-sast-spotbugs-java-8.yml +++ b/data/deprecations/14-8-sast-spotbugs-java-8.yml @@ -1,8 +1,6 @@ - title: "Out-of-the-box SAST support for Java 8" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: connorgilbert body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-secret-detection-configurations.yml b/data/deprecations/14-8-secret-detection-configurations.yml index 8078d7c6fa0..1b4197c2792 100644 --- a/data/deprecations/14-8-secret-detection-configurations.yml +++ b/data/deprecations/14-8-secret-detection-configurations.yml @@ -1,8 +1,6 @@ - title: "Secret Detection configuration variables deprecated" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: false reporter: connorgilbert body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-secure-and-protect-analyzer-bump.yml b/data/deprecations/14-8-secure-and-protect-analyzer-bump.yml index e1616cd1f6e..2db3d7190cc 100644 --- a/data/deprecations/14-8-secure-and-protect-analyzer-bump.yml +++ b/data/deprecations/14-8-secure-and-protect-analyzer-bump.yml @@ -1,8 +1,6 @@ - title: "Secure and Protect analyzer major version update" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: NicoleSchwartz # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-8-secure-ca-python-deprecation.yml b/data/deprecations/14-8-secure-ca-python-deprecation.yml index fab7455fe1c..79d1fb4cd34 100644 --- a/data/deprecations/14-8-secure-ca-python-deprecation.yml +++ b/data/deprecations/14-8-secure-ca-python-deprecation.yml @@ -1,8 +1,6 @@ - title: "Dependency Scanning Python 3.9 and 3.6 image deprecation" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. For those using Dependency Scanning for Python projects, we are deprecating the default `gemnasium-python:2` image which uses Python 3.6 as well as the custom `gemnasium-python:2-python-3.9` image which uses Python 3.9. The new default image as of GitLab 15.0 will be for Python 3.9 as it is a [supported version](https://endoflife.date/python) and 3.6 [is no longer supported](https://endoflife.date/python). diff --git a/data/deprecations/14-9-background-upload.yml b/data/deprecations/14-9-background-upload.yml index e336cb7d39c..ece2f7d0fdc 100644 --- a/data/deprecations/14-9-background-upload.yml +++ b/data/deprecations/14-9-background-upload.yml @@ -1,8 +1,6 @@ - title: "Background upload for object storage" announcement_milestone: "14.9" - announcement_date: "2022-03-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: fzimmer body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-9-deprecate-composer-download-permissions.yml b/data/deprecations/14-9-deprecate-composer-download-permissions.yml index 47e1502c466..22b2bc2b585 100644 --- a/data/deprecations/14-9-deprecate-composer-download-permissions.yml +++ b/data/deprecations/14-9-deprecate-composer-download-permissions.yml @@ -1,8 +1,6 @@ - title: "Permissions change for downloading Composer dependencies" announcement_milestone: "14.9" - announcement_date: "2022-03-22" removal_milestone: "14.10" - removal_date: "2022-04-22" breaking_change: true reporter: trizzi body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-9-deprecate-debian-9.yml b/data/deprecations/14-9-deprecate-debian-9.yml index 7057ceb4176..11ffc640489 100644 --- a/data/deprecations/14-9-deprecate-debian-9.yml +++ b/data/deprecations/14-9-deprecate-debian-9.yml @@ -1,7 +1,5 @@ - title: "Deprecate support for Debian 9" announcement_milestone: "14.9" - announcement_date: "2022-03-22" removal_milestone: "15.1" - removal_date: "2022-06-22" body: | Long term service and support (LTSS) for [Debian 9 Stretch ends in July 2022](https://wiki.debian.org/LTS). Therefore, we will no longer support the Debian 9 distribution for the GitLab package. Users can upgrade to Debian 10 or Debian 11. diff --git a/data/deprecations/14-9-deprecate-permissions-change-package-settings.yml b/data/deprecations/14-9-deprecate-permissions-change-package-settings.yml index 9e6da8c8776..8f2aaf3b743 100644 --- a/data/deprecations/14-9-deprecate-permissions-change-package-settings.yml +++ b/data/deprecations/14-9-deprecate-permissions-change-package-settings.yml @@ -1,8 +1,6 @@ - title: "GraphQL permissions change for Package settings" announcement_milestone: "14.9" - announcement_date: "2022-03-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: trizzi body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-9-deprecate-testcoveragesetting.yml b/data/deprecations/14-9-deprecate-testcoveragesetting.yml index 9532a34b568..1f50aab1c27 100644 --- a/data/deprecations/14-9-deprecate-testcoveragesetting.yml +++ b/data/deprecations/14-9-deprecate-testcoveragesetting.yml @@ -1,8 +1,6 @@ - title: "Test coverage project CI/CD setting" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: jreporter # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-9-deprecation-htpassword-authentication-container-registry.yml b/data/deprecations/14-9-deprecation-htpassword-authentication-container-registry.yml index 0090a960417..9dbe6c24968 100644 --- a/data/deprecations/14-9-deprecation-htpassword-authentication-container-registry.yml +++ b/data/deprecations/14-9-deprecation-htpassword-authentication-container-registry.yml @@ -1,8 +1,6 @@ - title: "htpasswd Authentication for the Container Registry" announcement_milestone: "14.9" - announcement_date: "2022-03-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: trizzi body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-9-global-search-deprecate-user-email-lookup-limit.yml b/data/deprecations/14-9-global-search-deprecate-user-email-lookup-limit.yml index f69ac6e9a82..667995981e2 100644 --- a/data/deprecations/14-9-global-search-deprecate-user-email-lookup-limit.yml +++ b/data/deprecations/14-9-global-search-deprecate-user-email-lookup-limit.yml @@ -1,8 +1,6 @@ - title: "user_email_lookup_limit API field" announcement_milestone: "14.9" - announcement_date: "2022-03-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true reporter: fzimmer body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-9-pages-daemon.yml b/data/deprecations/14-9-pages-daemon.yml index 827daf18c21..1e2a1c998ad 100644 --- a/data/deprecations/14-9-pages-daemon.yml +++ b/data/deprecations/14-9-pages-daemon.yml @@ -1,8 +1,6 @@ - title: "GitLab Pages running as daemon" # The name of the feature to be deprecated announcement_milestone: "14.9" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-03-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: false # If this deprecation is a breaking change, set this value to true reporter: cbalane # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/14-9-system_monitoring.yml b/data/deprecations/14-9-system_monitoring.yml index 10d0a6db422..a621619f375 100644 --- a/data/deprecations/14-9-system_monitoring.yml +++ b/data/deprecations/14-9-system_monitoring.yml @@ -1,8 +1,6 @@ - title: "GitLab self-monitoring project" # The name of the feature to be deprecated announcement_milestone: "14.9" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-03-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: abellucci # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/15-0-ci-cd-settings-update-mutation-renamed.yml b/data/deprecations/15-0-ci-cd-settings-update-mutation-renamed.yml index 4f8fc40fd73..b506816a54b 100644 --- a/data/deprecations/15-0-ci-cd-settings-update-mutation-renamed.yml +++ b/data/deprecations/15-0-ci-cd-settings-update-mutation-renamed.yml @@ -1,8 +1,6 @@ - title: "CiCdSettingsUpdate mutation renamed to ProjectCiCdSettingsUpdate" announcement_milestone: "15.0" - announcement_date: "2022-05-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: pedropombeiro stage: Verify diff --git a/data/deprecations/15-0-deprecate-monitor-logging.yml b/data/deprecations/15-0-deprecate-monitor-logging.yml index 62f889e666f..e7a77dd1c14 100644 --- a/data/deprecations/15-0-deprecate-monitor-logging.yml +++ b/data/deprecations/15-0-deprecate-monitor-logging.yml @@ -1,8 +1,6 @@ - title: "Logging in GitLab" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. The logging features in GitLab allow users to install the ELK stack (Elasticsearch, Logstash, and Kibana) to aggregate and manage application logs. Users can search for relevant logs in GitLab. However, since deprecating certificate-based integration with Kubernetes clusters and GitLab Managed Apps, we don't have a recommended solution for logging within GitLab. For more information, you can follow the issue for [integrating Opstrace with GitLab](https://gitlab.com/groups/gitlab-org/-/epics/6976). diff --git a/data/deprecations/15-0-deprecate-monitor-metrics.yml b/data/deprecations/15-0-deprecate-monitor-metrics.yml index 652845f0090..e10dba0c8e0 100644 --- a/data/deprecations/15-0-deprecate-monitor-metrics.yml +++ b/data/deprecations/15-0-deprecate-monitor-metrics.yml @@ -1,8 +1,6 @@ - title: "Monitor performance metrics through Prometheus" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. By displaying data stored in a Prometheus instance, GitLab allows users to view performance metrics. GitLab also displays visualizations of these metrics in dashboards. The user can connect to a previously-configured external Prometheus instance, or set up Prometheus as a GitLab Managed App. diff --git a/data/deprecations/15-0-deprecate-monitor-tracing.yml b/data/deprecations/15-0-deprecate-monitor-tracing.yml index 3989ea2ed68..5a7e06a96e9 100644 --- a/data/deprecations/15-0-deprecate-monitor-tracing.yml +++ b/data/deprecations/15-0-deprecate-monitor-tracing.yml @@ -1,8 +1,6 @@ - title: "Tracing in GitLab" # The name of the feature to be deprecated announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-01-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. Tracing in GitLab is an integration with Jaeger, an open-source end-to-end distributed tracing system. GitLab users can navigate to their Jaeger instance to gain insight into the performance of a deployed application, tracking each function or microservice that handles a given request. Tracing in GitLab is deprecated in GitLab 14.7, and scheduled for removal in 15.0. To track work on a possible replacement, see the issue for [Opstrace integration with GitLab](https://gitlab.com/groups/gitlab-org/-/epics/6976). diff --git a/data/deprecations/15-0-deprecate-postgresql-12.yml b/data/deprecations/15-0-deprecate-postgresql-12.yml index 1cf463d9411..ec8e32f1c1d 100644 --- a/data/deprecations/15-0-deprecate-postgresql-12.yml +++ b/data/deprecations/15-0-deprecate-postgresql-12.yml @@ -1,8 +1,6 @@ - title: "PostgreSQL 12 deprecated" announcement_milestone: "15.0" - announcement_date: "2022-05-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: iroussos body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/15-0-instance-statistics-graphql-node-removal.yml b/data/deprecations/15-0-instance-statistics-graphql-node-removal.yml index 5d2527094f9..53a9a2dda5d 100644 --- a/data/deprecations/15-0-instance-statistics-graphql-node-removal.yml +++ b/data/deprecations/15-0-instance-statistics-graphql-node-removal.yml @@ -1,8 +1,6 @@ - title: "Querying Usage Trends via the `instanceStatisticsMeasurements` GraphQL node" announcement_milestone: "14.8" - announcement_date: "2022-02-22" removal_milestone: "15.0" - removal_date: "2022-05-22" breaking_change: true body: | # Do not modify this line, instead modify the lines below. The `instanceStatisticsMeasurements` GraphQL node has been renamed to `usageTrendsMeasurements` in 13.10 and the old field name has been marked as deprecated. To fix the existing GraphQL queries, replace `instanceStatisticsMeasurements` with `usageTrendsMeasurements`. diff --git a/data/deprecations/15-0-oauth-noexpiry.yml b/data/deprecations/15-0-oauth-noexpiry.yml index 88ccb7702b8..e27ac4d8725 100644 --- a/data/deprecations/15-0-oauth-noexpiry.yml +++ b/data/deprecations/15-0-oauth-noexpiry.yml @@ -1,8 +1,6 @@ - title: "OAuth tokens without expiration" # The name of the feature to be deprecated announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. By default, all new applications expire access tokens after 2 hours. In GitLab 14.2 and earlier, OAuth access tokens diff --git a/data/deprecations/15-0-oauth.yml b/data/deprecations/15-0-oauth.yml index b7af6b51afc..db962abfe87 100644 --- a/data/deprecations/15-0-oauth.yml +++ b/data/deprecations/15-0-oauth.yml @@ -1,8 +1,6 @@ - title: "OAuth implicit grant" # The name of the feature to be deprecated announcement_milestone: "14.0" # The milestone when this feature was first announced as deprecated. - announcement_date: "2021-06-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.0" # The milestone when this feature is planned to be removed - removal_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. The OAuth implicit grant authorization flow will be removed in our next major release, GitLab 15.0. Any applications that use OAuth implicit grant should switch to alternative [supported OAuth flows](https://docs.gitlab.com/ee/api/oauth2.html). diff --git a/data/deprecations/15-0-runner-status-legacy-mode.yml b/data/deprecations/15-0-runner-status-legacy-mode.yml index dfdbf6e5f58..dcc74703e49 100644 --- a/data/deprecations/15-0-runner-status-legacy-mode.yml +++ b/data/deprecations/15-0-runner-status-legacy-mode.yml @@ -1,8 +1,6 @@ - title: "GraphQL API legacyMode argument for Runner status" # The name of the feature to be deprecated announcement_milestone: "15.0" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true reporter: pedropombeiro # GitLab username of the person reporting the deprecation body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/15-1-deprecate-maintainer_note.yml b/data/deprecations/15-1-deprecate-maintainer_note.yml index fc35244827d..175f85e997f 100644 --- a/data/deprecations/15-1-deprecate-maintainer_note.yml +++ b/data/deprecations/15-1-deprecate-maintainer_note.yml @@ -1,8 +1,6 @@ - title: "REST API Runner maintainer_note" # (required) The name of the feature to be deprecated announcement_milestone: "15.1" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-06-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. 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 diff --git a/data/deprecations/15-1-jira-github-enterprise-dvcs.yml b/data/deprecations/15-1-jira-github-enterprise-dvcs.yml index 69606c3dd2d..88b1b41953c 100644 --- a/data/deprecations/15-1-jira-github-enterprise-dvcs.yml +++ b/data/deprecations/15-1-jira-github-enterprise-dvcs.yml @@ -1,8 +1,6 @@ - title: "Jira GitHub Enterprise DVCS integration" # The name of the feature to be deprecated announcement_milestone: "15.1" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-06-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # If this deprecation is a breaking change, set this value to true body: | # Do not modify this line, instead modify the lines below. The [Jira DVCS Connector](https://docs.gitlab.com/ee/integration/jira/dvcs.html) (which enables the [Jira Development Panel](https://support.atlassian.com/jira-software-cloud/docs/view-development-information-for-an-issue/)), will no longer support Jira Cloud users starting with GitLab 16.0. The [GitLab for Jira App](https://docs.gitlab.com/ee/integration/jira/connect-app.html) has always been recommended for Jira Cloud users, and it will be required instead of the DVCS connector. If you are a Jira Cloud user, we recommended you begin migrating to the GitLab for Jira App. diff --git a/data/deprecations/15-1-pipelinesecurityreportfinding-name.yml b/data/deprecations/15-1-pipelinesecurityreportfinding-name.yml index aa6b9ea06db..a77b39c3c7e 100644 --- a/data/deprecations/15-1-pipelinesecurityreportfinding-name.yml +++ b/data/deprecations/15-1-pipelinesecurityreportfinding-name.yml @@ -1,8 +1,6 @@ - title: "PipelineSecurityReportFinding name GraphQL field" # (required) The name of the feature to be deprecated announcement_milestone: "15.1" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-06-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: matt_wilson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml b/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml index e127a258f4f..7e444ed1436 100644 --- a/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml +++ b/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml @@ -1,8 +1,6 @@ - title: "PipelineSecurityReportFinding projectFingerprint GraphQL field" # (required) The name of the feature to be deprecated announcement_milestone: "15.1" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-06-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: matt_wilson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-1-project-pipeline-securityReportFindings.yml b/data/deprecations/15-1-project-pipeline-securityReportFindings.yml index bb46a9b90dd..1bb60adb812 100644 --- a/data/deprecations/15-1-project-pipeline-securityReportFindings.yml +++ b/data/deprecations/15-1-project-pipeline-securityReportFindings.yml @@ -1,8 +1,6 @@ - title: "project.pipeline.securityReportFindings GraphQL query" # (required) The name of the feature to be deprecated announcement_milestone: "15.1" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-06-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: matt_wilson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-2-deprecation-vulnerability-report-state-sort.yml b/data/deprecations/15-2-deprecation-vulnerability-report-state-sort.yml index 2bcf1e114b4..4bec4ff1fd0 100644 --- a/data/deprecations/15-2-deprecation-vulnerability-report-state-sort.yml +++ b/data/deprecations/15-2-deprecation-vulnerability-report-state-sort.yml @@ -1,8 +1,6 @@ - title: "Vulnerability Report sort by State" # (required) The name of the feature to be deprecated announcement_milestone: "15.0" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-05-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.3" # (required) The milestone when this feature is planned to be removed - removal_date: "2022-08-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: false # (required) If this deprecation is a breaking change, set this value to true reporter: matt_wilson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-2-job_age-deprecation.yml b/data/deprecations/15-2-job_age-deprecation.yml index b550f10920e..c4b2d5bb683 100644 --- a/data/deprecations/15-2-job_age-deprecation.yml +++ b/data/deprecations/15-2-job_age-deprecation.yml @@ -19,9 +19,7 @@ # - title: "Remove `job_age` parameter from `POST /jobs/request` Runner endpoint" # (required) The name of the feature to be deprecated announcement_milestone: "15.2" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-07-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: jheimbuck_gl # (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 @@ -34,7 +32,6 @@ # OPTIONAL FIELDS # end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: # (optional) The date of the milestone release 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: # (optional) This is a link to the current documentation page image_url: # (optional) This is a link to a thumbnail image depicting the feature diff --git a/data/deprecations/15-3-deprecate-redis-5.yml b/data/deprecations/15-3-deprecate-redis-5.yml index b94539061e5..da970bbef3b 100644 --- a/data/deprecations/15-3-deprecate-redis-5.yml +++ b/data/deprecations/15-3-deprecate-redis-5.yml @@ -1,8 +1,6 @@ - title: "Redis 5 deprecated" # (required) The name of the feature to be deprecated announcement_milestone: "15.3" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-08-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: tnir stage: Enablement @@ -12,5 +10,4 @@ Redis 5 has reached the end of life in April 2022 and will no longer be supported as of GitLab 15.6. If you are using your own Redis 5.0 instance, you should upgrade it to Redis 6.0 or higher before upgrading to GitLab 16.0 or higher. end_of_support_milestone: "15.6" - end_of_support_date: "2022-11-22" documentation_url: https://docs.gitlab.com/ee/install/requirements.html diff --git a/data/deprecations/15-3-deprecation-vulnerability-report-tool-sort.yml b/data/deprecations/15-3-deprecation-vulnerability-report-tool-sort.yml index a3965f7d0cb..4650173fcc6 100644 --- a/data/deprecations/15-3-deprecation-vulnerability-report-tool-sort.yml +++ b/data/deprecations/15-3-deprecation-vulnerability-report-tool-sort.yml @@ -1,8 +1,6 @@ - title: "Vulnerability Report sort by Tool" # (required) The name of the feature to be deprecated announcement_milestone: "15.1" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-06-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.3" # (required) The milestone when this feature is planned to be removed - removal_date: "2022-08-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: false # (required) If this deprecation is a breaking change, set this value to true reporter: matt_wilson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-3-omniauth-cas3.yml b/data/deprecations/15-3-omniauth-cas3.yml index 70290a3fc51..070e1e24431 100644 --- a/data/deprecations/15-3-omniauth-cas3.yml +++ b/data/deprecations/15-3-omniauth-cas3.yml @@ -3,9 +3,7 @@ # - title: "CAS OmniAuth provider" # (required) The name of the feature to be deprecated announcement_milestone: "15.3" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-08-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: hsutor # (required) GitLab username of the person reporting the deprecation stage: Manage # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-3-omniauth-crowd.yml b/data/deprecations/15-3-omniauth-crowd.yml index e14b40a1505..ae883bd9140 100644 --- a/data/deprecations/15-3-omniauth-crowd.yml +++ b/data/deprecations/15-3-omniauth-crowd.yml @@ -3,9 +3,7 @@ # - title: "Atlassian Crowd OmniAuth provider" # (required) The name of the feature to be deprecated announcement_milestone: "15.3" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-08-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: hsutor # (required) GitLab username of the person reporting the deprecation stage: Manage # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-3-pipeline_activity_limit.yml b/data/deprecations/15-3-pipeline_activity_limit.yml index 5374e2d7972..ea7d0476910 100644 --- a/data/deprecations/15-3-pipeline_activity_limit.yml +++ b/data/deprecations/15-3-pipeline_activity_limit.yml @@ -19,9 +19,7 @@ # - title: "Maximum number of active pipelines per project limit (`ci_active_pipelines`)" # (required) The name of the feature to be deprecated announcement_milestone: "15.3" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-08-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: false # (required) If this deprecation is a breaking change, set this value to true reporter: jheimbuck_gl # (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 diff --git a/data/deprecations/15-3-vulnerabilityFindingDismiss-mutation.yml b/data/deprecations/15-3-vulnerabilityFindingDismiss-mutation.yml index 691196a892b..1050b0e8327 100644 --- a/data/deprecations/15-3-vulnerabilityFindingDismiss-mutation.yml +++ b/data/deprecations/15-3-vulnerabilityFindingDismiss-mutation.yml @@ -3,9 +3,7 @@ # - title: "Use of `id` field in vulnerabilityFindingDismiss mutation" # (required) The name of the feature to be deprecated announcement_milestone: "15.3" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-08-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: 2023-05-22 # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: matt_wilson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth @@ -16,7 +14,6 @@ # OPTIONAL FIELDS # end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: # (optional) The date of the milestone release 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/graphql/reference/index.html#mutationvulnerabilityfindingdismiss image_url: # (optional) This is a link to a thumbnail image depicting the feature diff --git a/data/deprecations/15-4-confidence-field-in-graphql.yml b/data/deprecations/15-4-confidence-field-in-graphql.yml index 90e9a452a43..7f6e0d64c2e 100644 --- a/data/deprecations/15-4-confidence-field-in-graphql.yml +++ b/data/deprecations/15-4-confidence-field-in-graphql.yml @@ -1,8 +1,6 @@ - title: "Vulnerability confidence field" announcement_milestone: "15.4" - announcement_date: "2022-09-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: matt_wilson stage: govern diff --git a/data/deprecations/15-4-create-deprecation-draft-quick-action-toggle.yml b/data/deprecations/15-4-create-deprecation-draft-quick-action-toggle.yml index 8cb2a5a0b93..e68286960aa 100644 --- a/data/deprecations/15-4-create-deprecation-draft-quick-action-toggle.yml +++ b/data/deprecations/15-4-create-deprecation-draft-quick-action-toggle.yml @@ -1,8 +1,6 @@ - title: "Toggle behavior of `/draft` quick action in merge requests" # (required) The name of the feature to be deprecated announcement_milestone: "15.4" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-09-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: phikai # (required) GitLab username of the person reporting the deprecation stage: create # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-4-cs-docker-variables.yml b/data/deprecations/15-4-cs-docker-variables.yml index 9bd0acff5b0..9cdf23f4112 100644 --- a/data/deprecations/15-4-cs-docker-variables.yml +++ b/data/deprecations/15-4-cs-docker-variables.yml @@ -1,8 +1,6 @@ - title: "Container Scanning variables that reference Docker" announcement_milestone: "15.4" - announcement_date: "2022-09-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: sam.white stage: secure diff --git a/data/deprecations/15-4-deprecate-bundled-grafana.yml b/data/deprecations/15-4-deprecate-bundled-grafana.yml index 1a78691c475..8bc2cf84031 100644 --- a/data/deprecations/15-4-deprecate-bundled-grafana.yml +++ b/data/deprecations/15-4-deprecate-bundled-grafana.yml @@ -1,8 +1,6 @@ - title: "Bundled Grafana deprecated" announcement_milestone: "15.3" - announcement_date: "2022-08-22" removal_milestone: "15.4" - removal_date: "2022-09-22" breaking_change: false reporter: dorrino body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/15-4-non-expiring-access-tokens.yml b/data/deprecations/15-4-non-expiring-access-tokens.yml index a302c39bde6..651c170ae4b 100644 --- a/data/deprecations/15-4-non-expiring-access-tokens.yml +++ b/data/deprecations/15-4-non-expiring-access-tokens.yml @@ -1,8 +1,6 @@ - title: "Non-expiring access tokens" announcement_milestone: "15.4" - announcement_date: "2022-09-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: hsutor body: | # Do not modify this line, instead modify the lines below. diff --git a/data/deprecations/15-4-starboard-directive.yml b/data/deprecations/15-4-starboard-directive.yml index e83f240eef4..2a8e0cfe212 100644 --- a/data/deprecations/15-4-starboard-directive.yml +++ b/data/deprecations/15-4-starboard-directive.yml @@ -1,8 +1,6 @@ - title: "Starboard directive in the config for the GitLab Agent for Kubernetes" announcement_milestone: "15.4" - announcement_date: "2022-09-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: sam.white stage: secure diff --git a/data/deprecations/15-5-confidential-field-on-notes.yml b/data/deprecations/15-5-confidential-field-on-notes.yml index ad68eecf04e..f9a9afba0ed 100644 --- a/data/deprecations/15-5-confidential-field-on-notes.yml +++ b/data/deprecations/15-5-confidential-field-on-notes.yml @@ -1,8 +1,6 @@ - title: 'GraphQL field `confidential` changed to `internal` on notes' announcement_milestone: '15.5' - announcement_date: '2022-10-22' removal_milestone: '16.0' - removal_date: '2023-05-22' breaking_change: true reporter: nicolasdular stage: plan diff --git a/data/deprecations/15-5-disable-file-type-var-expansion-ci-pipeline.yml b/data/deprecations/15-5-disable-file-type-var-expansion-ci-pipeline.yml index fe05cbfd62f..61f60ece3d4 100644 --- a/data/deprecations/15-5-disable-file-type-var-expansion-ci-pipeline.yml +++ b/data/deprecations/15-5-disable-file-type-var-expansion-ci-pipeline.yml @@ -1,8 +1,6 @@ - title: "File Type variable expansion in `.gitlab-ci.yml`" # (required) The name of the feature to be deprecated announcement_milestone: "15.5" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-10-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "15.7" # (required) The milestone when this feature is planned to be removed - removal_date: "2022-12-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: DarrenEastman # (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 diff --git a/data/deprecations/15-5-vulnerabilityFindingDismiss-mutation.yml b/data/deprecations/15-5-vulnerabilityFindingDismiss-mutation.yml index 56479933f94..cd9fa8796df 100644 --- a/data/deprecations/15-5-vulnerabilityFindingDismiss-mutation.yml +++ b/data/deprecations/15-5-vulnerabilityFindingDismiss-mutation.yml @@ -1,8 +1,6 @@ - title: "vulnerabilityFindingDismiss GraphQL mutation" announcement_milestone: "15.5" - announcement_date: "2022-10-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: matt_wilson stage: govern diff --git a/data/deprecations/15-6-deprecate-config-fields-runner-helm-chart.yml b/data/deprecations/15-6-deprecate-config-fields-runner-helm-chart.yml index 5690bc0763f..b93e2513c68 100644 --- a/data/deprecations/15-6-deprecate-config-fields-runner-helm-chart.yml +++ b/data/deprecations/15-6-deprecate-config-fields-runner-helm-chart.yml @@ -1,8 +1,6 @@ - title: "Configuration fields in GitLab Runner Helm Chart" # (required) The name of the feature to be deprecated announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-11-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: ratchade # (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 @@ -10,4 +8,3 @@ body: | # (required) Do not modify this line, instead modify the lines below. From GitLab 13.6, users can [specify any runner configuration in the GitLab Runner Helm chart](https://docs.gitlab.com/runner/install/kubernetes.html). When we implemented this feature, we deprecated values in the GitLab Helm Chart configuration that were specific to GitLab Runner. These fields are deprecated and we plan to remove them in v1.0 of the GitLab Runner Helm chart. end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. diff --git a/data/deprecations/15-6-deprecate-merge_status-api-field.yml b/data/deprecations/15-6-deprecate-merge_status-api-field.yml index 7d7b160d6bd..48b7824a13d 100644 --- a/data/deprecations/15-6-deprecate-merge_status-api-field.yml +++ b/data/deprecations/15-6-deprecate-merge_status-api-field.yml @@ -1,8 +1,6 @@ - title: "merge_status API field" announcement_milestone: "15.6" - announcement_date: "2022-11-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true body: | The `merge_status` field in the [merge request API](https://docs.gitlab.com/ee/api/merge_requests.html#merge-status) has been deprecated in favor of the `detailed_merge_status` field which more correctly identifies all of the potential statuses that a merge request can be in. API users are encouraged to use the new `detailed_merge_status` field instead. The `merge_status` field will be removed in v5 of the GitLab REST API. diff --git a/data/deprecations/15-6-deprecate-post-api-v4-runner.yml b/data/deprecations/15-6-deprecate-post-api-v4-runner.yml index 07590296096..fd1e13321eb 100644 --- a/data/deprecations/15-6-deprecate-post-api-v4-runner.yml +++ b/data/deprecations/15-6-deprecate-post-api-v4-runner.yml @@ -1,8 +1,6 @@ - title: "Registration tokens and server-side runner arguments in `POST /api/v4/runners` endpoint" # (required) The name of the feature to be deprecated announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-11-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2024-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. 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 @@ -19,6 +17,5 @@ [runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens). 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. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release 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-6-deprecate-runner-reg-token-helm.yml b/data/deprecations/15-6-deprecate-runner-reg-token-helm.yml index f93ffb05014..9df458024d4 100644 --- a/data/deprecations/15-6-deprecate-runner-reg-token-helm.yml +++ b/data/deprecations/15-6-deprecate-runner-reg-token-helm.yml @@ -1,8 +1,6 @@ - title: "`runnerRegistrationToken` parameter for GitLab Runner Helm Chart" # (required) The name of the feature to be deprecated announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-11-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2024-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. 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 @@ -16,4 +14,3 @@ - A unique system ID saved to the `config.toml`, which will ensure traceability between jobs and runners. From GitLab 17.0 and later, the methods to register runners introduced 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. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. diff --git a/data/deprecations/15-6-deprecate-runner-register-command.yml b/data/deprecations/15-6-deprecate-runner-register-command.yml index d2633ffacc9..709edc0afa2 100644 --- a/data/deprecations/15-6-deprecate-runner-register-command.yml +++ b/data/deprecations/15-6-deprecate-runner-register-command.yml @@ -1,8 +1,6 @@ - title: "Registration tokens and server-side runner arguments in `gitlab-runner register` command" # (required) The name of the feature to be deprecated announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-11-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2024-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. 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 @@ -16,4 +14,3 @@ [runner authentication token](https://docs.gitlab.com/ee/security/token_overview.html#runner-authentication-tokens-also-called-runner-tokens) to the `gitlab-runner register` command. end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. diff --git a/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml b/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml index ec128c1aad1..4aed53f5ffd 100644 --- a/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml +++ b/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml @@ -1,8 +1,6 @@ - title: "GitLab Runner registration token in Runner Operator" # (required) The name of the feature to be deprecated announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-11-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2024-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: ratchade # (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 @@ -10,7 +8,6 @@ body: | # (required) Do not modify this line, instead modify the lines below. The [`runner-registration-token`](https://docs.gitlab.com/runner/install/operator.html#install-the-kubernetes-operator) parameter that uses the OpenShift and k8s Vanilla Operator to install a runner on Kubernetes is deprecated. GitLab plans to introduce a new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/) in GitLab 15.8, which introduces a new method for registering runners and eliminates the legacy runner registration token. end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release 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/runner/install/operator.html#install-the-kubernetes-operator # (optional) This is a link to the current documentation page image_url: # (optional) This is a link to a thumbnail image depicting the feature diff --git a/data/deprecations/15-7-dast-api-variable-deprecation.yml b/data/deprecations/15-7-dast-api-variable-deprecation.yml index 724c24cf440..7f1e25d3541 100644 --- a/data/deprecations/15-7-dast-api-variable-deprecation.yml +++ b/data/deprecations/15-7-dast-api-variable-deprecation.yml @@ -1,8 +1,6 @@ - title: "DAST API variables" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: derekferguson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth 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 17336c0d2c8..3f77a9f3d8f 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,8 +1,6 @@ - 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. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. 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 @@ -22,6 +20,5 @@ [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. end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release 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-7-deprecate-dast-api-scan-in-dast-template.yml b/data/deprecations/15-7-deprecate-dast-api-scan-in-dast-template.yml index 172683dcb86..805deff50c7 100644 --- a/data/deprecations/15-7-deprecate-dast-api-scan-in-dast-template.yml +++ b/data/deprecations/15-7-deprecate-dast-api-scan-in-dast-template.yml @@ -1,8 +1,6 @@ - title: "DAST API scans using DAST template is deprecated" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: derekferguson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-7-deprecate-dast-zap-variables.yml b/data/deprecations/15-7-deprecate-dast-zap-variables.yml index 764d74b00bb..b57a27fa126 100644 --- a/data/deprecations/15-7-deprecate-dast-zap-variables.yml +++ b/data/deprecations/15-7-deprecate-dast-zap-variables.yml @@ -1,8 +1,6 @@ - title: "DAST ZAP advanced configuration variables deprecation" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: derekferguson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml b/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml index d535e58fc36..b1a8e2e3999 100644 --- a/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml +++ b/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml @@ -1,8 +1,6 @@ - title: "The `gitlab-runner exec` command is deprecated" # (required) The name of the feature to be deprecated announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: DarrenEastman # (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 @@ -10,7 +8,6 @@ body: | # (required) Do not modify this line, instead modify the lines below. The [`gitlab-runner exec`](https://docs.gitlab.com/runner/commands/#gitlab-runner-exec) command is deprecated and will be fully removed from GitLab Runner in 16.0. The `gitlab-runner exec` feature was initially developed to provide the ability to validate a GitLab CI pipeline on a local system without needing to commit the updates to a GitLab instance. However, with the continued evolution of GitLab CI, replicating all GitLab CI features into `gitlab-runner exec` was no longer viable. Pipeline syntax and validation [simulation](https://docs.gitlab.com/ee/ci/pipeline_editor/#simulate-a-cicd-pipeline) are available in the GitLab pipeline editor. end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. # OTHER OPTIONAL FIELDS diff --git a/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml b/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml index 2b747a2fead..ce26849879a 100644 --- a/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml +++ b/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml @@ -1,8 +1,6 @@ - title: "KAS Metrics Port in GitLab Helm Chart" # (required) The name of the feature to be deprecated announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: timofurrer # (required) GitLab username of the person reporting the deprecation stage: Configure # (required) String value of the stage that the feature was created in. e.g., Growth @@ -11,7 +9,6 @@ The `gitlab.kas.metrics.port` has been deprecated in favor of the new `gitlab.kas.observability.port` configuration field for the [GitLab Helm Chart](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/2839). This port is used for much more than just metrics, which warranted this change to avoid confusion in configuration. end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. # OTHER OPTIONAL FIELDS diff --git a/data/deprecations/15-7-deprecate-phabricator-importer.yml b/data/deprecations/15-7-deprecate-phabricator-importer.yml index 42958a05b1d..fa2c643e9b7 100644 --- a/data/deprecations/15-7-deprecate-phabricator-importer.yml +++ b/data/deprecations/15-7-deprecate-phabricator-importer.yml @@ -1,8 +1,6 @@ - title: 'The Phabricator task importer is deprecated' announcement_milestone: '15.7' - announcement_date: '2022-12-22' removal_milestone: '16.0' - removal_date: '2023-05-22' breaking_change: true body: | The [Phabricator task importer](https://docs.gitlab.com/ee/user/project/import/phabricator.html) is being deprecated. Phabricator itself as a project is no longer actively maintained since June 1, 2021. We haven't observed imports using this tool. There has been no activity on the open related issues on GitLab. diff --git a/data/deprecations/15-7-deprecate-shimo-integration.yml b/data/deprecations/15-7-deprecate-shimo-integration.yml index 11ccbae41de..95bb4ec141d 100644 --- a/data/deprecations/15-7-deprecate-shimo-integration.yml +++ b/data/deprecations/15-7-deprecate-shimo-integration.yml @@ -1,8 +1,6 @@ - title: "Shimo integration" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "The maximum number of characters in a job name will be limited to 250." announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: arturoherrero # (required) GitLab username of the person reporting the deprecation stage: Manage # (required) String value of the stage that the feature was created in. e.g., Growth @@ -17,7 +15,6 @@ # in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR. # end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. # # OTHER OPTIONAL FIELDS # diff --git a/data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml b/data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml index 4dcefc617c0..9e567322eca 100644 --- a/data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml +++ b/data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml @@ -1,8 +1,6 @@ - title: 'Single merge request changes API endpoint' announcement_milestone: '15.7' - announcement_date: '2022-12-22' removal_milestone: '16.0' - removal_date: '2023-05-22' breaking_change: true body: | The endpoint to get [changes from a single merge request](https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-changes) has been deprecated in favor the [list merge request diffs](https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-request-diffs) endpoint. API users are encouraged to switch to the new diffs endpoint instead. The `changes from a single merge request` endpoint will be removed in v5 of the GitLab REST API. diff --git a/data/deprecations/15-7-deprecate-zentao-integration.yml b/data/deprecations/15-7-deprecate-zentao-integration.yml index 5fc7e9da5fc..0925be8de60 100644 --- a/data/deprecations/15-7-deprecate-zentao-integration.yml +++ b/data/deprecations/15-7-deprecate-zentao-integration.yml @@ -1,8 +1,6 @@ - title: "ZenTao integration" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "The maximum number of characters in a job name will be limited to 250." announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: arturoherrero # (required) GitLab username of the person reporting the deprecation stage: Manage # (required) String value of the stage that the feature was created in. e.g., Growth @@ -17,7 +15,6 @@ # in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR. # end_of_support_milestone: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: "2023-05-22" # (optional) The date of the milestone release when support for this feature will end. # # OTHER OPTIONAL FIELDS # diff --git a/data/deprecations/15-7-enable-period-in-terraform-state-name.yml b/data/deprecations/15-7-enable-period-in-terraform-state-name.yml index e9db80ea34c..f56505ed2bc 100644 --- a/data/deprecations/15-7-enable-period-in-terraform-state-name.yml +++ b/data/deprecations/15-7-enable-period-in-terraform-state-name.yml @@ -1,8 +1,6 @@ - title: "Support for periods (`.`) in Terraform state names might break existing states" announcement_milestone: "15.7" - announcement_date: "2022-12-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: nagyv-gitlab stage: configure @@ -20,6 +18,5 @@ To use the full state name, including the period, [migrate to the full state file](https://docs.gitlab.com/ee/user/infrastructure/iac/terraform_state.html#migrate-to-a-gitlab-managed-terraform-state). end_of_support_milestone: 16.0 - end_of_support_date: 2023-05-22 tiers: [Free, Silver, Gold, Core, Premium, Ultimate] documentation_url: 'https://docs.gitlab.com/ee/user/infrastructure/iac/troubleshooting.html#troubleshooting-terraform-state' diff --git a/data/deprecations/15-8-azure-storage-driver-root-prefix.yml b/data/deprecations/15-8-azure-storage-driver-root-prefix.yml index 888196ab499..16f848c0193 100644 --- a/data/deprecations/15-8-azure-storage-driver-root-prefix.yml +++ b/data/deprecations/15-8-azure-storage-driver-root-prefix.yml @@ -1,8 +1,6 @@ - title: "Azure Storage Driver defaults to the correct root prefix" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: trizzi # (required) GitLab username of the person reporting the deprecation stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-8-conan-search-limited-to-project.yml b/data/deprecations/15-8-conan-search-limited-to-project.yml index e99e0a34ee8..872652be69e 100644 --- a/data/deprecations/15-8-conan-search-limited-to-project.yml +++ b/data/deprecations/15-8-conan-search-limited-to-project.yml @@ -1,8 +1,6 @@ - title: "Conan project-level search endpoint returns project-specific results" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: trizzi # (required) GitLab username of the person reporting the deprecation stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-8-dast-report-variables-deprecation.yml b/data/deprecations/15-8-dast-report-variables-deprecation.yml index 21416e0d009..28a2c366c44 100644 --- a/data/deprecations/15-8-dast-report-variables-deprecation.yml +++ b/data/deprecations/15-8-dast-report-variables-deprecation.yml @@ -1,8 +1,6 @@ - title: "DAST report variables deprecation" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: derekferguson # (required) GitLab username of the person reporting the deprecation stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-8-dependency-scanning-java-versions.yml b/data/deprecations/15-8-dependency-scanning-java-versions.yml index d82ad1fd05e..ad8f87a7fbe 100644 --- a/data/deprecations/15-8-dependency-scanning-java-versions.yml +++ b/data/deprecations/15-8-dependency-scanning-java-versions.yml @@ -1,8 +1,6 @@ - title: "Dependency Scanning support for Java 13, 14, 15, and 16" announcement_milestone: "15.8" - announcement_date: "2023-01-22" removal_milestone: "16.0" - removal_date: "2023-05-22" breaking_change: true reporter: sam.white stage: secure diff --git a/data/deprecations/15-8-pull-through-cache-container-registry.yml b/data/deprecations/15-8-pull-through-cache-container-registry.yml index c5561e72887..60a759517e0 100644 --- a/data/deprecations/15-8-pull-through-cache-container-registry.yml +++ b/data/deprecations/15-8-pull-through-cache-container-registry.yml @@ -1,8 +1,6 @@ - title: "Container Registry pull-through cache" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: trizzi # (required) GitLab username of the person reporting the deprecation stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-8-raise-permissions-settings-package-stage.yml b/data/deprecations/15-8-raise-permissions-settings-package-stage.yml index deafda38369..66abbd1316d 100644 --- a/data/deprecations/15-8-raise-permissions-settings-package-stage.yml +++ b/data/deprecations/15-8-raise-permissions-settings-package-stage.yml @@ -1,8 +1,6 @@ - title: "Owner permissions are required to update Package settings" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: trizzi # (required) GitLab username of the person reporting the deprecation stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/15-8-third-party-registries.yml b/data/deprecations/15-8-third-party-registries.yml index 6aceafaa229..6da3e550bb3 100644 --- a/data/deprecations/15-8-third-party-registries.yml +++ b/data/deprecations/15-8-third-party-registries.yml @@ -1,8 +1,6 @@ - title: "Support for third party registries" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead. announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: trizzi # (required) GitLab username of the person reporting the deprecation stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth diff --git a/data/deprecations/16-0-post-ci-lint.yml b/data/deprecations/16-0-post-ci-lint.yml index 3bea4201bc0..42c9d29a3d5 100644 --- a/data/deprecations/16-0-post-ci-lint.yml +++ b/data/deprecations/16-0-post-ci-lint.yml @@ -18,9 +18,7 @@ # - title: "`POST ci/lint` API endpoint deprecated" # (required) The name of the feature to be deprecated announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "2022-12-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed - removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) If this deprecation is a breaking change, set this value to true reporter: dhershkovitch # (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 @@ -34,7 +32,6 @@ # 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. - end_of_support_date: # (optional) The date of the milestone release when support for this feature will end. # # OTHER OPTIONAL FIELDS # diff --git a/data/deprecations/16-0-security_report_schemas_v14-x-x.yml b/data/deprecations/16-0-security_report_schemas_v14-x-x.yml index 5001bd490b0..0cc6a10ca76 100644 --- a/data/deprecations/16-0-security_report_schemas_v14-x-x.yml +++ b/data/deprecations/16-0-security_report_schemas_v14-x-x.yml @@ -3,9 +3,7 @@ # - title: "Security report schemas version 14.x.x" # (required) the name of the feature being removed. Avoid the words `deprecation`, `deprecate`, `removal`, and `remove` in this field because these are implied. announcement_milestone: "15.3" # (required) The milestone when this feature was deprecated. - announcement_date: "2022-08-22" # (required) The date of the milestone release when this feature was deprecated. This should almost always be the 22nd of a month (YYYY-MM-DD), unless you did an out of band blog post. removal_milestone: "16.0" # (required) The milestone when this feature is being removed. - removal_date: "2023-05-22" # (required) This should almost always be the 22nd of a month (YYYY-MM-DD), the date of the milestone release when this feature will be removed. breaking_change: true # (required) Change to true if this removal is a breaking change. reporter: matt_wilson # (required) GitLab username of the person reporting the removal stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth @@ -22,7 +20,6 @@ # OPTIONAL FIELDS # end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end. - end_of_support_date: # (optional) The date of the milestone release when support for this feature will end. tiers: [Ultimate] # (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: # (optional) This is a link to the current documentation page image_url: # (optional) This is a link to a thumbnail image depicting the feature diff --git a/data/deprecations/distribution_deprecations_14-4.yml b/data/deprecations/distribution_deprecations_14-4.yml index 8dc948918c1..d8b8de929d7 100644 --- a/data/deprecations/distribution_deprecations_14-4.yml +++ b/data/deprecations/distribution_deprecations_14-4.yml @@ -1,7 +1,5 @@ - title: "Move `custom_hooks_dir` setting from GitLab Shell to Gitaly" # The name of the feature to be deprecated announcement_milestone: "14.9" # The milestone when this feature was first announced as deprecated. - announcement_date: "2022-03-22" removal_milestone: "15.0" # the milestone when this feature is planned to be removed - removal_date: "2022-05-22" body: | # Do not modify this line, instead modify the lines below. The [`custom_hooks_dir`](https://docs.gitlab.com/ee/administration/server_hooks.html#create-a-global-server-hook-for-all-repositories) setting is now configured in Gitaly, and will be removed from GitLab Shell in GitLab 15.0. diff --git a/data/deprecations/templates/_deprecation_template.md.erb b/data/deprecations/templates/_deprecation_template.md.erb index 7712790d166..89e14c20050 100644 --- a/data/deprecations/templates/_deprecation_template.md.erb +++ b/data/deprecations/templates/_deprecation_template.md.erb @@ -56,9 +56,9 @@ sole discretion of GitLab Inc. ### <%= deprecation["title"] %> <% if deprecation["end_of_support_milestone"] -%> -End of Support: GitLab <span class="removal-milestone"><%= deprecation["end_of_support_milestone"]%></span> (<%= deprecation["end_of_support_date"]%>)<br /> +End of Support: GitLab <span class="removal-milestone"><%= deprecation["end_of_support_milestone"]%></span> <span class="support-end-date"></span><br /> <% end -%> -Planned removal: GitLab <span class="removal-milestone"><%= deprecation["removal_milestone"]%></span> (<%= deprecation["removal_date"]%>) +Planned removal: GitLab <span class="removal-milestone"><%= deprecation["removal_milestone"]%></span> <span class="removal-date"></span> <% if deprecation["breaking_change"] -%> WARNING: diff --git a/data/deprecations/templates/example.yml b/data/deprecations/templates/example.yml index db4b8206c51..dcb78fa434b 100644 --- a/data/deprecations/templates/example.yml +++ b/data/deprecations/templates/example.yml @@ -19,9 +19,7 @@ # - title: "Feature A 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: "XX.YY" # (required) The milestone when this feature was first announced as deprecated. - announcement_date: "YYYY-MM-DD" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. removal_milestone: "XX.YY" # (required) The milestone when this feature is planned to be removed - removal_date: # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post. breaking_change: true # (required) Change to false if this is not a breaking change. reporter: exampleuser # (required) GitLab username of the person reporting the change stage: stage # (required) String value of the stage that the feature was created in. e.g., Growth @@ -50,7 +48,6 @@ # 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. - end_of_support_date: # (optional) The date of the milestone release when support for this feature will end. # # OTHER OPTIONAL FIELDS # diff --git a/db/migrate/20230111132621_unpartition_pm_package_metadata_tables.rb b/db/migrate/20230111132621_unpartition_pm_package_metadata_tables.rb new file mode 100644 index 00000000000..9fbd04734d3 --- /dev/null +++ b/db/migrate/20230111132621_unpartition_pm_package_metadata_tables.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +class UnpartitionPmPackageMetadataTables < Gitlab::Database::Migration[2.1] + def up + return unless Gitlab.dev_or_test_env? || Gitlab.staging? + + drop_table(:pm_package_version_licenses, force: :cascade) # rubocop:disable Migration/DropTable + drop_table(:pm_package_versions, force: :cascade) # rubocop:disable Migration/DropTable + drop_table(:pm_packages, force: :cascade) # rubocop:disable Migration/DropTable + + create_table :pm_packages do |t| + t.integer :purl_type, limit: 2, null: false + t.text :name, null: false, limit: 255 + t.index [:purl_type, :name], name: 'i_pm_packages_purl_type_and_name', unique: true + end + + create_table :pm_package_versions do |t| + t.references :pm_package, + index: false, + foreign_key: { + to_table: :pm_packages, + column: :pm_package_id, + name: 'fk_rails_cf94c3e601', + on_delete: :cascade + } + t.text :version, null: false, limit: 255 + t.index [:pm_package_id, :version], name: 'i_pm_package_versions_on_package_id_and_version', unique: true + t.index :pm_package_id, name: 'index_pm_package_versions_on_pm_package_id' + end + + create_table :pm_package_version_licenses, primary_key: [:pm_package_version_id, :pm_license_id] do |t| + t.references :pm_package_version, + index: false, + null: false, + foreign_key: { + to_table: :pm_package_versions, + column: :pm_package_version_id, + name: 'fk_rails_30ddb7f837', + on_delete: :cascade + } + t.references :pm_license, + index: false, + null: false, + foreign_key: { name: 'fk_rails_7520ea026d', on_delete: :cascade } + t.index :pm_license_id, name: 'index_pm_package_version_licenses_on_pm_license_id' + t.index :pm_package_version_id, name: 'index_pm_package_version_licenses_on_pm_package_version_id' + end + end + + # partitioned tables can't be restored because + # foreign keys to partitioned tables are not supported by Postgres 11 + # https://gitlab.com/gitlab-org/gitlab/-/issues/387761 + def down; end +end diff --git a/db/schema_migrations/20230111132621 b/db/schema_migrations/20230111132621 new file mode 100644 index 00000000000..c259e47ca6d --- /dev/null +++ b/db/schema_migrations/20230111132621 @@ -0,0 +1 @@ +d058410f8fd26f5a4d8b18b949ee1c8202b4b2eaa8c5589a81f14107f15cd9fd
\ No newline at end of file diff --git a/doc/.vale/gitlab/SubstitutionWarning.yml b/doc/.vale/gitlab/SubstitutionWarning.yml index 45199c2b3b3..8f3d3330271 100644 --- a/doc/.vale/gitlab/SubstitutionWarning.yml +++ b/doc/.vale/gitlab/SubstitutionWarning.yml @@ -28,6 +28,8 @@ swap: filesystem: "file system" info: "information" it is recommended: "you should" + logged in user: "authenticated user" + logged-in user: "authenticated user" n/a: "not applicable" navigate to: "go to" OAuth2: "OAuth 2.0" @@ -35,6 +37,8 @@ swap: once the: "after the" once you: "after you" repo: "repository" + signed in user: "authenticated user" + signed-in user: "authenticated user" since: "because' or 'after" sub-group: "subgroup" sub-groups: "subgroups" diff --git a/doc/administration/audit_event_streaming.md b/doc/administration/audit_event_streaming.md index 4d0e6518ebb..92ccbe8b1a6 100644 --- a/doc/administration/audit_event_streaming.md +++ b/doc/administration/audit_event_streaming.md @@ -373,7 +373,7 @@ Streamed audit events have a predictable schema in the body of the response. > - [Added `details.author_class` field](https://gitlab.com/gitlab-org/gitlab/-/issues/363876) in GitLab 15.3. > - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/101583) in GitLab 15.6. Feature flag `audit_event_streaming_git_operations` removed. -Streaming audit events can be sent when signed-in users push, pull, or clone a project's remote Git repositories: +Streaming audit events can be sent when authenticated users push, pull, or clone a project's remote Git repositories: - [Using SSH](../user/ssh.md). - Using HTTP or HTTPS. diff --git a/doc/administration/logs/tracing_correlation_id.md b/doc/administration/logs/tracing_correlation_id.md index 906dcd3cea9..45c0ce37102 100644 --- a/doc/administration/logs/tracing_correlation_id.md +++ b/doc/administration/logs/tracing_correlation_id.md @@ -133,7 +133,7 @@ You can use the [performance bar](../monitoring/performance/performance_bar.md) To view the data, the correlation ID of the request must match the same session as the user viewing the performance bar. For API requests, this means that you must perform the request -using the session cookie of the signed-in user. +using the session cookie of the authenticated user. For example, if you want to view the database queries executed for the following API endpoint: diff --git a/doc/administration/pages/index.md b/doc/administration/pages/index.md index f475e5ac167..58003758c8a 100644 --- a/doc/administration/pages/index.md +++ b/doc/administration/pages/index.md @@ -485,7 +485,7 @@ this: > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/32095) in GitLab 12.7. You can enforce [Access Control](#access-control) for all GitLab Pages websites hosted -on your GitLab instance. By doing so, only logged-in users have access to them. +on your GitLab instance. By doing so, only authenticated users have access to them. This setting overrides Access Control set by users in individual projects. This can be helpful to restrict information published with Pages websites to the users diff --git a/doc/api/graphql/audit_report.md b/doc/api/graphql/audit_report.md index 5529f0b872a..bad6a7a1e83 100644 --- a/doc/api/graphql/audit_report.md +++ b/doc/api/graphql/audit_report.md @@ -111,7 +111,7 @@ a single integer. This GraphQL query returns the groups and projects that the user has been *explicitly* made a member of. Since the GraphiQL explorer uses the session token to authorize access to resources, -the output is limited to the projects and groups accessible to the currently signed-in user. +the output is limited to the projects and groups accessible to the currently authenticated user. If you've signed in as an instance administrator, you would have access to all records, regardless of ownership. diff --git a/doc/api/graphql/getting_started.md b/doc/api/graphql/getting_started.md index 1945f528d67..9f423d68d3b 100644 --- a/doc/api/graphql/getting_started.md +++ b/doc/api/graphql/getting_started.md @@ -110,7 +110,7 @@ which is an object identifier in the format of `"gid://gitlab/Issue/123"`. [GitLab GraphQL Schema](reference/index.md) outlines which objects and fields are available for clients to query and their corresponding data types. -Example: Get only the names of all the projects the currently logged in user can +Example: Get only the names of all the projects the currently authenticated user can access (up to a limit) in the group `gitlab-org`. ```graphql @@ -172,7 +172,7 @@ More about queries: Authorization uses the same engine as the GitLab application (and GitLab.com). If you've signed in to GitLab and use GraphiQL, all queries are performed as -you, the signed in user. For more information, read the +you, the authenticated user. For more information, read the [GitLab API documentation](../index.md#authentication). ### Mutations diff --git a/doc/api/graphql/index.md b/doc/api/graphql/index.md index 0ae6013df80..320e7cbcfc1 100644 --- a/doc/api/graphql/index.md +++ b/doc/api/graphql/index.md @@ -144,10 +144,10 @@ Query | Description `group` | Basic group information and epics. `user` | Information about a particular user. `namespace` | The namespace and the `projects` in it. -`currentUser` | Information about the signed-in user. +`currentUser` | Information about the authenticated user. `users` | Information about a collection of users. `metaData` | Metadata about GitLab and the GraphQL API. -`snippets` | Snippets visible to the signed-in user. +`snippets` | Snippets visible to the authenticated user. New associations and root level objects are regularly added. See the [GraphQL API Reference](reference/index.md) for up-to-date information. diff --git a/doc/api/graphql/users_example.md b/doc/api/graphql/users_example.md index 20185d81513..83cc2d6ac5e 100644 --- a/doc/api/graphql/users_example.md +++ b/doc/api/graphql/users_example.md @@ -81,7 +81,7 @@ NOTE: a single integer. This GraphQL query returns the specified information for the three users with the listed username. Since the GraphiQL explorer uses the session token to authorize access to resources, -the output is limited to the projects and groups accessible to the currently signed-in user. +the output is limited to the projects and groups accessible to the currently authenticated user. If you've signed in as an instance administrator, you would have access to all records, regardless of ownership. diff --git a/doc/api/import.md b/doc/api/import.md index 057beefaf20..ed72a2fa38a 100644 --- a/doc/api/import.md +++ b/doc/api/import.md @@ -127,6 +127,8 @@ ask an administrator to [enable the feature flag](../administration/feature_flag You can use the GitLab API to import personal GitHub gists (with up to 10 files) into personal GitLab snippets. GitHub gists with more than 10 files are skipped. You should manually migrate these GitHub gists. +If any gists couldn't be imported, an email is sent with a list of gists that were not imported. + ```plaintext POST /import/github/gists ``` diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index 6e501c9ab4d..720423c9ed9 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -671,7 +671,7 @@ Supported attributes: | `squash` | boolean | Indicates if squash on merge is enabled. | | `squash_commit_sha` | string | SHA of the squash commit. Empty until merged. | | `state` | string | State of the merge request. Can be `opened`, `closed`, `merged` or `locked`. | -| `subscribed` | boolean | Indicates if the currently logged in user is subscribed to this merge request. | +| `subscribed` | boolean | Indicates if the currently authenticated user is subscribed to this merge request. | | `target_branch` | string | Target branch of the merge request. | | `target_project_id` | integer | ID of the merge request target project. | | `task_completion_status` | object | Completion status of tasks. | diff --git a/doc/api/project_snippets.md b/doc/api/project_snippets.md index 9c74df5639b..95477cdc765 100644 --- a/doc/api/project_snippets.md +++ b/doc/api/project_snippets.md @@ -16,7 +16,7 @@ Constants for snippet visibility levels are: | visibility | Description | | ---------- | ----------- | | `private` | The snippet is visible only to project members | -| `internal` | The snippet is visible for any logged in user except [external users](../user/admin_area/external_users.md) | +| `internal` | The snippet is visible for any authenticated user except [external users](../user/admin_area/external_users.md) | | `public` | The snippet can be accessed without any authentication | NOTE: diff --git a/doc/api/projects.md b/doc/api/projects.md index 716df21149f..1ee9f8132aa 100644 --- a/doc/api/projects.md +++ b/doc/api/projects.md @@ -16,7 +16,7 @@ The visibility level is determined by the `visibility` field in the project. Values for the project visibility level are: - `private`: project access must be granted explicitly to each user. -- `internal`: the project can be cloned by any signed-in user except [external users](../user/admin_area/external_users.md). +- `internal`: the project can be cloned by any authenticated user except [external users](../user/admin_area/external_users.md). - `public`: the project can be accessed without any authentication. For more, read [Project visibility](../user/public_access.md). diff --git a/doc/api/runners.md b/doc/api/runners.md index d2b58387423..c692faf9490 100644 --- a/doc/api/runners.md +++ b/doc/api/runners.md @@ -193,7 +193,7 @@ Get details of a runner. At least the Maintainer role is required to get runner details at the project and group level. -Instance-level runner details via this endpoint are available to all signed in users. +Instance-level runner details via this endpoint are available to all authenticated users. ```plaintext GET /runners/:id diff --git a/doc/api/snippets.md b/doc/api/snippets.md index 2a52c989cc6..39965ae91f3 100644 --- a/doc/api/snippets.md +++ b/doc/api/snippets.md @@ -20,7 +20,7 @@ Valid values for snippet visibility levels are: | Visibility | Description | |:-----------|:----------------------------------------------------| | `private` | Snippet is visible only to the snippet creator. | -| `internal` | Snippet is visible for any logged in user except [external users](../user/admin_area/external_users.md). | +| `internal` | Snippet is visible for any authenticated user except [external users](../user/admin_area/external_users.md). | | `public` | Snippet can be accessed without any authentication. | ## List all snippets for a user diff --git a/doc/api/users.md b/doc/api/users.md index 11ec5b6dcd1..a577dc26043 100644 --- a/doc/api/users.md +++ b/doc/api/users.md @@ -730,7 +730,7 @@ parameters: ## User status -Get the status of the signed in user. +Get the status of the authenticated user. ```plaintext GET /user/status @@ -946,7 +946,7 @@ Example response: ## User counts -Get the counts (same as in top right menu) of the signed in user. +Get the counts (same as in top right menu) of the authenticated user. | Attribute | Type | Description | | --------------------------------- | ------ | ---------------------------------------------------------------------------- | diff --git a/doc/architecture/blueprints/pods/proposal-stateless-router-with-buffering-requests.md b/doc/architecture/blueprints/pods/proposal-stateless-router-with-buffering-requests.md index ab19b652f93..adc523e90c2 100644 --- a/doc/architecture/blueprints/pods/proposal-stateless-router-with-buffering-requests.md +++ b/doc/architecture/blueprints/pods/proposal-stateless-router-with-buffering-requests.md @@ -555,9 +555,9 @@ sequenceDiagram They get a 404. -### Experience for non-logged in users +### Experience for non-authenticated users -Flow is similar to logged in users except global routes like `/dashboard` will +Flow is similar to authenticated users except global routes like `/dashboard` will redirect to the login page as there is no default organization to choose from. ### A new customers signs up diff --git a/doc/architecture/blueprints/pods/proposal-stateless-router-with-routes-learning.md b/doc/architecture/blueprints/pods/proposal-stateless-router-with-routes-learning.md index c99b02a35e9..1156e65f6aa 100644 --- a/doc/architecture/blueprints/pods/proposal-stateless-router-with-routes-learning.md +++ b/doc/architecture/blueprints/pods/proposal-stateless-router-with-routes-learning.md @@ -578,7 +578,7 @@ sequenceDiagram They get a 404. -### Experience for non-logged in users +### Experience for non-authenticated users Flow is similar to logged in users except global routes like `/dashboard` will redirect to the login page as there is no default organization to choose from. diff --git a/doc/architecture/blueprints/runner_tokens/index.md b/doc/architecture/blueprints/runner_tokens/index.md index addf3af78ce..5059abc50b6 100644 --- a/doc/architecture/blueprints/runner_tokens/index.md +++ b/doc/architecture/blueprints/runner_tokens/index.md @@ -40,7 +40,7 @@ We call this new mechanism the "next GitLab Runner Token architecture". The proposal addresses the issues of a _single token per scope_ and _token storage_ by eliminating the need for a registration token. Runner creation happens -in the GitLab Runners settings page for the given scope, in the context of the logged-in user, +in the GitLab Runners settings page for the given scope, in the context of the authenticated user, which provides traceability. The page provides instructions to configure the newly-created runner in supported environments using the existing `gitlab-runner register` command. diff --git a/doc/ci/pipelines/settings.md b/doc/ci/pipelines/settings.md index 423ee31dec4..f18fe6de320 100644 --- a/doc/ci/pipelines/settings.md +++ b/doc/ci/pipelines/settings.md @@ -32,7 +32,7 @@ To change the visibility of your pipelines and related features: When it is selected, pipelines and related features are visible: - For [**Public**](../../user/public_access.md) projects, to everyone. - - For **Internal** projects, to all logged-in users except [external users](../../user/admin_area/external_users.md). + - For **Internal** projects, to all authenticated users except [external users](../../user/admin_area/external_users.md). - For **Private** projects, to all project members (Guest or higher). When it is cleared: @@ -41,7 +41,7 @@ To change the visibility of your pipelines and related features: and the **CI/CD** menu items are visible only to project members (Reporter or higher). Other users, including guest users, can only view the status of pipelines and jobs, and only when viewing merge requests or commits. - - For **Internal** projects, pipelines are visible to all logged in users except [external users](../../user/admin_area/external_users.md). + - For **Internal** projects, pipelines are visible to all authenticated users except [external users](../../user/admin_area/external_users.md). Related features are visible only to project members (Reporter or higher). - For **Private** projects, pipelines and related features are visible to project members (Reporter or higher) only. diff --git a/doc/development/audit_event_guide/index.md b/doc/development/audit_event_guide/index.md index dfa6d56b3b5..8df5121a2f7 100644 --- a/doc/development/audit_event_guide/index.md +++ b/doc/development/audit_event_guide/index.md @@ -243,5 +243,5 @@ development. We intentionally do not translate audit event messages because translated messages would be saved in the database and served to users, regardless of their locale settings. -This could mean, for example, that we use the locale for the currently logged in user to record an audit event message and stream the message to an external streaming +This could mean, for example, that we use the locale for the currently authenticated user to record an audit event message and stream the message to an external streaming destination in the wrong language for that destination. Users could find that confusing. diff --git a/doc/development/elasticsearch.md b/doc/development/elasticsearch.md index dc69eb2d4f3..08c2865a5a6 100644 --- a/doc/development/elasticsearch.md +++ b/doc/development/elasticsearch.md @@ -191,8 +191,7 @@ If the current version is `v12p1`, and we need to create a new version for `v12p NOTE: This only supported for indices created with GitLab 13.0 or greater. -Migrations are stored in the [`ee/elastic/migrate/`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/elastic/migrate) folder with `YYYYMMDDHHMMSS_migration_name.rb` -filename format, which is similar to Rails database migrations: +In the [`ee/elastic/migrate/`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/elastic/migrate) folder, create a new file with the filename format `YYYYMMDDHHMMSS_migration_name.rb`. This format is the same for Rails database migrations. ```ruby # frozen_string_literal: true @@ -225,6 +224,102 @@ To update Elastic index mappings, apply the configuration to the respective file Migrations can be built with a retry limit and have the ability to be [failed and marked as halted](https://gitlab.com/gitlab-org/gitlab/-/blob/66e899b6637372a4faf61cfd2f254cbdd2fb9f6d/ee/lib/elastic/migration.rb#L40). Any data or index cleanup needed to support migration retries should be handled within the migration. +### Migration helpers + +The following migration helpers are available in `ee/app/workers/concerns/elastic/`: + +#### `Elastic::MigrationBackfillHelper` + +Backfills a specific field in an index. In most cases, the mapping for the field should already be added. + +Requires the `index_name` and `field_name` methods. + +<details><summary>Example</summary> + +```ruby +class MigrationName < Elastic::Migration + include Elastic::MigrationBackfillHelper + + private + + def index_name + Issue.__elasticsearch__.index_name + end + + def field_name + :schema_version + end +end +``` + +</details> + +#### `Elastic::MigrationUpdateMappingsHelper` + +Updates a mapping in an index by calling `put_mapping` with the mapping specified. + +Requires the `index_name` and `new_mappings` methods. + +<details><summary>Example</summary> + +```ruby +class MigrationName < Elastic::Migration + include Elastic::MigrationUpdateMappingsHelper + + private + + def index_name + Issue.__elasticsearch__.index_name + end + + def new_mappings + { + schema_version: { + type: 'short' + } + } + end +end +``` + +</details> + +#### `Elastic::MigrationObsolete` + +Marks a migration as obsolete when it's no longer required. + +<details><summary>Example</summary> + +```ruby +class MigrationName < Elastic::Migration + include Elastic::MigrationObsolete +end +``` + +</details> + +#### `Elastic::MigrationHelper` + +Contains methods you can use when a migration doesn't fit the previous examples. + +<details><summary>Example</summary> + +```ruby +class MigrationName < Elastic::Migration + include Elastic::MigrationHelper + + def migrate + ... + end + + def completed? + ... + end +end +``` + +</details> + ### Migration options supported by the `Elastic::MigrationWorker` [`Elastic::MigrationWorker`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/workers/elastic/migration_worker.rb) supports the following migration options: diff --git a/doc/development/experiment_guide/implementing_experiments.md b/doc/development/experiment_guide/implementing_experiments.md index e1407473731..5bce9f1fab5 100644 --- a/doc/development/experiment_guide/implementing_experiments.md +++ b/doc/development/experiment_guide/implementing_experiments.md @@ -138,7 +138,7 @@ communicate about experiments as something that's wider than just user behavior. NOTE: Using `actor:` uses cookies if the `current_user` is nil. If you don't need cookies though - meaning that the exposed functionality would only be visible to -signed in users - `{ user: current_user }` would be just as effective. +authenticated users - `{ user: current_user }` would be just as effective. WARNING: The caching of variant assignment is done by using this context, and so consider diff --git a/doc/development/permissions.md b/doc/development/permissions.md index cc7c1229e50..bf7f99de1ab 100644 --- a/doc/development/permissions.md +++ b/doc/development/permissions.md @@ -33,7 +33,7 @@ See the [permissions page](../user/permissions.md) for details on how each user Groups and projects can have the following visibility levels: - public (`20`) - an entity is visible to everyone -- internal (`10`) - an entity is visible to logged in users +- internal (`10`) - an entity is visible to authenticated users - private (`0`) - an entity is visible only to the approved members of the entity By default, subgroups can **not** have higher visibility levels. diff --git a/doc/development/spam_protection_and_captcha/exploratory_testing.md b/doc/development/spam_protection_and_captcha/exploratory_testing.md index 1bcd336ce93..a25177703af 100644 --- a/doc/development/spam_protection_and_captcha/exploratory_testing.md +++ b/doc/development/spam_protection_and_captcha/exploratory_testing.md @@ -153,8 +153,8 @@ only models with full Spam and CAPTCHA support. 1. Create an API token. 1. Export it in your terminal for the REST commands: `export PRIVATE_TOKEN=<your_api_token>` -1. Ensure you are logged into GitLab development environment at `localhost:3000` before using GraphiQL explorer, - because it uses your logged-in user as authorization for running GraphQL queries. +1. Ensure you are signed into the GitLab development environment at `localhost:3000` before using GraphiQL explorer, + because it uses your authenticated user as authorization for running GraphQL queries. 1. For the GraphQL examples, use the GraphiQL explorer at `http://localhost:3000/-/graphql-explorer`. 1. Use the `--include` (`-i`) option to `curl` to print the HTTP response headers, including the status code. diff --git a/doc/development/testing_guide/frontend_testing.md b/doc/development/testing_guide/frontend_testing.md index 2fa5fdeab7d..85d807eceb1 100644 --- a/doc/development/testing_guide/frontend_testing.md +++ b/doc/development/testing_guide/frontend_testing.md @@ -1368,7 +1368,7 @@ You can also prefix this command with `WEBDRIVER_HEADLESS=0` which will run the ```ruby require 'spec_helper' ``` - + Import any other relevant module. 1. Create a global scope for RSpec to define our tests, just like what we do in jest with the initial describe block. @@ -1414,7 +1414,7 @@ Most feature tests at least require you to create a user, because you want to be This creates a variable that holds the newly created user and we can use `create` because we imported the `spec_helper`. -However, we have not done anything with this user yet because it's just a variable. So, in the `before do` block of the spec, we could sign in with the user so that every spec starts with a signed in user. +However, we have not done anything with this user yet because it's just a variable. So, in the `before do` block of the spec, we could sign in with the user so that every spec starts with an authenticated user. ```ruby let(:user) { create(:user) } diff --git a/doc/integration/vault.md b/doc/integration/vault.md index 2226dc4cfd4..ddb21e68bf8 100644 --- a/doc/integration/vault.md +++ b/doc/integration/vault.md @@ -122,7 +122,7 @@ Otherwise, anyone with a public account can access your Vault instance.  -1. To allow Vault to sign in through GitLab, select **Authorize**. This redirects you back to your Vault UI as a signed-in user. +1. To allow Vault to sign in through GitLab, select **Authorize**. This redirects you back to your Vault UI as an authenticated user.  diff --git a/doc/operations/feature_flags.md b/doc/operations/feature_flags.md index 156f496f4cb..7cc9264e917 100644 --- a/doc/operations/feature_flags.md +++ b/doc/operations/feature_flags.md @@ -132,7 +132,7 @@ For example, set a value of 15% to enable the feature for 15% of authenticated u The rollout percentage can be from 0% to 100%. -Stickiness (consistent application behavior for the same user) is guaranteed for logged-in users, +Stickiness (consistent application behavior for the same user) is guaranteed for authenticated users, but not anonymous users. Note that [percent rollout](#percent-rollout) with a consistency based on **User IDs** has the same diff --git a/doc/security/rate_limits.md b/doc/security/rate_limits.md index 5784863e681..26a17ef2c2c 100644 --- a/doc/security/rate_limits.md +++ b/doc/security/rate_limits.md @@ -124,7 +124,7 @@ The **rate limit** is 20 calls per minute per IP address. There is a rate limit on how frequently a username can be changed. This is enforced to mitigate misuse of the feature. For example, to mass discover which usernames are in use. -The **rate limit** is 10 calls per minute per signed-in user. +The **rate limit** is 10 calls per minute per authenticated user. ### Username exists @@ -146,7 +146,7 @@ The feature is not ready for production use. There is a rate limit for the endpoint `project/:id/jobs`, which is enforced to reduce timeouts when retrieving jobs. -The **rate limit** is 600 calls per minute per signed-in user. +The **rate limit** is 600 calls per minute per authenticated user. ## Troubleshooting diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md index 79b3358c947..584ad4fde02 100644 --- a/doc/update/deprecations.md +++ b/doc/update/deprecations.md @@ -54,7 +54,7 @@ sole discretion of GitLab Inc. ### Azure Storage Driver defaults to the correct root prefix -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -72,7 +72,7 @@ This breaking change will happen in GitLab 16.0. ### Conan project-level search endpoint returns project-specific results -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -88,7 +88,7 @@ This unintended functionality is deprecated in GitLab 15.8 and will be removed i ### Container Registry pull-through cache -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -102,7 +102,7 @@ The Container Registry pull-through cache is deprecated in GitLab 15.8 and will ### Dependency Scanning support for Java 13, 14, 15, and 16 -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -116,7 +116,7 @@ GitLab has deprecated Dependency Scanning support for Java versions 13, 14, 15, ### Owner permissions are required to update Package settings -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -132,7 +132,7 @@ In GitLab 16.0 and later, you must have Owner permissions to use the GraphQL API ### Support for third party registries -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -155,7 +155,7 @@ Moving forward, we'll continue to invest in developing and releasing new feature ### DAST API scans using DAST template is deprecated -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -169,7 +169,7 @@ With the move to the new DAST API analyzer and the `DAST-API.gitlab-ci.yml` temp ### DAST API variables -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -189,7 +189,7 @@ These two variables will be removed in GitLab 16.0. ### DAST ZAP advanced configuration variables deprecation -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -205,7 +205,7 @@ These three variables will be removed in GitLab 16.0. ### DAST report variables deprecation -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -221,8 +221,8 @@ These three variables will be removed in GitLab 16.0. ### KAS Metrics Port in GitLab Helm Chart -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +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> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -237,8 +237,8 @@ This port is used for much more than just metrics, which warranted this change t ### Shimo integration -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +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> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -253,7 +253,7 @@ and will be moved to the JiHu GitLab codebase. ### Single merge request changes API endpoint -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -267,8 +267,8 @@ The endpoint to get [changes from a single merge request](https://docs.gitlab.co ### Support for REST API endpoints that reset runner registration tokens -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +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> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -294,8 +294,8 @@ From GitLab 16.0 and later, the runner registration methods implemented by the n ### Support for periods (`.`) in Terraform state names might break existing states -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +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> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -319,7 +319,7 @@ To use the full state name, including the period, [migrate to the full state fil ### The Phabricator task importer is deprecated -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -333,8 +333,8 @@ The [Phabricator task importer](https://docs.gitlab.com/ee/user/project/import/p ### The `gitlab-runner exec` command is deprecated -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +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> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -348,8 +348,8 @@ The [`gitlab-runner exec`](https://docs.gitlab.com/runner/commands/#gitlab-runne ### ZenTao integration -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +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> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -364,7 +364,7 @@ and will be moved to the JiHu GitLab codebase. ### `POST ci/lint` API endpoint deprecated -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -383,8 +383,8 @@ The `POST ci/lint` API endpoint is deprecated in 15.7, and will be removed in 16 ### Configuration fields in GitLab Runner Helm Chart -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +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> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -398,8 +398,8 @@ From GitLab 13.6, users can [specify any runner configuration in the GitLab Runn ### GitLab Runner registration token in Runner Operator -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">17.0</span> (2024-05-22) +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">17.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -413,8 +413,8 @@ The [`runner-registration-token`](https://docs.gitlab.com/runner/install/operato ### Registration tokens and server-side runner arguments in `POST /api/v4/runners` endpoint -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">17.0</span> (2024-05-22) +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">17.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -437,8 +437,8 @@ From GitLab 17.0 and later, the runner registration methods implemented by the n ### Registration tokens and server-side runner arguments in `gitlab-runner register` command -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">17.0</span> (2024-05-22) +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">17.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -458,8 +458,8 @@ to the `gitlab-runner register` command. ### `runnerRegistrationToken` parameter for GitLab Runner Helm Chart -End of Support: GitLab <span class="removal-milestone">16.0</span> (2023-05-22)<br /> -Planned removal: GitLab <span class="removal-milestone">17.0</span> (2024-05-22) +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">17.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -479,7 +479,7 @@ From GitLab 17.0 and later, the methods to register runners introduced by the ne ### merge_status API field -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -498,7 +498,7 @@ The `merge_status` field in the [merge request API](https://docs.gitlab.com/ee/a ### File Type variable expansion in `.gitlab-ci.yml` -Planned removal: GitLab <span class="removal-milestone">15.7</span> (2022-12-22) +Planned removal: GitLab <span class="removal-milestone">15.7</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -514,7 +514,7 @@ This breaking change fixes this issue but could disrupt user workflows that work ### GraphQL field `confidential` changed to `internal` on notes -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -528,7 +528,7 @@ The `confidential` field for a `Note` will be deprecated and renamed to `interna ### vulnerabilityFindingDismiss GraphQL mutation -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -547,7 +547,7 @@ The `VulnerabilityFindingDismiss` GraphQL mutation is being deprecated and will ### Container Scanning variables that reference Docker -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -561,7 +561,7 @@ All Container Scanning variables that are prefixed by `DOCKER_` in variable name ### Non-expiring access tokens -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -588,7 +588,7 @@ default is applied: ### Starboard directive in the config for the GitLab Agent for Kubernetes -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -602,7 +602,7 @@ GitLab's operational container scanning capabilities no longer require starboard ### Toggle behavior of `/draft` quick action in merge requests -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -616,7 +616,7 @@ In order to make the behavior of toggling the draft status of a merge request mo ### Vulnerability confidence field -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -638,7 +638,7 @@ removed in 16.0. ### Atlassian Crowd OmniAuth provider -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -655,7 +655,7 @@ next major release, GitLab 16.0. This gem sees very little use and its ### Bundled Grafana deprecated -Planned removal: GitLab <span class="removal-milestone">15.4</span> (2022-09-22) +Planned removal: GitLab <span class="removal-milestone">15.4</span> <span class="removal-date"></span> In GitLab 15.4, we will be swapping the bundled Grafana to a fork of Grafana maintained by GitLab. @@ -669,7 +669,7 @@ This is not expected to cause any incompatibilities with the previous version of ### CAS OmniAuth provider -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -685,7 +685,7 @@ release, GitLab 16.0. This gem sees very little use and its lack of upstream mai ### Maximum number of active pipelines per project limit (`ci_active_pipelines`) -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> The [**Maximum number of active pipelines per project** limit](https://docs.gitlab.com/ee/user/admin_area/settings/continuous_integration.html#set-cicd-limits) was never enabled by default and will be removed in GitLab 16.0. This limit can also be configured in the Rails console under [`ci_active_pipelines`](https://docs.gitlab.com/ee/administration/instance_limits.html#number-of-pipelines-running-concurrently). Instead, use the other recommended rate limits that offer similar protection: @@ -698,8 +698,8 @@ The [**Maximum number of active pipelines per project** limit](https://docs.gitl ### Redis 5 deprecated -End of Support: GitLab <span class="removal-milestone">15.6</span> (2022-11-22)<br /> -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +End of Support: GitLab <span class="removal-milestone">15.6</span> <span class="support-end-date"></span><br /> +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -715,7 +715,7 @@ If you are using your own Redis 5.0 instance, you should upgrade it to Redis 6.0 ### Security report schemas version 14.x.x -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -735,7 +735,7 @@ For more information, refer to [security report validation](https://docs.gitlab. ### Use of `id` field in vulnerabilityFindingDismiss mutation -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -754,7 +754,7 @@ You can use the vulnerabilityFindingDismiss GraphQL mutation to set the status o ### Remove `job_age` parameter from `POST /jobs/request` Runner endpoint -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -775,7 +775,7 @@ This could be a breaking change for anyone that developed their own runner that ### Jira GitHub Enterprise DVCS integration -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -790,7 +790,7 @@ Any Jira Server and Jira Data Center users will need to confirm they are not usi ### PipelineSecurityReportFinding name GraphQL field -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -804,7 +804,7 @@ Previously, the [PipelineSecurityReportFinding GraphQL type was updated](https:/ ### PipelineSecurityReportFinding projectFingerprint GraphQL field -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -818,7 +818,7 @@ The [`project_fingerprint`](https://gitlab.com/groups/gitlab-org/-/epics/2791) a ### REST API Runner maintainer_note -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -833,7 +833,7 @@ The `maintainer_note` argument will be removed in GitLab 16.0. ### Vulnerability Report sort by Tool -Planned removal: GitLab <span class="removal-milestone">15.3</span> (2022-08-22) +Planned removal: GitLab <span class="removal-milestone">15.3</span> <span class="removal-date"></span> The ability to sort the Vulnerability Report by the `Tool` column (scan type) was disabled and put behind a feature flag in GitLab 14.10 due to a refactor of the underlying data model. The feature flag has remained off by default as further refactoring will be required to ensure sorting @@ -846,7 +846,7 @@ GitLab 15.3 to simplify the codebase and prevent any unwanted performance degrad ### project.pipeline.securityReportFindings GraphQL query -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -865,7 +865,7 @@ Previous work helped [align the vulnerabilities calls for pipeline security tabs ### CiCdSettingsUpdate mutation renamed to ProjectCiCdSettingsUpdate -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -882,7 +882,7 @@ instead. ### GraphQL API legacyMode argument for Runner status -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -901,7 +901,7 @@ be present during the 16.x cycle to avoid breaking the API signature, and will b ### PostgreSQL 12 deprecated -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -921,7 +921,7 @@ Upgrading to PostgreSQL 13 is not yet supported for GitLab instances with Geo en ### Vulnerability Report sort by State -Planned removal: GitLab <span class="removal-milestone">15.3</span> (2022-08-22) +Planned removal: GitLab <span class="removal-milestone">15.3</span> <span class="removal-date"></span> The ability to sort the Vulnerability Report by the `State` column was disabled and put behind a feature flag in GitLab 14.10 due to a refactor of the underlying data model. The feature flag has remained off by default as further refactoring will be required to ensure sorting @@ -938,7 +938,7 @@ by this value remains performant. Due to very low usage of the `State` column fo ### Dependency Scanning default Java version changed to 17 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -952,7 +952,7 @@ In GitLab 15.0, for Dependency Scanning, the default version of Java that the sc ### Outdated indices of Advanced Search migrations -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -966,7 +966,7 @@ As Advanced Search migrations usually require support multiple code paths for a ### Toggle notes confidentiality on APIs -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -985,7 +985,7 @@ Toggling notes confidentiality with REST and GraphQL APIs is being deprecated. U ### Background upload for object storage -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1006,7 +1006,7 @@ GitLab will publish additional guidance to assist affected customers in migratin ### Deprecate support for Debian 9 -Planned removal: GitLab <span class="removal-milestone">15.1</span> (2022-06-22) +Planned removal: GitLab <span class="removal-milestone">15.1</span> <span class="removal-date"></span> Long term service and support (LTSS) for [Debian 9 Stretch ends in July 2022](https://wiki.debian.org/LTS). Therefore, we will no longer support the Debian 9 distribution for the GitLab package. Users can upgrade to Debian 10 or Debian 11. @@ -1016,7 +1016,7 @@ Long term service and support (LTSS) for [Debian 9 Stretch ends in July 2022](ht ### GitLab Pages running as daemon -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> In 15.0, support for daemon mode for GitLab Pages will be removed. @@ -1026,7 +1026,7 @@ In 15.0, support for daemon mode for GitLab Pages will be removed. ### GitLab self-monitoring project -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1040,7 +1040,7 @@ GitLab self-monitoring gives administrators of self-hosted GitLab instances the ### GraphQL permissions change for Package settings -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1061,7 +1061,7 @@ The permissions model for GraphQL is being updated. After 15.0, users with the G ### Move `custom_hooks_dir` setting from GitLab Shell to Gitaly -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> The [`custom_hooks_dir`](https://docs.gitlab.com/ee/administration/server_hooks.html#create-a-global-server-hook-for-all-repositories) setting is now configured in Gitaly, and will be removed from GitLab Shell in GitLab 15.0. @@ -1071,7 +1071,7 @@ The [`custom_hooks_dir`](https://docs.gitlab.com/ee/administration/server_hooks. ### Permissions change for downloading Composer dependencies -Planned removal: GitLab <span class="removal-milestone">14.10</span> (2022-04-22) +Planned removal: GitLab <span class="removal-milestone">14.10</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1087,7 +1087,7 @@ Downloading Composer dependencies without authentication is deprecated in GitLab ### htpasswd Authentication for the Container Registry -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1103,7 +1103,7 @@ Since it isn't used in the context of GitLab (the product), `htpasswd` authentic ### user_email_lookup_limit API field -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1124,7 +1124,7 @@ Any API calls attempting to change the rate limits for `user_email_lookup_limit` ### Configurable Gitaly `per_repository` election strategy -Planned removal: GitLab <span class="removal-milestone">14.9</span> (2022-03-22) +Planned removal: GitLab <span class="removal-milestone">14.9</span> <span class="removal-date"></span> Configuring the `per_repository` Gitaly election strategy is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/352612). `per_repository` has been the only option since GitLab 14.0. @@ -1137,7 +1137,7 @@ This change is part of regular maintenance to keep our codebase clean. ### Container Network and Host Security -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1160,7 +1160,7 @@ For additional context, or to provide feedback regarding this change, please ref ### Dependency Scanning Python 3.9 and 3.6 image deprecation -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1192,7 +1192,7 @@ gemnasium-python-dependency_scanning: ### Deprecate Geo Admin UI Routes -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> In GitLab 13.0, we introduced new project and design replication details routes in the Geo Admin UI. These routes are `/admin/geo/replication/projects` and `/admin/geo/replication/designs`. We kept the legacy routes and redirected them to the new routes. In GitLab 15.0, we will remove support for the legacy routes `/admin/geo/projects` and `/admin/geo/designs`. Please update any bookmarks or scripts that may use the legacy routes. @@ -1202,7 +1202,7 @@ In GitLab 13.0, we introduced new project and design replication details routes ### Deprecate custom Geo:db:* Rake tasks -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> In GitLab 14.8, we are [replacing the `geo:db:*` Rake tasks with built-in tasks](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77269/diffs) that are now possible after [switching the Geo tracking database to use Rails' 6 support of multiple databases](https://gitlab.com/groups/gitlab-org/-/epics/6458). The following `geo:db:*` tasks will be replaced with their corresponding `db:*:geo` tasks: @@ -1231,7 +1231,7 @@ The following `geo:db:*` tasks will be replaced with their corresponding `db:*:g ### Deprecate feature flag PUSH_RULES_SUPERSEDE_CODE_OWNERS -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1245,7 +1245,7 @@ The feature flag `PUSH_RULES_SUPERSEDE_CODE_OWNERS` is being removed in GitLab 1 ### Deprecate legacy Gitaly configuration methods -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1263,7 +1263,7 @@ GitLab instances that use `GIT_CONFIG_SYSTEM` and `GIT_CONFIG_GLOBAL` to configu ### Elasticsearch 6.8 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1281,7 +1281,7 @@ Elasticsearch 6.8 is also incompatible with Amazon OpenSearch, which we [plan to ### External status check API breaking changes -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1309,7 +1309,7 @@ To align with this change, API calls to list external status checks will also re ### GraphQL API Runner will not accept `status` filter values of `active` or `paused` -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1332,7 +1332,7 @@ status value can be used in place of `active` since GitLab 14.8. ### GraphQL ID and GlobalID compatibility -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1396,7 +1396,7 @@ an inline argument expression). ### OAuth tokens without expiration -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1418,7 +1418,7 @@ tokens before GitLab 15.0 is released: ### Optional enforcement of PAT expiration -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1434,7 +1434,7 @@ Unexpected behavior in a security feature is inherently dangerous, so we have de ### Optional enforcement of SSH expiration -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1450,7 +1450,7 @@ Unexpected behavior in a security feature is inherently dangerous, so we have de ### Out-of-the-box SAST support for Java 8 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1475,7 +1475,7 @@ If you rely on Java 8 being present in the analyzer environment, you must take a ### Querying Usage Trends via the `instanceStatisticsMeasurements` GraphQL node -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1489,7 +1489,7 @@ The `instanceStatisticsMeasurements` GraphQL node has been renamed to `usageTren ### REST and GraphQL API Runner usage of `active` replaced by `paused` -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1520,7 +1520,7 @@ The 16.0 release of GitLab Runner will start using the `paused` property when re ### Request profiling -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1540,7 +1540,7 @@ For more information, check the [summary section of the deprecation issue](https ### Required pipeline configurations in Premium tier -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1559,7 +1559,7 @@ This change will also help GitLab remain consistent in its tiering strategy with ### Retire-JS Dependency Scanning tool -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1575,7 +1575,7 @@ If you have explicitly excluded retire.js using DS_EXCLUDED_ANALYZERS you will n ### SAST analyzer consolidation and CI/CD template changes -Planned removal: GitLab <span class="removal-milestone">15.4</span> (2022-09-22) +Planned removal: GitLab <span class="removal-milestone">15.4</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1620,7 +1620,7 @@ If you applied customizations to any of the affected analyzers or if you current ### SAST support for .NET 2.1 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1652,7 +1652,7 @@ If you rely on .NET 2.1 support being present in the analyzer image by default, ### Secret Detection configuration variables deprecated -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> To make it simpler and more reliable to [customize GitLab Secret Detection](https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings), we're deprecating some of the variables that you could previously set in your CI/CD configuration. @@ -1677,7 +1677,7 @@ For further details, see [the deprecation issue for this change](https://gitlab. ### Secure and Protect analyzer images published in new location -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1705,7 +1705,7 @@ See the [deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/352564 ### Secure and Protect analyzer major version update -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1750,7 +1750,7 @@ Specifically, the following are being deprecated and will no longer be updated a ### Support for gRPC-aware proxy deployed between Gitaly and rest of GitLab -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1774,7 +1774,7 @@ the [relevant epic](https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/463). ### Test coverage project CI/CD setting -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1793,7 +1793,7 @@ testing coverage results in merge requests. ### Vulnerability Check -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1814,7 +1814,7 @@ The new security approvals feature is similar to vulnerability check. For exampl ### `CI_BUILD_*` predefined variables -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1843,7 +1843,7 @@ The predefined CI/CD variables that start with `CI_BUILD_*` were deprecated in G ### `projectFingerprint` in `PipelineSecurityReportFinding` GraphQL -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1860,7 +1860,7 @@ exposed in the UUID field. Data previously available in the projectFingerprint f ### `started` iterations API field -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -1879,7 +1879,7 @@ The `started` field in the [iterations API](https://docs.gitlab.com/ee/api/itera ### Container scanning schemas below 14.0.0 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> [Container scanning report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation @@ -1898,7 +1898,7 @@ in the Vulnerability Report. ### Coverage guided fuzzing schemas below 14.0.0 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> [Coverage guided fuzzing report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) below version 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation @@ -1920,7 +1920,7 @@ in the Vulnerability Report. ### DAST schemas below 14.0.0 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> [DAST report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation @@ -1942,7 +1942,7 @@ in the Vulnerability Report. ### Dependency scanning schemas below 14.0.0 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> [Dependency scanning report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation @@ -1964,7 +1964,7 @@ in the Vulnerability Report. ### Enforced validation of security report schemas -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> [Security report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation @@ -1986,7 +1986,7 @@ in the Vulnerability Report. ### Godep support in License Compliance -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> The Godep dependency manager for Golang was deprecated in 2020 by Go and has been replaced with Go modules. @@ -1999,7 +1999,7 @@ and will remove it in GitLab 15.0 ### Logging in GitLab -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2013,7 +2013,7 @@ The logging features in GitLab allow users to install the ELK stack (Elasticsear ### Monitor performance metrics through Prometheus -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2028,7 +2028,7 @@ However, since certificate-based integration with Kubernetes clusters is depreca ### Pseudonymizer -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> The Pseudonymizer feature is generally unused, can cause production issues with large databases, @@ -2041,7 +2041,7 @@ It is now considered deprecated, and will be removed in GitLab 15.0. ### SAST schemas below 14.0.0 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> [SAST report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation @@ -2063,7 +2063,7 @@ in the Vulnerability Report. ### Secret detection schemas below 14.0.0 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> [Secret detection report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas/-/releases) versions earlier than 14.0.0 will no longer be supported in GitLab 15.0. Reports that do not pass validation @@ -2085,7 +2085,7 @@ in the Vulnerability Report. ### Sidekiq metrics and health checks configuration -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2117,7 +2117,7 @@ to serve the Sidekiq metrics, similar to the way Sidekiq will behave in 15.0. ### Static Site Editor -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> The Static Site Editor will no longer be available starting in GitLab 15.0. Improvements to the Markdown editing experience across GitLab will deliver smiliar benefit but with a wider reach. Incoming requests to the Static Site Editor will be redirected to the [Web IDE](https://docs.gitlab.com/ee/user/project/web_ide/index.html). @@ -2129,7 +2129,7 @@ Current users of the Static Site Editor can view the [documentation](https://doc ### Tracing in GitLab -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2143,7 +2143,7 @@ Tracing in GitLab is an integration with Jaeger, an open-source end-to-end distr ### `artifacts:reports:cobertura` keyword -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2160,7 +2160,7 @@ only supported report file in 15.0, but this is the first step towards GitLab su ### merged_by API field -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2179,7 +2179,7 @@ The `merged_by` field in the [merge request API](https://docs.gitlab.com/ee/api/ ### CI/CD job name length limit -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2193,7 +2193,7 @@ In GitLab 15.0 we are going to limit the number of characters in CI/CD job names ### Legacy approval status names from License Compliance API -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2209,7 +2209,7 @@ If you are using our License Compliance API you should stop using the `approved` ### `type` and `types` keyword in CI/CD configuration -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2223,7 +2223,7 @@ The `type` and `types` CI/CD keywords will be removed in GitLab 15.0. Pipelines ### apiFuzzingCiConfigurationCreate GraphQL mutation -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2239,7 +2239,7 @@ which isn't being used in GitLab anymore. ### bundler-audit Dependency Scanning tool -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2260,7 +2260,7 @@ If you have explicitly excluded bundler-audit using DS_EXCLUDED_ANALYZERS you wi ### Changing an instance (shared) runner to a project (specific) runner -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2278,7 +2278,7 @@ Administrators who need to add runners for multiple projects can register a runn ### GraphQL API Runner status will not return `paused` -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2299,7 +2299,7 @@ When checking if a runner is `paused`, API users are advised to check the boolea ### Known host required for GitLab Runner SSH executor -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2315,7 +2315,7 @@ In GitLab 15.0 and later, the default value for this configuration option will c ### Package pipelines in API payload is paginated -Planned removal: GitLab <span class="removal-milestone">16.0</span> (2023-05-22) +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2331,7 +2331,7 @@ In milestone 16.0, we will remove the `pipelines` attribute from the API respons ### SaaS certificate-based integration with Kubernetes -Planned removal: GitLab <span class="removal-milestone">15.9</span> (2023-02-22) +Planned removal: GitLab <span class="removal-milestone">15.9</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2352,7 +2352,7 @@ GitLab self-managed customers can still use the feature [with a feature flag](ht ### Self-managed certificate-based integration with Kubernetes -Planned removal: GitLab <span class="removal-milestone">17.0</span> (2024-05-22) +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/). @@ -2375,7 +2375,7 @@ For updates and details about this deprecation, follow [this epic](https://gitla ### Support for SLES 12 SP2 -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2389,7 +2389,7 @@ Long term service and support (LTSS) for SUSE Linux Enterprise Server (SLES) 12 ### Update to the Container Registry group-level API -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2405,7 +2405,7 @@ The `GET /groups/:id/registry/repositories` endpoint will remain, but won't retu ### Value Stream Analytics filtering calculation change -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2421,7 +2421,7 @@ If you monitor Value Stream Analytics metrics and rely on the date filter, to av ### `Versions` on base `PackageType` -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2437,7 +2437,7 @@ In milestone 15.0, we will completely remove `Version` from `PackageType`. ### `defaultMergeCommitMessageWithDescription` GraphQL API field -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2451,7 +2451,7 @@ The GraphQL API field `defaultMergeCommitMessageWithDescription` has been deprec ### `dependency_proxy_for_private_groups` feature flag -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2467,7 +2467,7 @@ In milestone 15.0, we will remove the feature flag entirely. Moving forward, you ### `pipelines` field from the `version` field -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2486,7 +2486,7 @@ To mitigate possible performance problems, we will remove the `versions` field's ### `promote-db` command from `gitlab-ctl` -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2500,7 +2500,7 @@ In GitLab 14.5, we introduced the command `gitlab-ctl promote` to promote any Ge ### `promote-to-primary-node` command from `gitlab-ctl` -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2514,7 +2514,7 @@ In GitLab 14.5, we introduced the command `gitlab-ctl promote` to promote any Ge ### openSUSE Leap 15.2 packages -Planned removal: GitLab <span class="removal-milestone">14.8</span> (2022-02-22) +Planned removal: GitLab <span class="removal-milestone">14.8</span> <span class="removal-date"></span> Distribution support and security updates for openSUSE Leap 15.2 are [ending December 2021](https://en.opensuse.org/Lifetime#openSUSE_Leap). @@ -2531,7 +2531,7 @@ Starting in 14.5 we are providing packages for openSUSE Leap 15.3, and will stop ### Audit events for repository push events -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2549,7 +2549,7 @@ dramatically slow down GitLab instances. For this reason, they are being removed ### GitLab Serverless -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2565,7 +2565,7 @@ We decided to remove the GitLab Serverless features as they never really resonat ### Legacy database configuration -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2583,7 +2583,7 @@ This deprecation mainly impacts users compiling GitLab from source because Omnib ### OmniAuth Kerberos gem -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). @@ -2606,7 +2606,7 @@ Note that we are not deprecating the Kerberos SPNEGO integration, only the old p ### Release CLI distributed as a generic package -Planned removal: GitLab <span class="removal-milestone">14.6</span> (2021-12-22) +Planned removal: GitLab <span class="removal-milestone">14.6</span> <span class="removal-date"></span> The [release-cli](https://gitlab.com/gitlab-org/release-cli) will be released as a [generic package](https://gitlab.com/gitlab-org/release-cli/-/packages) starting in GitLab 14.2. We will continue to deploy it as a binary to S3 until GitLab 14.5 and stop distributing it in S3 in GitLab 14.6. @@ -2616,7 +2616,7 @@ The [release-cli](https://gitlab.com/gitlab-org/release-cli) will be released as ### Rename Task Runner pod to Toolbox -Planned removal: GitLab <span class="removal-milestone">14.5</span> (2021-11-22) +Planned removal: GitLab <span class="removal-milestone">14.5</span> <span class="removal-date"></span> The Task Runner pod is used to execute periodic housekeeping tasks within the GitLab application and is often confused with the GitLab Runner. Thus, [Task Runner will be renamed to Toolbox](https://gitlab.com/groups/gitlab-org/charts/-/epics/25). @@ -2633,7 +2633,7 @@ This will result in the rename of the sub-chart: `gitlab/task-runner` to `gitlab ### NFS for Git repository storage -Planned removal: GitLab <span class="removal-milestone">15.6</span> (2022-11-22) +Planned removal: GitLab <span class="removal-milestone">15.6</span> <span class="removal-date"></span> With the general availability of Gitaly Cluster ([introduced in GitLab 13.0](https://about.gitlab.com/releases/2020/05/22/gitlab-13-0-released/)), we have deprecated development (bugfixes, performance improvements, etc) for NFS for Git repository storage in GitLab 14.0. We will continue to provide technical support for NFS for Git repositories throughout 14.x, but we will remove all support for NFS on November 22, 2022. This was originally planned for May 22, 2022, but in an effort to allow continued maturity of Gitaly Cluster, we have chosen to extend our deprecation of support date. Please see our official [Statement of Support](https://about.gitlab.com/support/statement-of-support/#gitaly-and-nfs) for further information. @@ -2651,7 +2651,7 @@ We encourage customers currently using NFS for Git repositories to plan their mi ### OAuth implicit grant -Planned removal: GitLab <span class="removal-milestone">15.0</span> (2022-05-22) +Planned removal: GitLab <span class="removal-milestone">15.0</span> <span class="removal-date"></span> WARNING: This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). diff --git a/doc/user/admin_area/custom_project_templates.md b/doc/user/admin_area/custom_project_templates.md index de2856c2320..847f687d051 100644 --- a/doc/user/admin_area/custom_project_templates.md +++ b/doc/user/admin_area/custom_project_templates.md @@ -16,7 +16,7 @@ when you go to **New project > Create from template** and select the **Instance* Every project in the group, but not its subgroups, can be selected when a new project is created, based on the user's access permissions: -- Public projects can be selected by any signed-in user as a template for a new project, +- Public projects can be selected by any authenticated user as a template for a new project, if all enabled [project features](../project/settings/index.md#configure-project-visibility-features-and-permissions) except for **GitLab Pages** and **Security & Compliance** are set to **Everyone With Access**. The same applies to internal projects. diff --git a/doc/user/admin_area/settings/help_page.md b/doc/user/admin_area/settings/help_page.md index 8d0fef398af..07d3ae83d74 100644 --- a/doc/user/admin_area/settings/help_page.md +++ b/doc/user/admin_area/settings/help_page.md @@ -27,7 +27,7 @@ You can now see the message on `/help`. NOTE: By default, `/help` is visible to unauthenticated users. However, if the [**Public** visibility level](visibility_and_access_controls.md#restrict-visibility-levels) -is restricted, `/help` is visible only to signed-in users. +is restricted, `/help` is visible only to authenticated users. ## Add a help message to the sign-in page diff --git a/doc/user/admin_area/settings/terms.md b/doc/user/admin_area/settings/terms.md index 9a02e50b23f..85927bad8ad 100644 --- a/doc/user/admin_area/settings/terms.md +++ b/doc/user/admin_area/settings/terms.md @@ -29,7 +29,7 @@ For each update to the terms, a new version is stored. When a user accepts or de GitLab records which version they accepted or declined. Existing users must accept the terms on their next GitLab interaction. -If a signed-in user declines the terms, they are signed out. +If an authenticated user declines the terms, they are signed out. When enabled, it adds a mandatory checkbox to the sign up page for new users: diff --git a/doc/user/admin_area/settings/usage_statistics.md b/doc/user/admin_area/settings/usage_statistics.md index 6e5390164f7..8b9f09d9df5 100644 --- a/doc/user/admin_area/settings/usage_statistics.md +++ b/doc/user/admin_area/settings/usage_statistics.md @@ -67,7 +67,7 @@ Registration is not yet required for participation, but may be added in a future If enabled, version check informs you if a new version is available and the importance of it through a status. The status displays on the help pages (`/help`) -for all signed-in users, and on the Admin Area pages. The statuses are: +for all authenticated users, and on the Admin Area pages. The statuses are: - Green: You are running the latest version of GitLab. - Orange: An updated version of GitLab is available. diff --git a/doc/user/admin_area/settings/visibility_and_access_controls.md b/doc/user/admin_area/settings/visibility_and_access_controls.md index bd7642af680..82237d42440 100644 --- a/doc/user/admin_area/settings/visibility_and_access_controls.md +++ b/doc/user/admin_area/settings/visibility_and_access_controls.md @@ -118,7 +118,7 @@ To set the default [visibility levels for new projects](../../public_access.md): 1. Select the desired default project visibility: - **Private** - Project access must be granted explicitly to each user. If this project is part of a group, access is granted to members of the group. - - **Internal** - The project can be accessed by any logged in user except external users. + - **Internal** - The project can be accessed by any authenticated user except external users. - **Public** - The project can be accessed without any authentication. 1. Select **Save changes**. @@ -146,7 +146,7 @@ To set the default visibility levels for new groups: 1. Expand the **Visibility and access controls** section. 1. Select the desired default group visibility: - **Private** - The group and its projects can only be viewed by members. - - **Internal** - The group and any internal projects can be viewed by any logged in user except external users. + - **Internal** - The group and any internal projects can be viewed by any authenticated user except external users. - **Public** - The group and any public projects can be viewed without any authentication. 1. Select **Save changes**. @@ -163,7 +163,7 @@ To restrict visibility levels for projects, snippets, and selected pages: 1. Expand the **Visibility and access controls** section. 1. In the **Restricted visibility levels** section, select the desired visibility levels to restrict. If you restrict the **Public** level: - - User profiles are only visible to logged in users via the Web interface. + - User profiles are only visible to authenticated users via the Web interface. - User attributes via the GraphQL API are: - Not visible in [GitLab 15.1 and later](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88020). - Only visible to authenticated users between [GitLab 13.1](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33195) and GitLab 15.0. diff --git a/doc/user/group/custom_project_templates.md b/doc/user/group/custom_project_templates.md index 547e64df7c5..36c165a06f5 100644 --- a/doc/user/group/custom_project_templates.md +++ b/doc/user/group/custom_project_templates.md @@ -40,7 +40,7 @@ Projects in nested subgroups are not included in the template list. ## Which projects are available as templates -- Public and internal projects can be selected by any signed-in user as a template for a new project, +- Public and internal projects can be selected by any authenticated user as a template for a new project, if all [project features](../project/settings/index.md#configure-project-visibility-features-and-permissions) except for **GitLab Pages** and **Security & Compliance** are set to **Everyone With Access**. - Private projects can be selected only by users who are members of the projects. diff --git a/doc/user/group/index.md b/doc/user/group/index.md index b96ab643c57..db01358d899 100644 --- a/doc/user/group/index.md +++ b/doc/user/group/index.md @@ -25,7 +25,7 @@ For more information about creating and managing your groups, see [Manage groups Like projects, a group can be configured to limit the visibility of it to: - Anonymous users. -- All signed-in users. +- All authenticated users. - Only explicit group members. The restriction for [visibility levels](../admin_area/settings/visibility_and_access_controls.md#restrict-visibility-levels) diff --git a/doc/user/profile/index.md b/doc/user/profile/index.md index f977e529c5c..f178a3254f3 100644 --- a/doc/user/profile/index.md +++ b/doc/user/profile/index.md @@ -87,7 +87,7 @@ not. When visiting the public page of a user, you can only see the projects which you have privileges to. If the [public level is restricted](../admin_area/settings/visibility_and_access_controls.md#restrict-visibility-levels), -user profiles are only visible to signed-in users. +user profiles are only visible to authenticated users. ## Add details to your profile with a README diff --git a/doc/user/project/integrations/harbor.md b/doc/user/project/integrations/harbor.md index 259b91fc1c7..d75f10e0e11 100644 --- a/doc/user/project/integrations/harbor.md +++ b/doc/user/project/integrations/harbor.md @@ -19,7 +19,7 @@ This integration can help you if you need GitLab CI/CD and a container image rep In the Harbor instance, ensure that: - The project to be integrated has been created. -- The signed-in user has permission to pull, push, and edit images in the Harbor project. +- The authenticated user has permission to pull, push, and edit images in the Harbor project. ## Configure GitLab diff --git a/doc/user/project/protected_branches.md b/doc/user/project/protected_branches.md index ab97ff08123..b0754e74314 100644 --- a/doc/user/project/protected_branches.md +++ b/doc/user/project/protected_branches.md @@ -38,6 +38,8 @@ Administrators can set a default branch protection level in the Prerequisite: - You must have at least the Maintainer role. +- When granting a group **Allowed to merge** or **Allowed to push** permissions + on a protected branch, the group must be added to the project. To protect a branch: diff --git a/doc/user/project/service_desk.md b/doc/user/project/service_desk.md index a7773212c67..c66359e9a01 100644 --- a/doc/user/project/service_desk.md +++ b/doc/user/project/service_desk.md @@ -111,6 +111,12 @@ With Service Desk, you can use templates for: - [New note emails](#new-note-email) - [New Service Desk issues](#new-service-desk-issues) +#### Email header and footer **(FREE SELF)** + +Instance administrators can add a small header or footer to the GitLab instance and make them +visible in the email template. For more information, see +[System header and footer messages](../admin_area/appearance.md#system-header-and-footer-messages). + #### Thank you email When a user submits an issue through Service Desk, GitLab sends a **thank you email**. diff --git a/doc/user/project/working_with_projects.md b/doc/user/project/working_with_projects.md index b3a328eba55..d1dcfd8a361 100644 --- a/doc/user/project/working_with_projects.md +++ b/doc/user/project/working_with_projects.md @@ -16,7 +16,7 @@ To view projects, on the top bar, select **Main menu > Projects > View all proje NOTE: The **Explore projects** tab is visible to unauthenticated users unless the [**Public** visibility level](../admin_area/settings/visibility_and_access_controls.md#restrict-visibility-levels) -is restricted. Then the tab is visible only to signed-in users. +is restricted. Then the tab is visible only to authenticated users. ### Who can view the Projects page diff --git a/doc/user/public_access.md b/doc/user/public_access.md index 2d90013e3b4..773c14c9ec8 100644 --- a/doc/user/public_access.md +++ b/doc/user/public_access.md @@ -32,19 +32,19 @@ They are listed in the public access directory (`/public`) for all users. Public groups can have public, internal, or private subgroups. -**Any signed-in user** has the Guest role on the repository. +**Any authenticated user** has the Guest role on the repository. NOTE: By default, `/public` is visible to unauthenticated users. However, if the [**Public** visibility level](admin_area/settings/visibility_and_access_controls.md#restrict-visibility-levels) -is restricted, `/public` is visible only to signed-in users. +is restricted, `/public` is visible only to authenticated users. ## Internal projects and groups **(FREE SELF)** -Internal projects can be cloned by any signed-in user except +Internal projects can be cloned by any authenticated user except [external users](admin_area/external_users.md). -They are also listed in the public access directory (`/public`), but only for signed-in users. +They are also listed in the public access directory (`/public`), but only for authenticated users. Internal groups can have internal or private subgroups. diff --git a/lib/api/validations/validators/bulk_imports.rb b/lib/api/validations/validators/bulk_imports.rb index a5254f7da82..8d49607f64c 100644 --- a/lib/api/validations/validators/bulk_imports.rb +++ b/lib/api/validations/validators/bulk_imports.rb @@ -19,6 +19,8 @@ module API class DestinationNamespacePath < Grape::Validations::Base def validate_param!(attr_name, params) + return if params[attr_name].blank? + unless params[attr_name] =~ Gitlab::Regex.bulk_import_namespace_path_regex # rubocop: disable Style/GuardClause raise Grape::Exceptions::Validation.new( params: [@scope.full_name(attr_name)], diff --git a/lib/gitlab/background_migration/batched_migration_job.rb b/lib/gitlab/background_migration/batched_migration_job.rb index 973ab20f547..4039a79cfa7 100644 --- a/lib/gitlab/background_migration/batched_migration_job.rb +++ b/lib/gitlab/background_migration/batched_migration_job.rb @@ -27,7 +27,7 @@ module Gitlab end def operation_name(operation) - define_method('operation_name') do + define_method(:operation_name) do operation end end diff --git a/lib/gitlab/background_migration/fix_projects_without_prometheus_service.rb b/lib/gitlab/background_migration/fix_projects_without_prometheus_service.rb index 97a9913fa74..452167d4d61 100644 --- a/lib/gitlab/background_migration/fix_projects_without_prometheus_service.rb +++ b/lib/gitlab/background_migration/fix_projects_without_prometheus_service.rb @@ -186,7 +186,7 @@ module Gitlab end def migrate_instance_cluster? - if instance_variable_defined?('@migrate_instance_cluster') + if instance_variable_defined?(:@migrate_instance_cluster) @migrate_instance_cluster else @migrate_instance_cluster = Migratable::Cluster.instance_type.has_prometheus_application? diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb index 344dd27589c..35b330fa089 100644 --- a/lib/gitlab/git_access.rb +++ b/lib/gitlab/git_access.rb @@ -49,7 +49,7 @@ module Gitlab def self.error_message(key) self.ancestors.each do |cls| - return cls.const_get('ERROR_MESSAGES', false).fetch(key) + return cls.const_get(:ERROR_MESSAGES, false).fetch(key) rescue NameError, KeyError next end diff --git a/lib/gitlab/github_gists_import/importer/gist_importer.rb b/lib/gitlab/github_gists_import/importer/gist_importer.rb index a5e87d3cf7d..4018f425e7c 100644 --- a/lib/gitlab/github_gists_import/importer/gist_importer.rb +++ b/lib/gitlab/github_gists_import/importer/gist_importer.rb @@ -7,6 +7,7 @@ module Gitlab attr_reader :gist, :user FileCountLimitError = Class.new(StandardError) + FILE_COUNT_LIMIT_MESSAGE = 'Snippet maximum file count exceeded' # gist - An instance of `Gitlab::GithubGistsImport::Representation::Gist`. def initialize(gist, user_id) @@ -76,7 +77,7 @@ module Gitlab def fail_and_track(snippet) remove_snippet_and_repository(snippet) - ServiceResponse.error(message: 'Snippet max file count exceeded').track_exception(as: FileCountLimitError) + ServiceResponse.error(message: FILE_COUNT_LIMIT_MESSAGE).track_exception(as: FileCountLimitError) end end end diff --git a/lib/gitlab/graphql/deprecations_base.rb b/lib/gitlab/graphql/deprecations_base.rb index 2ee14620907..8a5f07b6ee9 100644 --- a/lib/gitlab/graphql/deprecations_base.rb +++ b/lib/gitlab/graphql/deprecations_base.rb @@ -9,11 +9,11 @@ module Gitlab def self.included(klass) klass.extend(ClassMethods) - klass.const_set('OLD_GRAPHQL_NAME_MAP', klass::DEPRECATIONS.index_by do |d| + klass.const_set(:OLD_GRAPHQL_NAME_MAP, klass::DEPRECATIONS.index_by do |d| klass.map_graphql_name(d.old_name) end.freeze) - klass.const_set('OLD_NAME_MAP', klass::DEPRECATIONS.index_by(&:old_name).freeze) - klass.const_set('NEW_NAME_MAP', klass::DEPRECATIONS.index_by(&:new_name).freeze) + klass.const_set(:OLD_NAME_MAP, klass::DEPRECATIONS.index_by(&:old_name).freeze) + klass.const_set(:NEW_NAME_MAP, klass::DEPRECATIONS.index_by(&:new_name).freeze) end module ClassMethods diff --git a/lib/gitlab/net_http_adapter.rb b/lib/gitlab/net_http_adapter.rb index 2f7557f2bc3..17eb07fff2b 100644 --- a/lib/gitlab/net_http_adapter.rb +++ b/lib/gitlab/net_http_adapter.rb @@ -6,7 +6,7 @@ module Gitlab # Net::HTTP#request usually calls Net::HTTP#connect but the Webmock overwrite doesn't. # This makes sure that, in a test environment, the superclass is the Webmock overwrite. parent_class = if defined?(WebMock) && Rails.env.test? - WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_get('@webMockNetHTTP') + WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_get(:@webMockNetHTTP) else Net::HTTP end diff --git a/lib/gitlab/sidekiq_config/cli_methods.rb b/lib/gitlab/sidekiq_config/cli_methods.rb index 70798f8c3e8..c49180a6c1c 100644 --- a/lib/gitlab/sidekiq_config/cli_methods.rb +++ b/lib/gitlab/sidekiq_config/cli_methods.rb @@ -57,8 +57,8 @@ module Gitlab end def clear_memoization! - if instance_variable_defined?('@worker_metadatas') - remove_instance_variable('@worker_metadatas') + if instance_variable_defined?(:@worker_metadatas) + remove_instance_variable(:@worker_metadatas) end end diff --git a/lib/gitlab/usage/metrics/instrumentations/base_metric.rb b/lib/gitlab/usage/metrics/instrumentations/base_metric.rb index 55da2315e45..0c102f0f386 100644 --- a/lib/gitlab/usage/metrics/instrumentations/base_metric.rb +++ b/lib/gitlab/usage/metrics/instrumentations/base_metric.rb @@ -15,7 +15,7 @@ module Gitlab def available?(&block) return @metric_available = block if block - return @metric_available.call if instance_variable_defined?('@metric_available') + return @metric_available.call if instance_variable_defined?(:@metric_available) true end diff --git a/lib/sidebars/groups/menus/observability_menu.rb b/lib/sidebars/groups/menus/observability_menu.rb index 009dd88f8ee..d85efb1a002 100644 --- a/lib/sidebars/groups/menus/observability_menu.rb +++ b/lib/sidebars/groups/menus/observability_menu.rb @@ -6,10 +6,8 @@ module Sidebars class ObservabilityMenu < ::Sidebars::Menu override :configure_menu_items def configure_menu_items - add_item(dashboards_menu_item) add_item(explore_menu_item) add_item(datasources_menu_item) - add_item(manage_menu_item) end override :title @@ -40,7 +38,7 @@ module Sidebars def explore_menu_item ::Sidebars::MenuItem.new( - title: s_('Observability|Explore'), + title: s_('Observability|Explore telemetry data'), link: group_observability_explore_path(context.group), active_routes: { path: 'groups/observability#explore' }, item_id: :explore diff --git a/lib/sidebars/your_work/menus/groups_menu.rb b/lib/sidebars/your_work/menus/groups_menu.rb new file mode 100644 index 00000000000..fd50b9b4b50 --- /dev/null +++ b/lib/sidebars/your_work/menus/groups_menu.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Sidebars + module YourWork + module Menus + class GroupsMenu < ::Sidebars::Menu + override :link + def link + dashboard_groups_path + end + + override :title + def title + _('Groups') + end + + override :sprite_icon + def sprite_icon + 'group' + end + + override :render? + def render? + !!context.current_user + end + + override :active_routes + def active_routes + { controller: ['groups', 'dashboard/groups'] } + end + end + end + end +end diff --git a/lib/sidebars/your_work/panel.rb b/lib/sidebars/your_work/panel.rb index ed43f1dc4bd..215a2a2da09 100644 --- a/lib/sidebars/your_work/panel.rb +++ b/lib/sidebars/your_work/panel.rb @@ -22,6 +22,7 @@ module Sidebars def add_menus add_menu(Sidebars::YourWork::Menus::ProjectsMenu.new(context)) + add_menu(Sidebars::YourWork::Menus::GroupsMenu.new(context)) add_menu(Sidebars::YourWork::Menus::IssuesMenu.new(context)) add_menu(Sidebars::YourWork::Menus::MergeRequestsMenu.new(context)) add_menu(Sidebars::YourWork::Menus::TodosMenu.new(context)) diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 57f26dd63e9..83d453179be 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -18869,6 +18869,18 @@ msgstr "" msgid "Gitea Import" msgstr "" +msgid "GithubImporter|Gist with id %{gist_id} failed due to error: %{error}." +msgstr "" + +msgid "GithubImporter|GitHub Gists import finished with errors" +msgstr "" + +msgid "GithubImporter|GitHub gists that were not imported:" +msgstr "" + +msgid "GithubImporter|GitHub gists with more than 10 files must be manually migrated." +msgstr "" + msgid "GithubImporter|Issue attachments" msgstr "" @@ -18884,12 +18896,21 @@ msgstr "" msgid "GithubImporter|PR reviews" msgstr "" +msgid "GithubImporter|Please follow %{import_snippets_link_start}Import GitHub gists into GitLab snippets%{import_snippets_link_end} for more details." +msgstr "" + +msgid "GithubImporter|Please follow %{import_snippets_url} for more details." +msgstr "" + msgid "GithubImporter|Pull requests" msgstr "" msgid "GithubImporter|Release attachments" msgstr "" +msgid "GithubImporter|Your import of GitHub gists into GitLab snippets is complete." +msgstr "" + msgid "GithubIntegration|Create a %{token_link_start}personal access token%{token_link_end} with %{status_html} access granted and paste it here." msgstr "" @@ -19898,7 +19919,7 @@ msgstr "" msgid "GroupSettings|Select the project containing the %{code_start}.gitlab/insights.yml%{code_end} file" msgstr "" -msgid "GroupSettings|Select the project containing your custom Insights file. %{help_link_start}What is Insights?%{help_link_end}" +msgid "GroupSettings|Select the project containing your custom Insights file." msgstr "" msgid "GroupSettings|Set a size limit for all content in each Pages site in this group. %{link_start}Learn more.%{link_end}" @@ -19934,6 +19955,9 @@ msgstr "" msgid "GroupSettings|What are badges?" msgstr "" +msgid "GroupSettings|What is Insights?" +msgstr "" + msgid "GroupSettings|When the number of active users exceeds this number, additional users must be %{user_cap_docs_link_start}approved by an owner%{user_cap_docs_link_end}. Leave empty if you don't want to enforce approvals." msgstr "" @@ -28669,7 +28693,7 @@ msgstr "" msgid "Observability|Data sources" msgstr "" -msgid "Observability|Explore" +msgid "Observability|Explore telemetry data" msgstr "" msgid "Observability|Manage dashboards" @@ -48257,6 +48281,9 @@ msgid_plural "You have %{pendingMembersCount} pending members that need approval msgstr[0] "" msgstr[1] "" +msgid "You have already reported this user" +msgstr "" + msgid "You have been granted %{access_level} access to the %{source_link} %{source_type}." msgstr "" @@ -49860,9 +49887,6 @@ msgstr[1] "" msgid "has already been linked to another vulnerability" msgstr "" -msgid "has already been reported for abuse" -msgstr "" - msgid "has already been taken" msgstr "" diff --git a/metrics_server/metrics_server.rb b/metrics_server/metrics_server.rb index a324b034b5e..269d03f6d0c 100644 --- a/metrics_server/metrics_server.rb +++ b/metrics_server/metrics_server.rb @@ -38,8 +38,7 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass def spawn(target, metrics_dir:, **options) return spawn_ruby_server(target, metrics_dir: metrics_dir, **options) unless new_metrics_server? - name = settings_key(target) - settings = ::Settings.monitoring[name] + settings = settings_value(target) path = options[:path]&.then { |p| Pathname.new(p) } || Pathname.new('') cmd = path.join('gitlab-metrics-exporter').to_path env = { @@ -51,7 +50,7 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass } if settings['log_enabled'] - env['GME_LOG_FILE'] = File.join(Rails.root, 'log', "#{name}.log") + env['GME_LOG_FILE'] = File.join(Rails.root, 'log', "#{name(target)}.log") env['GME_LOG_LEVEL'] = 'info' else env['GME_LOG_LEVEL'] = 'quiet' @@ -106,8 +105,27 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass pid end + def name(target) + case target + when 'puma' then 'web_exporter' + when 'sidekiq' then 'sidekiq_exporter' + else ensure_valid_target!(target) + end + end + private + # We need to use `.` (dot) notation to access the updates we did in `config/initializers/1_settings.rb` + # For that reason, avoid using `[]` ("optional/dynamic settings notation") to resolve it dynamically. + # Refer to https://gitlab.com/gitlab-org/gitlab/-/issues/386865 + def settings_value(target) + case target + when 'puma' then ::Settings.monitoring.web_exporter + when 'sidekiq' then ::Settings.monitoring.sidekiq_exporter + else ensure_valid_target!(target) + end + end + def new_metrics_server? Gitlab::Utils.to_boolean(ENV['GITLAB_GOLANG_METRICS_SERVER']) end @@ -115,14 +133,6 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass def ensure_valid_target!(target) raise "Target must be one of [puma,sidekiq]" unless %w(puma sidekiq).include?(target) end - - def settings_key(target) - case target - when 'puma' then 'web_exporter' - when 'sidekiq' then 'sidekiq_exporter' - else ensure_valid_target!(target) - end - end end def initialize(target, metrics_dir, wipe_metrics_dir) @@ -152,7 +162,7 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass when 'puma' Gitlab::Metrics::Exporter::WebExporter.instance(**default_opts) when 'sidekiq' - settings = Settings.new(Settings.monitoring[name]) + settings = Settings.new(Settings.monitoring.sidekiq_exporter) Gitlab::Metrics::Exporter::SidekiqExporter.instance(settings, **default_opts) end @@ -160,9 +170,6 @@ class MetricsServer # rubocop:disable Gitlab/NamespacedClass end def name - case @target - when 'puma' then 'web_exporter' - when 'sidekiq' then 'sidekiq_exporter' - end + self.class.name(@target) end end diff --git a/metrics_server/settings_overrides.rb b/metrics_server/settings_overrides.rb index b3fd39229d5..d6c8fc79941 100644 --- a/metrics_server/settings_overrides.rb +++ b/metrics_server/settings_overrides.rb @@ -7,7 +7,7 @@ # to all necessary constants. For example, we need Rails.root to # determine the location of bin/metrics-server. # Here we make the necessary constants available conditionally. -require_relative 'override_rails_constants' unless Object.const_defined?('Rails') +require_relative 'override_rails_constants' unless Object.const_defined?(:Rails) # We need to supply this outside of Rails because: # RubySampler needs Gitlab::Metrics needs Gitlab::Metrics::Prometheus needs Gitlab::CurrentSettings needs ::Settings diff --git a/package.json b/package.json index 92de33c53ef..1f57e1aaf33 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "jest": "jest --config jest.config.js", "jest-debug": "node --inspect-brk node_modules/.bin/jest --runInBand", "jest:ci": "jest --config jest.config.js --ci --coverage --testSequencer ./scripts/frontend/parallel_ci_sequencer.js", - "jest:ci:minimal": "jest --config jest.config.js --ci --coverage --findRelatedTests $(cat $RSPEC_CHANGED_FILES_PATH) --passWithNoTests --testSequencer ./scripts/frontend/parallel_ci_sequencer.js", + "jest:ci:minimal": "jest --config jest.config.js --ci --coverage --findRelatedTests $(cat $RSPEC_CHANGED_FILES_PATH) $(cat $RSPEC_MATCHING_JS_FILES_PATH) --passWithNoTests --testSequencer ./scripts/frontend/parallel_ci_sequencer.js", "jest:contract": "PACT_DO_NOT_TRACK=true jest --config jest.config.contract.js --runInBand", "jest:integration": "jest --config jest.config.integration.js", "lint:eslint": "node scripts/frontend/eslint.js", diff --git a/qa/qa/page/project/pipeline/new.rb b/qa/qa/page/project/pipeline/new.rb index 1d85d072e34..54c3bb0ddeb 100644 --- a/qa/qa/page/project/pipeline/new.rb +++ b/qa/qa/page/project/pipeline/new.rb @@ -5,7 +5,7 @@ module QA module Project module Pipeline class New < QA::Page::Base - view 'app/assets/javascripts/pipeline_new/components/pipeline_new_form.vue' do + view 'app/assets/javascripts/ci/pipeline_new/components/pipeline_new_form.vue' do element :run_pipeline_button, required: true element :ci_variable_row_container element :ci_variable_key_field diff --git a/qa/qa/vendor/jenkins/job.rb b/qa/qa/vendor/jenkins/job.rb index 46048960fae..1d6918c5548 100644 --- a/qa/qa/vendor/jenkins/job.rb +++ b/qa/qa/vendor/jenkins/job.rb @@ -96,7 +96,7 @@ module QA end xml.concurrentBuild false xml.builders do - xml.send('hudson.tasks.Shell') do + xml.send(:"hudson.tasks.Shell") do xml.command shell_command xml.configuredLocalRules end @@ -115,12 +115,12 @@ module QA if repo_url xml.scm(class: 'hudson.plugins.git.GitSCM') do xml.userRemoteConfigs do - xml.send('hudson.plugins.git.UserRemoteConfig') do + xml.send(:"hudson.plugins.git.UserRemoteConfig") do xml.url repo_url end end xml.branches do - xml.send('hudson.plugins.git.BranchSpec') do + xml.send(:"hudson.plugins.git.BranchSpec") do xml.name end end @@ -133,7 +133,7 @@ module QA def build_gitlab_connection(xml) if gitlab_connection - xml.send('com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty') do + xml.send(:"com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty") do xml.gitLabConnection gitlab_connection end end @@ -141,7 +141,7 @@ module QA def build_gitlab_triggers(xml) if gitlab_connection - xml.send('com.dabsquared.gitlabjenkins.GitLabPushTrigger') do + xml.send(:"com.dabsquared.gitlabjenkins.GitLabPushTrigger") do xml.spec xml.triggerOnPush true xml.triggerOnMergeRequest true @@ -154,7 +154,7 @@ module QA def build_gitlab_publishers(xml) if gitlab_connection - xml.send('com.dabsquared.gitlabjenkins.publisher.GitLabCommitStatusPublisher') do + xml.send(:"com.dabsquared.gitlabjenkins.publisher.GitLabCommitStatusPublisher") do xml.name 'jenkins' xml.markUnstableAsSuccess false end diff --git a/scripts/review_apps/review-apps.sh b/scripts/review_apps/review-apps.sh index 346edd818b8..6a72b19c631 100755 --- a/scripts/review_apps/review-apps.sh +++ b/scripts/review_apps/review-apps.sh @@ -372,13 +372,24 @@ function verify_deploy() { # Since we are creating a personal access token in `disable_sign_ups`, # This method should be executed after it. function verify_commit_sha() { - echoinfo "[$(date '+%H:%M:%S')] Checking the correct commit is deployed in the review-app:" - echo "Expected commit sha: ${CI_COMMIT_SHA}" + local verify_success="false" - review_app_revision=$(curl --header "PRIVATE-TOKEN: ${REVIEW_APPS_ROOT_TOKEN}" "${CI_ENVIRONMENT_URL}/api/v4/metadata" | jq -r .revision) - echo "review-app revision: ${review_app_revision}" + for i in {1..60}; do # try for 2 minutes in case review-apps containers are restarting + echoinfo "[$(date '+%H:%M:%S')] Checking the correct commit is deployed in the review-app:" + echo "Expected commit sha: ${CI_COMMIT_SHA}" - if [[ "${CI_COMMIT_SHA}" != "${review_app_revision}"* ]]; then + review_app_revision=$(curl --header "PRIVATE-TOKEN: ${REVIEW_APPS_ROOT_TOKEN}" "${CI_ENVIRONMENT_URL}/api/v4/metadata" | jq -r .revision) + echo "review-app revision: ${review_app_revision}" + + if [[ "${CI_COMMIT_SHA}" == "${review_app_revision}"* ]]; then + verify_success="true" + break + fi + + sleep 2 + done + + if [[ "${verify_success}" != "true" ]]; then echoerr "[$(date '+%H:%M:%S')] Review app revision is not the same as the current commit!" return 1 fi diff --git a/sidekiq_cluster/cli.rb b/sidekiq_cluster/cli.rb index 760a5f14c2d..42454a20907 100644 --- a/sidekiq_cluster/cli.rb +++ b/sidekiq_cluster/cli.rb @@ -8,7 +8,7 @@ require 'time' # In environments where code is preloaded and cached such as `spring`, # we may run into "already initialized" warnings, hence the check. -require_relative '../lib/gitlab' unless Object.const_defined?('Gitlab') +require_relative '../lib/gitlab' unless Object.const_defined?(:Gitlab) require_relative '../lib/gitlab/utils' require_relative '../lib/gitlab/sidekiq_config/cli_methods' require_relative '../lib/gitlab/sidekiq_config/worker_matcher' diff --git a/spec/commands/metrics_server/metrics_server_spec.rb b/spec/commands/metrics_server/metrics_server_spec.rb index f93be1d9f88..310e31da045 100644 --- a/spec/commands/metrics_server/metrics_server_spec.rb +++ b/spec/commands/metrics_server/metrics_server_spec.rb @@ -70,7 +70,8 @@ RSpec.describe 'GitLab metrics server', :aggregate_failures do before do if use_golang_server stub_env('GITLAB_GOLANG_METRICS_SERVER', '1') - allow(Settings).to receive(:monitoring).and_return(config.dig('test', 'monitoring')) + allow(Settings).to receive(:monitoring).and_return( + Settingslogic.new(config.dig('test', 'monitoring'))) else config_file.write(YAML.dump(config)) config_file.close diff --git a/spec/components/previews/pajamas/button_component_preview.rb b/spec/components/previews/pajamas/button_component_preview.rb index c07d898d9cd..13a04dc0d63 100644 --- a/spec/components/previews/pajamas/button_component_preview.rb +++ b/spec/components/previews/pajamas/button_component_preview.rb @@ -3,7 +3,7 @@ module Pajamas class ButtonComponentPreview < ViewComponent::Preview # Button # ---- - # See its design reference [here](https://design.gitlab.com/components/banner). + # See its design reference [here](https://design.gitlab.com/components/button). # # @param category select {{ Pajamas::ButtonComponent::CATEGORY_OPTIONS }} # @param variant select {{ Pajamas::ButtonComponent::VARIANT_OPTIONS }} @@ -13,7 +13,7 @@ module Pajamas # @param loading toggle # @param block toggle # @param selected toggle - # @param icon text + # @param icon select [~, star-o, issue-closed, tanuki] # @param text text def default( # rubocop:disable Metrics/ParameterLists category: :primary, @@ -24,7 +24,7 @@ module Pajamas loading: false, block: false, selected: false, - icon: "pencil", + icon: nil, text: "Edit" ) render(Pajamas::ButtonComponent.new( diff --git a/spec/controllers/import/available_namespaces_controller_spec.rb b/spec/controllers/import/available_namespaces_controller_spec.rb deleted file mode 100644 index 26ea1d92189..00000000000 --- a/spec/controllers/import/available_namespaces_controller_spec.rb +++ /dev/null @@ -1,109 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Import::AvailableNamespacesController do - let_it_be(:user) { create(:user) } - - before do - sign_in(user) - end - - describe "GET index" do - context "when having group with role never allowed to create projects" do - using RSpec::Parameterized::TableSyntax - - where( - role: [:guest, :reporter], - default_project_creation_access: [::Gitlab::Access::MAINTAINER_PROJECT_ACCESS, ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS], - group_project_creation_level: [nil, ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS, ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS]) - - with_them do - before do - stub_application_setting(default_project_creation: default_project_creation_access) - end - - it "does not include group with access level #{params[:role]} in list" do - group = create(:group, project_creation_level: group_project_creation_level) - group.add_member(user, role) - get :index - - expect(response).to have_gitlab_http_status(:ok) - expect(json_response).not_to include({ - 'id' => group.id, - 'full_path' => group.full_path - }) - end - end - end - - context "when having group with role always allowed to create projects" do - using RSpec::Parameterized::TableSyntax - - where( - role: [:maintainer, :owner], - default_project_creation_access: [::Gitlab::Access::MAINTAINER_PROJECT_ACCESS, ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS], - group_project_creation_level: [nil, ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS, ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS]) - - with_them do - before do - stub_application_setting(default_project_creation: default_project_creation_access) - end - - it "does not include group with access level #{params[:role]} in list" do - group = create(:group, project_creation_level: group_project_creation_level) - group.add_member(user, role) - get :index - - expect(response).to have_gitlab_http_status(:ok) - expect(json_response).to include({ - 'id' => group.id, - 'full_path' => group.full_path - }) - end - end - end - - context "when having developer role" do - using RSpec::Parameterized::TableSyntax - - where(:default_project_creation_access, :project_creation_level, :is_visible) do - ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS | nil | false - ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS | ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS | true - ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS | nil | true - ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS | ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS | false - end - - with_them do - before do - stub_application_setting(default_project_creation: default_project_creation_access) - end - - it "#{params[:is_visible] ? 'includes' : 'does not include'} group with access level #{params[:role]} in list" do - group = create(:group, project_creation_level: project_creation_level) - group.add_member(user, :developer) - - get :index - - expect(response).to have_gitlab_http_status(:ok) - expect(json_response).send(is_visible ? 'to' : 'not_to', include({ - 'id' => group.id, - 'full_path' => group.full_path - })) - end - end - end - - context "with an anonymous user" do - before do - sign_out(user) - end - - it "redirects to sign-in page" do - get :index - - expect(response).to redirect_to(new_user_session_path) - end - end - end -end diff --git a/spec/controllers/projects/environments_controller_spec.rb b/spec/controllers/projects/environments_controller_spec.rb index 62e8c600e9f..dddefbac163 100644 --- a/spec/controllers/projects/environments_controller_spec.rb +++ b/spec/controllers/projects/environments_controller_spec.rb @@ -1010,7 +1010,7 @@ RSpec.describe Projects::EnvironmentsController do expect(controller).to receive(:append_info_to_payload).and_wrap_original do |method, payload| method.call(payload) - expect(payload[:metadata]['meta.environment.search']).to be_nil + expect(payload[:metadata]).not_to have_key('meta.environment.search') expect(payload[:action]).to eq("search") expect(payload[:controller]).to eq("Projects::EnvironmentsController") end @@ -1022,13 +1022,25 @@ RSpec.describe Projects::EnvironmentsController do expect(controller).to receive(:append_info_to_payload).and_wrap_original do |method, payload| method.call(payload) - expect(payload[:metadata]['meta.environment.search']).to be_nil + expect(payload[:metadata]).not_to have_key('meta.environment.search') expect(payload[:action]).to eq("search") expect(payload[:controller]).to eq("Projects::EnvironmentsController") end get :search, params: environment_params(format: :json) end + + it 'logs params correctly when search params is empty string' do + expect(controller).to receive(:append_info_to_payload).and_wrap_original do |method, payload| + method.call(payload) + + expect(payload[:metadata]).not_to have_key('meta.environment.search') + expect(payload[:action]).to eq("search") + expect(payload[:controller]).to eq("Projects::EnvironmentsController") + end + + get :search, params: environment_params(format: :json, search: "") + end end context 'when search_environment_logging feature is enabled' do @@ -1052,13 +1064,25 @@ RSpec.describe Projects::EnvironmentsController do expect(controller).to receive(:append_info_to_payload).and_wrap_original do |method, payload| method.call(payload) - expect(payload[:metadata]['meta.environment.search']).to be_nil + expect(payload[:metadata]).not_to have_key('meta.environment.search') expect(payload[:action]).to eq("search") expect(payload[:controller]).to eq("Projects::EnvironmentsController") end get :search, params: environment_params(format: :json) end + + it 'logs params correctly when search params is empty string' do + expect(controller).to receive(:append_info_to_payload).and_wrap_original do |method, payload| + method.call(payload) + + expect(payload[:metadata]).not_to have_key('meta.environment.search') + expect(payload[:action]).to eq("search") + expect(payload[:controller]).to eq("Projects::EnvironmentsController") + end + + get :search, params: environment_params(format: :json, search: "") + end end end diff --git a/spec/factories/wiki_pages.rb b/spec/factories/wiki_pages.rb index 6f912a183e8..9b4c8a4fced 100644 --- a/spec/factories/wiki_pages.rb +++ b/spec/factories/wiki_pages.rb @@ -28,7 +28,7 @@ FactoryBot.define do # Clear our default @page, except when using build_stubbed after(:build) do |page| - page.instance_variable_set('@page', nil) + page.instance_variable_set(:@page, nil) end to_create do |page, evaluator| diff --git a/spec/features/abuse_report_spec.rb b/spec/features/abuse_report_spec.rb index f9fa3e6e109..1dfc86be628 100644 --- a/spec/features/abuse_report_spec.rb +++ b/spec/features/abuse_report_spec.rb @@ -68,7 +68,7 @@ RSpec.describe 'Abuse reports', :js, feature_category: :insider_threat do fill_and_submit_form - expect(page).to have_content 'User has already been reported for abuse' + expect(page).to have_content 'You have already reported this user' end it 'allows multiple users to report a user' do diff --git a/spec/features/dashboard/groups_list_spec.rb b/spec/features/dashboard/groups_list_spec.rb index b28e2ccf787..a45e0a58ed6 100644 --- a/spec/features/dashboard/groups_list_spec.rb +++ b/spec/features/dashboard/groups_list_spec.rb @@ -19,6 +19,8 @@ RSpec.describe 'Dashboard Groups page', :js, feature_category: :subgroups do page.find("[data-testid='group-#{group.id}-dropdown-button'").click end + it_behaves_like 'a dashboard page with sidebar', :dashboard_groups_path, :groups + it 'shows groups user is member of' do group.add_owner(user) nested_group.add_owner(user) diff --git a/spec/features/groups/new_group_page_spec.rb b/spec/features/groups/new_group_page_spec.rb index 662ef734299..a07c27331d9 100644 --- a/spec/features/groups/new_group_page_spec.rb +++ b/spec/features/groups/new_group_page_spec.rb @@ -10,6 +10,8 @@ RSpec.describe 'New group page', :js, feature_category: :subgroups do sign_in(user) end + it_behaves_like 'a dashboard page with sidebar', :new_group_path, :groups + describe 'new top level group alert' do context 'when a user visits the new group page' do it 'shows the new top level group alert' do diff --git a/spec/frontend/pipeline_new/components/pipeline_new_form_spec.js b/spec/frontend/ci/pipeline_new/components/pipeline_new_form_spec.js index 56940e43365..cd16045f92d 100644 --- a/spec/frontend/pipeline_new/components/pipeline_new_form_spec.js +++ b/spec/frontend/ci/pipeline_new/components/pipeline_new_form_spec.js @@ -14,10 +14,10 @@ import { HTTP_STATUS_OK, } from '~/lib/utils/http_status'; import { redirectTo } from '~/lib/utils/url_utility'; -import PipelineNewForm from '~/pipeline_new/components/pipeline_new_form.vue'; -import ciConfigVariablesQuery from '~/pipeline_new/graphql/queries/ci_config_variables.graphql'; -import { resolvers } from '~/pipeline_new/graphql/resolvers'; -import RefsDropdown from '~/pipeline_new/components/refs_dropdown.vue'; +import PipelineNewForm from '~/ci/pipeline_new/components/pipeline_new_form.vue'; +import ciConfigVariablesQuery from '~/ci/pipeline_new/graphql/queries/ci_config_variables.graphql'; +import { resolvers } from '~/ci/pipeline_new/graphql/resolvers'; +import RefsDropdown from '~/ci/pipeline_new/components/refs_dropdown.vue'; import { mockCreditCardValidationRequiredError, mockCiConfigVariablesResponse, diff --git a/spec/frontend/pipeline_new/components/refs_dropdown_spec.js b/spec/frontend/ci/pipeline_new/components/refs_dropdown_spec.js index 975f39562be..cf8009e388f 100644 --- a/spec/frontend/pipeline_new/components/refs_dropdown_spec.js +++ b/spec/frontend/ci/pipeline_new/components/refs_dropdown_spec.js @@ -5,7 +5,7 @@ import waitForPromises from 'helpers/wait_for_promises'; import axios from '~/lib/utils/axios_utils'; import { HTTP_STATUS_INTERNAL_SERVER_ERROR, HTTP_STATUS_OK } from '~/lib/utils/http_status'; -import RefsDropdown from '~/pipeline_new/components/refs_dropdown.vue'; +import RefsDropdown from '~/ci/pipeline_new/components/refs_dropdown.vue'; import { mockBranches, mockRefs, mockFilteredRefs, mockTags } from '../mock_data'; diff --git a/spec/frontend/pipeline_new/mock_data.js b/spec/frontend/ci/pipeline_new/mock_data.js index dfb643a0ba4..dfb643a0ba4 100644 --- a/spec/frontend/pipeline_new/mock_data.js +++ b/spec/frontend/ci/pipeline_new/mock_data.js diff --git a/spec/frontend/pipeline_new/utils/filter_variables_spec.js b/spec/frontend/ci/pipeline_new/utils/filter_variables_spec.js index 42bc6244456..d1b89704b58 100644 --- a/spec/frontend/pipeline_new/utils/filter_variables_spec.js +++ b/spec/frontend/ci/pipeline_new/utils/filter_variables_spec.js @@ -1,4 +1,4 @@ -import filterVariables from '~/pipeline_new/utils/filter_variables'; +import filterVariables from '~/ci/pipeline_new/utils/filter_variables'; import { mockVariables } from '../mock_data'; describe('Filter variables utility function', () => { diff --git a/spec/frontend/pipeline_new/utils/format_refs_spec.js b/spec/frontend/ci/pipeline_new/utils/format_refs_spec.js index 26dfa002a91..137a9339649 100644 --- a/spec/frontend/pipeline_new/utils/format_refs_spec.js +++ b/spec/frontend/ci/pipeline_new/utils/format_refs_spec.js @@ -1,9 +1,9 @@ -import { BRANCH_REF_TYPE, TAG_REF_TYPE } from '~/pipeline_new/constants'; +import { BRANCH_REF_TYPE, TAG_REF_TYPE } from '~/ci/pipeline_new/constants'; import { formatRefs, formatListBoxItems, searchByFullNameInListboxOptions, -} from '~/pipeline_new/utils/format_refs'; +} from '~/ci/pipeline_new/utils/format_refs'; import { mockBranchRefs, mockTagRefs } from '../mock_data'; describe('Format refs util', () => { diff --git a/spec/helpers/groups/observability_helper_spec.rb b/spec/helpers/groups/observability_helper_spec.rb index 9a1e88f310b..ee33a853f9c 100644 --- a/spec/helpers/groups/observability_helper_spec.rb +++ b/spec/helpers/groups/observability_helper_spec.rb @@ -91,7 +91,7 @@ RSpec.describe Groups::ObservabilityHelper do it 'returns the title for action: explore' do allow(helper).to receive(:params).and_return({ action: 'explore' }) - expect(helper.observability_page_title).to eq("Explore") + expect(helper.observability_page_title).to eq("Explore telemetry data") end it 'returns the title for action: datasources' do diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index fd1ec766740..14378685be7 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -206,7 +206,7 @@ RSpec.describe ProjectsHelper do it 'loads the pipeline status in batch' do helper.load_pipeline_status([project]) # Skip lazy loading of the `pipeline_status` attribute - pipeline_status = project.instance_variable_get('@pipeline_status') + pipeline_status = project.instance_variable_get(:@pipeline_status) expect(pipeline_status).to be_a(Gitlab::Cache::Ci::ProjectPipelineStatus) end diff --git a/spec/lib/api/helpers/packages_helpers_spec.rb b/spec/lib/api/helpers/packages_helpers_spec.rb index a3b21059334..d49aec1650d 100644 --- a/spec/lib/api/helpers/packages_helpers_spec.rb +++ b/spec/lib/api/helpers/packages_helpers_spec.rb @@ -32,7 +32,7 @@ RSpec.describe API::Helpers::PackagesHelpers do it 'calls authorize! with correct subject' do expect(helper).to receive(:authorize!).with(:read_package, have_attributes(id: subject.id, class: expected_class)) - expect(helper.send('authorize_read_package!', subject)).to eq nil + expect(helper.send(:authorize_read_package!, subject)).to eq nil end end end diff --git a/spec/lib/banzai/filter/references/reference_filter_spec.rb b/spec/lib/banzai/filter/references/reference_filter_spec.rb index 6d7396ef216..88404f2039d 100644 --- a/spec/lib/banzai/filter/references/reference_filter_spec.rb +++ b/spec/lib/banzai/filter/references/reference_filter_spec.rb @@ -189,9 +189,9 @@ RSpec.describe Banzai::Filter::References::ReferenceFilter do let(:filter) { described_class.new(document, project: project) } it 'updates all new nodes', :aggregate_failures do - filter.instance_variable_set('@nodes', nodes) + filter.instance_variable_set(:@nodes, nodes) - expect(filter).to receive(:call) { filter.instance_variable_set('@new_nodes', new_nodes) } + expect(filter).to receive(:call) { filter.instance_variable_set(:@new_nodes, new_nodes) } expect(filter).to receive(:with_update_nodes).and_call_original expect(filter).to receive(:update_nodes!).and_call_original @@ -212,7 +212,7 @@ RSpec.describe Banzai::Filter::References::ReferenceFilter do expect_next_instance_of(described_class) do |filter| expect(filter).to receive(:call_and_update_nodes).and_call_original expect(filter).to receive(:with_update_nodes).and_call_original - expect(filter).to receive(:call) { filter.instance_variable_set('@new_nodes', new_nodes) } + expect(filter).to receive(:call) { filter.instance_variable_set(:@new_nodes, new_nodes) } expect(filter).to receive(:update_nodes!).and_call_original end diff --git a/spec/lib/gitlab/background_migration/batched_migration_job_spec.rb b/spec/lib/gitlab/background_migration/batched_migration_job_spec.rb index 7280ca0b58e..faaaccfdfaf 100644 --- a/spec/lib/gitlab/background_migration/batched_migration_job_spec.rb +++ b/spec/lib/gitlab/background_migration/batched_migration_job_spec.rb @@ -14,7 +14,7 @@ RSpec.describe Gitlab::BackgroundMigration::BatchedMigrationJob do expect(generic_instance.send(:batch_table)).to eq('projects') expect(generic_instance.send(:batch_column)).to eq('id') - expect(generic_instance.instance_variable_get('@job_arguments')).to eq(%w(x y)) + expect(generic_instance.instance_variable_get(:@job_arguments)).to eq(%w(x y)) expect(generic_instance.send(:connection)).to eq(connection) %i(start_id end_id sub_batch_size pause_ms).each do |attr| diff --git a/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb b/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb index c78140a70b3..2dea0aef4cf 100644 --- a/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb +++ b/spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb @@ -24,7 +24,7 @@ RSpec.describe Gitlab::Cache::Ci::ProjectPipelineStatus, :clean_gitlab_redis_cac described_class.load_in_batch_for_projects([project]) # Don't call the accessor that would lazy load the variable - project_pipeline_status = project.instance_variable_get('@pipeline_status') + project_pipeline_status = project.instance_variable_get(:@pipeline_status) expect(project_pipeline_status).to be_a(described_class) expect(project_pipeline_status).to be_loaded diff --git a/spec/lib/gitlab/database/partitioning_spec.rb b/spec/lib/gitlab/database/partitioning_spec.rb index db5ca890155..855d0bc46a4 100644 --- a/spec/lib/gitlab/database/partitioning_spec.rb +++ b/spec/lib/gitlab/database/partitioning_spec.rb @@ -10,15 +10,15 @@ RSpec.describe Gitlab::Database::Partitioning do around do |example| previously_registered_models = described_class.registered_models.dup - described_class.instance_variable_set('@registered_models', Set.new) + described_class.instance_variable_set(:@registered_models, Set.new) previously_registered_tables = described_class.registered_tables.dup - described_class.instance_variable_set('@registered_tables', Set.new) + described_class.instance_variable_set(:@registered_tables, Set.new) example.run - described_class.instance_variable_set('@registered_models', previously_registered_models) - described_class.instance_variable_set('@registered_tables', previously_registered_tables) + described_class.instance_variable_set(:@registered_models, previously_registered_models) + described_class.instance_variable_set(:@registered_tables, previously_registered_tables) end describe '.register_models' do diff --git a/spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb b/spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb index 69a4d646562..6bfbfbdeddf 100644 --- a/spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb +++ b/spec/lib/gitlab/github_gists_import/importer/gist_importer_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubGistsImport::Importer::GistImporter, feature_category: :importer do +RSpec.describe Gitlab::GithubGistsImport::Importer::GistImporter, feature_category: :importers do subject { described_class.new(gist_object, user.id).execute } let_it_be(:user) { create(:user) } @@ -63,7 +63,7 @@ RSpec.describe Gitlab::GithubGistsImport::Importer::GistImporter, feature_catego expect(user.snippets.count).to eq(0) expect(result.error?).to eq(true) - expect(result.errors).to match_array(['Snippet max file count exceeded']) + expect(result.errors).to match_array(['Snippet maximum file count exceeded']) end end diff --git a/spec/lib/gitlab/github_gists_import/importer/gists_importer_spec.rb b/spec/lib/gitlab/github_gists_import/importer/gists_importer_spec.rb index 704999a99a9..d555a847ea5 100644 --- a/spec/lib/gitlab/github_gists_import/importer/gists_importer_spec.rb +++ b/spec/lib/gitlab/github_gists_import/importer/gists_importer_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubGistsImport::Importer::GistsImporter, feature_category: :importer do +RSpec.describe Gitlab::GithubGistsImport::Importer::GistsImporter, feature_category: :importers do subject(:result) { described_class.new(user, token).execute } let_it_be(:user) { create(:user) } diff --git a/spec/lib/gitlab/github_gists_import/representation/gist_spec.rb b/spec/lib/gitlab/github_gists_import/representation/gist_spec.rb index 480aefb2c74..d6b47a1e837 100644 --- a/spec/lib/gitlab/github_gists_import/representation/gist_spec.rb +++ b/spec/lib/gitlab/github_gists_import/representation/gist_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubGistsImport::Representation::Gist, feature_category: :importer do +RSpec.describe Gitlab::GithubGistsImport::Representation::Gist, feature_category: :importers do shared_examples 'a Gist' do it 'returns an instance of Gist' do expect(gist).to be_an_instance_of(described_class) diff --git a/spec/lib/gitlab/github_gists_import/status_spec.rb b/spec/lib/gitlab/github_gists_import/status_spec.rb index 4cbbbd430eb..d2016ef0248 100644 --- a/spec/lib/gitlab/github_gists_import/status_spec.rb +++ b/spec/lib/gitlab/github_gists_import/status_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubGistsImport::Status, :clean_gitlab_redis_cache, feature_category: :importer do +RSpec.describe Gitlab::GithubGistsImport::Status, :clean_gitlab_redis_cache, feature_category: :importers do subject(:import_status) { described_class.new(user.id) } let_it_be(:user) { create(:user) } diff --git a/spec/lib/gitlab/github_import/bulk_importing_spec.rb b/spec/lib/gitlab/github_import/bulk_importing_spec.rb index af31cb6c873..136ddb566aa 100644 --- a/spec/lib/gitlab/github_import/bulk_importing_spec.rb +++ b/spec/lib/gitlab/github_import/bulk_importing_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubImport::BulkImporting, feature_category: :importer do +RSpec.describe Gitlab::GithubImport::BulkImporting, feature_category: :importers do let(:project) { instance_double(Project, id: 1) } let(:importer) { MyImporter.new(project, double) } let(:importer_class) do diff --git a/spec/lib/gitlab/github_import/importer/labels_importer_spec.rb b/spec/lib/gitlab/github_import/importer/labels_importer_spec.rb index ad9ef4afddd..9e295ab215a 100644 --- a/spec/lib/gitlab/github_import/importer/labels_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/labels_importer_spec.rb @@ -2,7 +2,8 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubImport::Importer::LabelsImporter, :clean_gitlab_redis_cache, feature_category: :importer do +RSpec.describe Gitlab::GithubImport::Importer::LabelsImporter, :clean_gitlab_redis_cache, +feature_category: :importers do let(:project) { create(:project, import_source: 'foo/bar') } let(:client) { double(:client) } let(:importer) { described_class.new(project, client) } diff --git a/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb b/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb index 8667729d79b..47b9a41c364 100644 --- a/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::GithubImport::Importer::MilestonesImporter, :clean_gitlab_redis_cache, - feature_category: :importer do + feature_category: :importers do let(:project) { create(:project, import_source: 'foo/bar') } let(:client) { double(:client) } let(:importer) { described_class.new(project, client) } diff --git a/spec/lib/gitlab/github_import/importer/releases_importer_spec.rb b/spec/lib/gitlab/github_import/importer/releases_importer_spec.rb index ccbe5b5fc50..fe4d3e9d90b 100644 --- a/spec/lib/gitlab/github_import/importer/releases_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/releases_importer_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubImport::Importer::ReleasesImporter, feature_category: :importer do +RSpec.describe Gitlab::GithubImport::Importer::ReleasesImporter, feature_category: :importers do let(:project) { create(:project) } let(:client) { double(:client) } let(:importer) { described_class.new(project, client) } diff --git a/spec/lib/gitlab/github_import/page_counter_spec.rb b/spec/lib/gitlab/github_import/page_counter_spec.rb index 511b19c00e5..ddb62cc8fad 100644 --- a/spec/lib/gitlab/github_import/page_counter_spec.rb +++ b/spec/lib/gitlab/github_import/page_counter_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubImport::PageCounter, :clean_gitlab_redis_cache, feature_category: :importer do +RSpec.describe Gitlab::GithubImport::PageCounter, :clean_gitlab_redis_cache, feature_category: :importers do let(:project) { double(:project, id: 1) } let(:counter) { described_class.new(project, :issues) } diff --git a/spec/lib/gitlab/http_spec.rb b/spec/lib/gitlab/http_spec.rb index 929fd37ee40..57e4b4fc74b 100644 --- a/spec/lib/gitlab/http_spec.rb +++ b/spec/lib/gitlab/http_spec.rb @@ -51,10 +51,10 @@ RSpec.describe Gitlab::HTTP do end @original_net_http = Net.send(:remove_const, :HTTP) - @webmock_net_http = WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_get('@webMockNetHTTP') + @webmock_net_http = WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_get(:@webMockNetHTTP) Net.send(:const_set, :HTTP, mocked_http) - WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_set('@webMockNetHTTP', mocked_http) + WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_set(:@webMockNetHTTP, mocked_http) # Reload Gitlab::NetHttpAdapter Gitlab.send(:remove_const, :NetHttpAdapter) @@ -72,7 +72,7 @@ RSpec.describe Gitlab::HTTP do after(:all) do Net.send(:remove_const, :HTTP) Net.send(:const_set, :HTTP, @original_net_http) - WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_set('@webMockNetHTTP', @webmock_net_http) + WebMock::HttpLibAdapters::NetHttpAdapter.instance_variable_set(:@webMockNetHTTP, @webmock_net_http) # Reload Gitlab::NetHttpAdapter Gitlab.send(:remove_const, :NetHttpAdapter) diff --git a/spec/lib/gitlab/rack_attack_spec.rb b/spec/lib/gitlab/rack_attack_spec.rb index 7ba4eab50c7..960a81b8c9d 100644 --- a/spec/lib/gitlab/rack_attack_spec.rb +++ b/spec/lib/gitlab/rack_attack_spec.rb @@ -35,7 +35,7 @@ RSpec.describe Gitlab::RackAttack, :aggregate_failures do allow(fake_rack_attack).to receive(:cache).and_return(fake_cache) allow(fake_cache).to receive(:store=) - fake_rack_attack.const_set('Request', fake_rack_attack_request) + fake_rack_attack.const_set(:Request, fake_rack_attack_request) stub_const("Rack::Attack", fake_rack_attack) end diff --git a/spec/lib/gitlab/submodule_links_spec.rb b/spec/lib/gitlab/submodule_links_spec.rb index e2bbda81780..12c322ea914 100644 --- a/spec/lib/gitlab/submodule_links_spec.rb +++ b/spec/lib/gitlab/submodule_links_spec.rb @@ -51,7 +51,7 @@ RSpec.describe Gitlab::SubmoduleLinks do expect(subject.compare).to be_nil end - cache_store = links.instance_variable_get("@cache_store") + cache_store = links.instance_variable_get(:@cache_store) expect(cache_store[ref]).to eq({ "gitlab-foss" => "git@gitlab.com:gitlab-org/gitlab-foss.git" }) end diff --git a/spec/lib/gitlab/tracking_spec.rb b/spec/lib/gitlab/tracking_spec.rb index 99ca402616a..e79bb2ef129 100644 --- a/spec/lib/gitlab/tracking_spec.rb +++ b/spec/lib/gitlab/tracking_spec.rb @@ -10,11 +10,11 @@ RSpec.describe Gitlab::Tracking do stub_application_setting(snowplow_cookie_domain: '.gitfoo.com') stub_application_setting(snowplow_app_id: '_abc123_') - described_class.instance_variable_set("@tracker", nil) + described_class.instance_variable_set(:@tracker, nil) end after do - described_class.instance_variable_set("@tracker", nil) + described_class.instance_variable_set(:@tracker, nil) end describe '.options' do diff --git a/spec/lib/gitlab/utils/lazy_attributes_spec.rb b/spec/lib/gitlab/utils/lazy_attributes_spec.rb index 1ebc9b0d711..430b79c3063 100644 --- a/spec/lib/gitlab/utils/lazy_attributes_spec.rb +++ b/spec/lib/gitlab/utils/lazy_attributes_spec.rb @@ -47,9 +47,9 @@ RSpec.describe Gitlab::Utils::LazyAttributes do end it 'only calls the block once even if it returned `nil`', :aggregate_failures do - expect(instance.instance_variable_get('@number')).to receive(:call).once.and_call_original - expect(instance.instance_variable_get('@accessor_2')).to receive(:call).once.and_call_original - expect(instance.instance_variable_get('@incorrect_type')).to receive(:call).once.and_call_original + expect(instance.instance_variable_get(:@number)).to receive(:call).once.and_call_original + expect(instance.instance_variable_get(:@accessor_2)).to receive(:call).once.and_call_original + expect(instance.instance_variable_get(:@incorrect_type)).to receive(:call).once.and_call_original 2.times do instance.number diff --git a/spec/mailers/emails/imports_spec.rb b/spec/mailers/emails/imports_spec.rb new file mode 100644 index 00000000000..039113d3098 --- /dev/null +++ b/spec/mailers/emails/imports_spec.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +require 'spec_helper' +require 'email_spec' + +RSpec.describe Emails::Imports, feature_category: :importers do + include EmailSpec::Matchers + + let(:errors) { { 'gist_id1' => "Title can't be blank", 'gist_id2' => 'Snippet maximum file count exceeded' } } + let(:user) { build_stubbed(:user) } + + describe '#github_gists_import_errors_email' do + subject { Notify.github_gists_import_errors_email('user_id', errors) } + + before do + allow(User).to receive(:find).and_return(user) + end + + it 'sends success email' do + expect(subject).to have_subject('GitHub Gists import finished with errors') + expect(subject).to have_content('GitHub gists that were not imported:') + expect(subject).to have_content("Gist with id gist_id1 failed due to error: Title can't be blank.") + expect(subject).to have_content('Gist with id gist_id2 failed due to error: Snippet maximum file count exceeded.') + end + + it_behaves_like 'appearance header and footer enabled' + it_behaves_like 'appearance header and footer not enabled' + end +end diff --git a/spec/metrics_server/metrics_server_spec.rb b/spec/metrics_server/metrics_server_spec.rb index 76ea9cd66ba..efa716754f1 100644 --- a/spec/metrics_server/metrics_server_spec.rb +++ b/spec/metrics_server/metrics_server_spec.rb @@ -99,20 +99,22 @@ RSpec.describe MetricsServer, feature_category: :application_performance do # ru context 'for Golang server' do let(:log_enabled) { false } let(:settings) do - { - 'web_exporter' => { - 'enabled' => true, - 'address' => 'localhost', - 'port' => '8083', - 'log_enabled' => log_enabled - }, - 'sidekiq_exporter' => { - 'enabled' => true, - 'address' => 'localhost', - 'port' => '8082', - 'log_enabled' => log_enabled + Settingslogic.new( + { + 'web_exporter' => { + 'enabled' => true, + 'address' => 'localhost', + 'port' => '8083', + 'log_enabled' => log_enabled + }, + 'sidekiq_exporter' => { + 'enabled' => true, + 'address' => 'localhost', + 'port' => '8082', + 'log_enabled' => log_enabled + } } - } + ) end let(:expected_port) { target == 'puma' ? '8083' : '8082' } @@ -175,11 +177,13 @@ RSpec.describe MetricsServer, feature_category: :application_performance do # ru context 'when TLS settings are present' do before do - %w(web_exporter sidekiq_exporter).each do |key| - settings[key]['tls_enabled'] = true - settings[key]['tls_cert_path'] = '/path/to/cert.pem' - settings[key]['tls_key_path'] = '/path/to/key.pem' - end + settings.web_exporter['tls_enabled'] = true + settings.web_exporter['tls_cert_path'] = '/path/to/cert.pem' + settings.web_exporter['tls_key_path'] = '/path/to/key.pem' + + settings.sidekiq_exporter['tls_enabled'] = true + settings.sidekiq_exporter['tls_cert_path'] = '/path/to/cert.pem' + settings.sidekiq_exporter['tls_key_path'] = '/path/to/key.pem' end it 'sets the correct environment variables' do @@ -300,12 +304,12 @@ RSpec.describe MetricsServer, feature_category: :application_performance do # ru end context 'for sidekiq' do - let(:settings) { { "sidekiq_exporter" => { "enabled" => true } } } + let(:settings) { Settingslogic.new({ "sidekiq_exporter" => { "enabled" => true } }) } before do allow(::Settings).to receive(:monitoring).and_return(settings) allow(Gitlab::Metrics::Exporter::SidekiqExporter).to receive(:instance).with( - settings['sidekiq_exporter'], gc_requests: true, synchronous: true + settings.sidekiq_exporter, gc_requests: true, synchronous: true ).and_return(exporter_double) end @@ -358,4 +362,28 @@ RSpec.describe MetricsServer, feature_category: :application_performance do # ru end end end + + describe '.name' do + subject { described_class.name(target) } + + context 'for puma' do + let(:target) { 'puma' } + + it { is_expected.to eq 'web_exporter' } + end + + context 'for sidekiq' do + let(:target) { 'sidekiq' } + + it { is_expected.to eq 'sidekiq_exporter' } + end + + context 'for invalid target' do + let(:target) { 'invalid' } + + it 'raises error' do + expect { subject }.to raise_error(RuntimeError, "Target must be one of [puma,sidekiq]") + end + end + end end diff --git a/spec/models/abuse_report_spec.rb b/spec/models/abuse_report_spec.rb index 29baccfe0ee..b07fafabbb5 100644 --- a/spec/models/abuse_report_spec.rb +++ b/spec/models/abuse_report_spec.rb @@ -32,8 +32,8 @@ RSpec.describe AbuseReport, feature_category: :insider_threat do it do is_expected.to validate_uniqueness_of(:user_id) - .scoped_to(:reporter_id) - .with_message('has already been reported for abuse') + .scoped_to([:reporter_id, :category]) + .with_message('You have already reported this user') end it { is_expected.to validate_length_of(:reported_from_url).is_at_most(512).allow_blank } diff --git a/spec/requests/api/bulk_imports_spec.rb b/spec/requests/api/bulk_imports_spec.rb index f943df7a034..4b375fb68be 100644 --- a/spec/requests/api/bulk_imports_spec.rb +++ b/spec/requests/api/bulk_imports_spec.rb @@ -198,6 +198,17 @@ RSpec.describe API::BulkImports, feature_category: :importers do end end + context 'when the destination_namespace is an empty string' do + it 'accepts the param and starts a new migration' do + params[:entities][0][:destination_namespace] = '' + + request + expect(response).to have_gitlab_http_status(:created) + + expect(json_response['status']).to eq('created') + end + end + context 'when the destination_slug is invalid' do it 'returns invalid error' do params[:entities][0][:destination_slug] = 'des?tin?atoi-slugg' diff --git a/spec/requests/groups/observability_controller_spec.rb b/spec/requests/groups/observability_controller_spec.rb index 148cf7dac6a..471cad40c90 100644 --- a/spec/requests/groups/observability_controller_spec.rb +++ b/spec/requests/groups/observability_controller_spec.rb @@ -71,20 +71,6 @@ RSpec.describe Groups::ObservabilityController, feature_category: :tracing do end end - describe 'GET #dashboards' do - let(:path) { group_observability_dashboards_path(group) } - let(:expected_observability_path) { "#{observability_url}/-/#{group.id}/" } - - it_behaves_like 'observability route request' - end - - describe 'GET #manage' do - let(:path) { group_observability_manage_path(group) } - let(:expected_observability_path) { "#{observability_url}/-/#{group.id}/dashboards" } - - it_behaves_like 'observability route request' - end - describe 'GET #explore' do let(:path) { group_observability_explore_path(group) } let(:expected_observability_path) { "#{observability_url}/-/#{group.id}/explore" } diff --git a/spec/routing/group_routing_spec.rb b/spec/routing/group_routing_spec.rb index 9a3de7729e6..3ba7d5ad871 100644 --- a/spec/routing/group_routing_spec.rb +++ b/spec/routing/group_routing_spec.rb @@ -72,10 +72,6 @@ RSpec.shared_examples 'groups routing' do expect(get("groups/#{group_path}/-/harbor/repositories/test/artifacts/test/tags")).to route_to('groups/harbor/tags#index', group_id: group_path, repository_id: 'test', artifact_id: 'test') end - it 'routes to the observability controller dashboards method' do - expect(get("groups/#{group_path}/-/observability/dashboards")).to route_to('groups/observability#dashboards', group_id: group_path) - end - it 'routes to the observability controller explore method' do expect(get("groups/#{group_path}/-/observability/explore")).to route_to('groups/observability#explore', group_id: group_path) end @@ -84,10 +80,6 @@ RSpec.shared_examples 'groups routing' do expect(get("groups/#{group_path}/-/observability/datasources")).to route_to('groups/observability#datasources', group_id: group_path) end - it 'routes to the observability controller manage method' do - expect(get("groups/#{group_path}/-/observability/manage")).to route_to('groups/observability#manage', group_id: group_path) - end - it 'routes to the usage quotas controller' do expect(get("groups/#{group_path}/-/usage_quotas")).to route_to("groups/usage_quotas#index", group_id: group_path) end diff --git a/spec/services/import/github/gists_import_service_spec.rb b/spec/services/import/github/gists_import_service_spec.rb index 4edb38145ed..32d04a580da 100644 --- a/spec/services/import/github/gists_import_service_spec.rb +++ b/spec/services/import/github/gists_import_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Import::Github::GistsImportService, feature_category: :importer do +RSpec.describe Import::Github::GistsImportService, feature_category: :importers do subject(:import) { described_class.new(user, client, params) } let_it_be(:user) { create(:user) } diff --git a/spec/services/merge_requests/refresh_service_spec.rb b/spec/services/merge_requests/refresh_service_spec.rb index 5174ceaaa82..0427debb4d1 100644 --- a/spec/services/merge_requests/refresh_service_spec.rb +++ b/spec/services/merge_requests/refresh_service_spec.rb @@ -138,7 +138,7 @@ RSpec.describe MergeRequests::RefreshService do refresh_service.execute(@oldrev, @newrev, 'refs/heads/master') expect { refresh_service.execute(@oldrev, @newrev, 'refs/heads/master') }.to change { - refresh_service.instance_variable_get("@source_merge_requests").first.merge_request_diff + refresh_service.instance_variable_get(:@source_merge_requests).first.merge_request_diff } end @@ -799,7 +799,7 @@ RSpec.describe MergeRequests::RefreshService do it 'does not mark as draft based on commits that do not belong to an MR' do allow(refresh_service).to receive(:find_new_commits) - refresh_service.instance_variable_set("@commits", + refresh_service.instance_variable_set(:@commits, [ double( id: 'aaaaaaa', diff --git a/spec/services/security/ci_configuration/dependency_scanning_create_service_spec.rb b/spec/services/security/ci_configuration/dependency_scanning_create_service_spec.rb new file mode 100644 index 00000000000..719a2cf24e9 --- /dev/null +++ b/spec/services/security/ci_configuration/dependency_scanning_create_service_spec.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Security::CiConfiguration::DependencyScanningCreateService, :snowplow, + feature_category: :dependency_scanning do + subject(:result) { described_class.new(project, user).execute } + + let(:branch_name) { 'set-dependency-scanning-config-1' } + + let(:snowplow_event) do + { + category: 'Security::CiConfiguration::DependencyScanningCreateService', + action: 'create', + label: '' + } + end + + include_examples 'services security ci configuration create service', true +end diff --git a/spec/services/security/ci_configuration/sast_create_service_spec.rb b/spec/services/security/ci_configuration/sast_create_service_spec.rb index c7e732dc79a..1e6dc367146 100644 --- a/spec/services/security/ci_configuration/sast_create_service_spec.rb +++ b/spec/services/security/ci_configuration/sast_create_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Security::CiConfiguration::SastCreateService, :snowplow do +RSpec.describe Security::CiConfiguration::SastCreateService, :snowplow, feature_category: :sast do subject(:result) { described_class.new(project, user, params).execute } let(:branch_name) { 'set-sast-config-1' } diff --git a/spec/support/helpers/navbar_structure_helper.rb b/spec/support/helpers/navbar_structure_helper.rb index 4e77e292410..48c6e590e1b 100644 --- a/spec/support/helpers/navbar_structure_helper.rb +++ b/spec/support/helpers/navbar_structure_helper.rb @@ -91,10 +91,8 @@ module NavbarStructureHelper new_nav_item: { nav_item: _('Observability'), nav_sub_items: [ - _('Dashboards'), - _('Explore'), - _('Data sources'), - _('Manage dashboards') + _('Explore telemetry data'), + _('Data sources') ] } ) diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index 025435b7929..13cd4d5755d 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -3560,7 +3560,6 @@ - './spec/controllers/groups/variables_controller_spec.rb' - './spec/controllers/health_check_controller_spec.rb' - './spec/controllers/help_controller_spec.rb' -- './spec/controllers/import/available_namespaces_controller_spec.rb' - './spec/controllers/import/bitbucket_controller_spec.rb' - './spec/controllers/import/bitbucket_server_controller_spec.rb' - './spec/controllers/import/bulk_imports_controller_spec.rb' diff --git a/spec/support/shared_contexts/navbar_structure_context.rb b/spec/support/shared_contexts/navbar_structure_context.rb index c1ad062ea75..9c7cf831241 100644 --- a/spec/support/shared_contexts/navbar_structure_context.rb +++ b/spec/support/shared_contexts/navbar_structure_context.rb @@ -234,6 +234,10 @@ RSpec.shared_context 'dashboard navbar structure' do nav_sub_items: [] }, { + nav_item: _("Groups"), + nav_sub_items: [] + }, + { nav_item: _("Issues"), nav_sub_items: [] }, diff --git a/spec/support/shared_examples/models/concerns/integrations/reset_secret_fields_shared_examples.rb b/spec/support/shared_examples/models/concerns/integrations/reset_secret_fields_shared_examples.rb index 873f858e432..c51a6c4f6fd 100644 --- a/spec/support/shared_examples/models/concerns/integrations/reset_secret_fields_shared_examples.rb +++ b/spec/support/shared_examples/models/concerns/integrations/reset_secret_fields_shared_examples.rb @@ -42,7 +42,7 @@ RSpec.shared_examples Integrations::ResetSecretFields do # Treat values as persisted integration.reset_updated_properties - integration.instance_variable_set('@old_data_fields', nil) if integration.supports_data_fields? + integration.instance_variable_set(:@old_data_fields, nil) if integration.supports_data_fields? end context 'when an exposing field has changed' do diff --git a/spec/support/shared_examples/quick_actions/issuable/close_quick_action_shared_examples.rb b/spec/support/shared_examples/quick_actions/issuable/close_quick_action_shared_examples.rb index ca6536444fd..d8690356f81 100644 --- a/spec/support/shared_examples/quick_actions/issuable/close_quick_action_shared_examples.rb +++ b/spec/support/shared_examples/quick_actions/issuable/close_quick_action_shared_examples.rb @@ -12,10 +12,10 @@ RSpec.shared_examples 'close quick action' do |issuable_type| before do case issuable_type when :merge_request - visit public_send('namespace_project_new_merge_request_path', project.namespace, project, new_url_opts) + visit public_send(:namespace_project_new_merge_request_path, project.namespace, project, new_url_opts) wait_for_all_requests when :issue - visit public_send('new_namespace_project_issue_path', project.namespace, project, new_url_opts) + visit public_send(:new_namespace_project_issue_path, project.namespace, project, new_url_opts) wait_for_all_requests end end diff --git a/spec/support/shared_examples/services/security/ci_configuration/create_service_shared_examples.rb b/spec/support/shared_examples/services/security/ci_configuration/create_service_shared_examples.rb index 105c4247ff7..716be8c6210 100644 --- a/spec/support/shared_examples/services/security/ci_configuration/create_service_shared_examples.rb +++ b/spec/support/shared_examples/services/security/ci_configuration/create_service_shared_examples.rb @@ -88,6 +88,68 @@ RSpec.shared_examples_for 'services security ci configuration create service' do end end + context 'when existing ci config contains anchors/aliases' do + let(:params) { {} } + let(:unsupported_yaml) do + <<-YAML + image: python:latest + + cache: &global_cache + key: 'common-cache' + paths: + - .cache/pip + - venv/ + + test: + cache: + <<: *global_cache + key: 'custom-cache' + script: + - python setup.py test + - pip install tox flake8 # you can also use tox + - tox -e py36,flake8 + YAML + end + + it 'fails with error' do + expect(project).to receive(:ci_config_for).and_return(unsupported_yaml) + + expect { result }.to raise_error(Gitlab::Graphql::Errors::MutationError, '.gitlab-ci.yml with aliases/anchors is not supported. Please change the CI configuration manually.') + end + end + + context 'when parsing existing ci config gives a Psych error' do + let(:params) { {} } + let(:invalid_yaml) do + <<-YAML + image: python:latest + + test: + script: + - python setup.py test + - pip install tox flake8 # you can also use tox + - tox -e py36,flake8 + YAML + end + + it 'fails with error' do + expect(project).to receive(:ci_config_for).and_return(invalid_yaml) + expect(YAML).to receive(:safe_load).and_raise(Psych::Exception) + + expect { result }.to raise_error(Gitlab::Graphql::Errors::MutationError, /merge request creation mutation failed/) + end + end + + context 'when parsing existing ci config gives any other error' do + let(:params) { {} } + let_it_be(:repository) { project.repository } + + it 'is successful' do + expect(repository).to receive(:root_ref_sha).and_raise(StandardError) + expect(result.status).to eq(:success) + end + end + unless skip_w_params context 'with parameters' do let(:params) { non_empty_params } diff --git a/spec/tooling/lib/tooling/view_to_js_mappings_spec.rb b/spec/tooling/lib/tooling/view_to_js_mappings_spec.rb new file mode 100644 index 00000000000..e4c5737df54 --- /dev/null +++ b/spec/tooling/lib/tooling/view_to_js_mappings_spec.rb @@ -0,0 +1,343 @@ +# frozen_string_literal: true + +require 'tempfile' +require_relative '../../../../tooling/lib/tooling/view_to_js_mappings' + +RSpec.describe Tooling::ViewToJsMappings, feature_category: :tooling do + # We set temporary folders, and those readers give access to those folder paths + attr_accessor :view_base_folder, :js_base_folder + + around do |example| + Dir.mktmpdir do |tmp_js_base_folder| + Dir.mktmpdir do |tmp_views_base_folder| + self.js_base_folder = tmp_js_base_folder + self.view_base_folder = tmp_views_base_folder + + example.run + end + end + end + + describe '#execute' do + let(:instance) do + described_class.new( + view_base_folder: view_base_folder, + js_base_folder: js_base_folder + ) + end + + let(:changed_files) { %W[#{view_base_folder}/index.html] } + + subject { instance.execute(changed_files) } + + context 'when no view files have been changed' do + before do + allow(instance).to receive(:view_files).and_return([]) + end + + it 'returns nothing' do + expect(subject).to match_array([]) + end + end + + context 'when some view files have been changed' do + before do + File.write("#{view_base_folder}/index.html", index_html_content) + end + + context 'when they do not contain the HTML attribute value we search for' do + let(:index_html_content) do + <<~FILE + Beginning of file + End of file + FILE + end + + it 'returns nothing' do + expect(subject).to match_array([]) + end + end + + context 'when they contain the HTML attribute value we search for' do + let(:index_html_content) do + <<~FILE + Beginning of file + + <a id="js-some-id">A link</a> + + End of file + FILE + end + + context 'when no matching JS files are found' do + it 'returns nothing' do + expect(subject).to match_array([]) + end + end + + context 'when some matching JS files are found' do + let(:index_js_content) do + <<~FILE + Beginning of file + + const isMainAwardsBlock = votesBlock.closest('#js-some-id.some_class').length; + + End of file + FILE + end + + before do + File.write("#{js_base_folder}/index.js", index_js_content) + end + + it 'returns the matching JS files' do + expect(subject).to match_array(["#{js_base_folder}/index.js"]) + end + end + end + end + + context 'when rails partials are included in the file' do + before do + File.write("#{view_base_folder}/index.html", index_html_content) + File.write("#{view_base_folder}/_my-partial.html.haml", partial_file_content) + File.write("#{js_base_folder}/index.js", index_js_content) + end + + let(:index_html_content) do + <<~FILE + Beginning of file + + = render 'my-partial' + + End of file + FILE + end + + let(:partial_file_content) do + <<~FILE + Beginning of file + + <a class="js-some-class">A link with class</a> + + End of file + FILE + end + + let(:index_js_content) do + <<~FILE + Beginning of file + + const isMainAwardsBlock = votesBlock.closest('.js-some-class').length; + + End of file + FILE + end + + it 'scans those partials for the HTML attribute value' do + expect(subject).to match_array(["#{js_base_folder}/index.js"]) + end + end + end + + describe '#view_files' do + subject { described_class.new(view_base_folder: view_base_folder).view_files(changed_files) } + + context 'when no files were changed' do + let(:changed_files) { [] } + + it 'returns an empty array' do + expect(subject).to match_array([]) + end + end + + context 'when no view files were changed' do + let(:changed_files) { ["#{js_base_folder}/index.js"] } + + it 'returns an empty array' do + expect(subject).to match_array([]) + end + end + + context 'when view files were changed' do + let(:changed_files) { ["#{js_base_folder}/index.js", "#{view_base_folder}/index.html"] } + + it 'returns the path to the view files' do + expect(subject).to match_array(["#{view_base_folder}/index.html"]) + end + end + end + + describe '#folders_for_available_editions' do + let(:base_folder_path) { 'app/views' } + + subject { described_class.new.folders_for_available_editions(base_folder_path) } + + context 'when FOSS' do + before do + allow(GitlabEdition).to receive(:ee?).and_return(false) + allow(GitlabEdition).to receive(:jh?).and_return(false) + end + + it 'returns the correct paths' do + expect(subject).to match_array([base_folder_path]) + end + end + + context 'when EE' do + before do + allow(GitlabEdition).to receive(:ee?).and_return(true) + allow(GitlabEdition).to receive(:jh?).and_return(false) + end + + it 'returns the correct paths' do + expect(subject).to eq([base_folder_path, "ee/#{base_folder_path}"]) + end + end + + context 'when JiHu' do + before do + allow(GitlabEdition).to receive(:ee?).and_return(true) + allow(GitlabEdition).to receive(:jh?).and_return(true) + end + + it 'returns the correct paths' do + expect(subject).to eq([base_folder_path, "ee/#{base_folder_path}", "jh/#{base_folder_path}"]) + end + end + end + + describe '#find_partials' do + subject { described_class.new(view_base_folder: view_base_folder).find_partials(file_path) } + + let(:file_path) { "#{view_base_folder}/my_html_file.html" } + + before do + File.write(file_path, file_content) + end + + context 'when the file includes a partial' do + context 'when the partial is in the same folder as the view file' do + before do + File.write("#{view_base_folder}/_my-partial.html.haml", 'Hello from partial') + end + + let(:file_content) do + <<~FILE + Beginning of file + + = render "my-partial" + + End of file + FILE + end + + it "returns the partial file path" do + expect(subject).to match_array(["#{view_base_folder}/_my-partial.html.haml"]) + end + end + + context 'when the partial is in a subfolder' do + before do + FileUtils.mkdir_p("#{view_base_folder}/subfolder") + + (1..12).each do |i| + FileUtils.touch "#{view_base_folder}/subfolder/_my-partial#{i}.html.haml" + end + end + + let(:file_content) do + <<~FILE + Beginning of file + + = render("subfolder/my-partial1") + = render "subfolder/my-partial2" + = render(partial: "subfolder/my-partial3") + = render partial: "subfolder/my-partial4" + = render(partial:"subfolder/my-partial5", path: 'else') + = render partial:"subfolder/my-partial6" + = render_if_exist("subfolder/my-partial7", path: 'else') + = render_if_exist "subfolder/my-partial8" + = render_if_exist(partial: "subfolder/my-partial9", path: 'else') + = render_if_exist partial: "subfolder/my-partial10" + = render_if_exist(partial:"subfolder/my-partial11", path: 'else') + = render_if_exist partial:"subfolder/my-partial12" + + End of file + FILE + end + + it "returns the partials file path" do + expect(subject).to match_array([ + "#{view_base_folder}/subfolder/_my-partial1.html.haml", + "#{view_base_folder}/subfolder/_my-partial2.html.haml", + "#{view_base_folder}/subfolder/_my-partial3.html.haml", + "#{view_base_folder}/subfolder/_my-partial4.html.haml", + "#{view_base_folder}/subfolder/_my-partial5.html.haml", + "#{view_base_folder}/subfolder/_my-partial6.html.haml", + "#{view_base_folder}/subfolder/_my-partial7.html.haml", + "#{view_base_folder}/subfolder/_my-partial8.html.haml", + "#{view_base_folder}/subfolder/_my-partial9.html.haml", + "#{view_base_folder}/subfolder/_my-partial10.html.haml", + "#{view_base_folder}/subfolder/_my-partial11.html.haml", + "#{view_base_folder}/subfolder/_my-partial12.html.haml" + ]) + end + end + + context 'when the file does not include a partial' do + let(:file_content) do + <<~FILE + Beginning of file + End of file + FILE + end + + it 'returns an empty array' do + expect(subject).to match_array([]) + end + end + end + end + + describe '#find_pattern_in_file' do + let(:subject) { described_class.new.find_pattern_in_file(file.path, /pattern/) } + let(:file) { Tempfile.new('find_pattern_in_file') } + + before do + file.write(file_content) + file.close + end + + context 'when the file contains the pattern' do + let(:file_content) do + <<~FILE + Beginning of file + + pattern + pattern + pattern + + End of file + FILE + end + + it 'returns the pattern once' do + expect(subject).to match_array(%w[pattern]) + end + end + + context 'when the file does not contain the pattern' do + let(:file_content) do + <<~FILE + Beginning of file + End of file + FILE + end + + it 'returns an empty array' do + expect(subject).to match_array([]) + end + end + end +end diff --git a/spec/workers/gitlab/github_gists_import/finish_import_worker_spec.rb b/spec/workers/gitlab/github_gists_import/finish_import_worker_spec.rb index c4c19f2f9c5..cba6c578d11 100644 --- a/spec/workers/gitlab/github_gists_import/finish_import_worker_spec.rb +++ b/spec/workers/gitlab/github_gists_import/finish_import_worker_spec.rb @@ -2,13 +2,17 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubGistsImport::FinishImportWorker, feature_category: :importer do +RSpec.describe Gitlab::GithubGistsImport::FinishImportWorker, :clean_gitlab_redis_cache, feature_category: :importers do subject(:worker) { described_class.new } let_it_be(:user) { create(:user) } describe '#perform', :aggregate_failures do context 'when there are no remaining jobs' do + before do + allow(Gitlab::Cache::Import::Caching).to receive(:values_from_hash).and_return(nil) + end + it 'marks import status as finished' do waiter = instance_double(Gitlab::JobWaiter, key: :key, jobs_remaining: 0) expect(Gitlab::JobWaiter).to receive(:new).and_return(waiter) @@ -19,6 +23,8 @@ RSpec.describe Gitlab::GithubGistsImport::FinishImportWorker, feature_category: expect(Gitlab::GithubImport::Logger) .to receive(:info) .with(user_id: user.id, message: 'GitHub Gists import finished') + expect(Notify).not_to receive(:github_gists_import_errors_email) + expect(Gitlab::Cache::Import::Caching).to receive(:expire).and_call_original worker.perform(user.id, waiter.key, waiter.jobs_remaining) end @@ -35,6 +41,33 @@ RSpec.describe Gitlab::GithubGistsImport::FinishImportWorker, feature_category: worker.perform(user.id, waiter.key, waiter.jobs_remaining) end end + + context 'when some gists were failed to import' do + let(:errors) { { '12345' => 'Snippet maximum file count exceeded.' } } + let(:waiter) { instance_double(Gitlab::JobWaiter, key: :key, jobs_remaining: 0) } + let(:mail_instance) { instance_double(ActionMailer::MessageDelivery, deliver_now: true) } + + before do + allow(Gitlab::Cache::Import::Caching).to receive(:values_from_hash).and_return(errors) + allow(Gitlab::JobWaiter).to receive(:new).and_return(waiter) + allow(waiter).to receive(:wait).with(described_class::BLOCKING_WAIT_TIME) + end + + it 'sends an email to user' do + expect_next_instance_of(Gitlab::GithubGistsImport::Status) do |status| + expect(status).to receive(:finish!) + end + expect(Gitlab::GithubImport::Logger) + .to receive(:info) + .with(user_id: user.id, message: 'GitHub Gists import finished') + expect(Notify).to receive(:github_gists_import_errors_email) + .with(user.id, errors).once.and_return(mail_instance) + expect(mail_instance).to receive(:deliver_now) + expect(Gitlab::Cache::Import::Caching).to receive(:expire).and_call_original + + worker.perform(user.id, waiter.key, waiter.jobs_remaining) + end + end end describe '.sidekiq_retries_exhausted' do diff --git a/spec/workers/gitlab/github_gists_import/import_gist_worker_spec.rb b/spec/workers/gitlab/github_gists_import/import_gist_worker_spec.rb index dfc5084bb10..1c24cdcccae 100644 --- a/spec/workers/gitlab/github_gists_import/import_gist_worker_spec.rb +++ b/spec/workers/gitlab/github_gists_import/import_gist_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubGistsImport::ImportGistWorker, feature_category: :importer do +RSpec.describe Gitlab::GithubGistsImport::ImportGistWorker, feature_category: :importers do subject { described_class.new } let_it_be(:user) { create(:user) } diff --git a/spec/workers/gitlab/github_gists_import/start_import_worker_spec.rb b/spec/workers/gitlab/github_gists_import/start_import_worker_spec.rb index 523b7463a9d..220f2bb0c75 100644 --- a/spec/workers/gitlab/github_gists_import/start_import_worker_spec.rb +++ b/spec/workers/gitlab/github_gists_import/start_import_worker_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::GithubGistsImport::StartImportWorker, feature_category: :importer do +RSpec.describe Gitlab::GithubGistsImport::StartImportWorker, feature_category: :importers do subject(:worker) { described_class.new } let_it_be(:user) { create(:user) } diff --git a/tooling/bin/view_to_js_mappings b/tooling/bin/view_to_js_mappings new file mode 100755 index 00000000000..2cebb91892e --- /dev/null +++ b/tooling/bin/view_to_js_mappings @@ -0,0 +1,10 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +require_relative '../lib/tooling/view_to_js_mappings' + +changes = ARGV.shift +output_file = ARGV.shift +changed_files = File.read(changes).split(' ') + +File.write(output_file, Tooling::ViewToJsMappings.new.execute(changed_files).join(' ')) diff --git a/tooling/lib/tooling/view_to_js_mappings.rb b/tooling/lib/tooling/view_to_js_mappings.rb new file mode 100644 index 00000000000..48568db382b --- /dev/null +++ b/tooling/lib/tooling/view_to_js_mappings.rb @@ -0,0 +1,74 @@ +# frozen_string_literal: true + +require_relative '../../../lib/gitlab_edition' + +# Returns JS files that are related to the Rails views files that were changed in the MR. +module Tooling + class ViewToJsMappings + # The HTML attribute value pattern we're looking for to match an HTML file to a JS file. + HTML_ATTRIBUTE_VALUE_REGEXP = /js-[-\w]+/.freeze + + # Search for Rails partials included in an HTML file + RAILS_PARTIAL_INVOCATION_REGEXP = %r{(?:render|render_if_exist)(?: |\()(?:partial: ?)?['"]([\w/-]+)['"]}.freeze + + def initialize(view_base_folder: 'app/views', js_base_folder: 'app/assets/javascripts') + @view_base_folders = folders_for_available_editions(view_base_folder) + @js_base_folders = folders_for_available_editions(js_base_folder) + end + + def execute(changed_files) + changed_view_files = view_files(changed_files) + + partials = changed_view_files.flat_map do |file| + find_partials(file) + end + + files_to_scan = changed_view_files + partials + js_tags = files_to_scan.flat_map do |file| + find_pattern_in_file(file, HTML_ATTRIBUTE_VALUE_REGEXP) + end + js_tags_regexp = Regexp.union(js_tags) + + @js_base_folders.flat_map do |js_base_folder| + Dir["#{js_base_folder}/**/*.{js,vue}"].select do |js_file| + file_content = File.read(js_file) + js_tags_regexp.match?(file_content) + end + end + end + + # Keep the files that are in the @view_base_folders folder + def view_files(changed_files) + changed_files.select { |filename| filename.start_with?(*@view_base_folders) } + end + + def folders_for_available_editions(base_folder) + foss_prefix = base_folder + extension_prefixes = ::GitlabEdition.extensions.map { |prefix| "#{prefix}/#{foss_prefix}" } + [foss_prefix, *extension_prefixes] + end + + # Note: We only search for partials with depth 1. We don't do recursive search, as + # it is probably not necessary for a first iteration. + def find_partials(file) + partial_paths = find_pattern_in_file(file, RAILS_PARTIAL_INVOCATION_REGEXP) + partial_paths.flat_map do |partial_path| + view_file_folder = File.dirname(file) + partial_relative_folder = File.dirname(partial_path) + + dirname = + if partial_relative_folder == '.' # The partial is in the same folder as the HTML file + view_file_folder + else + File.join(view_file_folder, partial_relative_folder) + end + + Dir["#{dirname}/_#{File.basename(partial_path)}.*"] + end + end + + def find_pattern_in_file(file, pattern) + File.read(file).scan(pattern).flatten.uniq + end + end +end |