diff --git a/Gemfile.lock b/Gemfile.lock
index 5ef32293dab666eefebf103555461db179b74b01..3314e7c54de6c39433d2c3e26dcb578f3dd27788 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -27,7 +27,7 @@ PATH
   remote: gems/gitlab-backup-cli
   specs:
     gitlab-backup-cli (0.0.1)
-      activesupport (~> 7.0.8.4)
+      activesupport (>= 7)
       addressable (~> 2.8)
       concurrent-ruby (~> 1.1)
       faraday (~> 2)
diff --git a/Gemfile.next.lock b/Gemfile.next.lock
index bad9b5a7eb9c25f592844cb5d37465eb76bd0a29..cd7f95a12ec437fed7d7fab377081a83a4d23db6 100644
--- a/Gemfile.next.lock
+++ b/Gemfile.next.lock
@@ -27,10 +27,22 @@ PATH
   remote: gems/gitlab-backup-cli
   specs:
     gitlab-backup-cli (0.0.1)
-      activesupport (< 7.2)
+      activesupport (>= 7)
+      addressable (~> 2.8)
+      concurrent-ruby (~> 1.1)
+      faraday (~> 2)
       google-cloud-storage_transfer (~> 1.2.0)
+      google-protobuf (~> 3.25, >= 3.25.3)
       googleauth (~> 1.8.1)
+      grpc (= 1.63.0)
+      json (~> 2.7.2)
+      jwt (~> 2.5)
+      logger (~> 1.5.3)
+      minitest (~> 5.11.0)
+      parallel (~> 1.19)
+      rack (~> 2.2.9)
       rainbow (~> 3.0)
+      rexml (~> 3.3.2)
       thor (~> 1.3)
 
 PATH
diff --git a/gems/gitlab-backup-cli/.gitlab-ci.yml b/gems/gitlab-backup-cli/.gitlab-ci.yml
index 884ca22a8536b21e4a67627834d883711a9d9bef..49bf89fbe3365aec35b2a5895a0a2ea7eaa0d745 100644
--- a/gems/gitlab-backup-cli/.gitlab-ci.yml
+++ b/gems/gitlab-backup-cli/.gitlab-ci.yml
@@ -1,4 +1,5 @@
 include:
   - local: gems/gem.gitlab-ci.yml
     inputs:
+      bundle_gemfiles: ['Gemfile', 'Gemfile.next']
       gem_name: "gitlab-backup-cli"
diff --git a/gems/gitlab-backup-cli/Gemfile b/gems/gitlab-backup-cli/Gemfile
index 9686e062c2f8594cd24250f139994da574c55289..e5418a25f45d868e38c57df1ba7b4617e146cf90 100644
--- a/gems/gitlab-backup-cli/Gemfile
+++ b/gems/gitlab-backup-cli/Gemfile
@@ -1,5 +1,9 @@
 # frozen_string_literal: true
 
+def next?
+  File.basename(__FILE__) == "Gemfile.next"
+end
+
 source "https://rubygems.org"
 
 # Specify your gem's dependencies in gitlab-backup-cli.gemspec
@@ -9,3 +13,9 @@ group :development, :test do
   gem 'gitlab-rspec', path: '../gitlab-rspec'
   gem 'pry'
 end
+
+if next?
+  gem 'activesupport', '~> 7.1.4'
+else
+  gem 'activesupport', '~> 7.0.8'
+end
diff --git a/gems/gitlab-backup-cli/Gemfile.lock b/gems/gitlab-backup-cli/Gemfile.lock
index c6cf54c92403fef4b98dbab6aa034e4d8d9878ee..a05c7d91ecd0de27ff18111a34299dbdbf4cdf83 100644
--- a/gems/gitlab-backup-cli/Gemfile.lock
+++ b/gems/gitlab-backup-cli/Gemfile.lock
@@ -10,7 +10,7 @@ PATH
   remote: .
   specs:
     gitlab-backup-cli (0.0.1)
