From f5fff24e7f53df76d336f11546df4fa1c62dca13 Mon Sep 17 00:00:00 2001 From: Matt Brictson Date: Wed, 20 Nov 2024 15:36:21 -0800 Subject: [PATCH 01/10] Improve v3 docs regarding compatibility with vite_rails (#8548) Active Admin v3 can be used with the vite_rails gem, but the instructions for doing so are buried in a discussion comment. Also, using a modern build system like Vite will often lead to deprecation warnings due to the older color functions used in Active Admin's SCSS assets. To address these issues, I've made some small improvements to Active Admin's docs. Namely: - Add a vite_rails section to the installation document. - Mention the SCSS deprecation warnings in the "gotchas" document, with a workaround that specifically works with Vite. As discussed in , it would be great to solve the deprecation warnings rather than just hiding them, but that will require some significant refactoring, which can be a separate PR. In the meantime I wanted to improve the documentation to at least point users in the right direction. --- docs/0-installation.md | 11 +++++++++++ docs/14-gotchas.md | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/docs/0-installation.md b/docs/0-installation.md index 3140a72fadb..5df046f8f6a 100644 --- a/docs/0-installation.md +++ b/docs/0-installation.md @@ -136,6 +136,17 @@ You can **opt-in to using Webpacker for ActiveAdmin assets** as well by updating rails g active_admin:webpacker ``` +## vite_rails + +To use Active Admin with Vite, make sure the `@activeadmin/activeadmin` dependency is added to your `package.json` using e.g. Yarn: + +```sh +yarn add @activeadmin/activeadmin@^3 +``` + +Then follow the steps outlined in this discussion comment: https://github.com/activeadmin/activeadmin/discussions/7947#discussioncomment-5867902 + + [CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md [dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb [active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb diff --git a/docs/14-gotchas.md b/docs/14-gotchas.md index 071880f87c3..dc989714edd 100644 --- a/docs/14-gotchas.md +++ b/docs/14-gotchas.md @@ -76,6 +76,14 @@ one, you can do one of these things: * You can remove all `require_tree` commands from your root level css files, where the `active_admin.scss` is in the tree. +## Deprecation warnings with modern sass build tools + +Active Admin v3's SCSS is written for [sassc](https://rubygems.org/gems/sassc), which follows an older version of the SCSS specification. If you use a Node-based build system like esbuild, webpacker, or vite, you may encounter deprecation warnings for color functions like this when compiling assets: + +> DEPRECATION WARNING: lighten() is deprecated + +As a quick workaround, you may be able to silence these warnings by passing the `quietDeps` scss compilation option in your build system. With vite, follow these instructions: (note this requires installing the `sass-embedded` dependency). + ## Conflicts ### With gems that provides a `search` class method on a model From 856cfd4045427abdc6e0e77cf5b0c1e7350c1ebf Mon Sep 17 00:00:00 2001 From: Francesco Saltori Date: Mon, 25 Nov 2024 21:51:21 +0100 Subject: [PATCH 02/10] (Backport) Fix attributes passed to form has_many not being set on new record form items (#8551) Fix has_many custom attrs not being set on new record form items --- lib/active_admin/form_builder.rb | 11 ++++----- spec/unit/form_builder_spec.rb | 42 ++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/lib/active_admin/form_builder.rb b/lib/active_admin/form_builder.rb index 009e9d8e110..48c4676073b 100644 --- a/lib/active_admin/form_builder.rb +++ b/lib/active_admin/form_builder.rb @@ -95,7 +95,7 @@ def content_has_many(&block) contents = without_wrapper { inputs(options, &form_block) } contents ||= "".html_safe - js = new_record ? js_for_has_many(options[:class], &form_block) : "" + js = new_record ? js_for_has_many(&form_block) : "" contents << js end @@ -159,14 +159,13 @@ def without_wrapper end # Capture the ADD JS - def js_for_has_many(class_string, &form_block) + def js_for_has_many(&form_block) assoc_name = assoc_klass.model_name - placeholder = "NEW_#{assoc_name.to_s.underscore.upcase.gsub(/\//, '_')}_RECORD" - opts = { + placeholder = "NEW_#{assoc_name.to_s.underscore.upcase.tr('/', '_')}_RECORD" + opts = options.merge( for: [assoc, assoc_klass.new], - class: class_string, for_options: { child_index: placeholder } - } + ) html = template.capture { __getobj__.send(:inputs_for_nested_attributes, opts, &form_block) } text = new_record.is_a?(String) ? new_record : I18n.t("active_admin.has_many_new", model: assoc_name.human) diff --git a/spec/unit/form_builder_spec.rb b/spec/unit/form_builder_spec.rb index eba404e7685..4260af49ea2 100644 --- a/spec/unit/form_builder_spec.rb +++ b/spec/unit/form_builder_spec.rb @@ -648,6 +648,48 @@ def user end end + describe "with custom class" do + let :body do + build_form({ url: "/categories" }, Category.new) do |f| + f.object.posts.build + f.has_many :posts, class: 'myclass' do |p| + p.input :title + end + end + end + + it "should generate a fieldset with the given class" do + expect(body).to have_css(".has_many_container > fieldset.myclass") + end + + it "should add the custom class on the fieldset generated by the new record link" do + link = body.find(".has_many_container > a.has_many_add") + new_record_html = Capybara.string(link[:'data-html']) + expect(new_record_html).to have_css("fieldset.myclass") + end + end + + describe "with custom attributes" do + let :body do + build_form({ url: "/categories" }, Category.new) do |f| + f.object.posts.build + f.has_many :posts, attr: "value", data: { 'custom-attribute': "custom-value" } do |p| + p.input :title + end + end + end + + it "should generate a fieldset with the given custom attributes" do + expect(body).to have_css(".has_many_container > fieldset[attr='value'][data-custom-attribute='custom-value']") + end + + it "should add custom attributes on the fieldset generated by the new record link" do + link = body.find(".has_many_container > a.has_many_add") + new_record_html = Capybara.string(link[:'data-html']) + expect(new_record_html).to have_css("fieldset[attr='value'][data-custom-attribute='custom-value']") + end + end + describe "with allow destroy" do shared_examples_for "has many with allow_destroy = true" do |child_num| it "should render the nested form" do From d870d54545f104699f46ae02c4a518ae0665b0d7 Mon Sep 17 00:00:00 2001 From: Matias Grunberg Date: Sat, 4 Jan 2025 17:48:43 -0300 Subject: [PATCH 03/10] Backport test against Rails 8.0 (#8556) * backport 8500: test against rails 8.0 * Update dependencies - Downgrade zeitwerk to allow 3.1 - Use Ruby 3.0 to update Rails 7.0 and 7.1 dependencies ``` BUNDLE_GEMFILE=gemfiles/rails_70/Gemfile rvm use 3.0.7 do bash -c "bundle update && bundle update --bundler" BUNDLE_GEMFILE=gemfiles/rails_71/Gemfile rvm use 3.0.7 do bash -c "bundle update && bundle update --bundler" ``` * Use Struct instead of OpenStruct --------- Co-authored-by: Geremia Taglialatela --- .github/workflows/ci.yaml | 9 +- Gemfile | 2 +- Gemfile.lock | 292 ++++++++-------- docs/Gemfile.lock | 156 +++++---- gemfiles/rails_61/Gemfile | 3 + gemfiles/rails_61/Gemfile.lock | 233 ++++++------- gemfiles/rails_70/Gemfile | 3 + gemfiles/rails_70/Gemfile.lock | 219 ++++++------ gemfiles/rails_71/Gemfile | 3 + gemfiles/rails_71/Gemfile.lock | 280 ++++++++-------- gemfiles/rails_72/Gemfile | 62 ++++ gemfiles/rails_72/Gemfile.lock | 498 ++++++++++++++++++++++++++++ spec/support/rails_template.rb | 1 + spec/unit/views/pages/form_spec.rb | 2 +- spec/unit/views/pages/index_spec.rb | 2 +- tasks/bug_report_template.rb | 2 +- tasks/test_application.rb | 5 +- 17 files changed, 1185 insertions(+), 587 deletions(-) create mode 100644 gemfiles/rails_72/Gemfile create mode 100644 gemfiles/rails_72/Gemfile.lock diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5dbddfd3208..1316e4bf366 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,6 +25,7 @@ jobs: os: - ubuntu-latest deps: + - rails_80 - rails_72 - rails_71 - rails_70 @@ -33,16 +34,20 @@ jobs: - ruby: '3.0' os: ubuntu-latest deps: rails_71 + exclude: + - ruby: '3.1' + os: ubuntu-latest + deps: rails_80 steps: - uses: actions/checkout@v4 - name: Configure bundler (default) run: | echo "BUNDLE_GEMFILE=Gemfile" >> "$GITHUB_ENV" - if: matrix.deps == 'rails_72' + if: matrix.deps == 'rails_80' - name: Configure bundler (alternative) run: | echo "BUNDLE_GEMFILE=gemfiles/${{ matrix.deps }}/Gemfile" >> "$GITHUB_ENV" - if: matrix.deps != 'rails_72' + if: matrix.deps != 'rails_80' - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} diff --git a/Gemfile b/Gemfile index fd6ffbceb4c..61e080d8314 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ group :development, :test do gem "draper" gem "devise" - gem "rails", "~> 7.2.0" + gem "rails", "~> 8.0.0" gem "sprockets-rails" gem "sassc-rails" diff --git a/Gemfile.lock b/Gemfile.lock index 0031de9fa10..776d815fdfc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -15,71 +15,71 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.2.1) - actionpack (= 7.2.1) - activesupport (= 7.2.1) + actioncable (8.0.1) + actionpack (= 8.0.1) + activesupport (= 8.0.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.2.1) - actionpack (= 7.2.1) - activejob (= 7.2.1) - activerecord (= 7.2.1) - activestorage (= 7.2.1) - activesupport (= 7.2.1) + actionmailbox (8.0.1) + actionpack (= 8.0.1) + activejob (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) mail (>= 2.8.0) - actionmailer (7.2.1) - actionpack (= 7.2.1) - actionview (= 7.2.1) - activejob (= 7.2.1) - activesupport (= 7.2.1) + actionmailer (8.0.1) + actionpack (= 8.0.1) + actionview (= 8.0.1) + activejob (= 8.0.1) + activesupport (= 8.0.1) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.2.1) - actionview (= 7.2.1) - activesupport (= 7.2.1) + actionpack (8.0.1) + actionview (= 8.0.1) + activesupport (= 8.0.1) nokogiri (>= 1.8.5) - racc - rack (>= 2.2.4, < 3.2) + rack (>= 2.2.4) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (7.2.1) - actionpack (= 7.2.1) - activerecord (= 7.2.1) - activestorage (= 7.2.1) - activesupport (= 7.2.1) + actiontext (8.0.1) + actionpack (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.2.1) - activesupport (= 7.2.1) + actionview (8.0.1) + activesupport (= 8.0.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.2.1) - activesupport (= 7.2.1) + activejob (8.0.1) + activesupport (= 8.0.1) globalid (>= 0.3.6) - activemodel (7.2.1) - activesupport (= 7.2.1) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + activemodel (8.0.1) + activesupport (= 8.0.1) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.2.1) - activemodel (= 7.2.1) - activesupport (= 7.2.1) + activerecord (8.0.1) + activemodel (= 8.0.1) + activesupport (= 8.0.1) timeout (>= 0.4.0) - activestorage (7.2.1) - actionpack (= 7.2.1) - activejob (= 7.2.1) - activerecord (= 7.2.1) - activesupport (= 7.2.1) + activestorage (8.0.1) + actionpack (= 8.0.1) + activejob (= 8.0.1) + activerecord (= 8.0.1) + activesupport (= 8.0.1) marcel (~> 1.0) - activesupport (7.2.1) + activesupport (8.0.1) base64 + benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) @@ -89,6 +89,7 @@ GEM minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) arbre (1.7.0) @@ -97,7 +98,8 @@ GEM ast (2.4.2) base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + benchmark (0.4.0) + bigdecimal (3.1.9) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -117,7 +119,7 @@ GEM concurrent-ruby (1.3.4) connection_pool (2.4.1) crass (1.0.6) - csv (3.3.0) + csv (3.3.2) cucumber (9.2.0) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) @@ -142,11 +144,11 @@ GEM cucumber-html-formatter (21.7.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) - cucumber-rails (3.0.0) + cucumber-rails (3.1.0) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) - railties (>= 5.2, < 8) - cucumber-tag-expressions (6.1.0) + railties (>= 5.2, < 9) + cucumber-tag-expressions (6.1.1) cuprite (0.15.1) capybara (~> 3.0) ferrum (~> 0.15.0) @@ -154,7 +156,7 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.4) + date (3.4.1) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -171,20 +173,21 @@ GEM request_store (>= 1.0) ruby2_keywords drb (2.2.1) - erubi (1.13.0) - faraday (2.10.1) - faraday-net_http (>= 2.0, < 3.2) + erubi (1.13.1) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) + json logger - faraday-net_http (3.1.1) - net-http + faraday-net_http (3.4.0) + net-http (>= 0.5.0) ferrum (0.15) addressable (~> 2.5) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.1) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -193,9 +196,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.0) + highline (3.1.1) reline - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -214,8 +217,8 @@ GEM has_scope (>= 0.6) railties (>= 6.0) responders (>= 2) - io-console (0.7.2) - irb (1.14.0) + io-console (0.8.0) + irb (1.14.3) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -224,7 +227,7 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - json (2.7.2) + json (2.9.1) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -237,14 +240,14 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - kramdown (2.4.0) - rexml + kramdown (2.5.1) + rexml (>= 3.3.9) language_server-protocol (3.17.0.3) launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.0) - loofah (2.22.0) + logger (1.6.4) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -255,12 +258,12 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) - mini_portile2 (2.8.7) - minitest (5.25.1) + mini_portile2 (2.8.8) + minitest (5.25.4) multi_test (1.1.0) - net-http (0.4.1) + net-http (0.6.0) uri - net-imap (0.4.14) + net-imap (0.5.5) date net-protocol net-pop (0.1.2) @@ -270,65 +273,66 @@ GEM net-smtp (0.5.0) net-protocol netrc (0.11.0) - nio4r (2.7.3) - nokogiri (1.16.7) + nio4r (2.7.4) + nokogiri (1.18.1) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.18.1-x86_64-linux-gnu) racc (~> 1.4) - octokit (9.1.0) + octokit (9.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.7.1) + parallel_tests (4.8.0) parallel - parser (3.3.4.2) + parser (3.3.6.0) ast (~> 2.4.1) racc - psych (5.1.2) + psych (5.2.2) + date stringio public_suffix (6.0.1) - pundit (2.3.2) + pundit (2.4.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (3.1.7) - rack-session (2.0.0) + rack (3.1.8) + rack-session (2.1.0) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) - rackup (2.1.0) + rackup (2.2.1) rack (>= 3) - webrick (~> 1.8) - rails (7.2.1) - actioncable (= 7.2.1) - actionmailbox (= 7.2.1) - actionmailer (= 7.2.1) - actionpack (= 7.2.1) - actiontext (= 7.2.1) - actionview (= 7.2.1) - activejob (= 7.2.1) - activemodel (= 7.2.1) - activerecord (= 7.2.1) - activestorage (= 7.2.1) - activesupport (= 7.2.1) + rails (8.0.1) + actioncable (= 8.0.1) + actionmailbox (= 8.0.1) + actionmailer (= 8.0.1) + actionpack (= 8.0.1) + actiontext (= 8.0.1) + actionview (= 8.0.1) + activejob (= 8.0.1) + activemodel (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) bundler (>= 1.15.0) - railties (= 7.2.1) + railties (= 8.0.1) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + rails-i18n (8.0.1) i18n (>= 0.7, < 2) - railties (>= 6.0.0, < 8) - railties (7.2.1) - actionpack (= 7.2.1) - activesupport (= 7.2.1) + railties (>= 8.0.0, < 9) + railties (8.0.1) + actionpack (= 8.0.1) + activesupport (= 8.0.1) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -340,56 +344,54 @@ GEM activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.7.0) + rdoc (6.10.0) psych (>= 4.0.0) - regexp_parser (2.9.2) - reline (0.5.9) + regexp_parser (2.10.0) + reline (0.6.0) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.6) - strscan - rspec-core (3.13.0) + rexml (3.4.0) + rspec-core (3.13.2) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.4) - actionpack (>= 6.1) - activesupport (>= 6.1) - railties (>= 6.1) + rspec-rails (7.1.0) + actionpack (>= 7.0) + activesupport (>= 7.0) + railties (>= 7.0) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) - rubocop (1.65.1) + rspec-support (3.13.2) + rubocop (1.69.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.31.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.1) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.37.0) parser (>= 3.3.1.0) rubocop-packaging (0.5.2) rubocop (>= 1.33, < 2.0) - rubocop-rails (2.25.1) + rubocop-rails (2.28.0) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.33.0, < 2.0) + rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.0.4) + rubocop-rspec (3.3.0) rubocop (~> 1.61) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) @@ -404,7 +406,7 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - securerandom (0.3.1) + securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -412,7 +414,7 @@ GEM simplecov-cobertura (2.1.0) rexml simplecov (~> 0.19) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) sprockets (4.2.1) concurrent-ruby (~> 1.0) @@ -421,34 +423,34 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.0.4) + sqlite3 (2.5.0) mini_portile2 (~> 2.8.0) - sqlite3 (2.0.4-arm64-darwin) - sqlite3 (2.0.4-x86_64-linux-gnu) - stringio (3.1.1) - strscan (3.1.0) - sys-uname (1.3.0) + sqlite3 (2.5.0-arm64-darwin) + sqlite3 (2.5.0-x86_64-linux-gnu) + stringio (3.1.2) + sys-uname (1.3.1) ffi (~> 1.1) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (1.3.1) - tilt (2.4.0) - timeout (0.4.1) + thor (1.3.2) + tilt (2.5.0) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.5.0) - uri (0.13.0) - useragent (0.16.10) + unicode-display_width (2.6.0) + uri (1.0.2) + useragent (0.16.11) warden (1.2.9) rack (>= 2.0.9) - webrick (1.8.1) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.36) - zeitwerk (2.6.17) + yard (0.9.37) + zeitwerk (2.7.1) PLATFORMS arm64-darwin @@ -474,7 +476,7 @@ DEPENDENCIES octokit parallel_tests pundit - rails (~> 7.2.0) + rails (~> 8.0.0) rails-i18n rake ransack (>= 4.2.0) @@ -492,4 +494,4 @@ DEPENDENCIES yard BUNDLED WITH - 2.5.17 + 2.6.2 diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index 511371fc8c6..c59af4cfd22 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -1,57 +1,63 @@ GEM remote: https://rubygems.org/ specs: - activesupport (7.1.0) + activesupport (8.0.1) base64 + benchmark (>= 0.3) bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - addressable (2.8.5) - public_suffix (>= 2.0.2, < 6.0) - base64 (0.1.1) - bigdecimal (3.1.4) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.9) coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.11.1) + coffee-script-source (1.12.2) colorator (1.1.0) - commonmarker (0.23.10) - concurrent-ruby (1.2.2) + commonmarker (0.23.11) + concurrent-ruby (1.3.4) connection_pool (2.4.1) - dnsruby (1.70.0) + csv (3.3.2) + dnsruby (1.72.3) + base64 (~> 0.2.0) simpleidn (~> 0.2.1) - drb (2.1.1) - ruby2_keywords + drb (2.2.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) ethon (0.16.0) ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.9.1) - faraday (2.7.11) - base64 - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) - ffi (1.16.3) + execjs (2.10.0) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.0) + net-http (>= 0.5.0) + ffi (1.17.1) forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (228) - github-pages-health-check (= 1.17.9) - jekyll (= 3.9.3) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.4.0) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.15.1) + gemoji (4.1.0) + github-pages (232) + github-pages-health-check (= 1.18.2) + jekyll (= 3.10.0) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.5.1) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.13.0) + jekyll-github-metadata (= 2.16.1) jekyll-include-cache (= 0.2.1) jekyll-mentions (= 1.6.0) jekyll-optional-front-matter (= 0.3.2) @@ -78,30 +84,32 @@ GEM jekyll-theme-tactile (= 0.2.0) jekyll-theme-time-machine (= 0.2.0) jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.12.0) - kramdown (= 2.3.2) + jemoji (= 0.13.0) + kramdown (= 2.4.0) kramdown-parser-gfm (= 1.1.0) liquid (= 4.0.4) mercenary (~> 0.3) minima (= 2.5.1) - nokogiri (>= 1.13.6, < 2.0) - rouge (= 3.26.0) + nokogiri (>= 1.16.2, < 2.0) + rouge (= 3.30.0) terminal-table (~> 1.4) - github-pages-health-check (1.17.9) + webrick (~> 1.8) + github-pages-health-check (1.18.2) addressable (~> 2.3) dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (>= 3.0, < 5.0) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) typhoeus (~> 1.3) html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) - i18n (1.14.1) + i18n (1.14.6) concurrent-ruby (~> 1.0) - jekyll (3.9.3) + jekyll (3.10.0) addressable (~> 2.4) colorator (~> 1.0) + csv (~> 3.0) em-websocket (~> 0.5) i18n (>= 0.7, < 2) jekyll-sass-converter (~> 1.0) @@ -112,27 +120,28 @@ GEM pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-avatar (0.7.0) + webrick (>= 1.0) + jekyll-avatar (0.8.0) jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.1.1) + jekyll-coffeescript (1.2.2) coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) + coffee-script-source (~> 1.12) jekyll-commonmark (1.4.0) commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.4.0) - commonmarker (~> 0.23.7) - jekyll (~> 3.9.0) + jekyll-commonmark-ghpages (0.5.1) + commonmarker (>= 0.23.7, < 1.1.0) + jekyll (>= 3.9, < 4.0) jekyll-commonmark (~> 1.4.0) rouge (>= 2.0, < 5.0) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.15.1) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) - jekyll-github-metadata (2.13.0) + jekyll-github-metadata (2.16.1) jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) + octokit (>= 4, < 7, != 4.4.0) jekyll-include-cache (0.2.1) jekyll (>= 3.7, < 5.0) jekyll-mentions (1.6.0) @@ -203,27 +212,30 @@ GEM jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.12.0) - gemoji (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) - kramdown (2.3.2) + json (2.9.1) + kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.4) - listen (3.8.0) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.4) mercenary (0.3.6) - mini_portile2 (2.8.4) + mini_portile2 (2.8.8) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.20.0) - mutex_m (0.1.2) - nokogiri (1.15.4) + minitest (5.25.4) + net-http (0.6.0) + uri + nokogiri (1.18.1) mini_portile2 (~> 2.8.2) racc (~> 1.4) octokit (4.25.1) @@ -231,15 +243,14 @@ GEM sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.7) - racc (1.7.1) + public_suffix (5.1.1) + racc (1.8.1) rb-fsevent (0.11.2) - rb-inotify (0.10.1) + rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.2.6) - rouge (3.26.0) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) + rexml (3.4.0) + rouge (3.30.0) + rubyzip (2.4) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -249,18 +260,17 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - simpleidn (0.2.1) - unf (~> 0.1.4) + securerandom (0.4.1) + simpleidn (0.2.3) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) unicode-display_width (1.8.0) + uri (1.0.2) + webrick (1.9.1) PLATFORMS ruby @@ -269,4 +279,4 @@ DEPENDENCIES github-pages BUNDLED WITH - 2.4.13 + 2.6.2 diff --git a/gemfiles/rails_61/Gemfile b/gemfiles/rails_61/Gemfile index b2231ba20f9..4155e383b44 100644 --- a/gemfiles/rails_61/Gemfile +++ b/gemfiles/rails_61/Gemfile @@ -16,6 +16,9 @@ group :development, :test do gem "sprockets-rails" gem "sassc-rails" + + # FIXME: relax this dependency when Ruby 3.1 support will be dropped + gem "zeitwerk", "~> 2.6.18" end group :test do diff --git a/gemfiles/rails_61/Gemfile.lock b/gemfiles/rails_61/Gemfile.lock index 43e663103e9..2f61930a0bf 100644 --- a/gemfiles/rails_61/Gemfile.lock +++ b/gemfiles/rails_61/Gemfile.lock @@ -15,69 +15,69 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) + actioncable (6.1.7.10) + actionpack (= 6.1.7.10) + activesupport (= 6.1.7.10) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + actionmailbox (6.1.7.10) + actionpack (= 6.1.7.10) + activejob (= 6.1.7.10) + activerecord (= 6.1.7.10) + activestorage (= 6.1.7.10) + activesupport (= 6.1.7.10) mail (>= 2.7.1) - actionmailer (6.1.7.8) - actionpack (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activesupport (= 6.1.7.8) + actionmailer (6.1.7.10) + actionpack (= 6.1.7.10) + actionview (= 6.1.7.10) + activejob (= 6.1.7.10) + activesupport (= 6.1.7.10) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.8) - actionview (= 6.1.7.8) - activesupport (= 6.1.7.8) + actionpack (6.1.7.10) + actionview (= 6.1.7.10) + activesupport (= 6.1.7.10) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.8) - actionpack (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + actiontext (6.1.7.10) + actionpack (= 6.1.7.10) + activerecord (= 6.1.7.10) + activestorage (= 6.1.7.10) + activesupport (= 6.1.7.10) nokogiri (>= 1.8.5) - actionview (6.1.7.8) - activesupport (= 6.1.7.8) + actionview (6.1.7.10) + activesupport (= 6.1.7.10) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.8) - activesupport (= 6.1.7.8) + activejob (6.1.7.10) + activesupport (= 6.1.7.10) globalid (>= 0.3.6) - activemodel (6.1.7.8) - activesupport (= 6.1.7.8) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + activemodel (6.1.7.10) + activesupport (= 6.1.7.10) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (6.1.7.8) - activemodel (= 6.1.7.8) - activesupport (= 6.1.7.8) + activerecord (6.1.7.10) + activemodel (= 6.1.7.10) + activesupport (= 6.1.7.10) activerecord-jdbc-adapter (61.3-java) activerecord (~> 6.1.0) activerecord-jdbcsqlite3-adapter (61.3-java) activerecord-jdbc-adapter (= 61.3) jdbc-sqlite3 (~> 3.8) - activestorage (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activesupport (= 6.1.7.8) + activestorage (6.1.7.10) + actionpack (= 6.1.7.10) + activejob (= 6.1.7.10) + activerecord (= 6.1.7.10) + activesupport (= 6.1.7.10) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.8) + activesupport (6.1.7.10) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -89,10 +89,11 @@ GEM activesupport (>= 3.0.0) ruby2_keywords (>= 0.0.2) ast (2.4.2) + base64 (0.2.0) bcrypt (3.1.20) bcrypt (3.1.20-java) - bigdecimal (3.1.8) - bigdecimal (3.1.8-java) + bigdecimal (3.1.9) + bigdecimal (3.1.9-java) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -108,7 +109,7 @@ GEM logger (~> 1.5) concurrent-ruby (1.3.4) crass (1.0.6) - csv (3.3.0) + csv (3.3.2) cucumber (9.2.0) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) @@ -133,11 +134,11 @@ GEM cucumber-html-formatter (21.7.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) - cucumber-rails (3.0.0) + cucumber-rails (3.1.0) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) - railties (>= 5.2, < 8) - cucumber-tag-expressions (6.1.0) + railties (>= 5.2, < 9) + cucumber-tag-expressions (6.1.1) cuprite (0.15.1) capybara (~> 3.0) ferrum (~> 0.15.0) @@ -145,8 +146,8 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.4) - date (3.3.4-java) + date (3.4.1) + date (3.4.1-java) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -162,16 +163,16 @@ GEM activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - erubi (1.13.0) + erubi (1.13.1) ferrum (0.15) addressable (~> 2.5) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-java) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.1) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-java) + ffi (1.17.1-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -180,9 +181,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.0) + highline (3.1.1) reline - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -201,16 +202,16 @@ GEM has_scope (>= 0.6) railties (>= 6.0) responders (>= 2) - io-console (0.7.2) - io-console (0.7.2-java) + io-console (0.8.0) + io-console (0.8.0-java) iso (0.4.0) i18n - jdbc-sqlite3 (3.42.0.0) + jdbc-sqlite3 (3.46.1.1) jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jruby-openssl (0.15.0-java) + jruby-openssl (0.15.2-java) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -226,8 +227,8 @@ GEM launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.0) - loofah (2.22.0) + logger (1.6.4) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -239,10 +240,10 @@ GEM matrix (0.4.2) method_source (1.1.0) mini_mime (1.1.5) - mini_portile2 (2.8.7) - minitest (5.25.1) + mini_portile2 (2.8.8) + minitest (5.25.4) multi_test (1.1.0) - net-imap (0.4.14) + net-imap (0.5.5) date net-protocol net-pop (0.1.2) @@ -251,60 +252,60 @@ GEM timeout net-smtp (0.5.0) net-protocol - nio4r (2.7.3) - nio4r (2.7.3-java) - nokogiri (1.16.7) + nio4r (2.7.4) + nio4r (2.7.4-java) + nokogiri (1.18.1) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-java) + nokogiri (1.18.1-java) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.18.1-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.7.1) + parallel_tests (4.8.0) parallel - parser (3.3.4.2) + parser (3.3.6.0) ast (~> 2.4.1) racc public_suffix (6.0.1) - pundit (2.3.2) + pundit (2.4.0) activesupport (>= 3.0.0) racc (1.8.1) racc (1.8.1-java) - rack (2.2.9) - rack-test (2.1.0) + rack (2.2.10) + rack-test (2.2.0) rack (>= 1.3) - rails (6.1.7.8) - actioncable (= 6.1.7.8) - actionmailbox (= 6.1.7.8) - actionmailer (= 6.1.7.8) - actionpack (= 6.1.7.8) - actiontext (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activemodel (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + rails (6.1.7.10) + actioncable (= 6.1.7.10) + actionmailbox (= 6.1.7.10) + actionmailer (= 6.1.7.10) + actionpack (= 6.1.7.10) + actiontext (= 6.1.7.10) + actionview (= 6.1.7.10) + activejob (= 6.1.7.10) + activemodel (= 6.1.7.10) + activerecord (= 6.1.7.10) + activestorage (= 6.1.7.10) + activesupport (= 6.1.7.10) bundler (>= 1.15.0) - railties (= 6.1.7.8) + railties (= 6.1.7.10) sprockets-rails (>= 2.0.0) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) + railties (6.1.7.10) + actionpack (= 6.1.7.10) + activesupport (= 6.1.7.10) method_source rake (>= 12.2) thor (~> 1.0) @@ -314,25 +315,24 @@ GEM activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - regexp_parser (2.9.2) - reline (0.5.9) + regexp_parser (2.10.0) + reline (0.6.0) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.6) - strscan - rspec-core (3.13.0) + rexml (3.4.0) + rspec-core (3.13.2) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.4) + rspec-rails (6.1.5) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) @@ -340,7 +340,7 @@ GEM rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) + rspec-support (3.13.2) ruby2_keywords (0.0.5) sassc (2.4.0) ffi (~> 1.9) @@ -357,7 +357,7 @@ GEM simplecov-cobertura (2.1.0) rexml simplecov (~> 0.19) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) sprockets (4.2.1) concurrent-ruby (~> 1.0) @@ -370,29 +370,29 @@ GEM mini_portile2 (~> 2.8.0) sqlite3 (1.7.3-arm64-darwin) sqlite3 (1.7.3-x86_64-linux) - strscan (3.1.0) - strscan (3.1.0-java) - sys-uname (1.3.0) + sys-uname (1.3.1) ffi (~> 1.1) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (1.3.1) - tilt (2.4.0) - timeout (0.4.1) + thor (1.3.2) + tilt (2.5.0) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) warden (1.2.9) rack (>= 2.0.9) - webrick (1.8.1) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) - websocket-driver (0.7.6-java) + websocket-driver (0.7.7-java) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.17) + zeitwerk (2.6.18) PLATFORMS arm64-darwin @@ -427,6 +427,7 @@ DEPENDENCIES sprockets-rails sqlite3 (~> 1.7) webrick + zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.17 + 2.6.2 diff --git a/gemfiles/rails_70/Gemfile b/gemfiles/rails_70/Gemfile index 44397ee639e..68f480044de 100644 --- a/gemfiles/rails_70/Gemfile +++ b/gemfiles/rails_70/Gemfile @@ -14,6 +14,9 @@ group :development, :test do gem "sprockets-rails" gem "sassc-rails" + + # FIXME: relax this dependency when Ruby 3.1 support will be dropped + gem "zeitwerk", "~> 2.6.18" end group :test do diff --git a/gemfiles/rails_70/Gemfile.lock b/gemfiles/rails_70/Gemfile.lock index 22a2821458e..41e4bb4c7bb 100644 --- a/gemfiles/rails_70/Gemfile.lock +++ b/gemfiles/rails_70/Gemfile.lock @@ -15,71 +15,71 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) + actioncable (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + actionmailbox (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.4) - actionpack (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activesupport (= 7.0.8.4) + actionmailer (7.0.8.7) + actionpack (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.4) - actionview (= 7.0.8.4) - activesupport (= 7.0.8.4) + actionpack (7.0.8.7) + actionview (= 7.0.8.7) + activesupport (= 7.0.8.7) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.4) - actionpack (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + actiontext (7.0.8.7) + actionpack (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.4) - activesupport (= 7.0.8.4) + actionview (7.0.8.7) + activesupport (= 7.0.8.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8.4) - activesupport (= 7.0.8.4) + activejob (7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.3.6) - activemodel (7.0.8.4) - activesupport (= 7.0.8.4) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + activemodel (7.0.8.7) + activesupport (= 7.0.8.7) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.0.8.4) - activemodel (= 7.0.8.4) - activesupport (= 7.0.8.4) - activestorage (7.0.8.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activesupport (= 7.0.8.4) + activerecord (7.0.8.7) + activemodel (= 7.0.8.7) + activesupport (= 7.0.8.7) + activestorage (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activesupport (= 7.0.8.7) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.4) + activesupport (7.0.8.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -90,8 +90,9 @@ GEM activesupport (>= 3.0.0) ruby2_keywords (>= 0.0.2) ast (2.4.2) + base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + bigdecimal (3.1.9) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -107,7 +108,7 @@ GEM logger (~> 1.5) concurrent-ruby (1.3.4) crass (1.0.6) - csv (3.3.0) + csv (3.3.2) cucumber (9.2.0) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) @@ -132,11 +133,11 @@ GEM cucumber-html-formatter (21.7.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) - cucumber-rails (3.0.0) + cucumber-rails (3.1.0) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) - railties (>= 5.2, < 8) - cucumber-tag-expressions (6.1.0) + railties (>= 5.2, < 9) + cucumber-tag-expressions (6.1.1) cuprite (0.15.1) capybara (~> 3.0) ferrum (~> 0.15.0) @@ -144,7 +145,7 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.4) + date (3.4.1) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -160,15 +161,15 @@ GEM activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - erubi (1.13.0) + erubi (1.13.1) ferrum (0.15) addressable (~> 2.5) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.1) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -177,9 +178,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.0) + highline (3.1.1) reline - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -198,7 +199,7 @@ GEM has_scope (>= 0.6) railties (>= 6.0) responders (>= 2) - io-console (0.7.2) + io-console (0.8.0) iso (0.4.0) i18n jquery-rails (4.6.0) @@ -220,8 +221,8 @@ GEM launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.0) - loofah (2.22.0) + logger (1.6.4) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -233,10 +234,10 @@ GEM matrix (0.4.2) method_source (1.1.0) mini_mime (1.1.5) - mini_portile2 (2.8.7) - minitest (5.25.1) + mini_portile2 (2.8.8) + minitest (5.25.4) multi_test (1.1.0) - net-imap (0.4.14) + net-imap (0.4.18) date net-protocol net-pop (0.1.2) @@ -245,55 +246,55 @@ GEM timeout net-smtp (0.5.0) net-protocol - nio4r (2.7.3) - nokogiri (1.16.7) + nio4r (2.7.4) + nokogiri (1.17.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.17.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.17.2-x86_64-linux) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.7.1) + parallel_tests (4.8.0) parallel - parser (3.3.4.2) + parser (3.3.6.0) ast (~> 2.4.1) racc public_suffix (6.0.1) - pundit (2.3.2) + pundit (2.4.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (2.2.9) - rack-test (2.1.0) + rack (2.2.10) + rack-test (2.2.0) rack (>= 1.3) - rails (7.0.8.4) - actioncable (= 7.0.8.4) - actionmailbox (= 7.0.8.4) - actionmailer (= 7.0.8.4) - actionpack (= 7.0.8.4) - actiontext (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activemodel (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + rails (7.0.8.7) + actioncable (= 7.0.8.7) + actionmailbox (= 7.0.8.7) + actionmailer (= 7.0.8.7) + actionpack (= 7.0.8.7) + actiontext (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activemodel (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) bundler (>= 1.15.0) - railties (= 7.0.8.4) + railties (= 7.0.8.7) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.0.8.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) + railties (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) method_source rake (>= 12.2) thor (~> 1.0) @@ -304,33 +305,32 @@ GEM activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - regexp_parser (2.9.2) - reline (0.5.9) + regexp_parser (2.10.0) + reline (0.6.0) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.6) - strscan - rspec-core (3.13.0) + rexml (3.4.0) + rspec-core (3.13.2) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.4) - actionpack (>= 6.1) - activesupport (>= 6.1) - railties (>= 6.1) + rspec-rails (7.1.0) + actionpack (>= 7.0) + activesupport (>= 7.0) + railties (>= 7.0) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) + rspec-support (3.13.2) ruby2_keywords (0.0.5) sassc (2.4.0) ffi (~> 1.9) @@ -347,7 +347,7 @@ GEM simplecov-cobertura (2.1.0) rexml simplecov (~> 0.19) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) sprockets (4.2.1) concurrent-ruby (~> 1.0) @@ -360,26 +360,26 @@ GEM mini_portile2 (~> 2.8.0) sqlite3 (1.7.3-arm64-darwin) sqlite3 (1.7.3-x86_64-linux) - strscan (3.1.0) - sys-uname (1.3.0) + sys-uname (1.3.1) ffi (~> 1.1) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (1.3.1) - tilt (2.4.0) - timeout (0.4.1) + thor (1.3.2) + tilt (2.5.0) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) warden (1.2.9) rack (>= 2.0.9) - webrick (1.8.1) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.17) + zeitwerk (2.6.18) PLATFORMS arm64-darwin @@ -411,6 +411,7 @@ DEPENDENCIES sprockets-rails sqlite3 (~> 1.7) webrick + zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.17 + 2.5.23 diff --git a/gemfiles/rails_71/Gemfile b/gemfiles/rails_71/Gemfile index f25f1fe769d..13c769e330e 100644 --- a/gemfiles/rails_71/Gemfile +++ b/gemfiles/rails_71/Gemfile @@ -16,6 +16,9 @@ group :development, :test do gem "sassc-rails" gem "ransack", ">= 4.1.0" gem "formtastic", ">= 5.0.0" + + # FIXME: relax this dependency when Ruby 3.1 support will be dropped + gem "zeitwerk", "~> 2.6.18" end group :test do diff --git a/gemfiles/rails_71/Gemfile.lock b/gemfiles/rails_71/Gemfile.lock index 491378f7872..4b15e5f2f05 100644 --- a/gemfiles/rails_71/Gemfile.lock +++ b/gemfiles/rails_71/Gemfile.lock @@ -15,35 +15,35 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.1.4) - actionpack (= 7.1.4) - activesupport (= 7.1.4) + actioncable (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.4) - actionpack (= 7.1.4) - activejob (= 7.1.4) - activerecord (= 7.1.4) - activestorage (= 7.1.4) - activesupport (= 7.1.4) + actionmailbox (7.1.5.1) + actionpack (= 7.1.5.1) + activejob (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.4) - actionpack (= 7.1.4) - actionview (= 7.1.4) - activejob (= 7.1.4) - activesupport (= 7.1.4) + actionmailer (7.1.5.1) + actionpack (= 7.1.5.1) + actionview (= 7.1.5.1) + activejob (= 7.1.5.1) + activesupport (= 7.1.5.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.4) - actionview (= 7.1.4) - activesupport (= 7.1.4) + actionpack (7.1.5.1) + actionview (= 7.1.5.1) + activesupport (= 7.1.5.1) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -51,47 +51,50 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.4) - actionpack (= 7.1.4) - activerecord (= 7.1.4) - activestorage (= 7.1.4) - activesupport (= 7.1.4) + actiontext (7.1.5.1) + actionpack (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.4) - activesupport (= 7.1.4) + actionview (7.1.5.1) + activesupport (= 7.1.5.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.1.4) - activesupport (= 7.1.4) + activejob (7.1.5.1) + activesupport (= 7.1.5.1) globalid (>= 0.3.6) - activemodel (7.1.4) - activesupport (= 7.1.4) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + activemodel (7.1.5.1) + activesupport (= 7.1.5.1) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.1.4) - activemodel (= 7.1.4) - activesupport (= 7.1.4) + activerecord (7.1.5.1) + activemodel (= 7.1.5.1) + activesupport (= 7.1.5.1) timeout (>= 0.4.0) - activestorage (7.1.4) - actionpack (= 7.1.4) - activejob (= 7.1.4) - activerecord (= 7.1.4) - activesupport (= 7.1.4) + activestorage (7.1.5.1) + actionpack (= 7.1.5.1) + activejob (= 7.1.5.1) + activerecord (= 7.1.5.1) + activesupport (= 7.1.5.1) marcel (~> 1.0) - activesupport (7.1.4) + activesupport (7.1.5.1) base64 + benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) mutex_m + securerandom (>= 0.3) tzinfo (~> 2.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) @@ -101,7 +104,8 @@ GEM ast (2.4.2) base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + benchmark (0.4.0) + bigdecimal (3.1.9) builder (3.3.0) cancancan (3.6.1) capybara (3.40.0) @@ -121,7 +125,7 @@ GEM concurrent-ruby (1.3.4) connection_pool (2.4.1) crass (1.0.6) - csv (3.3.0) + csv (3.3.2) cucumber (9.2.0) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) @@ -146,11 +150,11 @@ GEM cucumber-html-formatter (21.7.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) - cucumber-rails (3.0.0) + cucumber-rails (3.1.0) capybara (>= 3.11, < 4) cucumber (>= 5, < 10) - railties (>= 5.2, < 8) - cucumber-tag-expressions (6.1.0) + railties (>= 5.2, < 9) + cucumber-tag-expressions (6.1.1) cuprite (0.15.1) capybara (~> 3.0) ferrum (~> 0.15.0) @@ -158,7 +162,7 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.4) + date (3.4.1) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -175,20 +179,21 @@ GEM request_store (>= 1.0) ruby2_keywords drb (2.2.1) - erubi (1.13.0) - faraday (2.10.1) - faraday-net_http (>= 2.0, < 3.2) + erubi (1.13.1) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) + json logger - faraday-net_http (3.1.1) - net-http + faraday-net_http (3.4.0) + net-http (>= 0.5.0) ferrum (0.15) addressable (~> 2.5) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.1) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-x86_64-linux-gnu) formtastic (5.0.0) actionpack (>= 6.0.0) formtastic_i18n (0.7.0) @@ -197,9 +202,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.0) + highline (3.1.1) reline - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -218,8 +223,8 @@ GEM has_scope (>= 0.6) railties (>= 6.0) responders (>= 2) - io-console (0.7.2) - irb (1.14.0) + io-console (0.8.0) + irb (1.14.3) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -228,7 +233,7 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - json (2.7.2) + json (2.9.1) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -241,14 +246,14 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - kramdown (2.4.0) - rexml + kramdown (2.5.1) + rexml (>= 3.3.9) language_server-protocol (3.17.0.3) launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.0) - loofah (2.22.0) + logger (1.6.4) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -259,13 +264,13 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) - mini_portile2 (2.8.7) - minitest (5.25.1) + mini_portile2 (2.8.8) + minitest (5.25.4) multi_test (1.1.0) - mutex_m (0.2.0) - net-http (0.4.1) + mutex_m (0.3.0) + net-http (0.6.0) uri - net-imap (0.4.14) + net-imap (0.4.18) date net-protocol net-pop (0.1.2) @@ -275,65 +280,66 @@ GEM net-smtp (0.5.0) net-protocol netrc (0.11.0) - nio4r (2.7.3) - nokogiri (1.16.7) + nio4r (2.7.4) + nokogiri (1.17.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.17.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.17.2-x86_64-linux) racc (~> 1.4) - octokit (9.1.0) + octokit (9.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.7.1) + parallel_tests (4.8.0) parallel - parser (3.3.4.2) + parser (3.3.6.0) ast (~> 2.4.1) racc - psych (5.1.2) + psych (5.2.2) + date stringio public_suffix (6.0.1) - pundit (2.3.2) + pundit (2.4.0) activesupport (>= 3.0.0) racc (1.8.1) - rack (3.1.7) - rack-session (2.0.0) + rack (3.1.8) + rack-session (2.1.0) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) - rackup (2.1.0) + rackup (2.2.1) rack (>= 3) - webrick (~> 1.8) - rails (7.1.4) - actioncable (= 7.1.4) - actionmailbox (= 7.1.4) - actionmailer (= 7.1.4) - actionpack (= 7.1.4) - actiontext (= 7.1.4) - actionview (= 7.1.4) - activejob (= 7.1.4) - activemodel (= 7.1.4) - activerecord (= 7.1.4) - activestorage (= 7.1.4) - activesupport (= 7.1.4) + rails (7.1.5.1) + actioncable (= 7.1.5.1) + actionmailbox (= 7.1.5.1) + actionmailer (= 7.1.5.1) + actionpack (= 7.1.5.1) + actiontext (= 7.1.5.1) + actionview (= 7.1.5.1) + activejob (= 7.1.5.1) + activemodel (= 7.1.5.1) + activerecord (= 7.1.5.1) + activestorage (= 7.1.5.1) + activesupport (= 7.1.5.1) bundler (>= 1.15.0) - railties (= 7.1.4) + railties (= 7.1.5.1) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.1.4) - actionpack (= 7.1.4) - activesupport (= 7.1.4) + railties (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) irb rackup (>= 1.0.0) rake (>= 12.2) @@ -345,56 +351,54 @@ GEM activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.7.0) + rdoc (6.10.0) psych (>= 4.0.0) - regexp_parser (2.9.2) - reline (0.5.9) + regexp_parser (2.10.0) + reline (0.6.0) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.6) - strscan - rspec-core (3.13.0) + rexml (3.4.0) + rspec-core (3.13.2) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.4) - actionpack (>= 6.1) - activesupport (>= 6.1) - railties (>= 6.1) + rspec-rails (7.1.0) + actionpack (>= 7.0) + activesupport (>= 7.0) + railties (>= 7.0) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) - rubocop (1.65.1) + rspec-support (3.13.2) + rubocop (1.69.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.31.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.1) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.37.0) parser (>= 3.3.1.0) rubocop-packaging (0.5.2) rubocop (>= 1.33, < 2.0) - rubocop-rails (2.25.1) + rubocop-rails (2.28.0) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.33.0, < 2.0) + rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.0.4) + rubocop-rspec (3.3.0) rubocop (~> 1.61) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) @@ -409,6 +413,7 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) + securerandom (0.3.2) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -416,7 +421,7 @@ GEM simplecov-cobertura (2.1.0) rexml simplecov (~> 0.19) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) sprockets (4.2.1) concurrent-ruby (~> 1.0) @@ -429,29 +434,29 @@ GEM mini_portile2 (~> 2.8.0) sqlite3 (2.0.4-arm64-darwin) sqlite3 (2.0.4-x86_64-linux-gnu) - stringio (3.1.1) - strscan (3.1.0) - sys-uname (1.3.0) + stringio (3.1.2) + sys-uname (1.3.1) ffi (~> 1.1) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (1.3.1) - tilt (2.4.0) - timeout (0.4.1) + thor (1.3.2) + tilt (2.5.0) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.5.0) - uri (0.13.0) + unicode-display_width (2.6.0) + uri (1.0.2) warden (1.2.9) rack (>= 2.0.9) - webrick (1.8.1) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.36) - zeitwerk (2.6.17) + yard (0.9.37) + zeitwerk (2.6.18) PLATFORMS arm64-darwin @@ -493,6 +498,7 @@ DEPENDENCIES sqlite3 webrick yard + zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.17 + 2.5.23 diff --git a/gemfiles/rails_72/Gemfile b/gemfiles/rails_72/Gemfile new file mode 100644 index 00000000000..b22fd94c918 --- /dev/null +++ b/gemfiles/rails_72/Gemfile @@ -0,0 +1,62 @@ +# frozen_string_literal: true +source "https://rubygems.org" + +group :development, :test do + gem "rake" + + gem "cancancan" + gem "pundit" + + gem "draper" + gem "devise" + + gem "rails", "~> 7.2.0" + + gem "sprockets-rails" + gem "sassc-rails" + gem "ransack", ">= 4.2.0" + gem "formtastic", ">= 5.0.0" + + # FIXME: relax this dependency when Ruby 3.1 support will be dropped + gem "zeitwerk", "~> 2.6.18" +end + +group :test do + gem "cuprite" + gem "capybara" + gem "webrick" + + gem "simplecov", require: false # Test coverage generator. Go to /coverage/ after running tests + gem "simplecov-cobertura", require: false + gem "cucumber-rails", require: false + gem "cucumber" + gem "database_cleaner-active_record" + gem "launchy" + gem "parallel_tests" + gem "rspec-rails" + gem "sqlite3", platform: :mri + + # Translations + gem "i18n-tasks" + gem "i18n-spec" + gem "rails-i18n" # Provides default i18n for many languages +end + +group :release do + gem "chandler" # Github releases from changelog + gem "octokit" +end + +group :rubocop do + gem "rubocop" + gem "rubocop-packaging" + gem "rubocop-rspec" + gem "rubocop-rails" +end + +group :docs do + gem "yard" # Documentation generator + gem "kramdown" # Markdown implementation (for yard) +end + +gemspec path: "../.." diff --git a/gemfiles/rails_72/Gemfile.lock b/gemfiles/rails_72/Gemfile.lock new file mode 100644 index 00000000000..e4219e69026 --- /dev/null +++ b/gemfiles/rails_72/Gemfile.lock @@ -0,0 +1,498 @@ +PATH + remote: ../.. + specs: + activeadmin (3.2.5) + arbre (~> 1.2, >= 1.2.1) + csv + formtastic (>= 3.1) + formtastic_i18n (>= 0.4) + inherited_resources (~> 1.7) + jquery-rails (>= 4.2) + kaminari (>= 1.2.1) + railties (>= 6.1) + ransack (>= 4.0) + +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + zeitwerk (~> 2.6) + actionmailbox (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) + actionmailer (7.2.2.1) + actionpack (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) + rails-dom-testing (~> 2.2) + actionpack (7.2.2.1) + actionview (= 7.2.2.1) + activesupport (= 7.2.2.1) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actiontext (7.2.2.1) + actionpack (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.2.2.1) + activesupport (= 7.2.2.1) + builder (~> 3.1) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.2.2.1) + activesupport (= 7.2.2.1) + globalid (>= 0.3.6) + activemodel (7.2.2.1) + activesupport (= 7.2.2.1) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) + builder (~> 3.1) + activerecord (7.2.2.1) + activemodel (= 7.2.2.1) + activesupport (= 7.2.2.1) + timeout (>= 0.4.0) + activestorage (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activesupport (= 7.2.2.1) + marcel (~> 1.0) + activesupport (7.2.2.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + arbre (1.7.0) + activesupport (>= 3.0.0) + ruby2_keywords (>= 0.0.2) + ast (2.4.2) + base64 (0.2.0) + bcrypt (3.1.20) + benchmark (0.4.0) + bigdecimal (3.1.9) + builder (3.3.0) + cancancan (3.6.1) + capybara (3.40.0) + addressable + matrix + mini_mime (>= 0.1.3) + nokogiri (~> 1.11) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + chandler (0.9.0) + netrc + octokit (>= 2.2.0) + childprocess (5.1.0) + logger (~> 1.5) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + crass (1.0.6) + csv (3.3.2) + cucumber (9.2.0) + builder (~> 3.2) + cucumber-ci-environment (> 9, < 11) + cucumber-core (> 13, < 14) + cucumber-cucumber-expressions (~> 17.0) + cucumber-gherkin (> 24, < 28) + cucumber-html-formatter (> 20.3, < 22) + cucumber-messages (> 19, < 25) + diff-lcs (~> 1.5) + mini_mime (~> 1.1) + multi_test (~> 1.1) + sys-uname (~> 1.2) + cucumber-ci-environment (10.0.1) + cucumber-core (13.0.3) + cucumber-gherkin (>= 27, < 28) + cucumber-messages (>= 20, < 23) + cucumber-tag-expressions (> 5, < 7) + cucumber-cucumber-expressions (17.1.0) + bigdecimal + cucumber-gherkin (27.0.0) + cucumber-messages (>= 19.1.4, < 23) + cucumber-html-formatter (21.7.0) + cucumber-messages (> 19, < 27) + cucumber-messages (22.0.0) + cucumber-rails (3.1.0) + capybara (>= 3.11, < 4) + cucumber (>= 5, < 10) + railties (>= 5.2, < 9) + cucumber-tag-expressions (6.1.1) + cuprite (0.15.1) + capybara (~> 3.0) + ferrum (~> 0.15.0) + database_cleaner-active_record (2.2.0) + activerecord (>= 5.a) + database_cleaner-core (~> 2.0.0) + database_cleaner-core (2.0.1) + date (3.4.1) + devise (4.9.4) + bcrypt (~> 3.0) + orm_adapter (~> 0.1) + railties (>= 4.1.0) + responders + warden (~> 1.2.3) + diff-lcs (1.5.1) + docile (1.4.1) + draper (4.0.2) + actionpack (>= 5.0) + activemodel (>= 5.0) + activemodel-serializers-xml (>= 1.0) + activesupport (>= 5.0) + request_store (>= 1.0) + ruby2_keywords + drb (2.2.1) + erubi (1.13.1) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.0) + net-http (>= 0.5.0) + ferrum (0.15) + addressable (~> 2.5) + concurrent-ruby (~> 1.1) + webrick (~> 1.7) + websocket-driver (~> 0.7) + ffi (1.17.1) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-x86_64-linux-gnu) + formtastic (5.0.0) + actionpack (>= 6.0.0) + formtastic_i18n (0.7.0) + globalid (1.2.1) + activesupport (>= 6.1) + has_scope (0.8.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + highline (3.1.1) + reline + i18n (1.14.6) + concurrent-ruby (~> 1.0) + i18n-spec (0.6.0) + iso + i18n-tasks (1.0.14) + activesupport (>= 4.0.2) + ast (>= 2.1.0) + erubi + highline (>= 2.0.0) + i18n + parser (>= 3.2.2.1) + rails-i18n + rainbow (>= 2.2.2, < 4.0) + terminal-table (>= 1.5.1) + inherited_resources (1.14.0) + actionpack (>= 6.0) + has_scope (>= 0.6) + railties (>= 6.0) + responders (>= 2) + io-console (0.8.0) + irb (1.14.3) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + iso (0.4.0) + i18n + jquery-rails (4.6.0) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) + json (2.9.1) + kaminari (1.2.2) + activesupport (>= 4.1.0) + kaminari-actionview (= 1.2.2) + kaminari-activerecord (= 1.2.2) + kaminari-core (= 1.2.2) + kaminari-actionview (1.2.2) + actionview + kaminari-core (= 1.2.2) + kaminari-activerecord (1.2.2) + activerecord + kaminari-core (= 1.2.2) + kaminari-core (1.2.2) + kramdown (2.5.1) + rexml (>= 3.3.9) + language_server-protocol (3.17.0.3) + launchy (3.0.1) + addressable (~> 2.8) + childprocess (~> 5.0) + logger (1.6.4) + loofah (2.24.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.4) + matrix (0.4.2) + mini_mime (1.1.5) + mini_portile2 (2.8.8) + minitest (5.25.4) + multi_test (1.1.0) + net-http (0.6.0) + uri + net-imap (0.5.5) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.0) + net-protocol + netrc (0.11.0) + nio4r (2.7.4) + nokogiri (1.18.1) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.18.1-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.1-x86_64-linux-gnu) + racc (~> 1.4) + octokit (9.2.0) + faraday (>= 1, < 3) + sawyer (~> 0.9) + orm_adapter (0.5.0) + parallel (1.26.3) + parallel_tests (4.8.0) + parallel + parser (3.3.6.0) + ast (~> 2.4.1) + racc + psych (5.2.2) + date + stringio + public_suffix (6.0.1) + pundit (2.4.0) + activesupport (>= 3.0.0) + racc (1.8.1) + rack (3.1.8) + rack-session (2.1.0) + base64 (>= 0.1.0) + rack (>= 3.0.0) + rack-test (2.2.0) + rack (>= 1.3) + rackup (2.2.1) + rack (>= 3) + rails (7.2.2.1) + actioncable (= 7.2.2.1) + actionmailbox (= 7.2.2.1) + actionmailer (= 7.2.2.1) + actionpack (= 7.2.2.1) + actiontext (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activemodel (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) + bundler (>= 1.15.0) + railties (= 7.2.2.1) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.2) + loofah (~> 2.21) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + rails-i18n (7.0.10) + i18n (>= 0.7, < 2) + railties (>= 6.0.0, < 8) + railties (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) + irb (~> 1.13) + rackup (>= 1.0.0) + rake (>= 12.2) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) + rainbow (3.1.1) + rake (13.2.1) + ransack (4.2.1) + activerecord (>= 6.1.5) + activesupport (>= 6.1.5) + i18n + rdoc (6.10.0) + psych (>= 4.0.0) + regexp_parser (2.10.0) + reline (0.6.0) + io-console (~> 0.5) + request_store (1.7.0) + rack (>= 1.4) + responders (3.1.1) + actionpack (>= 5.2) + railties (>= 5.2) + rexml (3.4.0) + rspec-core (3.13.2) + 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.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-rails (7.1.0) + actionpack (>= 7.0) + activesupport (>= 7.0) + railties (>= 7.0) + rspec-core (~> 3.13) + rspec-expectations (~> 3.13) + rspec-mocks (~> 3.13) + rspec-support (~> 3.13) + rspec-support (3.13.2) + rubocop (1.69.2) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.37.0) + parser (>= 3.3.1.0) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-rails (2.28.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (3.3.0) + rubocop (~> 1.61) + ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) + sassc (2.4.0) + ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + securerandom (0.4.1) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-cobertura (2.1.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) + sqlite3 (2.5.0) + mini_portile2 (~> 2.8.0) + sqlite3 (2.5.0-arm64-darwin) + sqlite3 (2.5.0-x86_64-linux-gnu) + stringio (3.1.2) + sys-uname (1.3.1) + ffi (~> 1.1) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + thor (1.3.2) + tilt (2.5.0) + timeout (0.4.3) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.6.0) + uri (1.0.2) + useragent (0.16.11) + warden (1.2.9) + rack (>= 2.0.9) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) + yard (0.9.37) + zeitwerk (2.6.18) + +PLATFORMS + arm64-darwin + ruby + x86_64-linux + +DEPENDENCIES + activeadmin! + cancancan + capybara + chandler + cucumber + cucumber-rails + cuprite + database_cleaner-active_record + devise + draper + formtastic (>= 5.0.0) + i18n-spec + i18n-tasks + kramdown + launchy + octokit + parallel_tests + pundit + rails (~> 7.2.0) + rails-i18n + rake + ransack (>= 4.2.0) + rspec-rails + rubocop + rubocop-packaging + rubocop-rails + rubocop-rspec + sassc-rails + simplecov + simplecov-cobertura + sprockets-rails + sqlite3 + webrick + yard + zeitwerk (~> 2.6.18) + +BUNDLED WITH + 2.6.2 diff --git a/spec/support/rails_template.rb b/spec/support/rails_template.rb index 85f7df8b490..1544635c280 100644 --- a/spec/support/rails_template.rb +++ b/spec/support/rails_template.rb @@ -4,6 +4,7 @@ create_file "app/assets/stylesheets/some-random-css.css" create_file "app/assets/javascripts/some-random-js.js" create_file "app/assets/images/a/favicon.ico" +create_file "app/assets/config/manifest.js" initial_timestamp = Time.now.strftime("%Y%m%d%H%M%S").to_i diff --git a/spec/unit/views/pages/form_spec.rb b/spec/unit/views/pages/form_spec.rb index 436480fd06e..e26e1bc5d87 100644 --- a/spec/unit/views/pages/form_spec.rb +++ b/spec/unit/views/pages/form_spec.rb @@ -16,7 +16,7 @@ end let(:arbre_context) do - OpenStruct.new(params: params, helpers: helpers, assigns: {}) + Struct.new(:params, :helpers, :assigns).new(params, helpers, {}) end context "when :title is set" do diff --git a/spec/unit/views/pages/index_spec.rb b/spec/unit/views/pages/index_spec.rb index 0f61e9eeffb..bd8c3058969 100644 --- a/spec/unit/views/pages/index_spec.rb +++ b/spec/unit/views/pages/index_spec.rb @@ -14,7 +14,7 @@ end let(:arbre_context) do - OpenStruct.new(params: params, helpers: helpers, assigns: {}) + Struct.new(:params, :helpers, :assigns).new(params, helpers, {}) end context "when config[:title] is assigned" do diff --git a/tasks/bug_report_template.rb b/tasks/bug_report_template.rb index 414f72cc182..1853a1fa38e 100644 --- a/tasks/bug_report_template.rb +++ b/tasks/bug_report_template.rb @@ -13,7 +13,7 @@ end # Change Rails version if necessary. - gem "rails", "~> 7.2.0" + gem "rails", "~> 8.0.0" gem "sprockets", "~> 3.7" gem "sassc-rails" diff --git a/tasks/test_application.rb b/tasks/test_application.rb index 7014d6bde5d..485adc0abbe 100644 --- a/tasks/test_application.rb +++ b/tasks/test_application.rb @@ -31,6 +31,9 @@ def generate --skip-test-unit --skip-coffee --skip-webpack-install + --skip-kamal + --skip-solid + --skip-thruster ) command = ["bundle", "exec", "rails", "new", app_dir, *args].join(" ") @@ -61,7 +64,7 @@ def base_dir end def app_name - return "rails_72" if main_app? + return "rails_80" if main_app? File.basename(File.dirname(gemfile)) end From c0749f5c8db902d060aa1c22657bea15a8f4f3d3 Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Sat, 4 Jan 2025 22:07:59 +0100 Subject: [PATCH 04/10] Backport Fix deprecation warning in Ruby 3.4 (#8593) (#8596) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix deprecation warning in Ruby 3.4 (#8593) After upgrade to Ruby 3.4, our test suite outputs the following warning: ``` lib/active_admin/inputs/filters/select_input.rb:19: warning: string returned by .to_s will be frozen in the future ``` Co-authored-by: Yvan BARTHÉLEMY <223016+ybart@users.noreply.github.com> --- lib/active_admin/inputs/filters/select_input.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/active_admin/inputs/filters/select_input.rb b/lib/active_admin/inputs/filters/select_input.rb index c950f78afa9..23c9a041022 100644 --- a/lib/active_admin/inputs/filters/select_input.rb +++ b/lib/active_admin/inputs/filters/select_input.rb @@ -15,9 +15,7 @@ def searchable_method_name if searchable_has_many_through? "#{reflection.through_reflection.name}_#{reflection.foreign_key}" else - name = method.to_s - name.concat "_#{reflection.association_primary_key}" if reflection_searchable? - name + reflection_searchable? ? "#{method}_#{reflection.association_primary_key}" : method.to_s end end From 8045939362af48c2a907d903346e120251f4ab01 Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Wed, 8 Jan 2025 23:12:41 +0100 Subject: [PATCH 05/10] Backport Fix circular require warning in belongs_to.rb (#8601) Fix circular require warning in belongs_to.rb When running specs with `RUBYOPTS='-w'`, numerous warnings are generated due to a circular require between: - `lib/active_admin/resource/belongs_to.rb` - `lib/active_admin/resource.rb` The warning message is: ``` warning: loading in progress, circular require considered harmful - ./lib/active_admin/resource.rb ``` Based on the code history, there is no specific reason for the inverse require from `belongs_to` to `resource`. This change removes the unnecessary require to eliminate the warnings. Backports #8598 to `3-0-stable` branch --- lib/active_admin/resource/belongs_to.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/active_admin/resource/belongs_to.rb b/lib/active_admin/resource/belongs_to.rb index 45d771c763f..b65503f6ba9 100644 --- a/lib/active_admin/resource/belongs_to.rb +++ b/lib/active_admin/resource/belongs_to.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require "active_admin/resource" module ActiveAdmin class Resource From 73b88e15ed7198cdca1af32addac855873db950a Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Tue, 28 Jan 2025 19:24:29 +0100 Subject: [PATCH 06/10] v3: Update dependencies and test against Ruby 3.4 (#8614) Update dependencies and test against Ruby 3.4 Additionally, in order to allow CI to run against all supported Ruby versions: - Lock net-imap to ~> 0.4.18 on Rails 6.1 - Lock nokogiri to ~> 1.17.2 on Rails 6.1 and Rails 7.0 - Lock securerandom to ~> 0.3.2 on Rails 6.1 and Rails 7.0 - Do not test Rails 7.1 against Ruby 3.0, change it to the oldest supported Rails version, 6.1 --- .github/workflows/ci.yaml | 9 ++++- Gemfile.lock | 50 +++++++++++++++------------- docs/Gemfile.lock | 14 ++++---- gemfiles/rails_61/Gemfile | 7 ++++ gemfiles/rails_61/Gemfile.lock | 38 ++++++++++++--------- gemfiles/rails_70/Gemfile | 6 ++++ gemfiles/rails_70/Gemfile.lock | 27 ++++++++------- gemfiles/rails_71/Gemfile.lock | 60 ++++++++++++++++++---------------- gemfiles/rails_72/Gemfile.lock | 50 +++++++++++++++------------- 9 files changed, 152 insertions(+), 109 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1316e4bf366..0504ff85033 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,6 +19,7 @@ jobs: fail-fast: false matrix: ruby: + - 3.4 - 3.3 - 3.2 - 3.1 @@ -33,11 +34,17 @@ jobs: include: - ruby: '3.0' os: ubuntu-latest - deps: rails_71 + deps: rails_61 exclude: - ruby: '3.1' os: ubuntu-latest deps: rails_80 + - ruby: '3.4' + os: ubuntu-latest + deps: rails_61 + - ruby: '3.4' + os: ubuntu-latest + deps: rails_70 steps: - uses: actions/checkout@v4 - name: Configure bundler (default) diff --git a/Gemfile.lock b/Gemfile.lock index 776d815fdfc..cf457707cb2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -116,11 +116,11 @@ GEM octokit (>= 2.2.0) childprocess (5.1.0) logger (~> 1.5) - concurrent-ruby (1.3.4) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.0) crass (1.0.6) csv (3.3.2) - cucumber (9.2.0) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -141,7 +141,7 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) + cucumber-html-formatter (21.8.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) cucumber-rails (3.1.0) @@ -196,9 +196,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -218,7 +218,8 @@ GEM railties (>= 6.0) responders (>= 2) io-console (0.8.0) - irb (1.14.3) + irb (1.15.1) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -242,11 +243,12 @@ GEM kaminari-core (1.2.2) kramdown (2.5.1) rexml (>= 3.3.9) - language_server-protocol (3.17.0.3) - launchy (3.0.1) + language_server-protocol (3.17.0.4) + launchy (3.1.0) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.4) + logger (~> 1.6) + logger (1.6.5) loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -271,27 +273,29 @@ GEM net-protocol (0.2.2) timeout net-smtp (0.5.0) - net-protocol netrc (0.11.0) nio4r (2.7.4) - nokogiri (1.18.1) + nokogiri (1.18.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.1-arm64-darwin) + nokogiri (1.18.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.1-x86_64-linux-gnu) + nokogiri (1.18.2-x86_64-linux-gnu) racc (~> 1.4) octokit (9.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.8.0) + parallel_tests (4.9.0) parallel - parser (3.3.6.0) + parser (3.3.7.0) ast (~> 2.4.1) racc - psych (5.2.2) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.3) date stringio public_suffix (6.0.1) @@ -344,7 +348,7 @@ GEM activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.10.0) + rdoc (6.11.0) psych (>= 4.0.0) regexp_parser (2.10.0) reline (0.6.0) @@ -372,7 +376,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.2) - rubocop (1.69.2) + rubocop (1.71.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -386,12 +390,12 @@ GEM parser (>= 3.3.1.0) rubocop-packaging (0.5.2) rubocop (>= 1.33, < 2.0) - rubocop-rails (2.28.0) + rubocop-rails (2.29.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.3.0) + rubocop-rspec (3.4.0) rubocop (~> 1.61) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) @@ -433,7 +437,7 @@ GEM terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.3.2) - tilt (2.5.0) + tilt (2.6.0) timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -494,4 +498,4 @@ DEPENDENCIES yard BUNDLED WITH - 2.6.2 + 2.6.3 diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index c59af4cfd22..6cf18c8a552 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -25,8 +25,8 @@ GEM coffee-script-source (1.12.2) colorator (1.1.0) commonmarker (0.23.11) - concurrent-ruby (1.3.4) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.0) csv (3.3.2) dnsruby (1.72.3) base64 (~> 0.2.0) @@ -104,7 +104,7 @@ GEM activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) jekyll (3.10.0) addressable (~> 2.4) @@ -225,7 +225,7 @@ GEM listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - logger (1.6.4) + logger (1.6.5) mercenary (0.3.6) mini_portile2 (2.8.8) minima (2.5.1) @@ -235,7 +235,7 @@ GEM minitest (5.25.4) net-http (0.6.0) uri - nokogiri (1.18.1) + nokogiri (1.18.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) octokit (4.25.1) @@ -250,7 +250,7 @@ GEM ffi (~> 1.0) rexml (3.4.0) rouge (3.30.0) - rubyzip (2.4) + rubyzip (2.4.1) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -279,4 +279,4 @@ DEPENDENCIES github-pages BUNDLED WITH - 2.6.2 + 2.6.3 diff --git a/gemfiles/rails_61/Gemfile b/gemfiles/rails_61/Gemfile index 4155e383b44..4e7f5b35248 100644 --- a/gemfiles/rails_61/Gemfile +++ b/gemfiles/rails_61/Gemfile @@ -17,6 +17,13 @@ group :development, :test do gem "sprockets-rails" gem "sassc-rails" + gem "concurrent-ruby", "1.3.4" # Ref: rails/rails#54260 + + # FIXME: relax these dependencies when Ruby 3.0 support will be dropped + gem "net-imap", "~> 0.4.18" + gem "nokogiri", "~> 1.17.2" + gem "securerandom", "~> 0.3.2" + # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "zeitwerk", "~> 2.6.18" end diff --git a/gemfiles/rails_61/Gemfile.lock b/gemfiles/rails_61/Gemfile.lock index 2f61930a0bf..20e0d769f34 100644 --- a/gemfiles/rails_61/Gemfile.lock +++ b/gemfiles/rails_61/Gemfile.lock @@ -110,7 +110,7 @@ GEM concurrent-ruby (1.3.4) crass (1.0.6) csv (3.3.2) - cucumber (9.2.0) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -131,7 +131,7 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) + cucumber-html-formatter (21.8.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) cucumber-rails (3.1.0) @@ -181,9 +181,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -211,7 +211,7 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jruby-openssl (0.15.2-java) + jruby-openssl (0.15.3-java) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -224,10 +224,11 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - launchy (3.0.1) + launchy (3.1.0) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.4) + logger (~> 1.6) + logger (1.6.5) loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -243,7 +244,7 @@ GEM mini_portile2 (2.8.8) minitest (5.25.4) multi_test (1.1.0) - net-imap (0.5.5) + net-imap (0.4.18) date net-protocol net-pop (0.1.2) @@ -254,20 +255,20 @@ GEM net-protocol nio4r (2.7.4) nio4r (2.7.4-java) - nokogiri (1.18.1) + nokogiri (1.17.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.1-arm64-darwin) + nokogiri (1.17.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.1-java) + nokogiri (1.17.2-java) racc (~> 1.4) - nokogiri (1.18.1-x86_64-linux-gnu) + nokogiri (1.17.2-x86_64-linux) racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.8.0) + parallel_tests (4.9.0) parallel - parser (3.3.6.0) + parser (3.3.7.0) ast (~> 2.4.1) racc public_suffix (6.0.1) @@ -350,6 +351,7 @@ GEM sprockets (> 3.0) sprockets-rails tilt + securerandom (0.3.2) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -375,7 +377,7 @@ GEM terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.3.2) - tilt (2.5.0) + tilt (2.6.0) timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -405,6 +407,7 @@ DEPENDENCIES activerecord-jdbcsqlite3-adapter cancancan capybara + concurrent-ruby (= 1.3.4) cucumber cucumber-rails cuprite @@ -415,6 +418,8 @@ DEPENDENCIES i18n-tasks jruby-openssl launchy + net-imap (~> 0.4.18) + nokogiri (~> 1.17.2) parallel_tests pundit rails (~> 6.1.0) @@ -422,6 +427,7 @@ DEPENDENCIES rake rspec-rails sassc-rails + securerandom (~> 0.3.2) simplecov simplecov-cobertura sprockets-rails @@ -430,4 +436,4 @@ DEPENDENCIES zeitwerk (~> 2.6.18) BUNDLED WITH - 2.6.2 + 2.5.23 diff --git a/gemfiles/rails_70/Gemfile b/gemfiles/rails_70/Gemfile index 68f480044de..faa5d0fdfc9 100644 --- a/gemfiles/rails_70/Gemfile +++ b/gemfiles/rails_70/Gemfile @@ -15,6 +15,12 @@ group :development, :test do gem "sprockets-rails" gem "sassc-rails" + gem "concurrent-ruby", "1.3.4" # Ref: rails/rails#54260 + + # FIXME: relax these dependencies when Ruby 3.0 support will be dropped + gem "nokogiri", "~> 1.17.2" + gem "securerandom", "~> 0.3.2" + # FIXME: relax this dependency when Ruby 3.1 support will be dropped gem "zeitwerk", "~> 2.6.18" end diff --git a/gemfiles/rails_70/Gemfile.lock b/gemfiles/rails_70/Gemfile.lock index 41e4bb4c7bb..bbade4aa209 100644 --- a/gemfiles/rails_70/Gemfile.lock +++ b/gemfiles/rails_70/Gemfile.lock @@ -109,7 +109,7 @@ GEM concurrent-ruby (1.3.4) crass (1.0.6) csv (3.3.2) - cucumber (9.2.0) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -130,7 +130,7 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) + cucumber-html-formatter (21.8.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) cucumber-rails (3.1.0) @@ -178,9 +178,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -218,10 +218,11 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - launchy (3.0.1) + launchy (3.1.0) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.4) + logger (~> 1.6) + logger (1.6.5) loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -237,7 +238,7 @@ GEM mini_portile2 (2.8.8) minitest (5.25.4) multi_test (1.1.0) - net-imap (0.4.18) + net-imap (0.5.5) date net-protocol net-pop (0.1.2) @@ -256,9 +257,9 @@ GEM racc (~> 1.4) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.8.0) + parallel_tests (4.9.0) parallel - parser (3.3.6.0) + parser (3.3.7.0) ast (~> 2.4.1) racc public_suffix (6.0.1) @@ -340,6 +341,7 @@ GEM sprockets (> 3.0) sprockets-rails tilt + securerandom (0.3.2) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -365,7 +367,7 @@ GEM terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.3.2) - tilt (2.5.0) + tilt (2.6.0) timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -390,6 +392,7 @@ DEPENDENCIES activeadmin! cancancan capybara + concurrent-ruby (= 1.3.4) cucumber cucumber-rails cuprite @@ -399,6 +402,7 @@ DEPENDENCIES i18n-spec i18n-tasks launchy + nokogiri (~> 1.17.2) parallel_tests pundit rails (~> 7.0.0) @@ -406,6 +410,7 @@ DEPENDENCIES rake rspec-rails sassc-rails + securerandom (~> 0.3.2) simplecov simplecov-cobertura sprockets-rails @@ -414,4 +419,4 @@ DEPENDENCIES zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.23 + 2.6.3 diff --git a/gemfiles/rails_71/Gemfile.lock b/gemfiles/rails_71/Gemfile.lock index 4b15e5f2f05..f830c9fb487 100644 --- a/gemfiles/rails_71/Gemfile.lock +++ b/gemfiles/rails_71/Gemfile.lock @@ -122,11 +122,11 @@ GEM octokit (>= 2.2.0) childprocess (5.1.0) logger (~> 1.5) - concurrent-ruby (1.3.4) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.0) crass (1.0.6) csv (3.3.2) - cucumber (9.2.0) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -147,7 +147,7 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) + cucumber-html-formatter (21.8.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) cucumber-rails (3.1.0) @@ -202,9 +202,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -224,7 +224,8 @@ GEM railties (>= 6.0) responders (>= 2) io-console (0.8.0) - irb (1.14.3) + irb (1.15.1) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -248,11 +249,12 @@ GEM kaminari-core (1.2.2) kramdown (2.5.1) rexml (>= 3.3.9) - language_server-protocol (3.17.0.3) - launchy (3.0.1) + language_server-protocol (3.17.0.4) + launchy (3.1.0) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.4) + logger (~> 1.6) + logger (1.6.5) loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -270,7 +272,7 @@ GEM mutex_m (0.3.0) net-http (0.6.0) uri - net-imap (0.4.18) + net-imap (0.5.5) date net-protocol net-pop (0.1.2) @@ -278,27 +280,29 @@ GEM net-protocol (0.2.2) timeout net-smtp (0.5.0) - net-protocol netrc (0.11.0) nio4r (2.7.4) - nokogiri (1.17.2) + nokogiri (1.18.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.17.2-arm64-darwin) + nokogiri (1.18.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.17.2-x86_64-linux) + nokogiri (1.18.2-x86_64-linux-gnu) racc (~> 1.4) octokit (9.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.8.0) + parallel_tests (4.9.0) parallel - parser (3.3.6.0) + parser (3.3.7.0) ast (~> 2.4.1) racc - psych (5.2.2) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.3) date stringio public_suffix (6.0.1) @@ -351,7 +355,7 @@ GEM activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.10.0) + rdoc (6.11.0) psych (>= 4.0.0) regexp_parser (2.10.0) reline (0.6.0) @@ -379,7 +383,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.2) - rubocop (1.69.2) + rubocop (1.71.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -393,12 +397,12 @@ GEM parser (>= 3.3.1.0) rubocop-packaging (0.5.2) rubocop (>= 1.33, < 2.0) - rubocop-rails (2.28.0) + rubocop-rails (2.29.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.3.0) + rubocop-rspec (3.4.0) rubocop (~> 1.61) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) @@ -413,7 +417,7 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - securerandom (0.3.2) + securerandom (0.4.1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -430,17 +434,17 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.0.4) + sqlite3 (2.5.0) mini_portile2 (~> 2.8.0) - sqlite3 (2.0.4-arm64-darwin) - sqlite3 (2.0.4-x86_64-linux-gnu) + sqlite3 (2.5.0-arm64-darwin) + sqlite3 (2.5.0-x86_64-linux-gnu) stringio (3.1.2) sys-uname (1.3.1) ffi (~> 1.1) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.3.2) - tilt (2.5.0) + tilt (2.6.0) timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -501,4 +505,4 @@ DEPENDENCIES zeitwerk (~> 2.6.18) BUNDLED WITH - 2.5.23 + 2.6.3 diff --git a/gemfiles/rails_72/Gemfile.lock b/gemfiles/rails_72/Gemfile.lock index e4219e69026..763edfabaf5 100644 --- a/gemfiles/rails_72/Gemfile.lock +++ b/gemfiles/rails_72/Gemfile.lock @@ -116,11 +116,11 @@ GEM octokit (>= 2.2.0) childprocess (5.1.0) logger (~> 1.5) - concurrent-ruby (1.3.4) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.0) crass (1.0.6) csv (3.3.2) - cucumber (9.2.0) + cucumber (9.2.1) builder (~> 3.2) cucumber-ci-environment (> 9, < 11) cucumber-core (> 13, < 14) @@ -141,7 +141,7 @@ GEM bigdecimal cucumber-gherkin (27.0.0) cucumber-messages (>= 19.1.4, < 23) - cucumber-html-formatter (21.7.0) + cucumber-html-formatter (21.8.0) cucumber-messages (> 19, < 27) cucumber-messages (22.0.0) cucumber-rails (3.1.0) @@ -196,9 +196,9 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - highline (3.1.1) + highline (3.1.2) reline - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n-spec (0.6.0) iso @@ -218,7 +218,8 @@ GEM railties (>= 6.0) responders (>= 2) io-console (0.8.0) - irb (1.14.3) + irb (1.15.1) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso (0.4.0) @@ -242,11 +243,12 @@ GEM kaminari-core (1.2.2) kramdown (2.5.1) rexml (>= 3.3.9) - language_server-protocol (3.17.0.3) - launchy (3.0.1) + language_server-protocol (3.17.0.4) + launchy (3.1.0) addressable (~> 2.8) childprocess (~> 5.0) - logger (1.6.4) + logger (~> 1.6) + logger (1.6.5) loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -271,27 +273,29 @@ GEM net-protocol (0.2.2) timeout net-smtp (0.5.0) - net-protocol netrc (0.11.0) nio4r (2.7.4) - nokogiri (1.18.1) + nokogiri (1.18.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.1-arm64-darwin) + nokogiri (1.18.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.1-x86_64-linux-gnu) + nokogiri (1.18.2-x86_64-linux-gnu) racc (~> 1.4) octokit (9.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) orm_adapter (0.5.0) parallel (1.26.3) - parallel_tests (4.8.0) + parallel_tests (4.9.0) parallel - parser (3.3.6.0) + parser (3.3.7.0) ast (~> 2.4.1) racc - psych (5.2.2) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.3) date stringio public_suffix (6.0.1) @@ -344,7 +348,7 @@ GEM activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n - rdoc (6.10.0) + rdoc (6.11.0) psych (>= 4.0.0) regexp_parser (2.10.0) reline (0.6.0) @@ -372,7 +376,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.2) - rubocop (1.69.2) + rubocop (1.71.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -386,12 +390,12 @@ GEM parser (>= 3.3.1.0) rubocop-packaging (0.5.2) rubocop (>= 1.33, < 2.0) - rubocop-rails (2.28.0) + rubocop-rails (2.29.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.3.0) + rubocop-rspec (3.4.0) rubocop (~> 1.61) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) @@ -433,7 +437,7 @@ GEM terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) thor (1.3.2) - tilt (2.5.0) + tilt (2.6.0) timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -495,4 +499,4 @@ DEPENDENCIES zeitwerk (~> 2.6.18) BUNDLED WITH - 2.6.2 + 2.6.3 From af926094d08f2f7bc653b5610fe37a236253db0d Mon Sep 17 00:00:00 2001 From: Matias Grunberg Date: Fri, 7 Mar 2025 22:51:49 -0300 Subject: [PATCH 07/10] Bump dependencies to match master (#8651) bump net-smtp to 0.5.1 --- Gemfile.lock | 3 ++- gemfiles/rails_61/Gemfile.lock | 2 +- gemfiles/rails_71/Gemfile.lock | 3 ++- gemfiles/rails_72/Gemfile.lock | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cf457707cb2..f2c25d46d75 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -272,7 +272,8 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) + net-protocol netrc (0.11.0) nio4r (2.7.4) nokogiri (1.18.2) diff --git a/gemfiles/rails_61/Gemfile.lock b/gemfiles/rails_61/Gemfile.lock index 20e0d769f34..354dfc8dd9a 100644 --- a/gemfiles/rails_61/Gemfile.lock +++ b/gemfiles/rails_61/Gemfile.lock @@ -251,7 +251,7 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) nio4r (2.7.4-java) diff --git a/gemfiles/rails_71/Gemfile.lock b/gemfiles/rails_71/Gemfile.lock index f830c9fb487..2e9b4a42d4f 100644 --- a/gemfiles/rails_71/Gemfile.lock +++ b/gemfiles/rails_71/Gemfile.lock @@ -279,7 +279,8 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) + net-protocol netrc (0.11.0) nio4r (2.7.4) nokogiri (1.18.2) diff --git a/gemfiles/rails_72/Gemfile.lock b/gemfiles/rails_72/Gemfile.lock index 763edfabaf5..8a62392e1ce 100644 --- a/gemfiles/rails_72/Gemfile.lock +++ b/gemfiles/rails_72/Gemfile.lock @@ -272,7 +272,8 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) + net-protocol netrc (0.11.0) nio4r (2.7.4) nokogiri (1.18.2) From 4042f2e235f5bc5024ff316fddab293f61ad4ada Mon Sep 17 00:00:00 2001 From: Matias Grunberg Date: Fri, 7 Mar 2025 23:41:02 -0300 Subject: [PATCH 08/10] Backport Support sortable argument in id_column (#8650) Support sortable argument in id_column This is mostly useful to prevent sorting on tables with uuid PKs. Sorting by uuid isn't very useful, and it can have problematic performance if the table is very large, even if there is an index. Backport https://github.com/activeadmin/activeadmin/pull/8639 --- lib/active_admin/views/index_as_table.rb | 4 +-- .../views/components/index_table_for_spec.rb | 33 ++++++++++++++++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/lib/active_admin/views/index_as_table.rb b/lib/active_admin/views/index_as_table.rb index 4394b7fedcd..b5bb9219003 100644 --- a/lib/active_admin/views/index_as_table.rb +++ b/lib/active_admin/views/index_as_table.rb @@ -291,9 +291,9 @@ def index_column(start_value = 1) end # Display a column for the id - def id_column + def id_column(sortable: resource_class.primary_key) raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key - column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource| + column(resource_class.human_attribute_name(resource_class.primary_key), sortable: sortable) do |resource| if controller.action_methods.include?("show") link_to resource.id, resource_path(resource), class: "resource_id_link" elsif controller.action_methods.include?("edit") diff --git a/spec/unit/views/components/index_table_for_spec.rb b/spec/unit/views/components/index_table_for_spec.rb index c26f39ce29c..1f7c418f04a 100644 --- a/spec/unit/views/components/index_table_for_spec.rb +++ b/spec/unit/views/components/index_table_for_spec.rb @@ -15,7 +15,8 @@ let(:assigns) do { collection: collection, - active_admin_config: active_admin_config + active_admin_config: active_admin_config, + resource_class: User, } end let(:helpers) { mock_action_view } @@ -44,6 +45,36 @@ end end + context "when creating an id column" do + before { allow(helpers).to receive(:url_for).and_return("routing_stub") } + + def build_index_table(&block) + render_arbre_component assigns, helpers do + insert_tag(ActiveAdmin::Views::IndexAsTable::IndexTableFor, collection, { sortable: true }) do + instance_exec(&block) + end + end + end + + it "is sortable by default" do + table = build_index_table { id_column } + header = table.find_by_tag("th").first + expect(header.attributes[:class]).to include("sortable") + end + + it "supports sortable: false" do + table = build_index_table { id_column sortable: false } + header = table.find_by_tag("th").first + expect(header.attributes[:class]).not_to include("sortable") + end + + it "supports sortable column names" do + table = build_index_table { id_column sortable: :created_at } + header = table.find_by_tag("th").first + expect(header.attributes[:class]).to include("sortable") + end + end + context "when creating an index column" do let(:base_collection) do posts = [ From 0a36dbe2199160ef2f7a8122fbd0246399f77e38 Mon Sep 17 00:00:00 2001 From: Matias Grunberg Date: Fri, 7 Mar 2025 23:57:37 -0300 Subject: [PATCH 09/10] Backport Support sortable argument in id_column (#8652) support title for id_column --- lib/active_admin/views/index_as_table.rb | 9 +++++++-- .../views/components/index_table_for_spec.rb | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/lib/active_admin/views/index_as_table.rb b/lib/active_admin/views/index_as_table.rb index b5bb9219003..bcfbf737f10 100644 --- a/lib/active_admin/views/index_as_table.rb +++ b/lib/active_admin/views/index_as_table.rb @@ -291,9 +291,14 @@ def index_column(start_value = 1) end # Display a column for the id - def id_column(sortable: resource_class.primary_key) + def id_column(*args) raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key - column(resource_class.human_attribute_name(resource_class.primary_key), sortable: sortable) do |resource| + + options = args.extract_options! + title = args[0].presence || resource_class.human_attribute_name(resource_class.primary_key) + sortable = options.fetch(:sortable, resource_class.primary_key) + + column(title, sortable: sortable) do |resource| if controller.action_methods.include?("show") link_to resource.id, resource_path(resource), class: "resource_id_link" elsif controller.action_methods.include?("edit") diff --git a/spec/unit/views/components/index_table_for_spec.rb b/spec/unit/views/components/index_table_for_spec.rb index 1f7c418f04a..90497ccaf63 100644 --- a/spec/unit/views/components/index_table_for_spec.rb +++ b/spec/unit/views/components/index_table_for_spec.rb @@ -56,6 +56,18 @@ def build_index_table(&block) end end + it "use primary key as title by default" do + table = build_index_table { id_column } + header = table.find_by_tag("th").first + expect(header.content).to include("Id") + end + + it "supports title customization" do + table = build_index_table { id_column "Res. Id" } + header = table.find_by_tag("th").first + expect(header.content).to include("Res. Id") + end + it "is sortable by default" do table = build_index_table { id_column } header = table.find_by_tag("th").first @@ -73,6 +85,13 @@ def build_index_table(&block) header = table.find_by_tag("th").first expect(header.attributes[:class]).to include("sortable") end + + it "supports title customization and options" do + table = build_index_table { id_column "Res. Id", sortable: :created_at } + header = table.find_by_tag("th").first + expect(header.content).to include("Res. Id") + expect(header.attributes[:class]).to include("sortable") + end end context "when creating an index column" do From edcfa52fbe7899636aba413899c66b3cfc65a149 Mon Sep 17 00:00:00 2001 From: Matias Grunberg Date: Sat, 8 Mar 2025 00:32:42 -0300 Subject: [PATCH 10/10] Get ready for 3.3.0 release (#8653) --- CHANGELOG.md | 25 +++++++++++++++++++++++++ Gemfile.lock | 2 +- gemfiles/rails_61/Gemfile.lock | 2 +- gemfiles/rails_70/Gemfile.lock | 2 +- gemfiles/rails_71/Gemfile.lock | 2 +- gemfiles/rails_72/Gemfile.lock | 2 +- lib/active_admin/version.rb | 2 +- package.json | 2 +- 8 files changed, 32 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7c3c94246b..ab0147402aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ ## Unreleased +## 3.3.0 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.5..v3.3.0) + +### Enhancements + +* Improve v3 docs regarding compatibility with vite_rails [#8548] by [@mattbrictson] +* Backport test against Rails 8.0 [#8556] by [@mgrunberg] and [@tagliala] +* Test against Ruby 3.4 [#8614] by [@tagliala] +* Backport Support sortable argument in id_column [#8650] by [@jaynetics] +* Backport Support title for id_column [#8652] by [@mgrunberg] + +### Bug Fixes + +* Backport Fix attributes passed to form has_many not being set on new record form items [#8551] by [@Fs00] +* Backport Fix deprecation warning in Ruby 3.4 [#8596] by [@tagliala] +* Backport Fix circular require warning in belongs_to.rb [#8601] by [@tagliala] + ## 3.2.5 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.4..v3.2.5) ### Enhancements @@ -960,6 +976,14 @@ Please check [0-6-stable] for previous changes. [#8468]: https://github.com/activeadmin/activeadmin/pull/8468 [#8469]: https://github.com/activeadmin/activeadmin/pull/8469 [#8470]: https://github.com/activeadmin/activeadmin/pull/8470 +[#8548]: https://github.com/activeadmin/activeadmin/pull/8548 +[#8551]: https://github.com/activeadmin/activeadmin/pull/8551 +[#8556]: https://github.com/activeadmin/activeadmin/pull/8556 +[#8596]: https://github.com/activeadmin/activeadmin/pull/8596 +[#8601]: https://github.com/activeadmin/activeadmin/pull/8601 +[#8614]: https://github.com/activeadmin/activeadmin/pull/8614 +[#8650]: https://github.com/activeadmin/activeadmin/pull/8650 +[#8652]: https://github.com/activeadmin/activeadmin/pull/8652 [@1000ship]: https://github.com/1000ship [@5t111111]: https://github.com/5t111111 @@ -1040,6 +1064,7 @@ Please check [0-6-stable] for previous changes. [@Looooong]: https://github.com/Looooong [@lubosch]: https://github.com/lubosch [@markstory]: https://github.com/markstory +[@mattbrictson]: https://github.com/mattbrictson [@mauriciopasquier]: https://github.com/mauriciopasquier [@mconiglio]: https://github.com/mconiglio [@mgrunberg]: https://github.com/mgrunberg diff --git a/Gemfile.lock b/Gemfile.lock index f2c25d46d75..79aaa35d31b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - activeadmin (3.2.5) + activeadmin (3.3.0) arbre (~> 1.2, >= 1.2.1) csv formtastic (>= 3.1) diff --git a/gemfiles/rails_61/Gemfile.lock b/gemfiles/rails_61/Gemfile.lock index 354dfc8dd9a..34233ea7002 100644 --- a/gemfiles/rails_61/Gemfile.lock +++ b/gemfiles/rails_61/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../.. specs: - activeadmin (3.2.5) + activeadmin (3.3.0) arbre (~> 1.2, >= 1.2.1) csv formtastic (>= 3.1) diff --git a/gemfiles/rails_70/Gemfile.lock b/gemfiles/rails_70/Gemfile.lock index bbade4aa209..14997e4fcb6 100644 --- a/gemfiles/rails_70/Gemfile.lock +++ b/gemfiles/rails_70/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../.. specs: - activeadmin (3.2.5) + activeadmin (3.3.0) arbre (~> 1.2, >= 1.2.1) csv formtastic (>= 3.1) diff --git a/gemfiles/rails_71/Gemfile.lock b/gemfiles/rails_71/Gemfile.lock index 2e9b4a42d4f..d45859e9044 100644 --- a/gemfiles/rails_71/Gemfile.lock +++ b/gemfiles/rails_71/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../.. specs: - activeadmin (3.2.5) + activeadmin (3.3.0) arbre (~> 1.2, >= 1.2.1) csv formtastic (>= 3.1) diff --git a/gemfiles/rails_72/Gemfile.lock b/gemfiles/rails_72/Gemfile.lock index 8a62392e1ce..a6d33b2bb8c 100644 --- a/gemfiles/rails_72/Gemfile.lock +++ b/gemfiles/rails_72/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../.. specs: - activeadmin (3.2.5) + activeadmin (3.3.0) arbre (~> 1.2, >= 1.2.1) csv formtastic (>= 3.1) diff --git a/lib/active_admin/version.rb b/lib/active_admin/version.rb index 9055a218fb9..29da4baecd9 100644 --- a/lib/active_admin/version.rb +++ b/lib/active_admin/version.rb @@ -1,4 +1,4 @@ # frozen_string_literal: true module ActiveAdmin - VERSION = "3.2.5" + VERSION = "3.3.0" end diff --git a/package.json b/package.json index f91bd4af0dc..597d99916f8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@activeadmin/activeadmin", - "version": "3.2.5", + "version": "3.3.0", "description": "The administration framework for Ruby on Rails.", "main": "app/assets/javascripts/active_admin/base.js", "type": "module",