summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/administration/auth/oidc.md45
-rw-r--r--doc/administration/packages/container_registry.md7
-rw-r--r--doc/administration/pages/source.md7
-rw-r--r--doc/administration/redis/replication_and_failover_external.md4
-rw-r--r--doc/api/branches.md2
-rw-r--r--doc/api/members.md5
-rw-r--r--doc/api/namespaces.md6
-rw-r--r--doc/api/secure_files.md4
-rw-r--r--doc/api/settings.md10
-rw-r--r--doc/ci/quick_start/tutorial.md2
-rw-r--r--doc/ci/runners/register_runner.md65
-rw-r--r--doc/development/geo.md4
-rw-r--r--doc/development/gitaly.md3
-rw-r--r--doc/development/integrations/secure.md2
-rw-r--r--doc/development/testing_guide/end_to_end/resources.md2
-rw-r--r--doc/install/aws/manual_install_aws.md10
-rw-r--r--doc/install/installation.md2
-rw-r--r--doc/operations/metrics/dashboards/panel_types.md2
-rw-r--r--doc/topics/autodevops/stages.md2
-rw-r--r--doc/update/removals.md8
-rw-r--r--doc/user/ai_features.md28
-rw-r--r--doc/user/analytics/dora_metrics.md17
-rw-r--r--doc/user/group/epics/epic_boards.md2
-rw-r--r--doc/user/group/insights/index.md2
-rw-r--r--doc/user/group/manage.md28
-rw-r--r--doc/user/group/value_stream_analytics/index.md19
-rw-r--r--doc/user/packages/container_registry/authenticate_with_container_registry.md2
-rw-r--r--doc/user/product_analytics/index.md2
-rw-r--r--doc/user/project/img/issue_board_system_notes_v13_6.pngbin8554 -> 0 bytes
-rw-r--r--doc/user/project/img/protected_tags_list_v12_3.pngbin4395 -> 0 bytes
-rw-r--r--doc/user/project/img/protected_tags_page_v12_3.pngbin10431 -> 0 bytes
-rw-r--r--doc/user/project/img/protected_tags_permissions_dropdown_v12_3.pngbin4517 -> 0 bytes
-rw-r--r--doc/user/project/issue_board.md39
-rw-r--r--doc/user/project/labels.md2
-rw-r--r--doc/user/project/protected_branches.md2
-rw-r--r--doc/user/project/protected_tags.md28
-rw-r--r--doc/user/project/releases/index.md2
-rw-r--r--doc/user/search/exact_code_search.md2
38 files changed, 231 insertions, 136 deletions
diff --git a/doc/administration/auth/oidc.md b/doc/administration/auth/oidc.md
index 6df721c2e09..106cc6c23eb 100644
--- a/doc/administration/auth/oidc.md
+++ b/doc/administration/auth/oidc.md
@@ -63,6 +63,51 @@ The OpenID Connect provides you with a client's details and secret for you to us
]
```
+ For Omnibus GitLab with multiple identity providers:
+
+ ```ruby
+ { 'name' => 'openid_connect',
+ 'label' => '...',
+ 'icon' => '...',
+ 'args' => {
+ 'name' => 'openid_connect',
+ 'strategy_class': 'OmniAuth::Strategies::OpenIDConnect',
+ 'scope' => ['openid', 'profile', 'email'],
+ 'discovery' => true,
+ 'response_type' => 'code',
+ 'issuer' => 'https://...',
+ 'client_auth_method' => 'query',
+ 'uid_field' => '...',
+ 'client_options' => {
+ `identifier`: "<your_oidc_client_id>",
+ `secret`: "<your_oidc_client_secret>",
+ 'redirect_uri' => 'https://.../users/auth/openid_connect/callback'
+ }
+ }
+ },
+ { 'name' => 'openid_connect_2fa',
+ 'label' => '...',
+ 'icon' => '...',
+ 'args' => {
+ 'name' => 'openid_connect_2fa',
+ 'strategy_class': 'OmniAuth::Strategies::OpenIDConnect',
+ 'scope' => ['openid', 'profile', 'email'],
+ 'discovery' => true,
+ 'response_type' => 'code',
+ 'issuer' => 'https://...',
+ 'client_auth_method' => 'query',
+ 'uid_field' => '...',
+ 'client_options' => {
+ ...
+ 'redirect_uri' => 'https://.../users/auth/openid_connect_2fa/callback'
+ }
+ }
+ }
+ ```
+
+ NOTE:
+ For more information on using multiple identity providers with OIDC, see [issue 5992](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5992).
+
For installation from source:
```yaml
diff --git a/doc/administration/packages/container_registry.md b/doc/administration/packages/container_registry.md
index f1f41e9b8b7..fd3cbb2ad05 100644
--- a/doc/administration/packages/container_registry.md
+++ b/doc/administration/packages/container_registry.md
@@ -108,11 +108,12 @@ for the first time.
### Configure Container Registry under an existing GitLab domain
-If the Registry is configured to use the existing GitLab domain, you can
-expose the Registry on a port. This way you can reuse the existing GitLab TLS
+If the Container Registry is configured to use the existing GitLab domain, you can
+expose the Container Registry on a port. This way you can reuse the existing GitLab TLS
certificate.
-If the GitLab domain is `https://gitlab.example.com` and the port to the outside world is `5050` you need to configure the Registry:
+If the GitLab domain is `https://gitlab.example.com` and the port to the outside world is `5050`,
+to configure the Container Registry:
- Edit `gitlab.rb` if you are using Omnibus GitLab.
- Edit `gitlab.yml` if you installed GitLab from source.
diff --git a/doc/administration/pages/source.md b/doc/administration/pages/source.md
index 7027feadb59..b36b87f3b1d 100644
--- a/doc/administration/pages/source.md
+++ b/doc/administration/pages/source.md
@@ -295,10 +295,9 @@ world. Custom domains are supported, but no TLS.
external_http: 192.0.2.2:80
```
-1. Edit `/etc/default/gitlab` and set `gitlab_pages_enabled` to `true` in
- order to enable the pages daemon. In `gitlab_pages_options`, the
- `-pages-domain` must match the `host` setting that you set above and
- `-listen-http` must match the `external_http` setting:
+1. To enable the daemon, edit `/etc/default/gitlab` and set `gitlab_pages_enabled` to `true`.
+ In `gitlab_pages_options`, the value for `-pages-domain` must match the `host` and `-listen-http` must match
+ the `external_http`:
```ini
gitlab_pages_enabled=true
diff --git a/doc/administration/redis/replication_and_failover_external.md b/doc/administration/redis/replication_and_failover_external.md
index 16383db6c2a..98909dfc001 100644
--- a/doc/administration/redis/replication_and_failover_external.md
+++ b/doc/administration/redis/replication_and_failover_external.md
@@ -250,8 +250,8 @@ unauthorized access from other machines, and block traffic from the
outside ([Internet](https://gitlab.com/gitlab-org/gitlab-foss/uploads/c4cc8cd353604bd80315f9384035ff9e/The_Internet_IT_Crowd.png)).
For this example, **Sentinel 1** is configured in the same machine as the
-**Redis Primary**, **Sentinel 2** and **Sentinel 3** in the same machines as the
-**Replica 1** and **Replica 2** respectively.
+**Redis Primary**, **Sentinel 2** in the same machine as **Replica 1**, and
+**Sentinel 3** in the same machine as **Replica 2**.
Here is a list and description of each **machine** and the assigned **IP**:
diff --git a/doc/api/branches.md b/doc/api/branches.md
index 9518a8d5032..fa508292e5c 100644
--- a/doc/api/branches.md
+++ b/doc/api/branches.md
@@ -27,7 +27,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:----------|:---------------|:---------|:------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-path-encoding) owned by the authenticated user.|
-| `search` | string | no | Return list of branches containing the search string. You can use `^term` and `term$` to find branches that begin and end with `term` respectively. |
+| `search` | string | no | Return list of branches containing the search string. You can use `^term` to find branches that begin with `term`, and `term$` to find branches that end with `term`. |
| `regex` | string | no | Return list of branches with names matching a [re2](https://github.com/google/re2/wiki/Syntax) regular expression. |
Example request:
diff --git a/doc/api/members.md b/doc/api/members.md
index 950289effd2..02fa4be3d64 100644
--- a/doc/api/members.md
+++ b/doc/api/members.md
@@ -316,9 +316,8 @@ This API endpoint works on top-level groups only. It does not work on subgroups.
This function takes [pagination](rest/index.md#pagination) parameters `page` and `per_page` to restrict the list of users.
-[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/262875) in GitLab 13.7, the `search` and
-`sort` parameters allow you to search for billable group members by name and sort the results,
-respectively.
+[In GitLab 13.7 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/262875), use the `search` parameter
+to search for billable group members by name and `sort` to sort the results.
```plaintext
GET /groups/:id/billable_members
diff --git a/doc/api/namespaces.md b/doc/api/namespaces.md
index 25c26ee9339..15ce73fdbc3 100644
--- a/doc/api/namespaces.md
+++ b/doc/api/namespaces.md
@@ -9,8 +9,10 @@ info: To determine the technical writer assigned to the Stage/Group associated w
Usernames and group names fall under a special category called
[namespaces](../user/namespace/index.md).
-For users and groups supported API calls see the [users](users.md) and
-[groups](groups.md) documentation respectively.
+You might also want to view documentation for:
+
+- [Users](users.md)
+- [Groups](groups.md)
[Pagination](rest/index.md#pagination) is used.
diff --git a/doc/api/secure_files.md b/doc/api/secure_files.md
index 86ed2e005a4..0b85bf05410 100644
--- a/doc/api/secure_files.md
+++ b/doc/api/secure_files.md
@@ -58,7 +58,7 @@ Example response:
"checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aa2",
"checksum_algorithm": "sha256",
"created_at": "2022-02-22T22:22:22.222Z",
- "expires_at": "2022-09-21T14:56:00.000Z",
+ "expires_at": "2023-09-21T14:55:59.000Z",
"metadata": {
"id":"75949910542696343243264405377658443914",
"issuer": {
@@ -74,7 +74,7 @@ Example response:
"OU":"ABC123XYZ",
"UID":"ABC123XYZ"
},
- "expires_at":"2022-09-21T14:56:00.000Z"
+ "expires_at":"2023-09-21T14:55:59.000Z"
}
}
]
diff --git a/doc/api/settings.md b/doc/api/settings.md
index a0441b6e760..c7ba93d310e 100644
--- a/doc/api/settings.md
+++ b/doc/api/settings.md
@@ -486,11 +486,11 @@ listed in the descriptions of the relevant settings.
| `signin_enabled` | string | no | (Deprecated: Use `password_authentication_enabled_for_web` instead) Flag indicating if password authentication is enabled for the web interface. |
| `signup_enabled` | boolean | no | Enable registration. Default is `true`. |
| `silent_mode_enabled` | boolean | no | Enable [Silent mode](../administration/silent_mode/index.md). Default is `false`. |
-| `slack_app_enabled` **(PREMIUM)** | boolean | no | (**If enabled, requires:** `slack_app_id`, `slack_app_secret` and `slack_app_secret`) Enable Slack app. |
-| `slack_app_id` **(PREMIUM)** | string | required by: `slack_app_enabled` | The app ID of the Slack-app. |
-| `slack_app_secret` **(PREMIUM)** | string | required by: `slack_app_enabled` | The app secret of the Slack-app. |
-| `slack_app_signing_secret` **(PREMIUM)** | string | no | The signing secret of the Slack-app. |
-| `slack_app_verification_token` **(PREMIUM)** | string | required by: `slack_app_enabled` | The verification token of the Slack-app. |
+| `slack_app_enabled` | boolean | no | (**If enabled, requires:** `slack_app_id`, `slack_app_secret` and `slack_app_secret`) Enable Slack app. |
+| `slack_app_id` | string | required by: `slack_app_enabled` | The app ID of the Slack-app. |
+| `slack_app_secret` | string | required by: `slack_app_enabled` | The app secret of the Slack-app. |
+| `slack_app_signing_secret` | string | no | The signing secret of the Slack-app. |
+| `slack_app_verification_token` | string | required by: `slack_app_enabled` | The verification token of the Slack-app. |
| `snippet_size_limit` | integer | no | Max snippet content size in **bytes**. Default: 52428800 Bytes (50 MB).|
| `snowplow_app_id` | string | no | The Snowplow site name / application ID. (for example, `gitlab`) |
| `snowplow_collector_hostname` | string | required by: `snowplow_enabled` | The Snowplow collector hostname. (for example, `snowplow.trx.gitlab.net`) |
diff --git a/doc/ci/quick_start/tutorial.md b/doc/ci/quick_start/tutorial.md
index 3e12c319069..88d35bf56b0 100644
--- a/doc/ci/quick_start/tutorial.md
+++ b/doc/ci/quick_start/tutorial.md
@@ -168,7 +168,7 @@ After verifying the Docusaurus site builds in `build-job`, you can add a job tha
This step introduces:
-- [`stage`](../yaml/index.md#stage) and [`stages](../yaml/index.md#stage): The most common
+- [`stage`](../yaml/index.md#stage) and [`stages`](../yaml/index.md#stage): The most common
pipeline configurations group jobs into stages. Jobs in the same stage can run in parallel,
while jobs in later stages wait for jobs in earlier stages to complete. If a job fails,
the whole stage is considered failed and jobs in later stages do not start running.
diff --git a/doc/ci/runners/register_runner.md b/doc/ci/runners/register_runner.md
index 21f72552ce3..f53297099d7 100644
--- a/doc/ci/runners/register_runner.md
+++ b/doc/ci/runners/register_runner.md
@@ -13,16 +13,19 @@ To register a runner, you can use either:
## Generate an authentication token
-Registration with an authentication token is only available for shared runners. Support for project and group
-runners is proposed in this [epic](https://gitlab.com/groups/gitlab-org/-/epics/7633).
+Registration with an authentication token is available for all runners.
+
+NOTE:
+The token only displays in the UI for a short period of time during registration.
### For a shared runner
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/383139) in GitLab 15.10. Deployed behind the `create_runner_workflow_for_admin` [flag](../../administration/feature_flags.md), disabled by default.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/383139) in GitLab 15.10. Deployed behind the `create_runner_workflow_for_admin` [flag](../../administration/feature_flags.md)
+> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/389269) in GitLab 16.0.
FLAG:
-On self-managed GitLab, this feature is not available. To make it available, ask an administrator to [enable the feature flag](../../administration/feature_flags.md) named `create_runner_workflow_for_admin`.
-On GitLab.com, this feature is available but can be configured by GitLab.com administrators only.
+On self-managed GitLab, by default this feature is available. To hide the feature,
+ask an administrator to [disable the feature flag](../../administration/feature_flags.md) named `create_runner_workflow_for_admin`.
Prerequisites:
@@ -34,22 +37,62 @@ To generate an authentication token for a shared runner:
1. On the left sidebar, select **CI/CD > Runners**.
1. Select **New instance runner**.
1. Select a platform.
-1. Optional. Enter a description.
-1. Optional. Enter a maintenance note.
1. Optional. Enter configurations for the runner.
1. Select **Submit**.
1. Follow the instructions to register the runner from the command line.
-NOTE:
-The token only displays in the UI for a short period of time during registration,
-and is then saved in `config.toml`.
+### For a group runner
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/383143) in GitLab 15.10. Deployed behind the `create_runner_workflow_for_namespace` [flag](../../administration/feature_flags.md). Disabled by default.
+> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/393919) in GitLab 16.0.
+
+FLAG:
+On self-managed GitLab, by default this feature is available. To hide the feature,
+ask an administrator to [disable the feature flag](../../administration/feature_flags.md) named `create_runner_workflow_for_namespace`.
+
+Prerequisites:
+
+- You must have the Owner role for the group.
+
+To generate an authentication token for a group runner:
+
+1. On the top bar, select **Main menu > Groups** and find your group.
+1. On the left sidebar, select **CI/CD > Runners**.
+1. Select **New group runner**.
+1. Select a platform.
+1. Optional. Enter configurations for the runner.
+1. Select **Submit**.
+1. Follow the instructions to register the runner from the command line.
+
+### For a project runner
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/383143) in GitLab 15.10. Deployed behind the `create_runner_workflow_for_namespace` [flag](../../administration/feature_flags.md). Disabled by default.
+> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/393919) in GitLab 16.0.
+
+FLAG:
+On self-managed GitLab, by default this feature is available. To hide the feature,
+ask an administrator to [disable the feature flag](../../administration/feature_flags.md) named `create_runner_workflow_for_namespace`.
+
+Prerequisites:
+
+- You must have the Maintainer role for the project.
+
+To generate an authentication token for a project runner:
+
+1. On the top bar, select **Main menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > CI/CD**.
+1. Select **New project runner**.
+1. Select a platform.
+1. Optional. Enter configurations for the runner.
+1. Select **Submit**.
+1. Follow the instructions to register the runner from the command line.
## Generate a registration token (deprecated)
WARNING:
The ability to pass a runner registration token, and support for certain configuration arguments was
[deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/380872) in GitLab 15.6. Authentication tokens
-will be used instead to register runners. Registration tokens, and support for certain configuration arguments
+should be used instead to register runners. Registration tokens, and support for certain configuration arguments
will be disabled behind a feature flag in GitLab 16.6 and removed in GitLab 17.0. The configuration arguments disabled for `glrt-` tokens are `--locked`, `--access-level`, `--run-untagged`, `--maximum-timeout`, `--paused`, `--tag-list`, and `--maintenance-note`. This change is a breaking
change.
diff --git a/doc/development/geo.md b/doc/development/geo.md
index 710d0eec3b0..5d09532afcb 100644
--- a/doc/development/geo.md
+++ b/doc/development/geo.md
@@ -48,8 +48,8 @@ for new events and creates background jobs for each specific event type.
For example when a repository is updated, the Geo **primary** site creates
a Geo event with an associated repository updated event. The Geo Log Cursor daemon
picks the event up and schedules a `Geo::ProjectSyncWorker` job which
-uses the `Geo::RepositorySyncService` and `Geo::WikiSyncService` classes
-to update the repository and the wiki respectively.
+uses the `Geo::RepositorySyncService` to update the repository
+and `Geo::WikiSyncService` classes to update the wiki.
The Geo Log Cursor daemon can operate in High Availability mode automatically.
The daemon tries to acquire a lock from time to time and once acquired, it
diff --git a/doc/development/gitaly.md b/doc/development/gitaly.md
index 408f3d5fa3c..d2232d750b2 100644
--- a/doc/development/gitaly.md
+++ b/doc/development/gitaly.md
@@ -168,7 +168,8 @@ can replace `tmp/tests/gitaly` with a symlink. This is much faster
because it avoids a Gitaly re-install each time you run `rspec`.
Make sure this directory contains the files `config.toml` and `praefect.config.toml`.
-You can copy them from `config.toml.example` and `config.praefect.toml.example` respectively.
+You can copy `config.toml` from `config.toml.example`, and `praefect.config.toml`
+from `config.praefect.toml.example`.
After copying, make sure to edit them so everything points to the correct paths.
```shell
diff --git a/doc/development/integrations/secure.md b/doc/development/integrations/secure.md
index bc0a490f555..55cc9ddb006 100644
--- a/doc/development/integrations/secure.md
+++ b/doc/development/integrations/secure.md
@@ -198,7 +198,7 @@ SAST and Dependency Scanning scanners must scan the files in the project directo
To be consistent with the official Container Scanning for GitLab,
scanners must scan the Docker image whose name and tag are given by
-`CI_APPLICATION_REPOSITORY` and `CI_APPLICATION_TAG`, respectively. If the `DOCKER_IMAGE`
+`CI_APPLICATION_REPOSITORY` and `CI_APPLICATION_TAG`. If the `DOCKER_IMAGE`
CI/CD variable is provided, then the `CI_APPLICATION_REPOSITORY` and `CI_APPLICATION_TAG` variables
are ignored, and the image specified in the `DOCKER_IMAGE` variable is scanned instead.
diff --git a/doc/development/testing_guide/end_to_end/resources.md b/doc/development/testing_guide/end_to_end/resources.md
index f3e072ffa21..f9e136a86df 100644
--- a/doc/development/testing_guide/end_to_end/resources.md
+++ b/doc/development/testing_guide/end_to_end/resources.md
@@ -249,7 +249,7 @@ end
```
The `populate` method iterates through its arguments and call each
-attribute respectively. Here `populate(:brand)` has the same effect as
+attribute. Here `populate(:brand)` has the same effect as
just `brand`. Using the populate method makes the intention clearer.
With this, it ensures we construct the data right after we create the
diff --git a/doc/install/aws/manual_install_aws.md b/doc/install/aws/manual_install_aws.md
index 70fd000a4a6..bd81e0583b5 100644
--- a/doc/install/aws/manual_install_aws.md
+++ b/doc/install/aws/manual_install_aws.md
@@ -237,7 +237,7 @@ Next, we must associate the **public** subnets to the route table:
We also must create two private route tables so that instances in each private subnet can reach the internet via the NAT gateway in the corresponding public subnet in the same availability zone.
-1. Follow the same steps as above to create two private route tables. Name them `gitlab-private-a` and `gitlab-private-b` respectively.
+1. Follow the same steps as above to create two private route tables. Name them `gitlab-private-a` and `gitlab-private-b`.
1. Next, add a new route to each of the private route tables where the destination is `0.0.0.0/0` and the target is one of the NAT gateways we created earlier.
1. Add the NAT gateway we created in `gitlab-public-10.0.0.0` as the target for the new route in the `gitlab-private-a` route table.
1. Similarly, add the NAT gateway in `gitlab-public-10.0.2.0` as the target for the new route in the `gitlab-private-b`.
@@ -336,7 +336,13 @@ Now, it's time to create the database:
1. Select **Standard Create** for the database creation method.
1. Select **PostgreSQL** as the database engine and select the minimum PostgreSQL version as defined for your GitLab version in our [database requirements](../../install/requirements.md#postgresql-requirements).
1. Because this is a production server, let's choose **Production** from the **Templates** section.
-1. Under **Settings**, set a DB instance identifier, a master username, and a master password. We use `gitlab-db-ha`, `gitlab`, and a very secure password respectively. Make a note of these as we need them later.
+1. Under **Settings**, use:
+ - `gitlab-db-ha` for the DB instance identifier.
+ - `gitlab` for a master username.
+ - A very secure password for the master password.
+
+ Make a note of these as we need them later.
+
1. For the DB instance size, select **Standard classes** and select an instance size that meets your requirements from the dropdown list. We use a `db.m4.large` instance.
1. Under **Storage**, configure the following:
1. Select **Provisioned IOPS (SSD)** from the storage type dropdown list. Provisioned IOPS (SSD) storage is best suited for this use (though you can choose General Purpose (SSD) to reduce the costs). Read more about it at [Storage for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html).
diff --git a/doc/install/installation.md b/doc/install/installation.md
index 61147c1e2e4..bb0bffd967a 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -868,7 +868,7 @@ sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production force=yes
# When done, you see 'Administrator account created:'
```
-You can set the Administrator/root password and email by supplying them in environmental variables, `GITLAB_ROOT_PASSWORD` and `GITLAB_ROOT_EMAIL` respectively, as seen below. If you don't set the password (and it is set to the default one), wait to expose GitLab to the public internet until the installation is done and you've logged into the server the first time. During the first login, you are forced to change the default password. An Enterprise Edition subscription may also be activated at this time by supplying the activation code in the `GITLAB_ACTIVATION_CODE` environment variable.
+You can set the Administrator/root password and email by supplying them in environmental variables, `GITLAB_ROOT_PASSWORD` and `GITLAB_ROOT_EMAIL`, as seen below. If you don't set the password (and it is set to the default one), wait to expose GitLab to the public internet until the installation is done and you've logged into the server the first time. During the first login, you are forced to change the default password. An Enterprise Edition subscription may also be activated at this time by supplying the activation code in the `GITLAB_ACTIVATION_CODE` environment variable.
```shell
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=yourpassword GITLAB_ROOT_EMAIL=youremail GITLAB_ACTIVATION_CODE=yourcode
diff --git a/doc/operations/metrics/dashboards/panel_types.md b/doc/operations/metrics/dashboards/panel_types.md
index 5d52691eed8..0ab78dc0228 100644
--- a/doc/operations/metrics/dashboards/panel_types.md
+++ b/doc/operations/metrics/dashboards/panel_types.md
@@ -53,7 +53,7 @@ Starting in [version 12.8](https://gitlab.com/gitlab-org/gitlab/-/issues/202696)
To add an anomaly chart panel type to a dashboard, add a panel with *exactly* 3 metrics.
-The first metric represents the current state, and the second and third metrics represent the upper and lower limit respectively:
+The first metric represents the current state, and the second and third metrics represent the upper and lower limit:
```yaml
dashboard: 'Dashboard Title'
diff --git a/doc/topics/autodevops/stages.md b/doc/topics/autodevops/stages.md
index aca8c99b180..af0ccc514de 100644
--- a/doc/topics/autodevops/stages.md
+++ b/doc/topics/autodevops/stages.md
@@ -491,7 +491,7 @@ deletion).
You can configure database initialization and migrations for PostgreSQL to run
within the application pod by setting the project CI/CD variables `DB_INITIALIZE` and
-`DB_MIGRATE` respectively.
+`DB_MIGRATE`.
If present, `DB_INITIALIZE` is run as a shell command within an application pod
as a Helm post-install hook. As some applications can't run without a successful
diff --git a/doc/update/removals.md b/doc/update/removals.md
index ce2e80b9850..bdb68f8330c 100644
--- a/doc/update/removals.md
+++ b/doc/update/removals.md
@@ -78,6 +78,14 @@ Review the details carefully before upgrading.
The Container Registry [pull-through cache](https://docs.docker.com/registry/recipes/mirror/) was deprecated in GitLab 15.8 and removed in GitLab 16.0. This feature is part of the upstream [Docker Distribution project](https://github.com/distribution/distribution) but we are removing that code in favor of the GitLab Dependency Proxy. Use the GitLab Dependency Proxy to proxy and cache container images from Docker Hub.
+### GitLab administrators must have permission to modify protected branches or tags
+
+WARNING:
+This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
+Review the details carefully before upgrading.
+
+GitLab administrators can no longer perform actions on protected branches or tags unless they have been explicitly granted that permission. These actions include pushing and merging into a [protected branch](https://docs.gitlab.com/ee/user/project/protected_branches.html), unprotecting a branch, and creating [protected tags](https://docs.gitlab.com/ee/user/project/protected_tags.html).
+
### PipelineSecurityReportFinding name GraphQL field
WARNING:
diff --git a/doc/user/ai_features.md b/doc/user/ai_features.md
index e8635fd88e9..d335cdabd56 100644
--- a/doc/user/ai_features.md
+++ b/doc/user/ai_features.md
@@ -28,11 +28,15 @@ These settings give you control over which features are enabled. These settings
When a feature is [Generally Available](../policy/alpha-beta-support.md#generally-available-ga), it does not require the [group-level Experiment features setting](group/manage.md#group-experiment-features-setting) to be enabled. Some of these features might require the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting).
+The following feature is Generally Available:
+
- [Suggested Reviewers](project/merge_requests/reviews/index.md#suggested-reviewers)
## Beta AI features
-[Beta features](../policy/alpha-beta-support.md#beta) do not require the [group-level experiment features setting](group/manage.md#group-experiment-features-setting) to be enabled.
+[Beta features](../policy/alpha-beta-support.md#beta) do not require the [group-level Experiment features setting](group/manage.md#group-experiment-features-setting) to be enabled.
+
+The following feature is in Beta:
- [Code Suggestions](project/repository/code_suggestions.md)
@@ -42,13 +46,13 @@ When a feature is [Generally Available](../policy/alpha-beta-support.md#generall
## Third-party AI features
-Third-party AI features require the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled. Experiment Third-party AI features also require the [Experiment features setting](group/manage.md#group-experiment-features-setting) to be enabled.
+Third-party AI features require the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled. Experiment third-party AI features also require the [Experiment features setting](group/manage.md#group-experiment-features-setting) to be enabled.
### Explain Selected Code in the Web UI **(ULTIMATE SAAS)**
> Introduced in GitLab 15.11 as an [Experiment](../policy/alpha-beta-support.md#experiment) on GitLab.com.
-This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI GPT-3.
+This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3.
GitLab can help you get up to speed faster if you:
@@ -81,7 +85,7 @@ We cannot guarantee that the large language model produces results that are corr
> Introduced in GitLab 16.0 as an [Experiment](../policy/alpha-beta-support.md#experiment).
-This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
+This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
Getting help has never been easier. If you have a question about how the GitLab product works, you can ask product how-to questions and get AI generated support from GitLab Chat.
@@ -95,20 +99,20 @@ To give feedback, select the **Give Feedback** link.
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10400) in GitLab 16.0 as an [Experiment](../policy/alpha-beta-support.md#experiment).
-This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
+This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
You can generate a merge request summary by using the `/summarize_diff` quick action in a merge request comment. This action posts a comment from a GitLab bot. The comment provides a summary of the changes and the related SHA for when that summary was generated.
Provide feedback on this experimental feature in [issue 408726](https://gitlab.com/gitlab-org/gitlab/-/issues/408726).
**Data usage**: When you use this quick action, the diff of changes between the head of the source branch
-and the target branch is sent to the GPT-3 language model.
+and the target branch is sent to the large language model referenced above.
### Summarize my merge request review **(ULTIMATE SAAS)**
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10466) in GitLab 16.0 as an [Experiment](../policy/alpha-beta-support.md#experiment).
-This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
+This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
When you've completed your review of a merge request and are ready to [submit your review](project/merge_requests/reviews/index.md#submit-a-review) you can choose to have summary generated for you. To generate the summary:
@@ -119,7 +123,7 @@ The summary is generated and entered in to the comment box where you can edit an
Provide feedback on this experimental feature in [issue 408991](https://gitlab.com/gitlab-org/gitlab/-/issues/408991).
-**Data usage**: When you use this feature, the following data is sent to the GPT-3 language model:
+**Data usage**: When you use this feature, the following data is sent to the large language model referenced above:
- Draft comment's text
- File path of the commented files
@@ -128,7 +132,7 @@ Provide feedback on this experimental feature in [issue 408991](https://gitlab.c
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/10366) in GitLab 16.0 as an [Experiment](../policy/alpha-beta-support.md#experiment).
-This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
+This feature is an [Experiment](../policy/alpha-beta-support.md) on GitLab.com that is powered by OpenAI's GPT-3. It requires the [group-level third-party AI features setting](group/manage.md#group-third-party-ai-features-setting) to be enabled.
When in a merge request you can choose to have GitLab suggest tests for the file you are reviewing. This can help to determine if appropriate test coverage has been provided or help with writing tests to provide more coverage for your project. To generate a test suggestion:
@@ -139,7 +143,7 @@ A sidebar opens where the test suggestion is generated. From there you can choos
Feedback on this experimental feature can be provided in [issue 408995](https://gitlab.com/gitlab-org/gitlab/-/issues/408995).
-**Data usage**: When you use this feature, the following data is sent to the GPT-3 language model:
+**Data usage**: When you use this feature, the following data is sent to the large language model referenced above:
- Contents of the file
- The file name
@@ -152,13 +156,11 @@ GitLab AI features leverage generative AI to help increase velocity and aim to h
These features are designed as a progressive enhancement to existing GitLab features across our DevSecOps platform. They are designed to fail gracefully and should not prevent the core functionality of the underlying feature. Please note each feature is subject to its expected functionality as defined by the relevant [feature support policy](../policy/alpha-beta-support.md).
-### Off by default
-
### Stability and performance
These features are in a variety of [feature support levels](../policy/alpha-beta-support.md#beta). Due to the nature of these features, there may be high demand for usage which may cause degraded performance or unexpected downtime of the feature. We have built these features to gracefully degrade and have controls in place to allow us to mitigate abuse or misuse. GitLab may disable **beta and experimental** features for any or all customers at any time at our discretion.
-## Third Party Services
+## Third party services
### Data privacy
diff --git a/doc/user/analytics/dora_metrics.md b/doc/user/analytics/dora_metrics.md
index 49006ead10f..6b7b1d87843 100644
--- a/doc/user/analytics/dora_metrics.md
+++ b/doc/user/analytics/dora_metrics.md
@@ -23,9 +23,9 @@ For software leaders, tracking velocity alongside quality metrics ensures they'r
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
For a video explanation, see [DORA metrics: User analytics](https://www.youtube.com/watch?v=lM_FbVYuN8s) and [GitLab speed run: DORA metrics](https://www.youtube.com/watch?v=1BrcMV6rCDw).
-## DORA metrics dashboard in Value Stream Analytics
+## DORA metrics in Value Stream Analytics
-The four DORA metrics are available out-of-the-box in the [Value Stream Analytics (VSA) overview dashboard](../group/value_stream_analytics/index.md#view-value-stream-analytics).
+The four DORA metrics are available out-of-the-box in the [Value Streams Dashboard](value_streams_dashboard.md).
This helps you visualize the engineering work in the context of end-to-end value delivery.
The One DevOps Platform [Value Stream Management](https://gitlab.com/gitlab-org/gitlab/-/value_stream_analytics) provides end-to-end visibility to the entire software delivery lifecycle.
@@ -133,17 +133,16 @@ The DORA metrics are displayed on the following charts:
- [Value Streams Dashboard](value_streams_dashboard.md), which helps you identify trends, patterns, and opportunities for improvement.
- [CI/CD analytics charts](ci_cd_analytics.md), which show pipeline success rates and duration, and the history of DORA metrics over time.
-- Value stream analytics for [groups](../group/value_stream_analytics/index.md) and [projects](value_stream_analytics.md), which provide metrics about each stage of your software development process
- Insights reports for [groups](../group/insights/index.md) and [projects](value_stream_analytics.md), where you can also use [DORA query parameters](../../user/project/insights/index.md#dora-query-parameters) to create custom charts.
The table below provides an overview of the DORA metrics' data aggregation in different charts.
-| Metric name | Measured values | Data aggregation in the [Value Streams Dashboard](value_streams_dashboard.md) | Data aggregation in [CI/CD analytics charts](ci_cd_analytics.md) | Data aggregation in Value stream analytics | Data aggregation in [Custom insights reporting](../../user/project/insights/index.md#dora-query-parameters) |
-|---------------------------|-------------------|-----------------------------------------------------|------------------------|-----------------------|----------|
-| Deployment frequency | Number of successful deployments | daily average per month | daily average | daily average | `day` (default) or `month` |
-| Lead time for changes | Number of seconds to successfully deliver a commit into production | daily median per month | median time | median time | `day` (default) or `month` |
-| Time to restore service | Number of seconds an incident was open for | daily median per month | daily median | median time | `day` (default) or `month` |
-| Change failure rate | percentage of deployments that cause an incident in production | daily median per month | percentage of failed deployments | percentage of failed deployments | `day` (default) or `month` |
+| Metric name | Measured values | Data aggregation in the [Value Streams Dashboard](value_streams_dashboard.md) | Data aggregation in [CI/CD analytics charts](ci_cd_analytics.md) | Data aggregation in [Custom insights reporting](../../user/project/insights/index.md#dora-query-parameters) |
+|---------------------------|-------------------|-----------------------------------------------------|------------------------|----------|
+| Deployment frequency | Number of successful deployments | daily average per month | daily average | `day` (default) or `month` |
+| Lead time for changes | Number of seconds to successfully deliver a commit into production | daily median per month | median time | `day` (default) or `month` |
+| Time to restore service | Number of seconds an incident was open for | daily median per month | daily median | `day` (default) or `month` |
+| Change failure rate | percentage of deployments that cause an incident in production | daily median per month | percentage of failed deployments | `day` (default) or `month` |
## Retrieve DORA metrics data
diff --git a/doc/user/group/epics/epic_boards.md b/doc/user/group/epics/epic_boards.md
index 897504942f7..6783e89779b 100644
--- a/doc/user/group/epics/epic_boards.md
+++ b/doc/user/group/epics/epic_boards.md
@@ -73,7 +73,7 @@ To delete the active epic board:
- [Create a new list](#create-a-new-list).
- [Remove an existing list](#remove-a-list).
- [Filter epics](#filter-epics).
-- Create workflows, like when using [issue boards](../../project/issue_board.md#create-workflows).
+- Create workflows, like when using [issue boards](../../project/issue_board.md#issue-board-workflow-between-teams).
- [Move epics and lists](#move-epics-and-lists).
- Change epic labels (by dragging an epic between lists).
- Close an epic (by dragging it to the **Closed** list).
diff --git a/doc/user/group/insights/index.md b/doc/user/group/insights/index.md
index 9eb6d4387c1..17aa6cb9655 100644
--- a/doc/user/group/insights/index.md
+++ b/doc/user/group/insights/index.md
@@ -67,7 +67,7 @@ To configure group insights:
in a project that belongs to your group.
1. On the top bar, select **Main menu > Groups** and find your group.
1. On the left sidebar, select **Settings > General**.
-1. Expand **Insights**.
+1. Expand the **Analytics** tab and find the **Insights** section.
1. Select the project that contains your `.gitlab/insights.yml` configuration file.
1. Select **Save changes**.
diff --git a/doc/user/group/manage.md b/doc/user/group/manage.md
index bb7862419f2..6edf2fef32f 100644
--- a/doc/user/group/manage.md
+++ b/doc/user/group/manage.md
@@ -685,7 +685,7 @@ Support for group-level settings for merge request approval rules is tracked in
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/408158) from GitLab Ultimate to GitLab Premium in 16.0.
WARNING:
-This feature is in [Beta](/ee/policy/alpha-beta-support.md#beta). Code Suggestions use generative AI to suggest code while you're developing. Due to high demand, this feature will have unscheduled downtime and code suggestions in VS Code may be delayed. Code Suggestions may produce [low-quality or incomplete suggestions](../project/repository/code_suggestions.md#model-accuracy-and-quality). Beta users should read about the [known limitations](../project/repository/code_suggestions.md#known-limitations). We look forward to hearing your feedback.
+This feature is in [Beta](../../policy/alpha-beta-support.md#beta). Code Suggestions use generative AI to suggest code while you're developing. Due to high demand, this feature will have unscheduled downtime and code suggestions in VS Code may be delayed. Code Suggestions may produce [low-quality or incomplete suggestions](../project/repository/code_suggestions.md#model-accuracy-and-quality). Beta users should read about the [known limitations](../project/repository/code_suggestions.md#known-limitations). We look forward to hearing your feedback.
This setting enables users in the group to access [Code Suggestions](../project/repository/code_suggestions.md).
This setting [cascades to all projects](../project/merge_requests/approvals/settings.md#settings-cascading)
@@ -703,9 +703,13 @@ To enable Code Suggestions for a group:
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/404856) in GitLab 16.0.
-These are [Experiment features](/ee/policy/alpha-beta-support.md#experiment) and may produce unexpected results (e.g., low-quality, incomplete, failed pipelines, incoherent, insecure code, offensive or insensitive).
+You can give all users in the group access to Experiment features.
+
+WARNING:
+[Experiment features](../../policy/alpha-beta-support.md#experiment) may produce unexpected results
+(for example, the results might be low-quality, incomplete, incoherent, offensive, or insensitive,
+and might include insecure code or failed pipelines).
-This setting enables users in the group to access Experiment features.
This setting [cascades to all projects](../project/merge_requests/approvals/settings.md#settings-cascading)
that belong to the group.
@@ -722,9 +726,10 @@ To enable Experiment features for a group:
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/404856) in GitLab 16.0.
WARNING:
-These Artifical Intelligence (AI) features use [third-party services](../../user/ai_features.md#data-usage) and require transmission of data, including personal data.
+These Artifical Intelligence (AI) features use [third-party services](../ai_features.md#data-usage)
+and require transmission of data, including personal data.
-This setting enables users in the group to access third-party AI features.
+You can give all users in the group access to third-party AI features.
This setting [cascades to all projects](../project/merge_requests/approvals/settings.md#settings-cascading)
that belong to the group.
@@ -841,3 +846,16 @@ Administrators can find a user's maximum permissions for a group or project.
group = Group.find_by_full_path 'group'
user.max_member_access_for_group group.id
```
+
+### Unable to remove billable members with badge `Project Invite/Group Invite`
+
+```plaintext
+Members who were invited via a group invitation cannot be removed. You can either remove the entire group, or ask an Owner of the invited group to remove the member.
+```
+
+This error typically occurs when the user you're trying to remove is part of an external group that has been [shared with one or more of your projects](../project/members/share_project_with_groups.md) or [groups](#share-a-group-with-another-group). To remove the user as a billable member, follow one of the options:
+
+- Remove the invited group membership from your project or group members page.
+- Recommended. Remove the user directly from the invited group, if you have access to the group.
+
+The feature request to **Update billable_members endpoint to include invited group** is currently being worked on. For more information, see [issue 386583](https://gitlab.com/gitlab-org/gitlab/-/issues/386583)
diff --git a/doc/user/group/value_stream_analytics/index.md b/doc/user/group/value_stream_analytics/index.md
index ba99fb5dec2..bc48c1050fb 100644
--- a/doc/user/group/value_stream_analytics/index.md
+++ b/doc/user/group/value_stream_analytics/index.md
@@ -250,7 +250,7 @@ For the "Tasks by type" chart, only the Date range and Project selector filters
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/210315) in GitLab 13.0.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/323982) in GitLab 13.12.
-The **Overview** page in value stream analytics displays key metrics and DORA metrics of group performance.
+The **Overview** page in value stream analytics displays key metrics of the DevSecOps lifecycle performance for projects and groups.
### Key metrics
@@ -296,22 +296,31 @@ Prerequisite:
- To view deployment metrics, you must have a
[production environment configured](#how-value-stream-analytics-identifies-the-production-environment).
-To view the DORA metrics and key metrics:
+To view key lifecycle metrics:
1. On the top bar, select **Main menu**, and:
- For a project, select **Projects** and find your project.
- For a group, select **Groups** and find your group.
1. On the left sidebar, select **Analytics > Value stream**.
- Key metrics and DORA metrics display below the **Filter results** text box.
+ Key metrics display below the **Filter results** text box.
1. Optional. Filter the results:
1. Select the **Filter results** text box.
- Based on the filter you select, the dashboard automatically aggregates DORA metrics and displays the status of the value stream.
+ Based on the filter you select, the dashboard automatically aggregates key metrics and displays the status of the value stream.
1. Select a parameter.
1. Select a value or enter text to refine the results.
1. To adjust the date range:
- In the **From** field, select a start date.
- In the **To** field, select an end date.
-1. Select a DORA metric to view its chart.
+
+To view the [Value Streams Dashboard](../../analytics/value_streams_dashboard.md) and [DORA metrics](../../analytics/dora_metrics.md):
+
+1. On the top bar, select **Main menu**, and:
+ - For a project, select **Projects** and find your project.
+ - For a group, select **Groups** and find your group.
+1. On the left sidebar, select **Analytics > Value stream**.
+1. Below the **Filter results** text box, in the **Key metrics** row, select **Value Streams Dashboard / DORA**.
+1. Optional. To open the new page, append this path `/analytics/dashboards/value_streams_dashboard` to the group URL
+ (for example, `https://gitlab.com/groups/gitlab-org/-/analytics/dashboards/value_streams_dashboard`).
## View metrics for each development stage
diff --git a/doc/user/packages/container_registry/authenticate_with_container_registry.md b/doc/user/packages/container_registry/authenticate_with_container_registry.md
index f48ba7bbf52..31337d19d59 100644
--- a/doc/user/packages/container_registry/authenticate_with_container_registry.md
+++ b/doc/user/packages/container_registry/authenticate_with_container_registry.md
@@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
<!--- start_remove The following content will be removed on remove_date: '2023-11-22' -->
WARNING:
-[External authorization](../../admin_area/settings/external_authorization.md) will be enabled by default in GitLab 16.0. External authorization prevents personal access tokens and deploy tokens from accessing container and package registries and affects all users who use these tokens to access the registries. You can disable external authorization if you want to use personal access tokens and deploy tokens with the container or package registries.
+In GitLab 16.0 and later, [external authorization](../../admin_area/settings/external_authorization.md) prevents personal access tokens and deploy tokens from accessing container and package registries and affects all users who use these tokens to access the registries. You can disable external authorization if you want to use personal access tokens and deploy tokens with the container or package registries.
<!--- end_remove -->
To authenticate with the Container Registry, you can use a:
diff --git a/doc/user/product_analytics/index.md b/doc/user/product_analytics/index.md
index f03ed9ecb90..b5f936e7848 100644
--- a/doc/user/product_analytics/index.md
+++ b/doc/user/product_analytics/index.md
@@ -71,7 +71,7 @@ Prerequisite:
1. On the top bar, select **Main menu > Admin**.
1. On the left sidebar, select **Settings > General**.
-1. Expand the **Product analytics** section.
+1. Expand the **Analytics** tab and find the **Product analytics** section.
1. Select **Enable product analytics** and enter the configuration values.
The following table shows the required configuration parameters and example values:
diff --git a/doc/user/project/img/issue_board_system_notes_v13_6.png b/doc/user/project/img/issue_board_system_notes_v13_6.png
deleted file mode 100644
index 4958f63541e..00000000000
--- a/doc/user/project/img/issue_board_system_notes_v13_6.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/protected_tags_list_v12_3.png b/doc/user/project/img/protected_tags_list_v12_3.png
deleted file mode 100644
index 6a30f615f2f..00000000000
--- a/doc/user/project/img/protected_tags_list_v12_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/protected_tags_page_v12_3.png b/doc/user/project/img/protected_tags_page_v12_3.png
deleted file mode 100644
index 841e19af8a7..00000000000
--- a/doc/user/project/img/protected_tags_page_v12_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/img/protected_tags_permissions_dropdown_v12_3.png b/doc/user/project/img/protected_tags_permissions_dropdown_v12_3.png
deleted file mode 100644
index 913d4725d53..00000000000
--- a/doc/user/project/img/protected_tags_permissions_dropdown_v12_3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md
index 85779ae860f..f5d0382ccd8 100644
--- a/doc/user/project/issue_board.md
+++ b/doc/user/project/issue_board.md
@@ -446,7 +446,6 @@ When you hover over the blocked icon (**{issue-block}**), a detailed information
- [Remove an existing list](#remove-a-list).
- [Remove an issue from a list](#remove-an-issue-from-a-list).
- [Filter issues](#filter-issues) that appear across your issue board.
-- [Create workflows](#create-workflows).
- [Move issues and lists](#move-issues-and-lists).
- [Multi-select issue cards](#multi-select-issue-cards).
- Drag and reorder the lists.
@@ -574,44 +573,6 @@ When [filtering issues](#filter-issues) in a **group** board, keep this behavior
When you edit issues individually using the right sidebar, you can additionally select the
milestones and labels from the **project** that the issue is from.
-### Create workflows
-
-By reordering your lists, you can create workflows. As lists in issue boards are
-based on labels, it works out of the box with your existing issues.
-
-So if you've already labeled things with **Backend** and **Frontend**, the issue appears in
-the lists as you create them. In addition, this means you can move something between lists by
-changing a label.
-
-A typical workflow of using an issue board would be:
-
-1. You [create](labels.md#create-a-label) and [prioritize](labels.md#set-label-priority)
- labels to categorize your issues.
-1. You have a bunch of issues (ideally labeled).
-1. You visit the issue board and start [creating lists](#create-a-new-list) to
- create a workflow.
-1. You move issues around in lists so that your team knows who should be working
- on what issue.
-1. When the work by one team is done, the issue can be dragged to the next list
- so someone else can pick it up.
-1. When the issue is finally resolved, the issue is moved to the **Done** list
- and gets automatically closed.
-
-For example, you can create a list based on the label of **Frontend** and one for
-**Backend**. A designer can start working on an issue by adding it to the
-**Frontend** list. That way, everyone knows that this issue is now being
-worked on by the designers.
-
-Then, when they're done, all they have to do is
-drag it to the next list, **Backend**. Then, a backend developer can
-eventually pick it up. When they're done, they move it to **Done**, to close the
-issue.
-
-This process can be seen clearly when visiting an issue. With every move
-to another list, the label changes and a [system note](system_notes.md) is recorded.
-
-![issue board system notes](img/issue_board_system_notes_v13_6.png)
-
### Move issues and lists
You can move issues and lists by dragging them.
diff --git a/doc/user/project/labels.md b/doc/user/project/labels.md
index c24526ddd86..2af15e06b98 100644
--- a/doc/user/project/labels.md
+++ b/doc/user/project/labels.md
@@ -381,7 +381,7 @@ issue is now under review, they assign the `workflow::review`, and the `workflow
is removed.
The same happens when you move issues across label lists in an
-[issue board](issue_board.md#create-workflows). With scoped labels, team members not working in an
+[issue board](issue_board.md). With scoped labels, team members not working in an
issue board can also advance workflow states consistently in issues themselves.
For a video explanation, see:
diff --git a/doc/user/project/protected_branches.md b/doc/user/project/protected_branches.md
index 8d4d16ffbc3..1d279436d2c 100644
--- a/doc/user/project/protected_branches.md
+++ b/doc/user/project/protected_branches.md
@@ -22,6 +22,8 @@ The [default branch](repository/branches/default.md) for your repository is prot
## Who can modify a protected branch
+> Branch push permission [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118532) to require GitLab administrators to also have the **allowed** permission in GitLab 16.0.
+
When a branch is protected, the default behavior enforces these restrictions on the branch.
| Action | Who can do it |
diff --git a/doc/user/project/protected_tags.md b/doc/user/project/protected_tags.md
index 1256599c521..3af475afa4f 100644
--- a/doc/user/project/protected_tags.md
+++ b/doc/user/project/protected_tags.md
@@ -16,7 +16,7 @@ Each rule allows you to match either:
- An individual tag name.
- Wildcards to control multiple tags at once.
-This feature evolved out of [protected branches](protected_branches.md)
+This feature evolved out of [protected branches](protected_branches.md).
## Who can modify a protected tag
@@ -27,22 +27,22 @@ By default:
## Configuring protected tags
-To protect a tag, you must have at least the Maintainer role.
-
-1. Go to the project's **Settings > Repository**.
-
-1. From the **Tag** dropdown list, select the tag you want to protect or type and select **Create wildcard**. In the screenshot below, we chose to protect all tags matching `v*`:
-
- ![Protected tags page](img/protected_tags_page_v12_3.png)
-
-1. From the **Allowed to create** dropdown list, select users with permission to create
- matching tags, and select **Protect**:
+Prerequisites:
- ![Allowed to create tags dropdown list](img/protected_tags_permissions_dropdown_v12_3.png)
+- You must have at least the Maintainer role for the project.
-1. After done, the protected tag displays in the **Protected tags** list:
+1. On the top bar, select **Main menu > Projects** and find your project.
+1. On the left sidebar, select **Settings > Repository**.
+1. Expand **Protected tags**.
+1. To protect a single tag, select **Tag**, then choose your tag from the dropdown list.
+1. To protect all tags with names matching a string:
+ 1. Select **Tag**.
+ 1. Enter the string to use for tag matching. Wildcards (`*`) are supported.
+ 1. Select **Create wildcard**.
+1. In **Allowed to create** , select either the users or roles that may create protected tags.
+1. Select **Protect**.
- ![Protected tags list](img/protected_tags_list_v12_3.png)
+The protected tag (or wildcard) displays in the **Protected tags** list.
## Wildcard protected tags
diff --git a/doc/user/project/releases/index.md b/doc/user/project/releases/index.md
index f15a3299108..59155f63075 100644
--- a/doc/user/project/releases/index.md
+++ b/doc/user/project/releases/index.md
@@ -249,7 +249,7 @@ section, along with statistics about the issues in the milestones.
Releases are also visible on the **Issues > Milestones** page, and when you select a milestone
on this page.
-Here is an example of milestones with no releases, one release, and two releases, respectively.
+Here is an example of milestones with no releases, one release, and two releases.
![Milestones with and without Release associations](img/milestone_list_with_releases_v12_5.png)
diff --git a/doc/user/search/exact_code_search.md b/doc/user/search/exact_code_search.md
index 674b2813985..469d91b5194 100644
--- a/doc/user/search/exact_code_search.md
+++ b/doc/user/search/exact_code_search.md
@@ -7,7 +7,7 @@ type: reference
# Exact Code Search **(PREMIUM)**
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105049) in GitLab 15.9 [with a flag](../../administration/feature_flags.md) named `index_code_with_zoekt` and `search_code_with_zoekt` which enables indexing and searching respectively. Both are disabled by default.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105049) in GitLab 15.9 [with a flag](../../administration/feature_flags.md) named `index_code_with_zoekt` for indexing and `search_code_with_zoekt` for searching. Both are disabled by default.
WARNING:
We are still actively making changes to the Exact Code Search feature. GitLab will dogfood it first, and roll it out only to specific customers on GitLab.com who request access to it. We will make an announcement when it's available for GitLab.com customers to tryout. You can follow our development progress by checking [the Exact Code Search feature roadmap](https://gitlab.com/groups/gitlab-org/-/epics/9404).