-      activesupport (~> 7.0.8.4)
+      activesupport (>= 7)
       addressable (~> 2.8)
       concurrent-ruby (~> 1.1)
       faraday (~> 2)
@@ -196,6 +196,7 @@ PLATFORMS
   x86_64-linux
 
 DEPENDENCIES
+  activesupport (~> 7.0.8)
   factory_bot (~> 6.4.6)
   gitlab-backup-cli!
   gitlab-rspec!
diff --git a/gems/gitlab-backup-cli/Gemfile.next b/gems/gitlab-backup-cli/Gemfile.next
new file mode 120000
index 0000000000000000000000000000000000000000..6ab79009c0a374c4a9009595cb57f46476f36b38
--- /dev/null
+++ b/gems/gitlab-backup-cli/Gemfile.next
@@ -0,0 +1 @@
+Gemfile
\ No newline at end of file
diff --git a/gems/gitlab-backup-cli/Gemfile.next.lock b/gems/gitlab-backup-cli/Gemfile.next.lock
new file mode 100644
index 0000000000000000000000000000000000000000..2d51717079e0301223a201a8aeba056f4b3c9ca7
--- /dev/null
+++ b/gems/gitlab-backup-cli/Gemfile.next.lock
@@ -0,0 +1,239 @@
+PATH
+  remote: ../gitlab-rspec
+  specs:
+    gitlab-rspec (0.1.0)
+      activerecord (>= 6.1, < 8)
+      activesupport (>= 6.1, < 8)
+      rspec (~> 3.0)
+
+PATH
+  remote: .
+  specs:
+    gitlab-backup-cli (0.0.1)
+      activesupport (>= 7)
+      addressable (~> 2.8)
+      concurrent-ruby (~> 1.1)
+      faraday (~> 2)
+      google-cloud-storage_transfer (~> 1.2.0)
+      google-protobuf (~> 3.25, >= 3.25.3)
+      googleauth (~> 1.8.1)
+      grpc (= 1.63.0)
+      json (~> 2.7.2)
+      jwt (~> 2.5)
+      logger (~> 1.5.3)
+      minitest (~> 5.11.0)
+      parallel (~> 1.19)
+      rack (~> 2.2.9)
+      rainbow (~> 3.0)
+      rexml (~> 3.3.2)
+      thor (~> 1.3)
+
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activemodel (7.1.4)
+      activesupport (= 7.1.4)
+    activerecord (7.1.4)
+      activemodel (= 7.1.4)
+      activesupport (= 7.1.4)
+      timeout (>= 0.4.0)
+    activesupport (7.1.4)
+      base64
+      bigdecimal
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      connection_pool (>= 2.2.5)
+      drb
+      i18n (>= 1.6, < 2)
+      minitest (>= 5.1)
+      mutex_m
+      tzinfo (~> 2.0)
+    addressable (2.8.7)
+      public_suffix (>= 2.0.2, < 7.0)
+    ast (2.4.2)
+    base64 (0.2.0)
+    bigdecimal (3.1.8)
+    coderay (1.1.3)
+    concurrent-ruby (1.3.4)
+    connection_pool (2.4.1)
+    diff-lcs (1.5.1)
+    drb (2.2.1)
+    factory_bot (6.4.6)
+      activesupport (>= 5.0.0)
+    faraday (2.12.0)
+      faraday-net_http (>= 2.0, < 3.4)
+      json
+      logger
+    faraday-net_http (3.3.0)
+      net-http
+    faraday-retry (2.2.1)
+      faraday (~> 2.0)
+    gapic-common (0.20.0)
+      faraday (>= 1.9, < 3.a)
+      faraday-retry (>= 1.0, < 3.a)
+      google-protobuf (~> 3.14)
+      googleapis-common-protos (>= 1.3.12, < 2.a)
+      googleapis-common-protos-types (>= 1.3.1, < 2.a)
+      googleauth (~> 1.0)
+      grpc (~> 1.36)
+    gitlab-styles (11.0.0)
+      rubocop (~> 1.57.1)
+      rubocop-graphql (~> 0.18)
+      rubocop-performance (~> 1.15)
+      rubocop-rails (~> 2.17)
+      rubocop-rspec (~> 2.22)
+    google-cloud-core (1.7.1)
+      google-cloud-env (>= 1.0, < 3.a)
+      google-cloud-errors (~> 1.0)
+    google-cloud-env (2.2.0)
+      faraday (>= 1.0, < 3.a)
+    google-cloud-errors (1.4.0)
+    google-cloud-storage_transfer (1.2.0)
+      google-cloud-core (~> 1.6)
+      google-cloud-storage_transfer-v1 (>= 0.5, < 2.a)
+    google-cloud-storage_transfer-v1 (0.8.0)
+      gapic-common (>= 0.20.0, < 2.a)
+      google-cloud-errors (~> 1.0)
+    google-protobuf (3.25.5)
+    google-protobuf (3.25.5-aarch64-linux)
+    google-protobuf (3.25.5-arm64-darwin)
+    google-protobuf (3.25.5-x86-linux)
+    google-protobuf (3.25.5-x86_64-darwin)
+    google-protobuf (3.25.5-x86_64-linux)
+    googleapis-common-protos (1.6.0)
+      google-protobuf (>= 3.18, < 5.a)
+      googleapis-common-protos-types (~> 1.7)
+      grpc (~> 1.41)
+    googleapis-common-protos-types (1.16.0)
+      google-protobuf (>= 3.18, < 5.a)
+    googleauth (1.8.1)
+      faraday (>= 0.17.3, < 3.a)
+      jwt (>= 1.4, < 3.0)
+      multi_json (~> 1.11)
+      os (>= 0.9, < 2.0)
+      signet (>= 0.16, < 2.a)
+    grpc (1.63.0)
+      google-protobuf (~> 3.25)
+      googleapis-common-protos-types (~> 1.0)
+    grpc (1.63.0-aarch64-linux)
+      google-protobuf (~> 3.25)
+      googleapis-common-protos-types (~> 1.0)
+    grpc (1.63.0-arm64-darwin)
+      google-protobuf (~> 3.25)
+      googleapis-common-protos-types (~> 1.0)
+    grpc (1.63.0-x86-linux)
+      google-protobuf (~> 3.25)
+      googleapis-common-protos-types (~> 1.0)
+    grpc (1.63.0-x86_64-darwin)
+      google-protobuf (~> 3.25)
+      googleapis-common-protos-types (~> 1.0)
+    grpc (1.63.0-x86_64-linux)
+      google-protobuf (~> 3.25)
+      googleapis-common-protos-types (~> 1.0)
+    i18n (1.14.6)
+      concurrent-ruby (~> 1.0)
+    json (2.7.2)
+    jwt (2.9.1)
+      base64
+    language_server-protocol (3.17.0.3)
+    logger (1.5.3)
+    method_source (1.1.0)
+    minitest (5.11.3)
+    multi_json (1.15.0)
+    mutex_m (0.2.0)
+    net-http (0.4.1)
+      uri
+    os (1.1.4)
+    parallel (1.26.3)
+    parser (3.3.3.0)
+      ast (~> 2.4.1)
+      racc
+    pry (0.14.2)
+      coderay (~> 1.1)
+      method_source (~> 1.0)
+    public_suffix (6.0.1)
+    racc (1.8.1)
+    rack (2.2.9)
+    rainbow (3.1.1)
+    rake (13.2.1)
+    regexp_parser (2.9.2)
+    rexml (3.3.7)
+    rspec (3.13.0)
+      rspec-core (~> 3.13.0)
+      rspec-expectations (~> 3.13.0)
+      rspec-mocks (~> 3.13.0)
+    rspec-core (3.13.1)
+      rspec-support (~> 3.13.0)
+    rspec-expectations (3.13.3)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.13.0)
+    rspec-mocks (3.13.1)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.13.0)
+    rspec-support (3.13.1)
+    rubocop (1.57.2)
+      json (~> 2.3)
+      language_server-protocol (>= 3.17.0)
+      parallel (~> 1.10)
+      parser (>= 3.2.2.4)
+      rainbow (>= 2.2.2, < 4.0)
+      regexp_parser (>= 1.8, < 3.0)
+      rexml (>= 3.2.5, < 4.0)
+      rubocop-ast (>= 1.28.1, < 2.0)
+      ruby-progressbar (~> 1.7)
+      unicode-display_width (>= 2.4.0, < 3.0)
+    rubocop-ast (1.32.3)
+      parser (>= 3.3.1.0)
+    rubocop-capybara (2.21.0)
+      rubocop (~> 1.41)
+    rubocop-factory_bot (2.25.1)
+      rubocop (~> 1.41)
+    rubocop-graphql (0.19.0)
+      rubocop (>= 0.87, < 2)
+    rubocop-performance (1.22.1)
+      rubocop (>= 1.48.1, < 2.0)
+      rubocop-ast (>= 1.31.1, < 2.0)
+    rubocop-rails (2.26.2)
+      activesupport (>= 4.2.0)
+      rack (>= 1.1)
+      rubocop (>= 1.52.0, < 2.0)
+      rubocop-ast (>= 1.31.1, < 2.0)
+    rubocop-rspec (2.27.1)
+      rubocop (~> 1.40)
+      rubocop-capybara (~> 2.17)
+      rubocop-factory_bot (~> 2.22)
+    ruby-progressbar (1.13.0)
+    signet (0.19.0)
+      addressable (~> 2.8)
+      faraday (>= 0.17.5, < 3.a)
+      jwt (>= 1.5, < 3.0)
+      multi_json (~> 1.10)
+    thor (1.3.2)
+    timeout (0.4.1)
+    tzinfo (2.0.6)
+      concurrent-ruby (~> 1.0)
+    unicode-display_width (2.6.0)
+    uri (0.13.1)
+
+PLATFORMS
+  aarch64-linux
+  arm64-darwin
+  ruby
+  x86-linux
+  x86_64-darwin
+  x86_64-linux
+
+DEPENDENCIES
+  activesupport (~> 7.1.4)
+  factory_bot (~> 6.4.6)
+  gitlab-backup-cli!
+  gitlab-rspec!
+  gitlab-styles (~> 11.0)
+  parser (= 3.3.3.0)
+  pry
+  rake (~> 13.0)
+  rspec (~> 3.0)
+  rubocop-factory_bot (~> 2.25.1)
+  rubocop-rspec (~> 2.27.1)
+
+BUNDLED WITH
+   2.5.20
diff --git a/gems/gitlab-backup-cli/gitlab-backup-cli.gemspec b/gems/gitlab-backup-cli/gitlab-backup-cli.gemspec
index b3a22b76a685b61f2929ca81bae5b850b619c1fe..54eca6ff6bf8607f029ca0249c90d4ec0aff6261 100644
--- a/gems/gitlab-backup-cli/gitlab-backup-cli.gemspec
+++ b/gems/gitlab-backup-cli/gitlab-backup-cli.gemspec
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
   spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
   spec.require_paths = ["lib"]
 
-  spec.add_dependency "activesupport", "~> 7.0.8.4"
+  spec.add_dependency "activesupport", ">= 7"
   spec.add_dependency "googleauth", "~> 1.8.1" # https://gitlab.com/gitlab-org/gitlab/-/issues/449019
   spec.add_dependency "google-cloud-storage_transfer", "~> 1.2.0"
   spec.add_dependency "rainbow", "~> 3.0"