+
[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/18583) in GitLab 8.11.
-
## Valid access levels
The access levels are defined in the `Gitlab::Access` module, and the
diff --git a/doc/integration/kerberos.md b/doc/integration/kerberos.md
index aab60a4e522..2d4abb75875 100644
--- a/doc/integration/kerberos.md
+++ b/doc/integration/kerberos.md
@@ -2,7 +2,6 @@
stage: Manage
group: Access
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments"
-type: reference, how-to
---
# Kerberos integration **(PREMIUM SELF)**
@@ -296,7 +295,7 @@ Kerberos ticket-based authentication.
## Upgrading from password-based to ticket-based Kerberos sign-ins
-Prior to GitLab 8.10 Enterprise Edition, users had to submit their
+In previous versions of GitLab users had to submit their
Kerberos username and password to GitLab when signing in. We plan to
remove support for password-based Kerberos sign-ins in a future
release, so we recommend that you upgrade to ticket-based sign-ins.
diff --git a/doc/user/group/subgroups/img/group_members_13_7.png b/doc/user/group/subgroups/img/group_members_13_7.png
deleted file mode 100644
index ab22bcb932c..00000000000
Binary files a/doc/user/group/subgroups/img/group_members_13_7.png and /dev/null differ
diff --git a/doc/user/group/subgroups/img/group_members_v14_4.png b/doc/user/group/subgroups/img/group_members_v14_4.png
new file mode 100644
index 00000000000..695564a8b74
Binary files /dev/null and b/doc/user/group/subgroups/img/group_members_v14_4.png differ
diff --git a/doc/user/group/subgroups/index.md b/doc/user/group/subgroups/index.md
index aaff0574ef0..507db5c4a86 100644
--- a/doc/user/group/subgroups/index.md
+++ b/doc/user/group/subgroups/index.md
@@ -136,7 +136,7 @@ the **Members** page of the group the member was added.
You can tell if a member has inherited the permissions from a parent group by
looking at the group's **Members** page.
-![Group members page](img/group_members_13_7.png)
+![Group members page](img/group_members_v14_4.png)
From the image above, we can deduce the following things:
diff --git a/doc/user/permissions.md b/doc/user/permissions.md
index 4bedf7a3ad9..eae0df5ac39 100644
--- a/doc/user/permissions.md
+++ b/doc/user/permissions.md
@@ -33,8 +33,6 @@ usernames. A GitLab administrator can configure the GitLab instance to
## Project members permissions
-> The Master role was renamed to Maintainer in GitLab 11.0.
-
The Owner role is only available at the group or personal namespace level (and for instance administrators) and is inherited by its projects.
While Maintainer is the highest project-level role, some actions can only be performed by a personal namespace or group owner, or an instance administrator, who receives all permissions.
For more information, see [projects members documentation](project/members/index.md).
@@ -269,9 +267,6 @@ Find the visibility permissions for the Container Registry, as described in the
## Group members permissions
-NOTE:
-In GitLab 11.0, the Master role was renamed to Maintainer.
-
Any user can remove themselves from a group, unless they are the last Owner of
the group.
@@ -442,8 +437,6 @@ free guest user.
## Auditor users **(PREMIUM SELF)**
->[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/998) in [GitLab Premium](https://about.gitlab.com/pricing/) 8.17.
-
Auditor users are given read-only access to all projects, groups, and other
resources on the GitLab instance.
@@ -454,7 +447,7 @@ with the permissions described on the documentation on [auditor users permission
## Users with minimal access **(PREMIUM)**
->[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40942) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.4.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40942) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.4.
Owners can add members with a "minimal access" role to a parent group. Such users don't
automatically have access to projects and subgroups underneath. To support such access, owners must explicitly add these "minimal access" users to the specific subgroups/projects.
@@ -480,9 +473,6 @@ which visibility level you select on project settings.
## GitLab CI/CD permissions
-NOTE:
-In GitLab 11.0, the Master role was renamed to Maintainer.
-
GitLab CI/CD permissions rely on the role the user has in GitLab. There are four
roles:
@@ -513,9 +503,6 @@ instance and project.
### Job permissions
-NOTE:
-In GitLab 11.0, the Master role was renamed to Maintainer.
-
This table shows granted privileges for jobs triggered by specific types of
users:
@@ -555,7 +542,7 @@ for more information.
## LDAP users permissions
-In GitLab 8.15 and later, LDAP user permissions can now be manually overridden by an administrator.
+LDAP user permissions can be manually overridden by an administrator.
Read through the documentation on [LDAP users permissions](group/index.md#manage-group-memberships-via-ldap) to learn more.
## Project aliases
diff --git a/doc/user/profile/account/two_factor_authentication.md b/doc/user/profile/account/two_factor_authentication.md
index e3f63ba0748..6fe4b457fac 100644
--- a/doc/user/profile/account/two_factor_authentication.md
+++ b/doc/user/profile/account/two_factor_authentication.md
@@ -1,5 +1,4 @@
---
-type: howto
stage: Manage
group: Access
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
@@ -235,8 +234,6 @@ Feature.disable(:forti_token_cloud, User.find())
### U2F device
-> Introduced in [GitLab 8.9](https://about.gitlab.com/blog/2016/06/22/gitlab-adds-support-for-u2f/).
-
GitLab officially only supports [YubiKey](https://www.yubico.com/products/)
U2F devices, but users have successfully used [SoloKeys](https://solokeys.com/)
or [Google Titan Security Key](https://cloud.google.com/titan-security-key).
diff --git a/doc/user/project/members/img/project_members_filter_direct_v13_9.png b/doc/user/project/members/img/project_members_filter_direct_v13_9.png
deleted file mode 100644
index 50115ee4052..00000000000
Binary files a/doc/user/project/members/img/project_members_filter_direct_v13_9.png and /dev/null differ
diff --git a/doc/user/project/members/img/project_members_filter_direct_v14_4.png b/doc/user/project/members/img/project_members_filter_direct_v14_4.png
new file mode 100644
index 00000000000..79cee06bc30
Binary files /dev/null and b/doc/user/project/members/img/project_members_filter_direct_v14_4.png differ
diff --git a/doc/user/project/members/img/project_members_filter_inherited_v13_9.png b/doc/user/project/members/img/project_members_filter_inherited_v13_9.png
deleted file mode 100644
index 433003fe58b..00000000000
Binary files a/doc/user/project/members/img/project_members_filter_inherited_v13_9.png and /dev/null differ
diff --git a/doc/user/project/members/img/project_members_filter_inherited_v14_4.png b/doc/user/project/members/img/project_members_filter_inherited_v14_4.png
new file mode 100644
index 00000000000..ce2a0ebf088
Binary files /dev/null and b/doc/user/project/members/img/project_members_filter_inherited_v14_4.png differ
diff --git a/doc/user/project/members/img/project_members_search_v13_9.png b/doc/user/project/members/img/project_members_search_v13_9.png
deleted file mode 100644
index 67280d11dca..00000000000
Binary files a/doc/user/project/members/img/project_members_search_v13_9.png and /dev/null differ
diff --git a/doc/user/project/members/img/project_members_search_v14_4.png b/doc/user/project/members/img/project_members_search_v14_4.png
new file mode 100644
index 00000000000..8c52c5788d4
Binary files /dev/null and b/doc/user/project/members/img/project_members_search_v14_4.png differ
diff --git a/doc/user/project/members/img/project_members_sort_v13_9.png b/doc/user/project/members/img/project_members_sort_v13_9.png
deleted file mode 100644
index 47abe18ba49..00000000000
Binary files a/doc/user/project/members/img/project_members_sort_v13_9.png and /dev/null differ
diff --git a/doc/user/project/members/img/project_members_sort_v14_4.png b/doc/user/project/members/img/project_members_sort_v14_4.png
new file mode 100644
index 00000000000..20834b9307e
Binary files /dev/null and b/doc/user/project/members/img/project_members_sort_v14_4.png differ
diff --git a/doc/user/project/members/img/project_members_v13_9.png b/doc/user/project/members/img/project_members_v13_9.png
deleted file mode 100644
index 3b48c752c6a..00000000000
Binary files a/doc/user/project/members/img/project_members_v13_9.png and /dev/null differ
diff --git a/doc/user/project/members/img/project_members_v14_4.png b/doc/user/project/members/img/project_members_v14_4.png
new file mode 100644
index 00000000000..0a235e91d28
Binary files /dev/null and b/doc/user/project/members/img/project_members_v14_4.png differ
diff --git a/doc/user/project/members/index.md b/doc/user/project/members/index.md
index 8a70b74fcc1..f9788ef18ec 100644
--- a/doc/user/project/members/index.md
+++ b/doc/user/project/members/index.md
@@ -87,7 +87,7 @@ A success message is displayed and the new members are now displayed in the list
When your project belongs to a group, group members inherit their role
from the group.
-![Project members page](img/project_members_v13_9.png)
+![Project members page](img/project_members_v14_4.png)
In this example:
@@ -140,7 +140,7 @@ You can filter and sort members in a project.
1. In the **Filter members** box, select `Membership` `=` `Inherited`.
1. Press Enter.
-![Project members filter inherited](img/project_members_filter_inherited_v13_9.png)
+![Project members filter inherited](img/project_members_filter_inherited_v14_4.png)
### Display direct members
@@ -148,19 +148,19 @@ You can filter and sort members in a project.
1. In the **Filter members** box, select `Membership` `=` `Direct`.
1. Press Enter.
-![Project members filter direct](img/project_members_filter_direct_v13_9.png)
+![Project members filter direct](img/project_members_filter_direct_v14_4.png)
### Search
You can search for members by name, username, or email.
-![Project members search](img/project_members_search_v13_9.png)
+![Project members search](img/project_members_search_v14_4.png)
### Sort
You can sort members by **Account**, **Access granted**, **Max role**, or **Last sign-in** in ascending or descending order.
-![Project members sort](img/project_members_sort_v13_9.png)
+![Project members sort](img/project_members_sort_v14_4.png)
## Request access to a project
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 496a5f1bf81..0375285895d 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -30340,6 +30340,9 @@ msgstr ""
msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
+msgid "SecurityReports|Operational vulnerabilities"
+msgstr ""
+
msgid "SecurityReports|Project"
msgstr ""
diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb
index 0ee60199b1e..5eccb0b46ef 100644
--- a/spec/db/schema_spec.rb
+++ b/spec/db/schema_spec.rb
@@ -204,7 +204,8 @@ RSpec.describe 'Database schema' do
"Operations::FeatureFlags::Strategy" => %w[parameters],
"Packages::Composer::Metadatum" => %w[composer_json],
"RawUsageData" => %w[payload], # Usage data payload changes often, we cannot use one schema
- "Releases::Evidence" => %w[summary]
+ "Releases::Evidence" => %w[summary],
+ "Vulnerabilities::Finding::Evidence" => %w[data] # Validation work in progress
}.freeze
# We are skipping GEO models for now as it adds up complexity
diff --git a/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js b/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js
index e5fa4a4bf7f..9bc2aad1895 100644
--- a/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js
+++ b/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js
@@ -230,5 +230,14 @@ describe('Suggestion Diff component', () => {
expect(tooltip.modifiers.viewport).toBe(true);
expect(tooltip.value).toBe('This also resolves this thread');
});
+
+ it('renders the inapplicable reason in the tooltip when button is not applicable', () => {
+ const inapplicableReason = 'lorem';
+ createComponent({ canApply: false, inapplicableReason, batchSuggestionsCount: 0 });
+ const tooltip = findTooltip();
+
+ expect(tooltip.modifiers.viewport).toBe(true);
+ expect(tooltip.value).toBe(inapplicableReason);
+ });
});
});