Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb2
-rw-r--r--config/dependency_decisions.yml11
-rw-r--r--config/events/agent_users_using_ci_tunnel.yml20
-rw-r--r--config/events/i_quickactions_remove_email_multiple.yml24
-rw-r--r--config/events/i_quickactions_remove_email_single.yml24
-rw-r--r--config/feature_categories.yml1
-rw-r--r--config/feature_flags/beta/container_scanning_continuous_vulnerability_scans.yml (renamed from config/feature_flags/development/unify_security_configuration.yml)11
-rw-r--r--config/feature_flags/beta/group_hierarchy_optimization.yml9
-rw-r--r--config/feature_flags/beta/prefix_ci_build_tokens.yml9
-rw-r--r--config/feature_flags/development/add_branch_rule.yml8
-rw-r--r--config/feature_flags/development/add_policy_approvers_to_rules.yml (renamed from config/feature_flags/development/apollo_boards.yml)10
-rw-r--r--config/feature_flags/development/agent_registry.yml (renamed from config/feature_flags/development/clickhouse_ci_analytics.yml)10
-rw-r--r--config/feature_flags/development/arkose_labs_signup_data_exchange.yml8
-rw-r--r--config/feature_flags/development/bulk_create_scan_result_policies.yml (renamed from config/feature_flags/development/create_personal_ns_outside_model.yml)10
-rw-r--r--config/feature_flags/development/bulk_import_details_page.yml8
-rw-r--r--config/feature_flags/development/bulk_import_limit_concurrent_batches.yml2
-rw-r--r--config/feature_flags/development/bulk_imports_batched_import_export.yml8
-rw-r--r--config/feature_flags/development/cache_control_headers_for_openid_jwks.yml8
-rw-r--r--config/feature_flags/development/ci_workflow_auto_cancel_on_new_commit.yml (renamed from config/feature_flags/development/use_gitlab_http_v2.yml)10
-rw-r--r--config/feature_flags/development/code_suggestions_claude21.yml9
-rw-r--r--config/feature_flags/development/compliance_framework_report_ui.yml2
-rw-r--r--config/feature_flags/development/compliance_pipeline_in_policies.yml2
-rw-r--r--config/feature_flags/development/github_import_extended_events.yml (renamed from config/feature_flags/development/invalid_graphql_auth_401.yml)8
-rw-r--r--config/feature_flags/development/gitlab_duo_chat_requests_to_ai_gateway.yml2
-rw-r--r--config/feature_flags/development/group_analytics_dashboards.yml2
-rw-r--r--config/feature_flags/development/hard_limit_daily_phone_verifications.yml (renamed from config/feature_flags/development/browsersdk_tracking.yml)10
-rw-r--r--config/feature_flags/development/inherit_higher_access_levels_no_cross_join.yml8
-rw-r--r--config/feature_flags/development/limited_access_modal.yml2
-rw-r--r--config/feature_flags/development/manage_project_access_tokens.yml8
-rw-r--r--config/feature_flags/development/markdown_rust.yml (renamed from config/feature_flags/development/vite.yml)8
-rw-r--r--config/feature_flags/development/mention_autocomplete_backend_filtering.yml (renamed from config/feature_flags/development/always_set_pipeline_failure_reason.yml)8
-rw-r--r--config/feature_flags/development/merge_request_diff_generated_subscription.yml (renamed from config/feature_flags/development/user_approval_rules_removal.yml)12
-rw-r--r--config/feature_flags/development/optional_personal_namespace.yml (renamed from config/feature_flags/development/optimize_where_full_path_in.yml)8
-rw-r--r--config/feature_flags/development/packages_dependency_proxy_maven.yml8
-rw-r--r--config/feature_flags/development/pinned_file.yml (renamed from config/feature_flags/development/use_merge_approval_rules_when_merged.yml)8
-rw-r--r--config/feature_flags/development/prefix_scim_tokens.yml (renamed from config/feature_flags/development/restyle_login_page.yml)10
-rw-r--r--config/feature_flags/development/refresh_statistics_on_unlink_fork.yml8
-rw-r--r--config/feature_flags/development/sast_reports_in_inline_diff.yml2
-rw-r--r--config/feature_flags/development/self_managed_code_suggestions.yml2
-rw-r--r--config/feature_flags/development/sidekiq_job_completion_metric_initialize.yml2
-rw-r--r--config/feature_flags/development/simplified_badges.yml (renamed from config/feature_flags/development/ci_job_token_scope.yml)10
-rw-r--r--config/feature_flags/development/simplified_labels.yml8
-rw-r--r--config/feature_flags/development/sms_send_wait_time.yml8
-rw-r--r--config/feature_flags/development/truncate_ci_merge_request_description.yml8
-rw-r--r--config/feature_flags/development/updated_ai_powered_features_menu_for_sm.yml8
-rw-r--r--config/feature_flags/development/use_500_page_size_for_contribution_analytics.yml8
-rw-r--r--config/feature_flags/experiment/default_to_import_tab.yml (renamed from config/feature_flags/experiment/in_product_guidance_environments_webide.yml)10
-rw-r--r--config/feature_flags/gitlab_com_derisk/allow_members_to_see_invited_groups_in_access_dropdowns.yml9
-rw-r--r--config/feature_flags/gitlab_com_derisk/batch_route_updates.yml9
-rw-r--r--config/feature_flags/gitlab_com_derisk/enhanced_review_email.yml9
-rw-r--r--config/feature_flags/gitlab_com_derisk/github_importer_attachments.yml9
-rw-r--r--config/feature_flags/gitlab_com_derisk/namespace_descendants_cache_expiration.yml9
-rw-r--r--config/feature_flags/gitlab_com_derisk/prevent_modifications_of_mr_rules_post_merge.yml9
-rw-r--r--config/feature_flags/gitlab_com_derisk/update_organization_users.yml9
-rw-r--r--config/feature_flags/ops/ai_duo_chat_switch.yml9
-rw-r--r--config/feature_flags/ops/ci_unlock_pipelines_extra_low.yml9
-rw-r--r--config/feature_flags/ops/telesign_intelligence.yml (renamed from config/feature_flags/development/telesign_intelligence.yml)4
-rw-r--r--config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml2
-rw-r--r--config/feature_flags/wip/disable_ci_partition_pruning.yml9
-rw-r--r--config/feature_flags/wip/epic_creation_with_synced_work_item.yml9
-rw-r--r--config/feature_flags/wip/vulnerability_owasp_top_10_group.yml9
-rw-r--r--config/gitlab.yml.example7
-rw-r--r--config/gitlab_loose_foreign_keys.yml14
-rw-r--r--config/gitleaks.toml3
-rw-r--r--config/initializers/1_settings.rb6
-rw-r--r--config/initializers/7_redis.rb3
-rw-r--r--config/initializers/fog_google_list_objects_match_glob_support.rb52
-rw-r--r--config/initializers/gitlab_http.rb8
-rw-r--r--config/initializers/macos.rb8
-rw-r--r--config/initializers/rspec_profiling.rb4
-rw-r--r--config/initializers/session_store.rb22
-rw-r--r--config/initializers/sidekiq.rb27
-rw-r--r--config/initializers/sidekiq_cluster.rb2
-rw-r--r--config/initializers_before_autoloader/004_zeitwerk.rb1
-rw-r--r--config/locales/doorkeeper.en.yml3
-rw-r--r--config/metrics/counts_28d/20220222215951_xmau_plan.yml1
-rw-r--r--config/metrics/counts_28d/20220222215952_xmau_project_management.yml1
-rw-r--r--config/metrics/counts_28d/20220222215955_users_work_items.yml1
-rw-r--r--config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml6
-rw-r--r--config/metrics/counts_28d/20221213182900_i_code_review_create_mr_monthly.yml8
-rw-r--r--config/metrics/counts_28d/20231219135715_users_updating_work_item_todo_monthly.yml24
-rw-r--r--config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_multiple_28d.yml27
-rw-r--r--config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_single_28d.yml27
-rw-r--r--config/metrics/counts_7d/20220222215851_xmau_plan.yml1
-rw-r--r--config/metrics/counts_7d/20220222215852_xmau_project_management.yml1
-rw-r--r--config/metrics/counts_7d/20220222215855_users_work_items.yml1
-rw-r--r--config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml6
-rw-r--r--config/metrics/counts_7d/20221213183300_i_code_review_create_mr_weekly.yml7
-rw-r--r--config/metrics/counts_7d/20231219135920_users_updating_work_item_todo_weekly.yml24
-rw-r--r--config/metrics/counts_all/20231205140200_groups_diffblue_cover_active.yml20
-rw-r--r--config/metrics/counts_all/20231205140200_groups_inheriting_diffblue_cover_active.yml20
-rw-r--r--config/metrics/counts_all/20231205140200_instances_diffblue_cover_active.yml20
-rw-r--r--config/metrics/counts_all/20231205140200_projects_diffblue_cover_active.yml20
-rw-r--r--config/metrics/counts_all/20231205140200_projects_inheriting_diffblue_cover_active.yml20
-rw-r--r--config/routes/merge_requests.rb1
-rw-r--r--config/routes/organizations.rb4
-rw-r--r--config/routes/project.rb2
-rw-r--r--config/routes/uploads.rb5
-rw-r--r--config/sidekiq_queues.yml10
-rw-r--r--config/webpack.config.js4
100 files changed, 709 insertions, 208 deletions
diff --git a/config/application.rb b/config/application.rb
index d9a237eba50..12c7444ef39 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -65,6 +65,7 @@ module Gitlab
require_dependency Rails.root.join('lib/gitlab')
require_dependency Rails.root.join('lib/gitlab/action_cable/config')
require_dependency Rails.root.join('lib/gitlab/redis/wrapper')
+ require_dependency Rails.root.join('lib/gitlab/redis/multi_store_wrapper')
require_dependency Rails.root.join('lib/gitlab/redis/cache')
require_dependency Rails.root.join('lib/gitlab/redis/queues')
require_dependency Rails.root.join('lib/gitlab/redis/shared_state')
@@ -346,6 +347,7 @@ module Gitlab
config.assets.precompile << "page_bundles/roadmap.css"
config.assets.precompile << "page_bundles/requirements.css"
config.assets.precompile << "page_bundles/runner_details.css"
+ config.assets.precompile << "page_bundles/runners.css"
config.assets.precompile << "page_bundles/search.css"
config.assets.precompile << "page_bundles/security_dashboard.css"
config.assets.precompile << "page_bundles/security_discover.css"
diff --git a/config/dependency_decisions.yml b/config/dependency_decisions.yml
index e74e9367304..a293ae97490 100644
--- a/config/dependency_decisions.yml
+++ b/config/dependency_decisions.yml
@@ -379,5 +379,12 @@
- elkjs
- :who: John T Skarbek
:why: https://gitlab.com/gitlab-com/legal-and-compliance/-/issues/1505
- :versions: ["0.8.2"]
- :when: 2023-04-07 09:15:33.00004000 Z
+ :versions:
+ - 0.8.2
+ :when: 2023-04-07 09:15:33.000040000 Z
+- - :permit
+ - MIT AND (BSD-2-Clause OR GPL-2.0-or-later)
+ - :who: Stan Hu
+ :why: Used by nio4r gem. MIT license.
+ :versions: []
+ :when: 2024-01-08 09:05:34.528980000 Z
diff --git a/config/events/agent_users_using_ci_tunnel.yml b/config/events/agent_users_using_ci_tunnel.yml
new file mode 100644
index 00000000000..575c2ddf9e8
--- /dev/null
+++ b/config/events/agent_users_using_ci_tunnel.yml
@@ -0,0 +1,20 @@
+---
+description: Kubernetes API proxy request using the CI/CD Tunnel
+category: InternalEventTracking
+action: agent_users_using_ci_tunnel
+identifiers:
+- project
+- namespace
+- user
+product_section: cd
+product_stage: deploy
+product_group: environments
+milestone: '16.8'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140038
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/events/i_quickactions_remove_email_multiple.yml b/config/events/i_quickactions_remove_email_multiple.yml
new file mode 100644
index 00000000000..707624db394
--- /dev/null
+++ b/config/events/i_quickactions_remove_email_multiple.yml
@@ -0,0 +1,24 @@
+---
+description: Count usage of /remove_email quickaction with multiple arguments
+category: InternalEventTracking
+action: i_quickactions_remove_email_multiple
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: seg
+product_stage: service
+product_group: respond
+milestone: "16.7"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138178
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/events/i_quickactions_remove_email_single.yml b/config/events/i_quickactions_remove_email_single.yml
new file mode 100644
index 00000000000..fea63d2ecd3
--- /dev/null
+++ b/config/events/i_quickactions_remove_email_single.yml
@@ -0,0 +1,24 @@
+---
+description: Count usage of /remove_email quickaction with a single argument
+category: InternalEventTracking
+action: i_quickactions_remove_email_single
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: seg
+product_stage: service
+product_group: respond
+milestone: "16.7"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138178
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index 4391673b360..a7e84d53c31 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -86,6 +86,7 @@
- mlops
- mobile_devops
- navigation
+- okr_management
- omnibus_package
- on_call_schedule_management
- onboarding
diff --git a/config/feature_flags/development/unify_security_configuration.yml b/config/feature_flags/beta/container_scanning_continuous_vulnerability_scans.yml
index bbc4489ec82..0169f3949c9 100644
--- a/config/feature_flags/development/unify_security_configuration.yml
+++ b/config/feature_flags/beta/container_scanning_continuous_vulnerability_scans.yml
@@ -1,8 +1,9 @@
---
-name: unify_security_configuration
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76866
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350177
-milestone: '14.7'
-type: development
+name: container_scanning_continuous_vulnerability_scans
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435435
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/141023
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437162
+milestone: '16.8'
group: group::composition analysis
+type: beta
default_enabled: false
diff --git a/config/feature_flags/beta/group_hierarchy_optimization.yml b/config/feature_flags/beta/group_hierarchy_optimization.yml
new file mode 100644
index 00000000000..194f450aefe
--- /dev/null
+++ b/config/feature_flags/beta/group_hierarchy_optimization.yml
@@ -0,0 +1,9 @@
+---
+name: group_hierarchy_optimization
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433478
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/141214
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437604
+milestone: '16.8'
+group: group::optimize
+type: beta
+default_enabled: false
diff --git a/config/feature_flags/beta/prefix_ci_build_tokens.yml b/config/feature_flags/beta/prefix_ci_build_tokens.yml
new file mode 100644
index 00000000000..ed0838b36bd
--- /dev/null
+++ b/config/feature_flags/beta/prefix_ci_build_tokens.yml
@@ -0,0 +1,9 @@
+---
+name: prefix_ci_build_tokens
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/426137
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140159
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17299
+milestone: '16.8'
+group: group::pipeline security
+type: beta
+default_enabled: false
diff --git a/config/feature_flags/development/add_branch_rule.yml b/config/feature_flags/development/add_branch_rule.yml
new file mode 100644
index 00000000000..bdbd8d58c71
--- /dev/null
+++ b/config/feature_flags/development/add_branch_rule.yml
@@ -0,0 +1,8 @@
+---
+name: add_branch_rule
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435948
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437003
+milestone: '16.8'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/apollo_boards.yml b/config/feature_flags/development/add_policy_approvers_to_rules.yml
index 09b37f4d2ed..c0e8d804840 100644
--- a/config/feature_flags/development/apollo_boards.yml
+++ b/config/feature_flags/development/add_policy_approvers_to_rules.yml
@@ -1,8 +1,8 @@
---
-name: apollo_boards
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102719
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/381210
-milestone: '15.6'
+name: add_policy_approvers_to_rules
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138809
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/434385
+milestone: '16.8'
type: development
-group: group::product planning
+group: group::security policies
default_enabled: true
diff --git a/config/feature_flags/development/clickhouse_ci_analytics.yml b/config/feature_flags/development/agent_registry.yml
index e56d2e19036..7bcdfc76ab1 100644
--- a/config/feature_flags/development/clickhouse_ci_analytics.yml
+++ b/config/feature_flags/development/agent_registry.yml
@@ -1,8 +1,8 @@
---
-name: clickhouse_ci_analytics
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130211
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/424498
-milestone: '16.4'
+name: agent_registry
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140859
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437540
+milestone: '16.8'
type: development
-group: group::runner
+group: "group::mlops"
default_enabled: false
diff --git a/config/feature_flags/development/arkose_labs_signup_data_exchange.yml b/config/feature_flags/development/arkose_labs_signup_data_exchange.yml
new file mode 100644
index 00000000000..701a2ee33e9
--- /dev/null
+++ b/config/feature_flags/development/arkose_labs_signup_data_exchange.yml
@@ -0,0 +1,8 @@
+---
+name: arkose_labs_signup_data_exchange
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139070
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435275
+milestone: '16.8'
+type: development
+group: group::anti-abuse
+default_enabled: false
diff --git a/config/feature_flags/development/create_personal_ns_outside_model.yml b/config/feature_flags/development/bulk_create_scan_result_policies.yml
index ba8a3f7deb3..35a1c5a6deb 100644
--- a/config/feature_flags/development/create_personal_ns_outside_model.yml
+++ b/config/feature_flags/development/bulk_create_scan_result_policies.yml
@@ -1,8 +1,8 @@
---
-name: create_personal_ns_outside_model
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139487
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/434921
-milestone: '16.7'
+name: bulk_create_scan_result_policies
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139163
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435958
+milestone: '16.8'
type: development
-group: group::tenant scale
+group: group::security policies
default_enabled: false
diff --git a/config/feature_flags/development/bulk_import_details_page.yml b/config/feature_flags/development/bulk_import_details_page.yml
deleted file mode 100644
index c8265161233..00000000000
--- a/config/feature_flags/development/bulk_import_details_page.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: bulk_import_details_page
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/135004
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/429109
-milestone: '16.6'
-type: development
-group: group::import and integrate
-default_enabled: true
diff --git a/config/feature_flags/development/bulk_import_limit_concurrent_batches.yml b/config/feature_flags/development/bulk_import_limit_concurrent_batches.yml
index 4bbd0bd5773..72dbf392528 100644
--- a/config/feature_flags/development/bulk_import_limit_concurrent_batches.yml
+++ b/config/feature_flags/development/bulk_import_limit_concurrent_batches.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/431561
milestone: '16.7'
type: development
group: group::import and integrate
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/bulk_imports_batched_import_export.yml b/config/feature_flags/development/bulk_imports_batched_import_export.yml
deleted file mode 100644
index bf114b6d0a8..00000000000
--- a/config/feature_flags/development/bulk_imports_batched_import_export.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: bulk_imports_batched_import_export
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124434
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/406559
-milestone: '16.2'
-type: development
-group: group::import and integrate
-default_enabled: true
diff --git a/config/feature_flags/development/cache_control_headers_for_openid_jwks.yml b/config/feature_flags/development/cache_control_headers_for_openid_jwks.yml
deleted file mode 100644
index 79f7a27eeac..00000000000
--- a/config/feature_flags/development/cache_control_headers_for_openid_jwks.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: cache_control_headers_for_openid_jwks
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138405
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433360
-milestone: '16.7'
-type: development
-group: group::pipeline security
-default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/use_gitlab_http_v2.yml b/config/feature_flags/development/ci_workflow_auto_cancel_on_new_commit.yml
index 8a840c48a4b..3b8c7b1e489 100644
--- a/config/feature_flags/development/use_gitlab_http_v2.yml
+++ b/config/feature_flags/development/ci_workflow_auto_cancel_on_new_commit.yml
@@ -1,8 +1,8 @@
---
-name: use_gitlab_http_v2
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/132742
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/426549
-milestone: '16.5'
+name: ci_workflow_auto_cancel_on_new_commit
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139358
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/434676
+milestone: '16.8'
type: development
group: group::pipeline authoring
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/code_suggestions_claude21.yml b/config/feature_flags/development/code_suggestions_claude21.yml
new file mode 100644
index 00000000000..d5127fa1b79
--- /dev/null
+++ b/config/feature_flags/development/code_suggestions_claude21.yml
@@ -0,0 +1,9 @@
+---
+name: code_suggestions_claude21
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432636
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140436
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/436273
+milestone: '16.8'
+group: group::code creation
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/compliance_framework_report_ui.yml b/config/feature_flags/development/compliance_framework_report_ui.yml
index a70869bfeed..257c5808797 100644
--- a/config/feature_flags/development/compliance_framework_report_ui.yml
+++ b/config/feature_flags/development/compliance_framework_report_ui.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/425242
milestone: '16.5'
type: development
group: group::compliance
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/compliance_pipeline_in_policies.yml b/config/feature_flags/development/compliance_pipeline_in_policies.yml
index 97432fe2872..427f3dde4b4 100644
--- a/config/feature_flags/development/compliance_pipeline_in_policies.yml
+++ b/config/feature_flags/development/compliance_pipeline_in_policies.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/424185
milestone: '16.4'
type: development
group: group::security policies
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/invalid_graphql_auth_401.yml b/config/feature_flags/development/github_import_extended_events.yml
index 668a86cc52f..e4466bf958f 100644
--- a/config/feature_flags/development/invalid_graphql_auth_401.yml
+++ b/config/feature_flags/development/github_import_extended_events.yml
@@ -1,8 +1,8 @@
---
-name: invalid_graphql_auth_401
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/132149
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/426196
-milestone: '16.5'
+name: github_import_extended_events
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139410
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435089
+milestone: '16.8'
type: development
group: group::import and integrate
default_enabled: false
diff --git a/config/feature_flags/development/gitlab_duo_chat_requests_to_ai_gateway.yml b/config/feature_flags/development/gitlab_duo_chat_requests_to_ai_gateway.yml
index fc15ee5f1b9..bc90bd298fc 100644
--- a/config/feature_flags/development/gitlab_duo_chat_requests_to_ai_gateway.yml
+++ b/config/feature_flags/development/gitlab_duo_chat_requests_to_ai_gateway.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433213
milestone: '16.7'
type: development
group: group::ai framework
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/group_analytics_dashboards.yml b/config/feature_flags/development/group_analytics_dashboards.yml
index 55001b99452..6609b4d2c7e 100644
--- a/config/feature_flags/development/group_analytics_dashboards.yml
+++ b/config/feature_flags/development/group_analytics_dashboards.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416970
milestone: '16.2'
type: development
group: group::optimize
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/browsersdk_tracking.yml b/config/feature_flags/development/hard_limit_daily_phone_verifications.yml
index 688d559904b..7bf08f24bc6 100644
--- a/config/feature_flags/development/browsersdk_tracking.yml
+++ b/config/feature_flags/development/hard_limit_daily_phone_verifications.yml
@@ -1,8 +1,8 @@
---
-name: browsersdk_tracking
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129517
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/422264
-milestone: '16.4'
+name: hard_limit_daily_phone_verifications
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138627
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433972
+milestone: '16.8'
type: development
-group: group::analytics instrumentation
+group: group::anti-abuse
default_enabled: false
diff --git a/config/feature_flags/development/inherit_higher_access_levels_no_cross_join.yml b/config/feature_flags/development/inherit_higher_access_levels_no_cross_join.yml
deleted file mode 100644
index 299a43ccb9e..00000000000
--- a/config/feature_flags/development/inherit_higher_access_levels_no_cross_join.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: inherit_higher_access_levels_no_cross_join
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/132947
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/427238
-milestone: '16.5'
-type: development
-group: group::authentication
-default_enabled: true
diff --git a/config/feature_flags/development/limited_access_modal.yml b/config/feature_flags/development/limited_access_modal.yml
index c9800da0d6c..0e01507a8f9 100644
--- a/config/feature_flags/development/limited_access_modal.yml
+++ b/config/feature_flags/development/limited_access_modal.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129790
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/424877
milestone: '16.4'
type: development
-group: group::billing and subscription management
+group: group::subscription management
default_enabled: false
diff --git a/config/feature_flags/development/manage_project_access_tokens.yml b/config/feature_flags/development/manage_project_access_tokens.yml
deleted file mode 100644
index a6cf2cf4f9f..00000000000
--- a/config/feature_flags/development/manage_project_access_tokens.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: manage_project_access_tokens
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/132342
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/430353
-milestone: '16.5'
-type: development
-group: group::authorization
-default_enabled: false
diff --git a/config/feature_flags/development/vite.yml b/config/feature_flags/development/markdown_rust.yml
index 10242a665e7..2a982525e45 100644
--- a/config/feature_flags/development/vite.yml
+++ b/config/feature_flags/development/markdown_rust.yml
@@ -1,8 +1,8 @@
---
-name: vite
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129392
+name: markdown_rust
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139825
rollout_issue_url:
-milestone: '16.4'
+milestone: '16.8'
type: development
-group: group::code review
+group: group::project management
default_enabled: false
diff --git a/config/feature_flags/development/always_set_pipeline_failure_reason.yml b/config/feature_flags/development/mention_autocomplete_backend_filtering.yml
index fad54828280..b971308fe67 100644
--- a/config/feature_flags/development/always_set_pipeline_failure_reason.yml
+++ b/config/feature_flags/development/mention_autocomplete_backend_filtering.yml
@@ -1,8 +1,8 @@
---
-name: always_set_pipeline_failure_reason
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138390
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/434228
+name: mention_autocomplete_backend_filtering
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131250
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435106
milestone: '16.7'
type: development
-group: group::pipeline execution
+group: group::project management
default_enabled: false
diff --git a/config/feature_flags/development/user_approval_rules_removal.yml b/config/feature_flags/development/merge_request_diff_generated_subscription.yml
index 96025a8c163..c1803423edc 100644
--- a/config/feature_flags/development/user_approval_rules_removal.yml
+++ b/config/feature_flags/development/merge_request_diff_generated_subscription.yml
@@ -1,8 +1,8 @@
---
-name: user_approval_rules_removal
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138691
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/434141
-milestone: '16.7'
-type: development
+name: merge_request_diff_generated_subscription
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140287
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435917
+milestone: '16.8'
group: group::code review
-default_enabled: true
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/optimize_where_full_path_in.yml b/config/feature_flags/development/optional_personal_namespace.yml
index a47b703a958..acc644933d5 100644
--- a/config/feature_flags/development/optimize_where_full_path_in.yml
+++ b/config/feature_flags/development/optional_personal_namespace.yml
@@ -1,8 +1,8 @@
---
-name: optimize_where_full_path_in
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137886
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432863
-milestone: '16.7'
+name: optional_personal_namespace
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137713
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/431978
+milestone: '16.8'
type: development
group: group::tenant scale
default_enabled: false
diff --git a/config/feature_flags/development/packages_dependency_proxy_maven.yml b/config/feature_flags/development/packages_dependency_proxy_maven.yml
deleted file mode 100644
index 8cf2f5a2879..00000000000
--- a/config/feature_flags/development/packages_dependency_proxy_maven.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: packages_dependency_proxy_maven
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123491
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415218
-milestone: '16.2'
-type: development
-group: group::package registry
-default_enabled: false
diff --git a/config/feature_flags/development/use_merge_approval_rules_when_merged.yml b/config/feature_flags/development/pinned_file.yml
index 1b7007a96df..712a35fd790 100644
--- a/config/feature_flags/development/use_merge_approval_rules_when_merged.yml
+++ b/config/feature_flags/development/pinned_file.yml
@@ -1,8 +1,8 @@
---
-name: use_merge_approval_rules_when_merged
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129165
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/422380
-milestone: '16.4'
+name: pinned_file
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137544
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433250
+milestone: '16.9'
type: development
group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/restyle_login_page.yml b/config/feature_flags/development/prefix_scim_tokens.yml
index 90b56e64c48..297327f26d2 100644
--- a/config/feature_flags/development/restyle_login_page.yml
+++ b/config/feature_flags/development/prefix_scim_tokens.yml
@@ -1,8 +1,8 @@
---
-name: restyle_login_page
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91673
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/368387
-milestone: '15.2'
+name: prefix_scim_tokens
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139737
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435423
+milestone: '16.8'
type: development
group: group::authentication
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/refresh_statistics_on_unlink_fork.yml b/config/feature_flags/development/refresh_statistics_on_unlink_fork.yml
deleted file mode 100644
index e4358224831..00000000000
--- a/config/feature_flags/development/refresh_statistics_on_unlink_fork.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: refresh_statistics_on_unlink_fork
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137197
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432177
-milestone: '16.7'
-type: development
-group: group::utilization
-default_enabled: false
diff --git a/config/feature_flags/development/sast_reports_in_inline_diff.yml b/config/feature_flags/development/sast_reports_in_inline_diff.yml
index 2e320e8e602..78729ed1466 100644
--- a/config/feature_flags/development/sast_reports_in_inline_diff.yml
+++ b/config/feature_flags/development/sast_reports_in_inline_diff.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/410191
milestone: '16.0'
type: development
group: group::static analysis
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/self_managed_code_suggestions.yml b/config/feature_flags/development/self_managed_code_suggestions.yml
index 1c0f636bd8b..ccde3fbc75f 100644
--- a/config/feature_flags/development/self_managed_code_suggestions.yml
+++ b/config/feature_flags/development/self_managed_code_suggestions.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432983
milestone: '16.7'
type: development
group: group::purchase
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/sidekiq_job_completion_metric_initialize.yml b/config/feature_flags/development/sidekiq_job_completion_metric_initialize.yml
index 95389b7b5d7..0813a7fcc59 100644
--- a/config/feature_flags/development/sidekiq_job_completion_metric_initialize.yml
+++ b/config/feature_flags/development/sidekiq_job_completion_metric_initialize.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64637
rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/1133
milestone: '14.1'
type: development
-group: team::Scalability
+group: group::scalability
default_enabled: true
diff --git a/config/feature_flags/development/ci_job_token_scope.yml b/config/feature_flags/development/simplified_badges.yml
index aa64f5ba872..95f9b00d306 100644
--- a/config/feature_flags/development/ci_job_token_scope.yml
+++ b/config/feature_flags/development/simplified_badges.yml
@@ -1,8 +1,8 @@
---
-name: ci_job_token_scope
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49750
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300821
-milestone: '13.12'
+name: simplified_badges
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140231
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437861
+milestone: '16.8'
type: development
-group: group::container registry
+group: group::ux paper cuts
default_enabled: false
diff --git a/config/feature_flags/development/simplified_labels.yml b/config/feature_flags/development/simplified_labels.yml
new file mode 100644
index 00000000000..95619cd5ea5
--- /dev/null
+++ b/config/feature_flags/development/simplified_labels.yml
@@ -0,0 +1,8 @@
+---
+name: simplified_labels
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140239
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437859
+milestone: '16.8'
+type: development
+group: group::ux paper cuts
+default_enabled: false
diff --git a/config/feature_flags/development/sms_send_wait_time.yml b/config/feature_flags/development/sms_send_wait_time.yml
new file mode 100644
index 00000000000..e4cde3477ca
--- /dev/null
+++ b/config/feature_flags/development/sms_send_wait_time.yml
@@ -0,0 +1,8 @@
+---
+name: sms_send_wait_time
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137850
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432975
+milestone: '16.8'
+type: development
+group: group::anti-abuse
+default_enabled: false
diff --git a/config/feature_flags/development/truncate_ci_merge_request_description.yml b/config/feature_flags/development/truncate_ci_merge_request_description.yml
deleted file mode 100644
index 816632f0da2..00000000000
--- a/config/feature_flags/development/truncate_ci_merge_request_description.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: truncate_ci_merge_request_description
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139605
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435099
-milestone: '16.7'
-type: development
-group: group::pipeline security
-default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/updated_ai_powered_features_menu_for_sm.yml b/config/feature_flags/development/updated_ai_powered_features_menu_for_sm.yml
deleted file mode 100644
index 64377eacd5d..00000000000
--- a/config/feature_flags/development/updated_ai_powered_features_menu_for_sm.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: updated_ai_powered_features_menu_for_sm
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138337
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433255
-milestone: '16.7'
-type: development
-group: group::cloud connector
-default_enabled: false
diff --git a/config/feature_flags/development/use_500_page_size_for_contribution_analytics.yml b/config/feature_flags/development/use_500_page_size_for_contribution_analytics.yml
deleted file mode 100644
index edc696fc9ac..00000000000
--- a/config/feature_flags/development/use_500_page_size_for_contribution_analytics.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_500_page_size_for_contribution_analytics
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/136724
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/431595
-milestone: '16.7'
-type: development
-group: group::optimize
-default_enabled: true
diff --git a/config/feature_flags/experiment/in_product_guidance_environments_webide.yml b/config/feature_flags/experiment/default_to_import_tab.yml
index 167a70747a0..6d15cc57bb0 100644
--- a/config/feature_flags/experiment/in_product_guidance_environments_webide.yml
+++ b/config/feature_flags/experiment/default_to_import_tab.yml
@@ -1,8 +1,8 @@
---
-name: in_product_guidance_environments_webide
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57160
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/330390
-milestone: '13.12'
+name: default_to_import_tab
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139681
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435211
+milestone: '16.8'
type: experiment
-group: group::environments
+group: group::activation
default_enabled: false
diff --git a/config/feature_flags/gitlab_com_derisk/allow_members_to_see_invited_groups_in_access_dropdowns.yml b/config/feature_flags/gitlab_com_derisk/allow_members_to_see_invited_groups_in_access_dropdowns.yml
new file mode 100644
index 00000000000..5f394ef3fd3
--- /dev/null
+++ b/config/feature_flags/gitlab_com_derisk/allow_members_to_see_invited_groups_in_access_dropdowns.yml
@@ -0,0 +1,9 @@
+---
+name: allow_members_to_see_invited_groups_in_access_dropdowns
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/345140
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140927
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17364
+milestone: '16.8'
+group: group::source code
+type: gitlab_com_derisk
+default_enabled: false
diff --git a/config/feature_flags/gitlab_com_derisk/batch_route_updates.yml b/config/feature_flags/gitlab_com_derisk/batch_route_updates.yml
new file mode 100644
index 00000000000..8eae0d54435
--- /dev/null
+++ b/config/feature_flags/gitlab_com_derisk/batch_route_updates.yml
@@ -0,0 +1,9 @@
+---
+name: batch_route_updates
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432065
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139782
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17360
+milestone: '16.8'
+group: group::tenant scale
+type: gitlab_com_derisk
+default_enabled: false
diff --git a/config/feature_flags/gitlab_com_derisk/enhanced_review_email.yml b/config/feature_flags/gitlab_com_derisk/enhanced_review_email.yml
new file mode 100644
index 00000000000..71bdc424ec2
--- /dev/null
+++ b/config/feature_flags/gitlab_com_derisk/enhanced_review_email.yml
@@ -0,0 +1,9 @@
+---
+name: enhanced_review_email
+feature_issue_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/141187
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437582
+milestone: '16.8'
+group: group::code review
+type: gitlab_com_derisk
+default_enabled: false
diff --git a/config/feature_flags/gitlab_com_derisk/github_importer_attachments.yml b/config/feature_flags/gitlab_com_derisk/github_importer_attachments.yml
new file mode 100644
index 00000000000..ab068225d2c
--- /dev/null
+++ b/config/feature_flags/gitlab_com_derisk/github_importer_attachments.yml
@@ -0,0 +1,9 @@
+---
+name: github_importer_attachments
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/436400
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140524
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17318
+milestone: '16.8'
+group: group::import and integrate
+type: gitlab_com_derisk
+default_enabled: false
diff --git a/config/feature_flags/gitlab_com_derisk/namespace_descendants_cache_expiration.yml b/config/feature_flags/gitlab_com_derisk/namespace_descendants_cache_expiration.yml
new file mode 100644
index 00000000000..d374316e271
--- /dev/null
+++ b/config/feature_flags/gitlab_com_derisk/namespace_descendants_cache_expiration.yml
@@ -0,0 +1,9 @@
+---
+name: namespace_descendants_cache_expiration
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433482
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/141588
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17388
+milestone: '16.8'
+group: group::optimize
+type: gitlab_com_derisk
+default_enabled: false
diff --git a/config/feature_flags/gitlab_com_derisk/prevent_modifications_of_mr_rules_post_merge.yml b/config/feature_flags/gitlab_com_derisk/prevent_modifications_of_mr_rules_post_merge.yml
new file mode 100644
index 00000000000..3edb367f5a2
--- /dev/null
+++ b/config/feature_flags/gitlab_com_derisk/prevent_modifications_of_mr_rules_post_merge.yml
@@ -0,0 +1,9 @@
+---
+name: prevent_modifications_of_mr_rules_post_merge
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432961
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138154
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17331
+milestone: '16.8'
+group: group::code review
+type: gitlab_com_derisk
+default_enabled: false
diff --git a/config/feature_flags/gitlab_com_derisk/update_organization_users.yml b/config/feature_flags/gitlab_com_derisk/update_organization_users.yml
new file mode 100644
index 00000000000..09074850150
--- /dev/null
+++ b/config/feature_flags/gitlab_com_derisk/update_organization_users.yml
@@ -0,0 +1,9 @@
+---
+name: update_organization_users
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/419366
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139188
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435868
+milestone: '16.8'
+group: group::tenant scale
+type: gitlab_com_derisk
+default_enabled: false
diff --git a/config/feature_flags/ops/ai_duo_chat_switch.yml b/config/feature_flags/ops/ai_duo_chat_switch.yml
new file mode 100644
index 00000000000..cd3fe3ab937
--- /dev/null
+++ b/config/feature_flags/ops/ai_duo_chat_switch.yml
@@ -0,0 +1,9 @@
+---
+name: ai_duo_chat_switch
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/434802
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140352
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17301
+milestone: '16.8'
+group: group::ai framework
+type: ops
+default_enabled: true
diff --git a/config/feature_flags/ops/ci_unlock_pipelines_extra_low.yml b/config/feature_flags/ops/ci_unlock_pipelines_extra_low.yml
new file mode 100644
index 00000000000..9a02adccac3
--- /dev/null
+++ b/config/feature_flags/ops/ci_unlock_pipelines_extra_low.yml
@@ -0,0 +1,9 @@
+---
+name: ci_unlock_pipelines_extra_low
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435051
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140318
+rollout_issue_url:
+milestone: '16.7'
+group: group::pipeline security
+type: ops
+default_enabled: false
diff --git a/config/feature_flags/development/telesign_intelligence.yml b/config/feature_flags/ops/telesign_intelligence.yml
index 5d824f4025b..de87f48e2b6 100644
--- a/config/feature_flags/development/telesign_intelligence.yml
+++ b/config/feature_flags/ops/telesign_intelligence.yml
@@ -3,6 +3,6 @@ name: telesign_intelligence
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137739
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432757
milestone: '16.7'
-type: development
+type: ops
group: group::anti-abuse
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml b/config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml
index a09daecbfa5..1ef7a93f205 100644
--- a/config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml
+++ b/config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3758
rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/1187
milestone: '14.3'
type: undefined
-group: 'team::Scalability'
+group: group::scalability
default_enabled: false
diff --git a/config/feature_flags/wip/disable_ci_partition_pruning.yml b/config/feature_flags/wip/disable_ci_partition_pruning.yml
new file mode 100644
index 00000000000..91e07c50ba2
--- /dev/null
+++ b/config/feature_flags/wip/disable_ci_partition_pruning.yml
@@ -0,0 +1,9 @@
+---
+name: disable_ci_partition_pruning
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435737
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140355
+rollout_issue_url:
+milestone: '16.8'
+group: group::pipeline execution
+type: wip
+default_enabled: false
diff --git a/config/feature_flags/wip/epic_creation_with_synced_work_item.yml b/config/feature_flags/wip/epic_creation_with_synced_work_item.yml
new file mode 100644
index 00000000000..2083ca694d1
--- /dev/null
+++ b/config/feature_flags/wip/epic_creation_with_synced_work_item.yml
@@ -0,0 +1,9 @@
+---
+name: epic_creation_with_synced_work_item
+feature_issue_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140232
+rollout_issue_url:
+milestone: '16.9'
+group: group::product planning
+type: wip
+default_enabled: false
diff --git a/config/feature_flags/wip/vulnerability_owasp_top_10_group.yml b/config/feature_flags/wip/vulnerability_owasp_top_10_group.yml
new file mode 100644
index 00000000000..75234433e44
--- /dev/null
+++ b/config/feature_flags/wip/vulnerability_owasp_top_10_group.yml
@@ -0,0 +1,9 @@
+---
+name: vulnerability_owasp_top_10_group
+feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432618
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140205
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437253
+milestone: '16.8'
+group: group::threat insights
+type: wip
+default_enabled: false
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 14fb285f4f8..e4fd20f9454 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -159,6 +159,13 @@ production: &base
# Number of seconds to wait for HTTP response after sending webhook HTTP POST request (default: 10)
# webhook_timeout: 10
+ ## HTTP client settings
+ http_client:
+ # Filename of HTTP client pem
+ # tls_client_cert_file:
+ # PEM password (optional)
+ # tls_client_cert_password:
+
### GraphQL Settings
# Tells the rails application how long it has to complete a GraphQL request.
# We suggest this value to be higher than the database timeout value
diff --git a/config/gitlab_loose_foreign_keys.yml b/config/gitlab_loose_foreign_keys.yml
index 5fadf699bf5..644eab176bf 100644
--- a/config/gitlab_loose_foreign_keys.yml
+++ b/config/gitlab_loose_foreign_keys.yml
@@ -27,13 +27,6 @@ ci_daily_build_group_report_results:
- table: projects
column: project_id
on_delete: async_delete
-ci_editor_ai_conversation_messages:
- - table: projects
- column: project_id
- on_delete: async_delete
- - table: users
- column: user_id
- on_delete: async_delete
ci_freeze_periods:
- table: projects
column: project_id
@@ -263,6 +256,13 @@ notification_settings:
- table: users
column: user_id
on_delete: async_delete
+organization_users:
+ - table: organizations
+ column: organization_id
+ on_delete: async_delete
+ - table: users
+ column: user_id
+ on_delete: async_delete
p_ci_builds:
- table: users
column: user_id
diff --git a/config/gitleaks.toml b/config/gitleaks.toml
index a492b38fdf9..d0d140c8414 100644
--- a/config/gitleaks.toml
+++ b/config/gitleaks.toml
@@ -13,6 +13,9 @@ path = "/gitleaks.toml"
# spec/frontend/lib/utils/secret_detection_spec.js
"glpat-cgyKc1k_AsnEpmP-5fRL",
"gldt-cgyKc1k_AsnEpmP-5fRL",
+ "glsoat-cgyKc1k_AsnEpmP-5fRL",
+ "glcbt-FFFF_cgyKc1k_AsnEpmP-5fRL",
+ "glcbt-1_cgyKc1k_AsnEpmP-5fRL",
# spec/frontend/lib/utils/secret_detection_spec.js
"GlPat-abcdefghijklmnopqrstuvwxyz",
# doc/development/sec/token_revocation_api.md
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index ade5465f8ea..4b279db68b8 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -634,6 +634,9 @@ Settings.cron_jobs['schedule_merge_request_cleanup_refs_worker']['job_class'] =
Settings.cron_jobs['manage_evidence_worker'] ||= {}
Settings.cron_jobs['manage_evidence_worker']['cron'] ||= '0 * * * *'
Settings.cron_jobs['manage_evidence_worker']['job_class'] = 'Releases::ManageEvidenceWorker'
+Settings.cron_jobs['publish_release_worker'] ||= {}
+Settings.cron_jobs['publish_release_worker']['cron'] ||= '20,50 * * * *'
+Settings.cron_jobs['publish_release_worker']['job_class'] = 'Releases::PublishEventWorker'
Settings.cron_jobs['user_status_cleanup_batch_worker'] ||= {}
Settings.cron_jobs['user_status_cleanup_batch_worker']['cron'] ||= '* * * * *'
Settings.cron_jobs['user_status_cleanup_batch_worker']['job_class'] = 'UserStatusCleanup::BatchWorker'
@@ -897,6 +900,9 @@ Gitlab.ee do
Settings.cron_jobs['click_house_events_sync_worker'] ||= {}
Settings.cron_jobs['click_house_events_sync_worker']['cron'] ||= "*/3 * * * *"
Settings.cron_jobs['click_house_events_sync_worker']['job_class'] = 'ClickHouse::EventsSyncWorker'
+ Settings.cron_jobs['click_house_event_authors_consistency_cron_worker'] ||= {}
+ Settings.cron_jobs['click_house_event_authors_consistency_cron_worker']['cron'] ||= "*/30 * * * *"
+ Settings.cron_jobs['click_house_event_authors_consistency_cron_worker']['job_class'] = 'ClickHouse::EventAuthorsConsistencyCronWorker'
Settings.cron_jobs['vertex_ai_refresh_access_token_worker'] ||= {}
Settings.cron_jobs['vertex_ai_refresh_access_token_worker']['cron'] ||= '*/50 * * * *'
Settings.cron_jobs['vertex_ai_refresh_access_token_worker']['job_class'] = 'Llm::VertexAiAccessTokenRefreshWorker'
diff --git a/config/initializers/7_redis.rb b/config/initializers/7_redis.rb
index 040257535f8..5d5bb209774 100644
--- a/config/initializers/7_redis.rb
+++ b/config/initializers/7_redis.rb
@@ -29,6 +29,9 @@ Redis::Cluster.prepend(Gitlab::Patch::RedisCluster)
ConnectionPool.prepend(Gitlab::Instrumentation::ConnectionPool)
+# this only instruments `RedisClient` used in `Sidekiq.redis`
+RedisClient.register(Gitlab::Instrumentation::RedisClientMiddleware)
+
if Gitlab::Redis::Workhorse.params[:cluster].present?
raise "Do not configure workhorse with a Redis Cluster as pub/sub commands are not cluster-compatible."
end
diff --git a/config/initializers/fog_google_list_objects_match_glob_support.rb b/config/initializers/fog_google_list_objects_match_glob_support.rb
new file mode 100644
index 00000000000..37eacf33743
--- /dev/null
+++ b/config/initializers/fog_google_list_objects_match_glob_support.rb
@@ -0,0 +1,52 @@
+# frozen_string_literal: true
+
+# We force require this to trigger the autoload and so that our monkeypatch will
+# be applied in correct order, which is only after the class is loaded.
+require 'fog/storage/google_json/requests/list_objects'
+
+#
+# Monkey patching the list_objects to support match_glob parameter
+# See https://github.com/fog/fog-google/issues/614
+#
+module Fog
+ module Storage
+ class GoogleJSON
+ class Real
+ # This an identical copy of
+ # https://github.com/fog/fog-google/blob/v1.19.0/lib/fog/storage/google_json/requests/list_objects.rb
+ # with just match_glob added to the allowed_opts
+ def list_objects(bucket, options = {})
+ # rubocop: disable Style/PercentLiteralDelimiters -- this is an exact copy of the original method, just added match_glob here.
+ allowed_opts = %i(
+ delimiter
+ match_glob
+ max_results
+ page_token
+ prefix
+ projection
+ versions
+ )
+ # rubocop: enable Style/PercentLiteralDelimiters
+
+ # rubocop: disable Gitlab/ModuleWithInstanceVariables -- this is an exact copy of the original method
+ @storage_json.list_objects(
+ bucket,
+ **options.select { |k, _| allowed_opts.include? k }
+ )
+ # rubocop: enable Gitlab/ModuleWithInstanceVariables
+ end
+ end
+ end
+ end
+end
+
+# We just need to add the match_glob attribute support here
+module Fog
+ module Storage
+ class GoogleJSON
+ class Files < Fog::Collection
+ attribute :match_glob, aliases: "matchGlob"
+ end
+ end
+ end
+end
diff --git a/config/initializers/gitlab_http.rb b/config/initializers/gitlab_http.rb
index 8a84313a7fb..cd891f29584 100644
--- a/config/initializers/gitlab_http.rb
+++ b/config/initializers/gitlab_http.rb
@@ -24,3 +24,11 @@ Gitlab::HTTP_V2.configure do |config|
Gitlab::SilentMode.log_info(message: message, outbound_http_request_method: http_method)
end
end
+
+if Gitlab.config.gitlab['http_client']
+ pem = File.read(Gitlab.config.gitlab['http_client']['tls_client_cert_file'])
+ password = Gitlab.config.gitlab['http_client']['tls_client_cert_password']
+
+ Gitlab::HTTP_V2::Client.pem(pem, password)
+ Gitlab::LegacyHTTP.pem(pem, password)
+end
diff --git a/config/initializers/macos.rb b/config/initializers/macos.rb
index 860167e12cd..7ec022add18 100644
--- a/config/initializers/macos.rb
+++ b/config/initializers/macos.rb
@@ -28,4 +28,12 @@ if RUBY_PLATFORM.include?('darwin')
time_zone_name = CFTimeZone.CFTimeZoneGetName(default_time_zone)
CFTimeZone.CFRelease(time_zone_name)
CFTimeZone.CFRelease(default_time_zone)
+
+ # With curl v8.2.0, the thread unsafe macOS API call to
+ # SCDynamicStoreCopyProxies has been moved to the global init function
+ # (https://github.com/curl/curl/issues/11252). The Elasticsearch
+ # gem uses Typhoeus, which uses Ethon to wrap libcurl.
+ # Init curl to ensure Spring works
+ # (https://github.com/elastic/elasticsearch-ruby/issues/2244).
+ Ethon::Curl.init
end
diff --git a/config/initializers/rspec_profiling.rb b/config/initializers/rspec_profiling.rb
index 5830a3d5af2..c5285dc389b 100644
--- a/config/initializers/rspec_profiling.rb
+++ b/config/initializers/rspec_profiling.rb
@@ -2,6 +2,8 @@
return unless Rails.env.test?
+require 'gitlab_edition'
+
module RspecProfilingExt
module Collectors
class CSVWithTimestamps < ::RspecProfiling::Collectors::CSV
@@ -30,7 +32,7 @@ module RspecProfilingExt
module Git
def branch
if ENV['CI_COMMIT_REF_NAME']
- "#{defined?(Gitlab::License) ? 'ee' : 'ce'}:#{ENV['CI_COMMIT_REF_NAME']}"
+ "#{GitlabEdition.ee? ? 'ee' : 'ce'}:#{ENV['CI_COMMIT_REF_NAME']}"
else
super&.chomp
end
diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb
index 733ad94240a..7f410d7bf7b 100644
--- a/config/initializers/session_store.rb
+++ b/config/initializers/session_store.rb
@@ -31,12 +31,16 @@ cookie_key = if Rails.env.development?
store = Gitlab::Redis::Sessions.store(namespace: Gitlab::Redis::Sessions::SESSION_NAMESPACE)
-Gitlab::Application.config.session_store(
- :redis_store, # Using the cookie_store would enable session replay attacks.
- redis_store: store,
- key: cookie_key,
- secure: Gitlab.config.gitlab.https,
- httponly: true,
- expires_in: Settings.gitlab['session_expire_delay'] * 60,
- path: Rails.application.config.relative_url_root.presence || '/'
-)
+Rails.application.configure do
+ config.session_store(
+ :redis_store, # Using the cookie_store would enable session replay attacks.
+ redis_store: store,
+ key: cookie_key,
+ secure: Gitlab.config.gitlab.https,
+ httponly: true,
+ expires_in: Settings.gitlab['session_expire_delay'] * 60,
+ path: Rails.application.config.relative_url_root.presence || '/'
+ )
+
+ config.middleware.insert_after ActionDispatch::Session::RedisStore, Gitlab::Middleware::UnauthenticatedSessionExpiry
+end
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 8df12671f26..9b7233dbd14 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -28,26 +28,41 @@ def enable_semi_reliable_fetch_mode?
end
# Custom Queues configuration
-queues_config_hash = Gitlab::Redis::Queues.params
+queues_config_hash = Gitlab::Redis::Queues.redis_client_params
enable_json_logs = Gitlab.config.sidekiq.log_format != 'text'
+# Sidekiq's `strict_args!` raises an exception by default in 7.0
+# https://github.com/sidekiq/sidekiq/blob/31bceff64e10d501323bc06ac0552652a47c082e/docs/7.0-Upgrade.md?plain=1#L59
+Sidekiq.strict_args!(false)
+
Sidekiq.configure_server do |config|
config[:strict] = false
config[:queues] = Gitlab::SidekiqConfig.expand_queues(config[:queues])
if enable_json_logs
- config.log_formatter = Gitlab::SidekiqLogging::JSONFormatter.new
+ config.logger.formatter = Gitlab::SidekiqLogging::JSONFormatter.new
config[:job_logger] = Gitlab::SidekiqLogging::StructuredLogger
# Remove the default-provided handler. The exception is logged inside
# Gitlab::SidekiqLogging::StructuredLogger
- config.error_handlers.delete(Sidekiq::DEFAULT_ERROR_HANDLER)
+ config.error_handlers.delete(Sidekiq::Config::ERROR_HANDLER)
end
Sidekiq.logger.info "Listening on queues #{config[:queues].uniq.sort}"
- config.redis = queues_config_hash
+ # In Sidekiq 6.x, connection pools have a size of concurrency+5.
+ # ref: https://github.com/sidekiq/sidekiq/blob/v6.5.10/lib/sidekiq/redis_connection.rb#L93
+ #
+ # In Sidekiq 7.x, capsule connection pools have a size equal to its concurrency. Internal
+ # housekeeping pool has a size of 10.
+ # ref: https://github.com/sidekiq/sidekiq/blob/v7.1.6/lib/sidekiq/capsule.rb#L94
+ # ref: https://github.com/sidekiq/sidekiq/blob/v7.1.6/lib/sidekiq/config.rb#L133
+ #
+ # We restore the concurrency+5 in Sidekiq 7.x to ensure that we do not experience resource bottlenecks with Redis
+ # connections. The connections are created lazily so slightly over-provisioning a connection pool is not an issue.
+ # This also increases the internal redis pool from 10 to concurrency+5.
+ config.redis = queues_config_hash.merge({ size: config.concurrency + 5 })
config.server_middleware(&Gitlab::SidekiqMiddleware.server_configurator(
metrics: Settings.monitoring.sidekiq_exporter,
@@ -107,8 +122,8 @@ Sidekiq.configure_client do |config|
# We only need to do this for other clients. If Sidekiq-server is the
# client scheduling jobs, we have access to the regular sidekiq logger that
# writes to STDOUT
- Sidekiq.logger = Gitlab::SidekiqLogging::ClientLogger.build
- Sidekiq.logger.formatter = Gitlab::SidekiqLogging::JSONFormatter.new if enable_json_logs
+ config.logger = Gitlab::SidekiqLogging::ClientLogger.build
+ config.logger.formatter = Gitlab::SidekiqLogging::JSONFormatter.new if enable_json_logs
config.client_middleware(&Gitlab::SidekiqMiddleware.client_configurator)
end
diff --git a/config/initializers/sidekiq_cluster.rb b/config/initializers/sidekiq_cluster.rb
index 5851e3bd838..4773152d912 100644
--- a/config/initializers/sidekiq_cluster.rb
+++ b/config/initializers/sidekiq_cluster.rb
@@ -19,7 +19,7 @@ if ENV['ENABLE_SIDEKIQ_CLUSTER']
# Allow sidekiq to cleanly terminate and push any running jobs back
# into the queue. We use the configured timeout and add a small
# grace period
- sleep(Sidekiq[:timeout] + 5)
+ sleep(Sidekiq.default_configuration[:timeout] + 5)
# Signaling the Sidekiq Pgroup as KILL is not forwarded to
# a possible child process. In Sidekiq Cluster, all child Sidekiq
diff --git a/config/initializers_before_autoloader/004_zeitwerk.rb b/config/initializers_before_autoloader/004_zeitwerk.rb
index 689da6e390c..2d54ab87dca 100644
--- a/config/initializers_before_autoloader/004_zeitwerk.rb
+++ b/config/initializers_before_autoloader/004_zeitwerk.rb
@@ -35,7 +35,6 @@ Rails.autoloaders.each do |autoloader|
'html_parser' => 'HTMLParser',
'html_gitlab' => 'HTMLGitlab',
'http' => 'HTTP',
- 'legacy_http' => 'LegacyHTTP',
'http_connection_adapter' => 'HTTPConnectionAdapter',
'http_clone_enabled_check' => 'HTTPCloneEnabledCheck',
'hangouts_chat_http_override' => 'HangoutsChatHTTPOverride',
diff --git a/config/locales/doorkeeper.en.yml b/config/locales/doorkeeper.en.yml
index dbbbbf86994..85a4a84892d 100644
--- a/config/locales/doorkeeper.en.yml
+++ b/config/locales/doorkeeper.en.yml
@@ -79,6 +79,7 @@ en:
create_runner: Grants create access to the runners
k8s_proxy: Grants permission to perform Kubernetes API calls using the agent for Kubernetes.
ai_features: Access to API endpoints needed for GitLab Duo features
+ read_service_ping: Grant access to download Service Ping payload via API when authenticated as an admin user
scope_desc:
api:
Grants complete read/write access to the API, including all groups and projects, the container registry, the dependency proxy, and the package registry.
@@ -114,6 +115,8 @@ en:
Grants create access to the runners.
k8s_proxy:
Grants permission to perform Kubernetes API calls using the agent for Kubernetes.
+ read_service_ping:
+ Grant access to download Service Ping payload via API when authenticated as an admin user
group_access_token_scope_desc:
api:
Grants complete read and write access to the scoped group and related project API, including the container registry, the dependency proxy, and the package registry.
diff --git a/config/metrics/counts_28d/20220222215951_xmau_plan.yml b/config/metrics/counts_28d/20220222215951_xmau_plan.yml
index ed584ae20a2..07de21168a8 100644
--- a/config/metrics/counts_28d/20220222215951_xmau_plan.yml
+++ b/config/metrics/counts_28d/20220222215951_xmau_plan.yml
@@ -23,6 +23,7 @@ options:
- users_updating_work_item_iteration
- users_updating_weight_estimate
- users_updating_work_item_milestone
+ - users_updating_work_item_todo
data_category: optional
distribution:
- ce
diff --git a/config/metrics/counts_28d/20220222215952_xmau_project_management.yml b/config/metrics/counts_28d/20220222215952_xmau_project_management.yml
index 574d06534d7..9a9efa99c37 100644
--- a/config/metrics/counts_28d/20220222215952_xmau_project_management.yml
+++ b/config/metrics/counts_28d/20220222215952_xmau_project_management.yml
@@ -23,6 +23,7 @@ options:
- users_updating_work_item_iteration
- users_updating_weight_estimate
- users_updating_work_item_milestone
+ - users_updating_work_item_todo
data_category: optional
distribution:
- ce
diff --git a/config/metrics/counts_28d/20220222215955_users_work_items.yml b/config/metrics/counts_28d/20220222215955_users_work_items.yml
index 90eefcf6ed8..ac7f7b48e5c 100644
--- a/config/metrics/counts_28d/20220222215955_users_work_items.yml
+++ b/config/metrics/counts_28d/20220222215955_users_work_items.yml
@@ -23,6 +23,7 @@ options:
- users_updating_work_item_iteration
- users_updating_weight_estimate
- users_updating_work_item_milestone
+ - users_updating_work_item_todo
data_category: optional
distribution:
- ce
diff --git a/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml b/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
index a16dbc17f05..1938323ffda 100644
--- a/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
+++ b/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
@@ -10,12 +10,14 @@ status: active
milestone: "15.3"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61685
time_frame: 28d
-data_source: redis_hll
+data_source: internal_events
data_category: optional
-instrumentation_class: RedisHLLMetric
options:
events:
- agent_users_using_ci_tunnel
+events:
+ - name: agent_users_using_ci_tunnel
+ unique: user.id
performance_indicator_type: []
distribution:
- ce
diff --git a/config/metrics/counts_28d/20221213182900_i_code_review_create_mr_monthly.yml b/config/metrics/counts_28d/20221213182900_i_code_review_create_mr_monthly.yml
index 740183d7286..860d63f0a6b 100644
--- a/config/metrics/counts_28d/20221213182900_i_code_review_create_mr_monthly.yml
+++ b/config/metrics/counts_28d/20221213182900_i_code_review_create_mr_monthly.yml
@@ -1,4 +1,5 @@
---
+# This metric used to be implemented as a RedisHLL counter. Therefor, the redis_hll_counters prefix.
key_path: redis_hll_counters.code_review.i_code_review_create_mr_monthly
description: Count of unique merge requests created per month
product_section: dev
@@ -9,14 +10,15 @@ status: active
milestone: "15.7"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106869
time_frame: 28d
-data_source: redis_hll
+data_source: internal_events
data_category: operational
-instrumentation_class: RedisHLLMetric
performance_indicator_type:
- customer_health_score
options:
events:
- - i_code_review_create_mr
+ - i_code_review_user_create_mr
+events:
+ - name: i_code_review_user_create_mr
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20231219135715_users_updating_work_item_todo_monthly.yml b/config/metrics/counts_28d/20231219135715_users_updating_work_item_todo_monthly.yml
new file mode 100644
index 00000000000..40b8fadf5a5
--- /dev/null
+++ b/config/metrics/counts_28d/20231219135715_users_updating_work_item_todo_monthly.yml
@@ -0,0 +1,24 @@
+---
+key_path: redis_hll_counters.work_items.users_updating_work_item_todo_monthly
+description: Unique users marking a work item as todo.
+product_section: dev
+product_stage: plan
+product_group: project_management
+value_type: number
+status: active
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140058
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - users_updating_work_item_todo
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_multiple_28d.yml b/config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_multiple_28d.yml
new file mode 100644
index 00000000000..fdccb143c14
--- /dev/null
+++ b/config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_multiple_28d.yml
@@ -0,0 +1,27 @@
+---
+key_path: count_distinct_user_id_from_i_quickactions_remove_email_multiple_28d
+description: Unique users using the /remove_email quick action to remove multiple email participants from an issue within 28 days
+product_section: seg
+product_stage: service
+product_group: respond
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: "16.7"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138178
+time_frame: 28d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - i_quickactions_remove_email_multiple
+events:
+ - name: i_quickactions_remove_email_multiple
+ unique: user.id
diff --git a/config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_single_28d.yml b/config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_single_28d.yml
new file mode 100644
index 00000000000..2be6ace6b38
--- /dev/null
+++ b/config/metrics/counts_28d/count_distinct_user_id_from_i_quickactions_remove_email_single_28d.yml
@@ -0,0 +1,27 @@
+---
+key_path: count_distinct_user_id_from_i_quickactions_remove_email_single_28d
+description: Unique users using the /remove_email quick action to remove a single email participant from an issue within 28 days
+product_section: seg
+product_stage: service
+product_group: respond
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: "16.7"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138178
+time_frame: 28d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - i_quickactions_remove_email_single
+events:
+ - name: i_quickactions_remove_email_single
+ unique: user.id
diff --git a/config/metrics/counts_7d/20220222215851_xmau_plan.yml b/config/metrics/counts_7d/20220222215851_xmau_plan.yml
index e9c5a177380..733bcbd9fe2 100644
--- a/config/metrics/counts_7d/20220222215851_xmau_plan.yml
+++ b/config/metrics/counts_7d/20220222215851_xmau_plan.yml
@@ -23,6 +23,7 @@ options:
- users_updating_work_item_iteration
- users_updating_weight_estimate
- users_updating_work_item_milestone
+ - users_updating_work_item_todo
data_category: optional
distribution:
- ce
diff --git a/config/metrics/counts_7d/20220222215852_xmau_project_management.yml b/config/metrics/counts_7d/20220222215852_xmau_project_management.yml
index 2d35f4bf65f..7d3d6068799 100644
--- a/config/metrics/counts_7d/20220222215852_xmau_project_management.yml
+++ b/config/metrics/counts_7d/20220222215852_xmau_project_management.yml
@@ -23,6 +23,7 @@ options:
- users_updating_work_item_iteration
- users_updating_weight_estimate
- users_updating_work_item_milestone
+ - users_updating_work_item_todo
data_category: optional
distribution:
- ce
diff --git a/config/metrics/counts_7d/20220222215855_users_work_items.yml b/config/metrics/counts_7d/20220222215855_users_work_items.yml
index 6ff0ae942d4..eca52ec63ca 100644
--- a/config/metrics/counts_7d/20220222215855_users_work_items.yml
+++ b/config/metrics/counts_7d/20220222215855_users_work_items.yml
@@ -23,6 +23,7 @@ options:
- users_updating_work_item_iteration
- users_updating_weight_estimate
- users_updating_work_item_milestone
+ - users_updating_work_item_todo
data_category: optional
distribution:
- ce
diff --git a/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml b/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml
index efb97bc1b95..3c309eb1bb5 100644
--- a/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml
+++ b/config/metrics/counts_7d/20220729001644_agent_users_using_ci_tunnel_weekly.yml
@@ -9,13 +9,15 @@ status: active
milestone: "15.3"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61685
time_frame: 7d
-data_source: redis_hll
+data_source: internal_events
data_category: optional
-instrumentation_class: RedisHLLMetric
performance_indicator_type: []
options:
events:
- agent_users_using_ci_tunnel
+events:
+ - name: agent_users_using_ci_tunnel
+ unique: user.id
distribution:
- ce
- ee
diff --git a/config/metrics/counts_7d/20221213183300_i_code_review_create_mr_weekly.yml b/config/metrics/counts_7d/20221213183300_i_code_review_create_mr_weekly.yml
index 99dd2788825..b0f4e9b0dca 100644
--- a/config/metrics/counts_7d/20221213183300_i_code_review_create_mr_weekly.yml
+++ b/config/metrics/counts_7d/20221213183300_i_code_review_create_mr_weekly.yml
@@ -9,13 +9,14 @@ status: active
milestone: "15.7"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106869
time_frame: 7d
-data_source: redis_hll
+data_source: internal_events
data_category: operational
-instrumentation_class: RedisHLLMetric
performance_indicator_type: []
options:
events:
- - i_code_review_create_mr
+ - i_code_review_user_create_mr
+events:
+ - name: i_code_review_user_create_mr
distribution:
- ce
- ee
diff --git a/config/metrics/counts_7d/20231219135920_users_updating_work_item_todo_weekly.yml b/config/metrics/counts_7d/20231219135920_users_updating_work_item_todo_weekly.yml
new file mode 100644
index 00000000000..e1034fb47eb
--- /dev/null
+++ b/config/metrics/counts_7d/20231219135920_users_updating_work_item_todo_weekly.yml
@@ -0,0 +1,24 @@
+---
+key_path: redis_hll_counters.work_items.users_updating_work_item_todo_weekly
+description: Unique users marking a work item as todo.
+product_section: dev
+product_stage: plan
+product_group: project_management
+value_type: number
+status: active
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140058
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - users_updating_work_item_todo
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20231205140200_groups_diffblue_cover_active.yml b/config/metrics/counts_all/20231205140200_groups_diffblue_cover_active.yml
new file mode 100644
index 00000000000..90662895b46
--- /dev/null
+++ b/config/metrics/counts_all/20231205140200_groups_diffblue_cover_active.yml
@@ -0,0 +1,20 @@
+---
+data_category: optional
+key_path: counts.groups_diffblue_cover_active
+description: Count of groups with active integrations for Diffblue Cover
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: all
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "16.8"
diff --git a/config/metrics/counts_all/20231205140200_groups_inheriting_diffblue_cover_active.yml b/config/metrics/counts_all/20231205140200_groups_inheriting_diffblue_cover_active.yml
new file mode 100644
index 00000000000..c8d5ceb8393
--- /dev/null
+++ b/config/metrics/counts_all/20231205140200_groups_inheriting_diffblue_cover_active.yml
@@ -0,0 +1,20 @@
+---
+data_category: optional
+key_path: counts.groups_inheriting_diffblue_cover_active
+description: Count of active groups inheriting integrations for Diffblue Cover
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: all
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "16.8"
diff --git a/config/metrics/counts_all/20231205140200_instances_diffblue_cover_active.yml b/config/metrics/counts_all/20231205140200_instances_diffblue_cover_active.yml
new file mode 100644
index 00000000000..a75573277b6
--- /dev/null
+++ b/config/metrics/counts_all/20231205140200_instances_diffblue_cover_active.yml
@@ -0,0 +1,20 @@
+---
+data_category: optional
+key_path: counts.instances_diffblue_cover_active
+description: Count of active instance-level integrations for Diffblue Cover
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: all
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "16.8"
diff --git a/config/metrics/counts_all/20231205140200_projects_diffblue_cover_active.yml b/config/metrics/counts_all/20231205140200_projects_diffblue_cover_active.yml
new file mode 100644
index 00000000000..b421aef816b
--- /dev/null
+++ b/config/metrics/counts_all/20231205140200_projects_diffblue_cover_active.yml
@@ -0,0 +1,20 @@
+---
+data_category: optional
+key_path: counts.projects_diffblue_cover_active
+description: Count of projects with active integrations for Diffblue Cover
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: all
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "16.8"
diff --git a/config/metrics/counts_all/20231205140200_projects_inheriting_diffblue_cover_active.yml b/config/metrics/counts_all/20231205140200_projects_inheriting_diffblue_cover_active.yml
new file mode 100644
index 00000000000..84e155bc8bc
--- /dev/null
+++ b/config/metrics/counts_all/20231205140200_projects_inheriting_diffblue_cover_active.yml
@@ -0,0 +1,20 @@
+---
+data_category: optional
+key_path: counts.projects_inheriting_diffblue_cover_active
+description: Count of active projects inheriting integrations for Diffblue Cover
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: all
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "16.8"
diff --git a/config/routes/merge_requests.rb b/config/routes/merge_requests.rb
index adfc9bcd19b..a5d89e74980 100644
--- a/config/routes/merge_requests.rb
+++ b/config/routes/merge_requests.rb
@@ -41,6 +41,7 @@ resources :merge_requests, concerns: :awardable, except: [:new, :create, :show],
end
get :diff_for_path, controller: 'merge_requests/diffs'
+ get 'diff_by_file_hash/:file_hash', to: 'merge_requests/diffs#diff_by_file_hash', as: :diff_by_file_hash
scope controller: 'merge_requests/conflicts' do
get :conflicts, action: :show
diff --git a/config/routes/organizations.rb b/config/routes/organizations.rb
index 62c791cdf69..dbc9f2ce226 100644
--- a/config/routes/organizations.rb
+++ b/config/routes/organizations.rb
@@ -6,6 +6,10 @@ resources(
param: :organization_path,
module: :organizations
) do
+ collection do
+ post :preview_markdown
+ end
+
member do
get :groups_and_projects
get :users
diff --git a/config/routes/project.rb b/config/routes/project.rb
index d0444a91fd5..6c77bf64755 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -471,7 +471,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
namespace :ml do
resources :experiments, only: [:index, :show, :destroy], controller: 'experiments', param: :iid
resources :candidates, only: [:show, :destroy], controller: 'candidates', param: :iid
- resources :models, only: [:index, :show, :destroy], controller: 'models', param: :model_id do
+ resources :models, only: [:index, :show, :destroy, :new], controller: 'models', param: :model_id do
resources :versions, only: [:show], controller: 'model_versions', param: :model_version_id
end
end
diff --git a/config/routes/uploads.rb b/config/routes/uploads.rb
index f45139b96b8..1ad973c76d0 100644
--- a/config/routes/uploads.rb
+++ b/config/routes/uploads.rb
@@ -4,7 +4,10 @@ scope path: :uploads do
# Note attachments and User/Group/Project/Topic avatars
get "-/system/:model/:mounted_as/:id/:filename",
to: "uploads#show",
- constraints: { model: %r{note|user|group|project|projects\/topic|achievements\/achievement}, mounted_as: /avatar|attachment/, filename: %r{[^/]+} }
+ constraints: {
+ model: %r{note|user|group|project|projects\/topic|achievements\/achievement|organizations\/organization_detail},
+ mounted_as: /avatar|attachment/, filename: %r{[^/]+}
+ }
# show uploads for models, snippets (notes) available for now
get '-/system/:model/:id/:secret/:filename',
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index 65320c3c8ae..c67e69ab692 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -167,8 +167,6 @@
- 1
- - ci_job_artifacts_expire_project_build_artifacts
- 1
-- - ci_llm_generate_config
- - 1
- - ci_low_urgency_cancel_redundant_pipelines
- 1
- - ci_parse_secure_file_metadata
@@ -197,6 +195,8 @@
- 1
- - compliance_management_standards_gitlab_at_least_two_approvals
- 1
+- - compliance_management_standards_gitlab_at_least_two_approvals_group
+ - 1
- - compliance_management_standards_gitlab_base
- 1
- - compliance_management_standards_gitlab_group_base
@@ -463,8 +463,6 @@
- 1
- - merge_requests_handle_assignees_change
- 1
-- - merge_requests_llm_summarize_merge_request
- - 1
- - merge_requests_mergeability_check_batch
- 1
- - merge_requests_notify_approvers
@@ -685,8 +683,12 @@
- 1
- - security_scan_execution_policies_rule_schedule
- 1
+- - security_scan_result_policies_add_approvers_to_rules
+ - 1
- - security_scan_result_policies_sync_any_merge_request_approval_rules
- 1
+- - security_scan_result_policies_sync_merge_request_approvals
+ - 1
- - security_scan_result_policies_sync_project
- 1
- - security_scans
diff --git a/config/webpack.config.js b/config/webpack.config.js
index 038595df1bd..d7319399d4f 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -385,7 +385,7 @@ module.exports = {
include: /node_modules/,
loader: 'babel-loader',
options: {
- plugins: ['@babel/plugin-proposal-logical-assignment-operators'],
+ plugins: ['@babel/plugin-transform-logical-assignment-operators'],
...defaultJsOptions,
},
},
@@ -416,7 +416,7 @@ module.exports = {
) || /node_modules\/yaml/.test(modulePath),
loader: 'babel-loader',
options: {
- plugins: ['@babel/plugin-proposal-numeric-separator'],
+ plugins: ['@babel/plugin-transform-numeric-separator'],
...defaultJsOptions,
},
},