The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
Content last reviewed 2025-03-12
The Create stage helps teams accelerate software delivery and reduce cycle times, by improving efficiency and collaboration. Essential to software delivery, is the process of creating each improvement. The Create stage delights engineers, designers, and product managers with tools to design, develop, and review these improvements efficiently.
The Create stage is made up of one DevOps stage, Create, and five groups including:
The existing team members for the Create stage can be found in the links below:
Source code management (SCM) is the foundation of an organization's software development practice. SCM tools provide the interface and controls that teams use to define the rules and workflows their developers operate within to write code and collaboratively produce software. At any size of company, it is critical that the SCM tool be intuitive to aid in productivity, streamline collaboration for reviews across teams and functions, ensure compliance, and enable best development and security practices. However, these challenges become more acute and more difficult to solve at the enterprise level. The larger an organization becomes, the greater their communication and coordination overhead is since there are more numerous, bigger, and broadly distributed teams trying to work together. To address this, the industry is adopting DevSecOps practices to increase velocity and reduce cycle time. Selecting an SCM tool is the first step on that journey.
As examples, GitLab will provide:
Security is a team sport and organizations benefit the most when the developers have it top of mind. The most successful teams integrate security practices into code reviews and even into the actual writing of code. Source code management platforms typically offer this functionality via integration with multiple other tools, bolted on. This creates context-switching and inefficiencies. SCM tools that offer security testing natively understand how critical a developer’s time and attention span are to producing great software rapidly. By purchasing tools that make the “required tasks” (i.e. approvals, security, compliance) enjoyable and low-effort, companies retain happy development talent while meeting regulations, preventing breaches, and shipping software frequently. You can read more about shifting left on the Secure stage vision.
As examples, GitLab will provide:
The developer experience is defined by development velocity, safety, and how it enables innovation and iteration. Investing in the Developer Experience therefore drives revenue and reduces risk for organizations. To provide a strong DX, a company must purchase tools that are highly usable & reliable, organized to support the developer journey, reduce context switching, and minimize decision fatigue. Such tools can significantly increase developer productivity by automating the manual repetitive tasks, removing the need for the individual developer to maintain local environments or worry about keeping libraries and dependencies up-to-date, and providing a central internal developer portal for project, process, product, and API documentation with an intuitive and beautiful UI.
As examples, GitLab will provide:
In three years the Create stage market will:
As a result, in three years GitLab will:
The Create stage has been actively delivering updates to help your development teams collaborate faster and more effectively. Here are some highlights from recent releases:
/help
command in GitLab Duo Chat - A new, powerful feature for Duo Chat! Just type /help in the chat message field to explore everything it can do for you.The Create stage will focus on the following this year:
GitLab identifies who our DevSecOps application is built for utilizing the following categorization. We list our view of who we will support when in priority order.
Source code management enables teams to securely collaborate, coordinate, and share code, allowing them to deliver software faster. This category is at the "viable" level of maturity.
Priority: high • Learn more • Documentation • Direction
Review code, discuss changes, share knowledge, and identify defects in code among distributed teams via asynchronous commenting and review. Automate, track and report code reviews, and identify workflow improvements with code review analytics. This category is at the "viable" level of maturity.
Priority: high • Documentation • Direction
Contribute easily right from the browser with everything you need using a full featured Integrated Development Environment (IDE). GitLab Duo, our AI-powered suite of features, is accessible in the Web IDE. This category is at the "viable" level of maturity.
Priority: medium • Documentation • Direction
The GitLab Command Line Interface (CLI) is an unified tool that allows you to manage and interact with GitLab directly from the command line. This category is at the "viable" level of maturity.
Priority: medium • Documentation • Direction
Editor extensions and plugins bring GitLab Duo, our AI-powered suite of features, and other GitLab functionality directly into your local developer environment.
Priority: high • Documentation • Direction
Accelerate and standardize developer workflows with workspaces – secure, virtual environments with customizable libraries, dependencies, and tools for each project. This category is at the "viable" level of maturity.
AI Assistant for proactive coding suggestions and autocompletions This category is at the "viable" level of maturity.
Learn more • Documentation • Direction
These JTBD relate to the Code Creation group.
Job statements | Maturity | Confidence | Source |
---|---|---|---|
When writing code, I want to get reliable help within the IDE, so I can write code more productively. |
|
Not validated | Issue |
These JTBD relate to the Code Review group. The statements were drafted for the FY21-Q2 Category Maturity Scorecard and have not been validated yet.
Job statements | Maturity | Confidence | Source |
---|---|---|---|
When product improvements are identified, I want to propose changes that address them, so that I can help build a better product. |
|
Not validated | Issue |
When my teammates propose changes, I want to review them before they are accepted, so that I can help increase the quality of changes, minimize the risk of defects, minimize the risk of out-of-scope changes, and grow the team’s expertise. |
|
Not validated | Issue |
When my teammates propose changes, I want to ensure they are reviewed and accepted according to internal guidelines, so that we can increase the quality of changes, minimize the risk of defects, and maximize the reliability of product data. |
|
Not validated | Issue |
When I am deploying a static site I want to use kubernetes for my cloud native installation so I can leverage auto-devops and other benefits of K8.
Job statements | Maturity | Confidence | Source |
---|---|---|---|
When I have a custom domain or multiple domains I want to be able to redirect the other domains to my custom/main domain so I can optimize SEO rankings and ensure traffic from like domains are tracked. |
|
Issue | |
When I am setting up a static site I want to be able to set up the site with a wildcard DNS so I can avoid setting up a custom domain. |
|
Issue |
These JTBD relate to the Source Code Management category. These statements have been drafted for the FY24-Q1 Category Maturity assessment and have not been validated, yet.
Job statements | Maturity | Confidence | Source |
---|---|---|---|
When code is meant to be private and restricted to a certain group of contributors, I want to control the access to the source code, so that I can protect the investments in intellectual property and to reduce the risk of source code exploitation. |
|
Not validated | Issue |
When reviewing past code changes, I want to track changes and manage different revisions of the source code, so that I can identify which changes were made and when, and to reference an earlier revision if necessary. |
|
Not validated | Issue |
When developing source code with multiple people, I want to set the rules for the collaboration, so that collaborators can explore changes and contribute efficiently. |
|
Not validated | Issue |
When changing source code, I want to set conditions for applying these changes, so that code quality and compliance is maintained. |
|
Not validated | Issue |
When working with large binary files, I want to version control these files with the source code, so that I can track and manage changes to the files over time. |
|
Not validated | Issue |
The Create stage pricing strategy balances the needs of individual contributors, with the needs of enterprises, to create a cycle where individual contributors gladly and rapidly adopt GitLab, and naturally create the business case for upgrading to a suitable tier, typically Premium and above. The core pillar of the Create stage is the merge request based development workflow. This touches Source Code Management, Code Review and the Web IDE, and is heavily influenced by individual developers, and managers who implement access controls for efficiency, security, quality and compliance purposes. Our investment and pricing philosophy is to:
The tier for individual contributors, personal projects, or small teams trialing GitLab. Free is important for retaining our core users Developers (SCM, Code Review, Web IDE) and exploring different avenues of expansion in the types of personas who contribute to GitLab and their use cases. Expanding support for different markets and use cases through improved binary file and monolithic repository workflows and more accessible editing tools begins at the individual contributor level, as does supporting new personas like designers and marketers.
Examples:
The tier for teams, Premium is enterprise ready and delivers important access controls and workflow controls needed for multiple teams to collaborate on the same large project. The Premium tier features for Source Code Management and Code Review are already mature, and very valuable to medium and large enterprises. Many feature requests and improvements driven by Premium customers are improvements to the experience of individual developers, which facilitates growth through expansion and standardization on GitLab.
Examples:
The tier for Executive buyers with strategic objects for their business, this tier is primarily supported through Audit and Compliance capabilities that extend project level access control features.
Examples:
There are a number of other issues that we've identified as being interesting that we are potentially thinking about, but do not currently have planned by setting a milestone for delivery. Some are good ideas we want to do, but don't yet know when; some we may never get around to, some may be replaced by another idea, and some are just waiting for that right spark of inspiration to turn them into something special.
Remember that at GitLab, everyone can contribute! This is one of our fundamental values and something we truly believe in, so if you have feedback on any of these items you're more than welcome to jump into the discussion. Our vision and product are truly something we build together!
Network::Graph#collect_notes
has too much knowledge of the Note
modelgit diff --name-only --diff-filer
to instead of commits.each do( commit.diffs.each do)
can more efficiently to check git hook file_name_regexmerge_commit_sha
updated unless they used the button (or equivalent)Exception
find_project_merge_request
and find_merge_request_with_access
are similarNew branch
in issue pagemerge_request_diff_commits
merge_request_diff_files
rebase_commit_sha
field from MR table/merge_requests/new
unless @merge_request.can_be_created == true
Project#disk_path
mergeable
boolean instead merge_status
on Merge Request APIprojects#BlobController
context lines loading logic to its own servicedeploy_keys_projects.deploy_key_id
uploads
through web interface/branches
UItarget_type
for Event
path
back as an optional parameter in Repository files APInote_email
email partials should only use local variables, instead of allowing instance_variables as well.+
suffixstickyMonitor
function should use an intersection observer and not an onScroll
event listenerapp/assets/stylesheets/framework/files.scss
app/assets/stylesheets/pages/diff.scss
app/assets/stylesheets/pages/editor.scss
app/assets/stylesheets/page_bundles/merge_conflicts.scss
app/assets/stylesheets/pages/note_form.scss
app/assets/stylesheets/pages/projects.scss
app/assets/stylesheets/pages/search.scss
rich_text
property to suggestions and suggestion preview response objectGit::{Base,Branch,Tag}HooksService
PostReceive
worker and the services it calls.Gitlab::Git::Compare
(e.g. Gitlab::Git::NilCompare
)-o merge_request.source_branch=
-o merge_request.merge_request_title=
app/assets/stylesheets/pages/notes.scss
stylelint-gitlab/duplicate-selectors
style-lint errors and warnings for app/assets/stylesheets/pages/notes.scss
lines_added
and lines_removed
in Merge Requests APIUnable to load diff
has a boolean value attachedspec/features/discussion_comments/merge_request_spec.rb[1:1:2:4:5:2:4]
/ expected to find visible css ".fa-check" ... but there were no matches
spec/features/merge_request/user_posts_diff_notes_spec.rb:59
/ Selenium::WebDriver::Error::ElementNotInteractableError
maximum visibility level for forks
project setting to extend forking restriction/spec/features/merge_request/user_posts_diff_notes_spec.rb:259
/ Selenium::WebDriver::Error::ElementNotInteractableError
mode
on blobsgit config user.name
in the empty project instructions templatereview_id
for Notes on API responsesdiffs/app.vue
as a whole component instead of by mocking individual function internalscommit-map
for repository cleanup featureblobs
field instead of blob
for Snippet VIEW"gl-*
master
branch without disruptionjs-
MRAppovals\|
and MRDiff\|
to MergeRequests\|
spec/features/merge_request/user_suggests_changes_on_diff_spec.rb:253
| User comments on a diff multiple suggestions in a single note suggestions are presentedgl-
utility classesdata-qa
and remove unused js-
qa selectorincrement_counter
to Usage Ping API"use_smooshpack_fork
feature flagdiffs/store/utils.js
projectGroups
endpointNoMethodError: undefined method lines' for nil:NilClass
line_code
for positions in the discussion API have a better approach?reject_unsigned_commits_by_gitlab
and relevant codefeature_categories.yml
spec/features/dashboard/datetime_on_tooltips_spec.rb
| Tooltips on .timeago dates on the snippets tab has the datetime formated correctly--log
in the git merge
command on merge of a merge requestconvertObjectPropsToCamelCase
util for delete validation blobline_type=old
Overview
tabTreeEntryPresenter
Gitlab::BlamePresenter
commit_message_field
commit_message_field
commit_message_field
duration
prop from scrollToElement()delete_project_modal.vue
for "Delete Project" button on app/views/projects/no_repo.html.haml
app/views/projects/no_repo.html.haml
compare/.......?view=parallel
)merge_when_pipeline_succeeds
is set to true
POST /projects/:id/repository/merge
Keep Both
option for resolving merge conflcitsshared_runners_enabled
conflicts with its groupOnly Project Members
author
jsonc
formatCop/StaticTranslationDefinition
related to diff_viewerMaintainer
when Enforce sso-only authentication for Git activity for this group
enabled.loading
MR Widget actions are not disabled in mobile view, which could lead to clicks which should be impossiblegit gc
on GitLab repositories created as mirrors Ultimateread_code: true
are shown WebIDE
buttondeprecated_notes.js
diffs_batch_cache_with_max_age
plantuml.js
to render plantuml on the client side in the browserSubmit review
message to the top of review commentsendpoint_diff_for_path
doesn't include paramsdeclared_params
usage in Grape APIproject_branch_selector.vue
collect_all_diff_paths
*.spec.ts.snap
(jest snapshots) - typescriptlines-between-class-members: off
overrideactivity_pub
and activity_pub_project
assignees
association in app/models/concerns/deprecated_assignee.rb
spec/features/projects/settings/registry_settings_cleanup_tags_spec.rb
feature testcorrelation_id
of a parent request in asynchronous javascript requestsspec/features/projects/tags/user_views_tags_spec.rb
feature testinclude_hidden
in Project API"click_element
more automatically close popoversinclude
behaves like a rules:exists with a context after pattern comparision limit…go-modules
folder for private Go projectsShow latest file
button in merge requests Premiumstate
property is aboutrebase_when_retargetting_mrs
duo-user-feedback
componentduo-user-feedback
componentmr_pipelines_graphql turned off
when a user created a merge request from a forked project …diff_svg_files
markdown
branch when browsing the root shows correct content of filemr_pipelines_graphql turned off
when a user created a merge request from a forked project …mr_pipelines_graphql turned off
when a user created a merge request from a forked project …mr_pipelines_graphql turned off
when a user created a merge request from a forked project …mr_pipelines_graphql turned off
when a user created a merge request in the parent project …form-input-native-vue
in app/assets/javascripts/awards_handler.js
patch-id
to match CODEOWNER paths for enhanced selective resetstable-tag-vue
in ee/app/assets/javascripts/approvals/components/rules/rules.vue
casted_cluster_agent_id
for the selected recordslegacy_open_source_license_available
t…ee/spec/features/dashboards/merge_requests_spec.rb
feature testinvalid stored block lengths
after upgrading to 17.0.1-ce.0 from 17.0.0 (self managed)geo_proxy_fetch_ssh_to_primary
geo_proxy_push_ssh_to_primary
mr_pipelines_graphql turned off
when a user created a merge request in the parent project …goleak
detection to workhorse tests#check_access
merged
status if the you squashed the the branch on merge/merge
API Endpointeslint-plugin-vuejs-accessibility
linter<MR version>
switch to merge request's Commits tab and Code
-> Download
linkstrusted-types
and require-using-trusted-types-for
in the CSPskipped
and ignored
states should behavesummarize_my_code_review
this.track
on @click
is_sample
column from push_rules
tableproject_id
fieldmerged date
in recently merged sectionpush_rules
tablepush_rules
tableinline_blame
hide_suggested_reviewers
ActionController::Live
broke streaming endpointscheck_tags_changed
param412 response
naming is non-descriptive/explain
/explain
and nothing is selected, whole file is explainedmr_pipelines_graphql turned off
when a user created a merge request from a forked project …projects_spec.rb
patch-id
in the UI to make approval reset more understandablegit diff --color-moved
)prevent_author_approval
prevent_committer_approval
prevent_editing_approval_rules
require_reauthentication_to_approve
approval_removals
mr_pipelines_graphql turned off
when a user created a merge request from a forked project …commit_files_target_sha
Close merge request
button closes the merge requestbranch_rules_merge_request_approval_settings
app/assets/javascripts/content_editor/components/bubble_menus/code_block_bubble_menu.vue
to to GlDisclosureDropdown or GlCollapsibleListboxapp/assets/javascripts/diffs/components/diff_file_header.vue
to to GlDisclosureDropdownapp/assets/javascripts/ide/components/editor_mode_dropdown.vue
to to GlDisclosureDropdown or GlCollapsibleListboxapp/assets/javascripts/ide/components/file_templates/bar.vue
to to GlDisclosureDropdown or GlCollapsibleListboxsummarize_merge_request_claude_3_7_sonnet
summarize_code_review_claude_3_7_sonnet
SidekiqServiceWorkerExecutionErrorSLOViolation
for CreateNoteDiffFileWorker
commit_sha_scope_logger
rebase_on_merge_automatic
gitlab-language
in gitattributesduo_include_context_terminal
use_claude_code_completion
vue/no-unused-properties
violations in app/assets/javascripts/ide/
conflicting_mr
variable at the controller level instead of in the HAML documentRelated to #issue
statement in merge request description to the topwidget.json
and cached_widget.json
v2_approval_rules
Projects::BranchRule
initializeris_sample
column from push_rules
tableis_sample
column from push_rules
tableorganization_id
column from push_rules
tableorganization_id
column from push_rules
tableorganization_id
column from push_rules
tablepush_rule_id
column from namespaces
tablepush_rule_id
column from namespaces
tablepush_rule_id
column from namespaces
tableduo_code_review_multi_file
markdown
branch when browsing the root copies permalink URLpull_ref_directly_from_gitaly
duo_code_review_full_file
repository_file_tree_browser
duo_code_review_response_logging
git fsck
jobsrepo/branches
view (the commit is already shown).gitattributes
changes*Access
classes for the different types of actors used in GitAccess
all_objects
use git cat-file --batch-check --batch-all-objects
git send-email
source_project
and source_branch
through quick actionsGitlab::Git
errors leak from some Commits::ChangeService
approved?
and approvals_left
enableSquashBeforeMerge
property in mr_widget_store
app/assets/stylesheets/pages/merge_requests.scss
<gl-form-checkbox />
in Web IDE commit option for creating an MR+
and -
confuse diff colorizationmax-nesting-depth
style-lint errors and warnings for app/assets/stylesheets/pages/notes.scss
commit_item.vue
and last_commit.vue
New
Web IDE should co-exist or opt-in statusdiffs/mock_data/diff_file.js
BlobPresenter#hightlight
mrWidgetData
objectpushed_at
on top of last_activity_at
to sort repos by date order of the last pushgmake
/make
and gtar
/tar
Kernel.open
method callkeys.type
script-loader
to load sourcegraph bundleauto_merges
PremiumgetFiles
receiving branch but using refhttp
vs. https
-
for non-redirect-following clientsshow_whitespace_in_diffs
open
action in ide/stores/modules/pane/actions.js
to just take name
instead of view
collapsible_sidebar.vue
and related panes/components, switch to using GitLab UIcollapsible_sidebar.vue
and related components$
/merge
should mention unresolved threads.gitlab-ci.yml
in the Web IDEblocking_discussions_resolved
is not consistently setchanges
around in GitAccess
checks/api/v4/projects/<project_id>/repository/branches
containing the sort
parameters return a 500 errorpersonal_snippet_reference_filters
approval_settings
endpointtarget=_blank
(Gitpod follow up)spec/features/merge_request/user_suggests_changes_on_diff_spec.rb
| User comments on a diff multi-line suggestions suggestion is presented$CI_JOB_TOKEN
gl-button
environment.action: stop
finished successfullyif (*variable)
on ObjCsquash_commit_sha
for existing merge requestsv-safe-html
instead of v-html
in latex.vue
clientside_spec.js
to not use component methodsdirect
url helpersRepositories::HousekeepingService
mirror_user_id
param is not listed in API::Helpers::ProjectsHelperupdate_params_at_least_one_of
and is causing needless 400 on a PUT requestMutations::Snippets::Create
and Mutations::Snippets::Update
<a>
with GlButton
for Compare Git Revisionslet_it_be
for user_sets_approvers_spec.rbpush_rule.rb
into the Repositories
namespaceGit repository URL
with a middle click does not display Detect host keys
and Input host keys manually
buttonsuse_marker_ranges
createDiffNote
forces clients to compute redundant informationspec/frontend_integration/diffs/diffs_interoperability_api.js
to its own packagecache_home_panel
main_branch_over_master
main
by defaultinline_haml_diff_line_rendering
cached_route_lookups
GET /projects/:id/merge_requests/:merge_request_iid
and GET /projects/:id/merge_requests/:merge_request_iid/approvals
during commit pushmerge_requests_author_approval
to match similar fieldsgl-hover-load
directive in Repository App for preloading Blobs when highlight_js
disabledspec/features/merge_request/user_views_diffs_spec.rb
| User views diffs expands all diffsapi_caching_rate_limit_repository_compare
and api_caching_repository_compare
spec/features/merge_request/user_sees_diff_spec.rb
| Merge request > User sees diff when editing file as user who needs to fork shows fork/cancel confirmationAn error occurred fetching the approval rules.
detailed_merge_status
mergeableworkhorse
directoryspec/features/merge_request/user_assigns_themselves_spec.rb
| Merge request > User assigns themselves logged in as a member of the project updates related issuesapp/views/projects/blob/_remove.html.haml
modal implementation to GlModal
app/views/projects/blob/_upload.html.haml
modal implementation to GlModal
Parallel push checks
deleted
event for merge request webhooklow
urgency settingrules
should not use prefix matching due to trailing new linestatic_object_token
from users
.allow_force_push
for protected branches in APIapprovals_before_merge
field usageprotected
field to BranchType
group_ip_restriction
group_level_git_protocol_control
MergeRequest.shouldBeRebased
/projects/:id/approval_rules
API and Web UIonly_positive_pagination_values
archive_rate_limit
repository_archive_hotlinking_interception
branch_list_keyset_pagination
workhorse_archive_cache_disabled
Add comment now
in middle of a review when editing a pending commenthousekeeping_full_repack_period
columnhousekeeping_gc_period
columnmax_attachment_size
to 100
to match GitLab.comadmin_merge_request_approval_settings
permissionsstrong_memoize_attr
to strong_memoize
inherited_push_rule_for_project
/
structured_repository_cache
project_data_transfers
to store egress data per project"delete a branch
for Protected BranchesTypeError: Cannot read properties of undefined (reading 'writeText")
workhorse_archive_cache_disabled
Feature Flaguse_custom_template
to false in Projects API fails with 500 errorRepository#root_ref_sha
methoddata_transfer_monitoring
feature flagapproval_settings
request on merge request create pageon_delete
in workspaces
table migrationscreate_processor.rb
no_pagination
option support from Blame viewapprovals_before_merge
supportspec/frontend/diffs/components/app_spec.js
for Vue 3 migrationinitialize with README
option doesn't work for developers when creating a repositoryYour work
-> Snippets
empty statenoteable_note.vue
componentFindRefs
RPCListRefs
RPCValidateRemoteGitEndpointService
for pull mirroring configuration via UIRouge::Lexer.guess
can timeout and cause 500
errorsdeduplicate_process_commit_worker
user_commit_files
after_commit
hook, or include AfterCommitQueue
and use a run_after_commit
block for PersonalAccessTokens servicescommit_message_negative_regex
to 511 charactersprohibited_tag_name_encoding_check
spec/features/ide_spec.rb
feature testGetting-Started.gitlab-ci.yml
and README.md templatesInvalid revision
error from GRPC when linking LFS Itemssupport_sha256_repositories
FindLocalBranchesRequest
FindAllTagsRequest
is_sample
PushRule db column to global
ee/spec/lib/remote_development/agent_config/updater_spec.rb
sha256
object formatcached_author_avatar_helper
remind_me_quick_action
remote_development_namespace_cluster_agent_mappings
tableweb_ide_cross_origin_extension_host
just for .com
Repository
in Project overview content
.geojson
support for SnippetsDependencies::ConfigFiles
child class naming conventions are respectedBranchRules
to Gitlab/BoundedContexts
html_safe
in lib/gitlab/blame.rb/approve
provides approval when Approve
button is unavailableListRefsRequest
actor
argument to feature flag resolverlfs_object_states
pool_repositories
push_rules
mount
to shallowMount
to check whether they pass in Vue 3signatures
in webMinimum approvals required
top-level-only
option for group graphql queryinclude
directive do not show in the markupsync_code_owner_approval_after_reopen_update
Group#shared_into_ancestors
scopedisable_git_http_fetch_writes
feature flagexplore_pipeline_status
feature flagparallel_push_checks
feature flagcached_route_lookups
feature flagx509_forced_cert_loading
feature flag404 Avatar Not Found
when download an in-git avatarvscode_extension_marketplace_settings
allowed to create
label for Protected Tagsdelete tag
button for tags which are protectedGitlab::Git::TagPolicy
to check if the current user can create tagsallow_fork_sync
field to databaseAllow fork sync
toggle to branch rulesAll branches
rulesDelete rule
button when viewing All branches
branch ruleorganization_id
column to pool_repositories
pool_repositories
records that don't have an organization_id
NOT NULL
constraint to organization_id
on pool_repositories
/path
entries are valid paths in repositoryresource_url_template
into workspaces?allow_multi_rule
in approval ruleseditor
GraphQL field from workspace type and queriesdisable_message_attribute_on_mr_diff_commits
merge_requests_diff_commits_limit
disable_widget_responses
workspaces
table.IsNamespaceProject
logicinit
functions where possibleRedis
to implement distributed cache of API requests