diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index c7c82f8a00a..ded897d8d11 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -2227,11 +2227,11 @@
when: never
- <<: *if-merge-request-labels-skip-undercoverage
when: never
+ - <<: *if-merge-request-labels-run-all-rspec
# We cannot get the coverage data from child pipeline so we only run undercoverage on full pipelines for now
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113410#note_1335422806
- <<: *if-merge-request-not-approved
when: never
- - <<: *if-merge-request-labels-run-all-rspec
- <<: *if-merge-request
changes: *backend-patterns
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index c81919f45e7..756d05ae9fb 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-a85e5fbd6058755774ea9e8a18d31b4a4266887b
+4af2feb4a2c6ec11c49cd95e73fb000b9f903554
diff --git a/app/models/chat_name.rb b/app/models/chat_name.rb
index cda19273f52..d3fbfe3aa55 100644
--- a/app/models/chat_name.rb
+++ b/app/models/chat_name.rb
@@ -3,9 +3,6 @@
class ChatName < ApplicationRecord
LAST_USED_AT_INTERVAL = 1.hour
- include IgnorableColumns
- ignore_column :integration_id, remove_with: '16.0', remove_after: '2023-04-22'
-
belongs_to :user
validates :user, presence: true
diff --git a/doc/administration/operations/moving_repositories.md b/doc/administration/operations/moving_repositories.md
index c27bedd39de..49746c7cc72 100644
--- a/doc/administration/operations/moving_repositories.md
+++ b/doc/administration/operations/moving_repositories.md
@@ -264,8 +264,15 @@ sudo -u git sh -c 'rsync -a --delete /var/opt/gitlab/git-data/repositories/. \
git@newserver:/mnt/gitlab/repositories'
```
+
+
### Thousands of Git repositories: use one `rsync` per repository
+WARNING:
+The Rake task `gitlab:list_repos` was
+[deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/384361) in GitLab 16.4 and is planned for
+removal in 17.0. Use [backup and restore](#recommended-approach-in-all-cases) instead.
+
WARNING:
Using `rsync` to migrate Git data can cause data loss and repository corruption.
[These instructions are being reviewed](https://gitlab.com/gitlab-org/gitlab/-/issues/270422).
@@ -291,6 +298,11 @@ This process:
#### Parallel `rsync` for all repositories known to GitLab
+WARNING:
+The Rake task `gitlab:list_repos` was
+[deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/384361) in GitLab 16.4 and is planned for
+removal in 17.0. Use [backup and restore](#recommended-approach-in-all-cases) instead.
+
WARNING:
Using `rsync` to migrate Git data can cause data loss and repository corruption.
[These instructions are being reviewed](https://gitlab.com/gitlab-org/gitlab/-/issues/270422).
@@ -352,6 +364,11 @@ cat /home/git/transfer-logs/* | sort | uniq -u |\
#### Parallel `rsync` only for repositories with recent activity
+WARNING:
+The Rake task `gitlab:list_repos` was
+[deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/384361) in GitLab 16.4 and is planned for
+removal in 17.0. Use [backup and restore](#recommended-approach-in-all-cases) instead.
+
WARNING:
Using `rsync` to migrate Git data can cause data loss and repository corruption.
[These instructions are being reviewed](https://gitlab.com/gitlab-org/gitlab/-/issues/270422).
@@ -381,3 +398,5 @@ sudo -u git -H bundle exec rake gitlab:list_repos SINCE='2015-10-1 12:00 UTC' |\
/home/git/repositories \
/mnt/gitlab/repositories
```
+
+
\ No newline at end of file
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index f6483299e28..566426f0d74 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -1144,6 +1144,7 @@ Input type: `AiActionInput`
| `analyzeCiJobFailure` | [`AnalyzeCiJobFailureInput`](#analyzecijobfailureinput) | Input for analyze_ci_job_failure AI action. |
| `chat` | [`AiChatInput`](#aichatinput) | Input for chat AI action. |
| `clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
+| `clientSubscriptionId` | [`String`](#string) | Client generated ID that can be subscribed to, to receive a response for the mutation. |
| `explainCode` | [`AiExplainCodeInput`](#aiexplaincodeinput) | Input for explain_code AI action. |
| `explainVulnerability` | [`AiExplainVulnerabilityInput`](#aiexplainvulnerabilityinput) | Input for explain_vulnerability AI action. |
| `fillInMergeRequestTemplate` | [`AiFillInMergeRequestTemplateInput`](#aifillinmergerequesttemplateinput) | Input for fill_in_merge_request_template AI action. |
diff --git a/doc/development/i18n/externalization.md b/doc/development/i18n/externalization.md
index f4ace7491eb..68c2778eabe 100644
--- a/doc/development/i18n/externalization.md
+++ b/doc/development/i18n/externalization.md
@@ -204,9 +204,9 @@ Example:
```javascript
// Bad. Not necessary in Frontend environment.
-expect(findText()).toBe(__('Lorem ipsum dolar sit'));
+expect(findText()).toBe(__('Lorem ipsum dolor sit'));
// Good.
-expect(findText()).toBe('Lorem ipsum dolar sit');
+expect(findText()).toBe('Lorem ipsum dolor sit');
```
#### Recommendations
diff --git a/doc/raketasks/list_repos.md b/doc/raketasks/list_repos.md
index 258d41aa190..b404e4dec60 100644
--- a/doc/raketasks/list_repos.md
+++ b/doc/raketasks/list_repos.md
@@ -4,7 +4,14 @@ group: Distribution
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
-# List repository directories Rake task **(FREE SELF)**
+
+
+# List repository directories Rake task (deprecated) **(FREE SELF)**
+
+WARNING:
+This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/384361) in GitLab 16.4 and is planned for removal in 17.0.
+[If migrating GitLab, use backup and restore](../administration/operations/moving_repositories.md#recommended-approach-in-all-cases)
+instead.
You can print a list of all Git repositories on disk managed by GitLab.
@@ -34,3 +41,5 @@ sudo gitlab-rake gitlab:list_repos SINCE='Sep 1 2015'
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:list_repos RAILS_ENV=production SINCE='Sep 1 2015'
```
+
+
\ No newline at end of file
diff --git a/doc/user/group/manage.md b/doc/user/group/manage.md
index 743aabd8f4b..025a689fe49 100644
--- a/doc/user/group/manage.md
+++ b/doc/user/group/manage.md
@@ -130,7 +130,8 @@ After sharing the `Frontend` group with the `Engineering` group:
- The **Groups** tab lists the `Engineering` group.
- The **Groups** tab lists a group regardless of whether it is a public or private group.
-- All direct members of the `Engineering` group have access to the `Frontend` group. Direct members of `Engineering` that gain access to the `Frontend` group keep their same access level as in `Engineering`, but up to the maximum access level selected when sharing the group. Inherited members of the `Engineering` group do not gain access to the `Frontend` group.
+- All direct members of the `Engineering` group have access to the `Frontend` group. Direct members of `Engineering` that gain access to the `Frontend` group keep their same access level as in `Engineering`, but up to the maximum access level selected when sharing the group.
+- Inherited members of the `Engineering` group do not gain access to the `Frontend` group.
- Direct members of the `Engineering` group who have the **Group Invite** badge next to their profile on the group's usage quota page count towards the billable members of the `Frontend` group.
## Remove a shared group
diff --git a/doc/user/project/members/share_project_with_groups.md b/doc/user/project/members/share_project_with_groups.md
index 3780018bf11..9c01f858be4 100644
--- a/doc/user/project/members/share_project_with_groups.md
+++ b/doc/user/project/members/share_project_with_groups.md
@@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
When you want a group to have access to your project,
you can invite [a group](../../group/index.md) to the project.
-The group's members get access to the project, which becomes a *shared project*.
+The group's direct and inherited members get access to the project, which becomes a *shared project*.
## Example
@@ -53,7 +53,8 @@ must be at least as restrictive as that of the project. For example, you can inv
> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/352526) in GitLab 14.9.
[Feature flag `invite_members_group_modal`](https://gitlab.com/gitlab-org/gitlab/-/issues/352526) removed.
-You can share a project with a group by inviting that group to the project.
+Similar to how you [share a group with another group](../../group/manage.md#share-a-group-with-another-group),
+you can share a project with a group by inviting that group to the project.
To invite a group to a project:
diff --git a/lib/tasks/gitlab/list_repos.rake b/lib/tasks/gitlab/list_repos.rake
index 56ec94d2aef..c0929466b7c 100644
--- a/lib/tasks/gitlab/list_repos.rake
+++ b/lib/tasks/gitlab/list_repos.rake
@@ -2,6 +2,9 @@
namespace :gitlab do
task list_repos: :environment do
+ warn "The Rake task gitlab:list_repos is deprecated in 16.4 and will be removed in 17.0: " \
+ "https://gitlab.com/gitlab-org/gitlab/-/issues/384361"
+
scope = Project
if ENV['SINCE']
date = Time.parse(ENV['SINCE'])
diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb
index 3c99393b14b..a7c00d2be32 100644
--- a/spec/db/schema_spec.rb
+++ b/spec/db/schema_spec.rb
@@ -42,7 +42,7 @@ RSpec.describe 'Database schema', feature_category: :database do
aws_roles: %w[role_external_id],
boards: %w[milestone_id iteration_id],
broadcast_messages: %w[namespace_id],
- chat_names: %w[chat_id team_id user_id integration_id],
+ chat_names: %w[chat_id team_id user_id],
chat_teams: %w[team_id],
ci_builds: %w[project_id runner_id user_id erased_by_id trigger_request_id partition_id],
ci_namespace_monthly_usages: %w[namespace_id],