Remove semantic_code_search_rest_api feature flag

What does this MR do and why?

Screenshot_2026-06-15_at_10.42.37 Removes the semantic_code_search_rest_api feature flag and its gate.

The flag has been default_enabled: true since 18.11 and the semantic code search REST endpoint (GET /projects/:id/search/semantic) is deployed to production (gprd). The gate is no longer needed, so this removes:

  • config/feature_flags/beta/semantic_code_search_rest_api.yml
  • the not_found! unless ::Feature.enabled?(:semantic_code_search_rest_api, current_user) check in ee/lib/ee/api/search/semantic_code_search.rb
  • the when feature flag is disabled spec context in ee/spec/requests/ee/api/search/semantic_code_search_spec.rb

The endpoint stays protected after the flag is gone — authorize! :read_code, user_project and the rescue_from ::Ai::ActiveContext::Queries::Code::NotAvailable (which returns 404 when semantic search is unavailable) both remain.

This is separate from the MCP-tool sunset in !239364 (merged), which removed mcp_semantic_code_search_use_rest_api and intentionally left this flag in place.

Checklist

  • Rubocop clean.
  • ee/spec/requests/ee/api/search/semantic_code_search_spec.rb passing locally (30 examples, 0 failures).
  • Rollout issue: #594944
  • Feature issue: #21285
  • Flag verified Enabled globally on gitlab.com via ChatOps.
Edited by Tian Gao

Merge request reports

Loading