diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 475e2d957..f9bb078e7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,8 @@ jobs: fail-fast: false matrix: ruby: - - '2.7' - '3.0' + - '3.1' db: - mysql - postgresql diff --git a/.ruby-version b/.ruby-version index 9f55b2ccb..8c50098d8 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.0 +3.1 diff --git a/Changelog.md b/Changelog.md index 63ab89d67..c2299d85c 100644 --- a/Changelog.md +++ b/Changelog.md @@ -34,9 +34,9 @@ With this release, we switched from `unicorn` to `puma` to run our applications. We use yarn to install the frontend dependencies now, so you need to have that installed. See here for how to install it: https://yarnpkg.com/en/docs/install -## Suggested Ruby version: 3.0 +## Suggested Ruby version: 3.1 -We recommend setting up new pods using Ruby 3.0, and updating existing pods to this version as well. +We recommend setting up new pods using Ruby 3.1, and updating existing pods to this version as well. Ruby 2.7 is EOL and no longer supported. ## Refactor * Add bootstrapping for using ECMAScript 6 with automatic transpiling for compatibility [#7581](https://github.com/diaspora/diaspora/pull/7581) [#8397](https://github.com/diaspora/diaspora/pull/8397) @@ -53,7 +53,7 @@ We recommend setting up new pods using Ruby 3.0, and updating existing pods to t * Drop `strip_exif` flag and always remove exif data from uploaded images [#8417](https://github.com/diaspora/diaspora/pull/8417) * Replace `apparition` with `cuprite` [#8418](https://github.com/diaspora/diaspora/pull/8418) * Remove `i18n-inflector-rails` for translations [#8420](https://github.com/diaspora/diaspora/pull/8420) -* Add ruby 3.0 support [#8423](https://github.com/diaspora/diaspora/pull/8423) +* Add ruby 3.0 and 3.1 support [#8423](https://github.com/diaspora/diaspora/pull/8423) ## Bug fixes * Fix multiple photos upload progress bar [#7655](https://github.com/diaspora/diaspora/pull/7655) diff --git a/Gemfile b/Gemfile index 19e4592f4..93930b7e7 100644 --- a/Gemfile +++ b/Gemfile @@ -4,6 +4,11 @@ source "https://rubygems.org" gem "rails", "6.1.6.1" +# needed for actionmailer, can be removed when upgrading to rails 7 +gem "net-imap", require: false +gem "net-pop", require: false +gem "net-smtp", require: false + # Legacy Rails features, remove me! # responders (class level) gem "responders", "3.0.1" @@ -223,7 +228,7 @@ group :test do # Cucumber (integration tests) - gem "capybara", "3.35.3" + gem "capybara", "3.39.2" gem "cuprite", "0.14.3" gem "database_cleaner-active_record", "2.0.1" diff --git a/Gemfile.lock b/Gemfile.lock index d0fa1c499..23e5176a1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -90,7 +90,7 @@ GEM babel-source (>= 4.0, < 6) execjs (~> 2.0) bcrypt (3.1.18) - bindata (2.4.10) + bindata (2.4.15) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) @@ -98,8 +98,9 @@ GEM buftok (0.2.0) builder (3.2.4) byebug (11.1.3) - capybara (3.35.3) + capybara (3.39.2) addressable + matrix mini_mime (>= 0.1.3) nokogiri (~> 1.8) rack (>= 1.6.0) @@ -224,6 +225,7 @@ GEM fabrication (~> 2.29) uuid (~> 2.3, >= 2.3.8) diff-lcs (1.5.0) + digest (3.0.0) docile (1.4.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) @@ -366,6 +368,7 @@ GEM image_processing (1.12.2) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) + io-wait (0.2.0) jasmine (3.10.0) jasmine-core (~> 3.10.0) phantomjs @@ -386,15 +389,16 @@ GEM rails (>= 4.0, < 8.0) sprockets (>= 3.0.0) json (2.6.2) - json-jwt (1.13.0) + json-jwt (1.15.3) activesupport (>= 4.2) aes_key_wrap bindata + httpclient json-schema (3.0.0) addressable (>= 2.8) jsonpath (1.1.2) multi_json - jwt (2.4.1) + jwt (2.7.1) kostya-sigar (2.0.10) leaflet-rails (1.7.0) rails (>= 4.2.0) @@ -415,6 +419,7 @@ GEM mail (2.7.1) mini_mime (>= 0.1.1) marcel (1.0.2) + matrix (0.4.2) memoizable (0.4.2) thread_safe (~> 0.3, >= 0.3.1) method_source (1.0.0) @@ -423,7 +428,7 @@ GEM mime-types-data (3.2022.0105) mini_magick (4.11.0) mini_mime (1.1.2) - mini_portile2 (2.8.0) + mini_portile2 (2.8.2) minitest (5.15.0) mobile-fu (1.4.0) rack-mobile-detect @@ -434,6 +439,19 @@ GEM multipart-post (2.2.3) mysql2 (0.5.4) naught (1.1.0) + net-imap (0.1.1) + digest + net-protocol + strscan + net-pop (0.1.1) + digest + net-protocol + timeout + net-protocol (0.1.1) + io-wait + timeout + net-smtp (0.2.1) + net-protocol nio4r (2.5.8) nokogiri (1.13.7) mini_portile2 (~> 2.8.0) @@ -519,8 +537,8 @@ GEM puma (5.6.5) nio4r (~> 2.0) raabro (1.4.0) - racc (1.6.0) - rack (2.2.4) + racc (1.7.0) + rack (2.2.7) rack-cors (1.1.1) rack (>= 2.0.0) rack-google-analytics (1.2.0) @@ -540,7 +558,7 @@ GEM rack-rewrite (1.5.1) rack-ssl (1.4.1) rack - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) rails (6.1.6.1) actioncable (= 6.1.6.1) @@ -587,7 +605,7 @@ GEM ffi (~> 1.0) redcarpet (3.5.1) redis (4.7.0) - regexp_parser (2.5.0) + regexp_parser (2.8.1) request_store (1.5.1) rack (>= 1.4) responders (3.0.1) @@ -688,6 +706,7 @@ GEM ssrf_filter (1.1.1) state_machines (0.5.0) string-direction (1.2.2) + strscan (3.0.1) swd (1.3.0) activesupport (>= 3) attr_required (>= 0.0.5) @@ -705,6 +724,7 @@ GEM thread_safe (0.3.6) tilt (2.0.10) timecop (0.9.5) + timeout (0.1.1) timers (4.3.3) toml-rb (2.1.2) citrus (~> 3.0, > 3.0) @@ -780,7 +800,7 @@ DEPENDENCIES babel-transpiler (= 0.7.0) bootstrap-sass (= 3.4.1) bootstrap-switch-rails (= 3.3.3) - capybara (= 3.35.3) + capybara (= 3.39.2) carrierwave (= 2.2.4) chrome_remote (= 0.3.0) configurate (= 0.5.0) @@ -822,6 +842,9 @@ DEPENDENCIES minitest (= 5.15.0) mobile-fu (= 1.4.0) mysql2 (= 0.5.4) + net-imap + net-pop + net-smtp nokogiri (= 1.13.7) omniauth (= 2.1.0) omniauth-rails_csrf_protection (= 1.0.1) diff --git a/config/bundler_helper.rb b/config/bundler_helper.rb index 0f1174e1c..964565a89 100644 --- a/config/bundler_helper.rb +++ b/config/bundler_helper.rb @@ -27,11 +27,7 @@ module BundlerHelper return {} unless File.file?(path) - if YAML.respond_to?(:unsafe_load_file) - YAML.unsafe_load_file(path) - else - YAML.load_file(path) - end + YAML.safe_load_file(path, aliases: true) end private_class_method def self.parse_value_from_toml_file(file, key) diff --git a/docker/develop/Dockerfile b/docker/develop/Dockerfile index 6a0e93cda..ccf705ac9 100644 --- a/docker/develop/Dockerfile +++ b/docker/develop/Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/amd64/ruby:3.0-slim-bullseye +FROM docker.io/amd64/ruby:3.1-slim-bullseye RUN DEBIAN_FRONTEND=noninteractive \ apt-get update && \