diff --git a/Gemfile b/Gemfile index 949fe86d2..aeacf54ba 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' -ruby '>= 2.5.0', '< 3.1.0' +ruby '>= 2.5.0', '< 3.2.0' gem 'bundler', '>= 1.12.0' gem 'rails', '6.1.4.1' @@ -26,6 +26,12 @@ gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin] gem 'rotp' gem 'rqrcode' +unless Gem.ruby_version.release < Gem::Version.new('3.1.0') + gem 'net-smtp', '~> 0.3.0' + gem 'net-imap', '~> 0.2.2' + gem 'net-pop', '~> 0.1.1' +end + # Optional gem for LDAP authentication group :ldap do gem 'net-ldap', '~> 0.17.0' @@ -97,7 +103,7 @@ group :test do gem "ffi", platforms: [:mingw, :x64_mingw, :mswin] # For running system tests gem 'puma' - gem 'capybara', '~> 3.35.3' + gem 'capybara', (Gem.ruby_version < Gem::Version.new('2.6.0') ? '~> 3.35.3' : '~> 3.36.0') gem "selenium-webdriver", "~> 3.142.7" gem 'webdrivers', '4.6.1', require: false # RuboCop diff --git a/app/models/setting.rb b/app/models/setting.rb index dfa054028..35512d472 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -106,7 +106,7 @@ class Setting < ActiveRecord::Base v = read_attribute(:value) # Unserialize serialized settings if available_settings[name]['serialized'] && v.is_a?(String) - v = YAML::load(v) + v = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(v) : YAML.load(v) v = force_utf8_strings(v) end v = v.to_sym if available_settings[name]['format'] == 'symbol' && !v.blank? diff --git a/doc/INSTALL b/doc/INSTALL index c0d823b3e..716266dd9 100644 --- a/doc/INSTALL +++ b/doc/INSTALL @@ -7,7 +7,7 @@ http://www.redmine.org/ == Requirements -* Ruby 2.5, 2.6, 2.7, 3.0 +* Ruby 2.5, 2.6, 2.7, 3.1 * Bundler >= 1.12.0 * A database: