From 71ee4c11fd99004f32c1134ff5be22dbf97d406c Mon Sep 17 00:00:00 2001 From: Jonathon Date: Mon, 23 Sep 2024 10:59:13 +0100 Subject: [PATCH] Bump to Rails 7.1.4 --- Gemfile | 3 +- Gemfile.lock | 385 +++++++++++++--------- config/application.rb | 12 +- config/boot.rb | 2 +- config/environments/development.rb | 7 +- config/environments/production.rb | 9 +- config/environments/test.rb | 7 +- config/initializers/permissions_policy.rb | 18 +- config/mongoid.yml | 3 - 9 files changed, 266 insertions(+), 180 deletions(-) diff --git a/Gemfile b/Gemfile index 90eb1b09d..ad55fcf30 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" -gem "rails", "7.0.8.3" +gem "rails", "7.1.4" gem "aws-sdk-s3", "~> 1" gem "bootsnap", require: false @@ -38,6 +38,7 @@ gem "rails_autolink" gem "rest-client", require: false gem "select2-rails", "~> 3.5.9" # Updating this will mean updating the styling as 4 & > have a new approach to class names. gem "sentry-sidekiq" +gem "sidekiq", "~> 6.5.12" # Allowing version 7 while it is in beta is causing issues. Try again after it leaves beta. gem "sprockets-rails" gem "state_machines" gem "state_machines-mongoid" diff --git a/Gemfile.lock b/Gemfile.lock index 71a0b2365..36f909594 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,92 +8,101 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.3) - actionpack (= 7.0.8.3) - activesupport (= 7.0.8.3) + actioncable (7.1.4) + actionpack (= 7.1.4) + activesupport (= 7.1.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.3) - actionpack (= 7.0.8.3) - activejob (= 7.0.8.3) - activerecord (= 7.0.8.3) - activestorage (= 7.0.8.3) - activesupport (= 7.0.8.3) + 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) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.3) - actionpack (= 7.0.8.3) - actionview (= 7.0.8.3) - activejob (= 7.0.8.3) - activesupport (= 7.0.8.3) + actionmailer (7.1.4) + actionpack (= 7.1.4) + actionview (= 7.1.4) + activejob (= 7.1.4) + activesupport (= 7.1.4) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.8.3) - actionview (= 7.0.8.3) - activesupport (= 7.0.8.3) - rack (~> 2.0, >= 2.2.4) + rails-dom-testing (~> 2.2) + actionpack (7.1.4) + actionview (= 7.1.4) + activesupport (= 7.1.4) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.3) - actionpack (= 7.0.8.3) - activerecord (= 7.0.8.3) - activestorage (= 7.0.8.3) - activesupport (= 7.0.8.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) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.3) - activesupport (= 7.0.8.3) + actionview (7.1.4) + activesupport (= 7.1.4) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8.3) - activesupport (= 7.0.8.3) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.1.4) + activesupport (= 7.1.4) globalid (>= 0.3.6) - activemodel (7.0.8.3) - activesupport (= 7.0.8.3) - activerecord (7.0.8.3) - activemodel (= 7.0.8.3) - activesupport (= 7.0.8.3) - activestorage (7.0.8.3) - actionpack (= 7.0.8.3) - activejob (= 7.0.8.3) - activerecord (= 7.0.8.3) - activesupport (= 7.0.8.3) + activemodel (7.1.4) + activesupport (= 7.1.4) + activerecord (7.1.4) + activemodel (= 7.1.4) + activesupport (= 7.1.4) + timeout (>= 0.4.0) + activestorage (7.1.4) + actionpack (= 7.1.4) + activejob (= 7.1.4) + activerecord (= 7.1.4) + activesupport (= 7.1.4) marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.8.3) + activesupport (7.1.4) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) ansi (1.5.0) ast (2.4.2) - autoprefixer-rails (10.4.16.0) + autoprefixer-rails (10.4.19.0) execjs (~> 2) aws-eventstream (1.3.0) - aws-partitions (1.973.0) - aws-sdk-core (3.204.0) + aws-partitions (1.977.0) + aws-sdk-core (3.207.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.90.0) - aws-sdk-core (~> 3, >= 3.203.0) + aws-sdk-kms (1.92.0) + aws-sdk-core (~> 3, >= 3.207.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.161.0) - aws-sdk-core (~> 3, >= 3.203.0) + aws-sdk-s3 (1.164.0) + aws-sdk-core (~> 3, >= 3.207.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.9.1) + aws-sigv4 (1.10.0) aws-eventstream (~> 1, >= 1.0.2) base64 (0.2.0) better_html (2.1.1) @@ -112,9 +121,9 @@ GEM bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) - brakeman (6.1.2) + brakeman (6.2.1) racc - bson (4.15.0) + bson (5.0.1) builder (3.3.0) byebug (11.1.3) capybara (3.40.0) @@ -127,10 +136,12 @@ GEM regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) capybara-select-2 (0.5.1) - childprocess (5.0.0) + childprocess (5.1.0) + logger (~> 1.5) chronic (0.10.2) - ci_reporter (2.0.0) + ci_reporter (2.1.0) builder (>= 2.1.2) + rexml ci_reporter_minitest (1.0.0) ci_reporter (~> 2.0) minitest (~> 5.0) @@ -151,8 +162,9 @@ GEM mongoid date (3.3.4) diffy (3.4.2) - docile (1.4.0) + docile (1.4.1) domain_name (0.6.20240107) + drb (2.2.1) erb_lint (0.6.0) activesupport better_html (>= 2.0.1) @@ -163,21 +175,29 @@ GEM erubi (1.13.0) erubis (2.7.0) execjs (2.9.1) - factory_bot (6.4.6) + factory_bot (6.5.0) activesupport (>= 5.0.0) factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faker (3.4.1) + faker (3.4.2) i18n (>= 1.8.11, < 2) - faraday (2.9.0) - faraday-net_http (>= 2.0, < 3.2) - faraday-net_http (3.1.0) + faraday (2.12.0) + faraday-net_http (>= 2.0, < 3.4) + json + logger + faraday-net_http (3.3.0) net-http - ffi (1.17.0) ffi (1.17.0-aarch64-linux-gnu) + ffi (1.17.0-aarch64-linux-musl) + ffi (1.17.0-arm-linux-gnu) + ffi (1.17.0-arm-linux-musl) ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86-linux-gnu) + ffi (1.17.0-x86-linux-musl) + ffi (1.17.0-x86_64-darwin) ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.0-x86_64-linux-musl) flipflop (2.7.1) activesupport (>= 4.0) terminal-table (>= 1.8) @@ -198,19 +218,25 @@ GEM warden-oauth2 (~> 0.0.1) globalid (1.2.1) activesupport (>= 6.1) - google-protobuf (4.27.3) + google-protobuf (4.28.2) + bigdecimal + rake (>= 13) + google-protobuf (4.28.2-aarch64-linux) bigdecimal rake (>= 13) - google-protobuf (4.27.3-aarch64-linux) + google-protobuf (4.28.2-arm64-darwin) bigdecimal rake (>= 13) - google-protobuf (4.27.3-arm64-darwin) + google-protobuf (4.28.2-x86-linux) bigdecimal rake (>= 13) - google-protobuf (4.27.3-x86_64-linux) + google-protobuf (4.28.2-x86_64-darwin) bigdecimal rake (>= 13) - googleapis-common-protos-types (1.15.0) + google-protobuf (4.28.2-x86_64-linux) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.16.0) google-protobuf (>= 3.18, < 5.a) govspeak (8.3.4) actionview (>= 6) @@ -227,10 +253,10 @@ GEM jquery-rails (~> 4.3) plek (>= 2.1) rails (>= 6) - govuk_app_config (9.14.0) + govuk_app_config (9.14.1) logstasher (~> 2.1) - opentelemetry-exporter-otlp (>= 0.25, < 0.29) - opentelemetry-instrumentation-all (>= 0.39.1, < 0.63.0) + opentelemetry-exporter-otlp (>= 0.25, < 0.30) + opentelemetry-instrumentation-all (>= 0.39.1, < 0.65.0) opentelemetry-sdk (~> 1.2) plek (>= 4, < 6) prometheus_exporter (~> 2.0) @@ -242,7 +268,7 @@ GEM govuk_personalisation (1.0.0) plek (>= 1.9.0) rails (>= 6, < 8) - govuk_publishing_components (43.3.0) + govuk_publishing_components (43.4.1) govuk_app_config govuk_personalisation (>= 0.7.0) kramdown @@ -268,7 +294,7 @@ GEM has_scope (0.8.2) actionpack (>= 5.2) activesupport (>= 5.2) - hashdiff (1.1.0) + hashdiff (1.1.1) hashie (5.0.0) html2text (0.4.0) nokogiri (>= 1.0, < 2.0) @@ -276,13 +302,17 @@ GEM http-accept (1.7.0) http-cookie (1.0.7) domain_name (~> 0.5) - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) - inherited_resources (1.14.0) + inherited_resources (2.0.0) actionpack (>= 6.0) has_scope (>= 0.6) railties (>= 6.0) responders (>= 2) + io-console (0.7.2) + irb (1.14.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) jmespath (1.6.2) jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) @@ -291,9 +321,9 @@ GEM jquery-ui-rails (7.0.0) railties (>= 3.2.16) json (2.7.2) - json-schema (4.3.0) + json-schema (4.3.1) addressable (>= 2.8) - jwt (2.8.1) + jwt (2.9.0) base64 kaminari (1.2.2) activesupport (>= 4.1.0) @@ -317,6 +347,7 @@ GEM addressable (~> 2.8) childprocess (~> 5.0) link_header (0.0.8) + logger (1.6.1) logstasher (2.1.5) activesupport (>= 5.2) request_store @@ -340,10 +371,9 @@ GEM method_source (1.1.0) mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2024.0820) + mime-types-data (3.2024.0903) mini_mime (1.1.5) - mini_portile2 (2.8.7) - minitest (5.24.1) + minitest (5.25.1) minitest-reporters (1.7.1) ansi builder @@ -355,21 +385,22 @@ GEM ruby2_keywords (>= 0.0.5) momentjs-rails (2.29.4.1) railties (>= 3.1) - mongo (2.20.1) + mongo (2.21.0) bson (>= 4.14.1, < 6.0.0) - mongoid (8.1.2) - activemodel (>= 5.1, < 7.1, != 7.0.0) + mongoid (9.0.2) + activemodel (>= 5.1, < 7.3, != 7.0.0) concurrent-ruby (>= 1.0.5, < 2.0) mongo (>= 2.18.0, < 3.0.0) - ruby2_keywords (~> 0.0.5) mongoid-sadstory (0.0.2) mongoid mousetrap-rails (1.4.6) msgpack (1.7.2) - multi_xml (0.6.0) + multi_xml (0.7.1) + bigdecimal (~> 3.1) + mutex_m (0.2.0) net-http (0.4.1) uri - net-imap (0.4.14) + net-imap (0.4.16) date net-protocol net-pop (0.1.2) @@ -380,16 +411,19 @@ GEM net-protocol netrc (0.11.0) nio4r (2.7.3) - nokogiri (1.16.7) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) nokogiri (1.16.7-aarch64-linux) racc (~> 1.4) + nokogiri (1.16.7-arm-linux) + racc (~> 1.4) nokogiri (1.16.7-arm64-darwin) racc (~> 1.4) + nokogiri (1.16.7-x86-linux) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-darwin) + racc (~> 1.4) nokogiri (1.16.7-x86_64-linux) racc (~> 1.4) - notifications-ruby-client (6.0.0) + notifications-ruby-client (6.2.0) jwt (>= 1.5, < 3) null_logger (0.0.1) oauth2 (2.0.9) @@ -406,10 +440,10 @@ GEM omniauth-oauth2 (1.8.0) oauth2 (>= 1.4, < 3) omniauth (~> 2.0) - opentelemetry-api (1.3.0) + opentelemetry-api (1.4.0) opentelemetry-common (0.21.0) opentelemetry-api (~> 1.0) - opentelemetry-exporter-otlp (0.28.1) + opentelemetry-exporter-otlp (0.29.0) google-protobuf (>= 3.18) googleapis-common-protos-types (~> 1.3) opentelemetry-api (~> 1.1) @@ -419,7 +453,7 @@ GEM opentelemetry-helpers-mysql (0.1.1) opentelemetry-api (~> 1.0) opentelemetry-common (~> 0.21) - opentelemetry-helpers-sql-obfuscation (0.1.1) + opentelemetry-helpers-sql-obfuscation (0.2.0) opentelemetry-common (~> 0.21) opentelemetry-instrumentation-action_mailer (0.1.0) opentelemetry-api (~> 1.0) @@ -429,23 +463,23 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-rack (~> 0.21) - opentelemetry-instrumentation-action_view (0.7.1) + opentelemetry-instrumentation-action_view (0.7.3) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-active_support (~> 0.1) + opentelemetry-instrumentation-active_support (~> 0.6) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_job (0.7.4) + opentelemetry-instrumentation-active_job (0.7.7) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_model_serializers (0.20.2) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_record (0.7.2) + opentelemetry-instrumentation-active_record (0.7.4) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_support (0.6.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-all (0.62.1) + opentelemetry-instrumentation-all (0.64.0) opentelemetry-instrumentation-active_model_serializers (~> 0.20.1) opentelemetry-instrumentation-aws_lambda (~> 0.1.0) opentelemetry-instrumentation-aws_sdk (~> 0.5.0) @@ -464,9 +498,9 @@ GEM opentelemetry-instrumentation-koala (~> 0.20.1) opentelemetry-instrumentation-lmdb (~> 0.22.1) opentelemetry-instrumentation-mongo (~> 0.22.1) - opentelemetry-instrumentation-mysql2 (~> 0.27.0) + opentelemetry-instrumentation-mysql2 (~> 0.28.0) opentelemetry-instrumentation-net_http (~> 0.22.1) - opentelemetry-instrumentation-pg (~> 0.27.0) + opentelemetry-instrumentation-pg (~> 0.29.0) opentelemetry-instrumentation-que (~> 0.8.0) opentelemetry-instrumentation-racecar (~> 0.3.0) opentelemetry-instrumentation-rack (~> 0.24.0) @@ -479,14 +513,14 @@ GEM opentelemetry-instrumentation-ruby_kafka (~> 0.21.0) opentelemetry-instrumentation-sidekiq (~> 0.25.0) opentelemetry-instrumentation-sinatra (~> 0.24.0) - opentelemetry-instrumentation-trilogy (~> 0.59.0) + opentelemetry-instrumentation-trilogy (~> 0.60.0) opentelemetry-instrumentation-aws_lambda (0.1.1) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-aws_sdk (0.5.4) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-base (0.22.5) + opentelemetry-instrumentation-base (0.22.6) opentelemetry-api (~> 1.0) opentelemetry-common (~> 0.21) opentelemetry-registry (~> 0.1) @@ -536,7 +570,7 @@ GEM opentelemetry-instrumentation-mongo (0.22.4) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-mysql2 (0.27.2) + opentelemetry-instrumentation-mysql2 (0.28.0) opentelemetry-api (~> 1.0) opentelemetry-helpers-mysql opentelemetry-helpers-sql-obfuscation @@ -544,7 +578,7 @@ GEM opentelemetry-instrumentation-net_http (0.22.7) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-pg (0.27.4) + opentelemetry-instrumentation-pg (0.29.0) opentelemetry-api (~> 1.0) opentelemetry-helpers-sql-obfuscation opentelemetry-instrumentation-base (~> 0.22.1) @@ -557,7 +591,7 @@ GEM opentelemetry-instrumentation-rack (0.24.6) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-rails (0.31.1) + opentelemetry-instrumentation-rails (0.31.2) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-action_mailer (~> 0.1.0) opentelemetry-instrumentation-action_pack (~> 0.9.0) @@ -591,7 +625,7 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-rack (~> 0.21) - opentelemetry-instrumentation-trilogy (0.59.3) + opentelemetry-instrumentation-trilogy (0.60.0) opentelemetry-api (~> 1.0) opentelemetry-helpers-mysql opentelemetry-helpers-sql-obfuscation @@ -606,8 +640,8 @@ GEM opentelemetry-semantic_conventions opentelemetry-semantic_conventions (1.10.1) opentelemetry-api (~> 1.0) - parallel (1.25.1) - parser (3.3.3.0) + parallel (1.26.3) + parser (3.3.5.0) ast (~> 2.4.1) racc plek (5.2.0) @@ -615,14 +649,16 @@ GEM base64 prometheus_exporter (2.1.1) webrick - pry (0.14.1) + pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) pry-byebug (3.10.1) byebug (~> 11.0) pry (>= 0.13, < 0.15) + psych (5.1.2) + stringio public_suffix (6.0.1) - puma (6.4.2) + puma (6.4.3) nio4r (~> 2.0) racc (1.8.1) rack (2.2.9) @@ -631,22 +667,27 @@ GEM rack (~> 2.2, >= 2.2.4) rack-proxy (0.7.7) rack + rack-session (1.0.2) + rack (< 3) rack-test (2.1.0) rack (>= 1.3) - rails (7.0.8.3) - actioncable (= 7.0.8.3) - actionmailbox (= 7.0.8.3) - actionmailer (= 7.0.8.3) - actionpack (= 7.0.8.3) - actiontext (= 7.0.8.3) - actionview (= 7.0.8.3) - activejob (= 7.0.8.3) - activemodel (= 7.0.8.3) - activerecord (= 7.0.8.3) - activestorage (= 7.0.8.3) - activesupport (= 7.0.8.3) + rackup (1.0.0) + rack (< 3) + webrick + 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) bundler (>= 1.15.0) - railties (= 7.0.8.3) + railties (= 7.1.4) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -662,22 +703,27 @@ GEM actionview (> 3.1) activesupport (> 3.1) railties (> 3.1) - railties (7.0.8.3) - actionpack (= 7.0.8.3) - activesupport (= 7.0.8.3) - method_source + railties (7.1.4) + actionpack (= 7.1.4) + activesupport (= 7.1.4) + irb + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.2.1) + rdoc (6.7.0) + psych (>= 4.0.0) redis (4.8.1) redis-namespace (1.11.0) redis (>= 4) regexp_parser (2.9.2) + reline (0.5.10) + io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) - responders (3.1.0) + responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) rest-client (2.1.0) @@ -685,8 +731,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.3.6) - strscan + rexml (3.3.7) rinku (2.0.6) rouge (4.4.0) rubocop (1.64.1) @@ -725,23 +770,35 @@ GEM ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) rubyzip (2.3.2) - sanitize (6.1.0) + sanitize (6.1.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) - sass-embedded (1.77.8) - google-protobuf (~> 4.26) - rake (>= 13) - sass-embedded (1.77.8-aarch64-linux-gnu) - google-protobuf (~> 4.26) - sass-embedded (1.77.8-arm64-darwin) - google-protobuf (~> 4.26) - sass-embedded (1.77.8-x86_64-linux-gnu) - google-protobuf (~> 4.26) + sass-embedded (1.79.3-aarch64-linux-gnu) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-aarch64-linux-musl) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-arm-linux-gnueabihf) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-arm-linux-musleabihf) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-arm64-darwin) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86-linux-gnu) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86-linux-musl) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-darwin) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-linux-gnu) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-linux-musl) + google-protobuf (~> 4.27) sassc (2.4.0) ffi (~> 1.9) select2-rails (3.5.11) - selenium-webdriver (4.21.1) + selenium-webdriver (4.25.0) base64 (~> 0.2) + logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) @@ -768,7 +825,7 @@ GEM docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) smart_properties (1.17.0) snaky_hash (2.0.1) @@ -782,9 +839,9 @@ GEM activesupport (>= 6.1) sprockets (>= 3.0.0) state_machines (0.6.0) - state_machines-activemodel (0.8.0) - activemodel (>= 5.1) - state_machines (>= 0.5.0) + state_machines-activemodel (0.9.0) + activemodel (>= 6.0) + state_machines (>= 0.6.0) state_machines-graphviz (0.0.2) ruby-graphviz state_machines @@ -792,20 +849,20 @@ GEM mongoid (>= 4.0.0) state_machines-activemodel (>= 0.5.0) statsd-ruby (1.5.0) + stringio (3.1.1) strip_attributes (1.13.0) activemodel (>= 3.0, < 8.0) - strscan (3.1.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) terser (1.2.3) execjs (>= 0.3.0, < 3) - thor (1.3.1) + thor (1.3.2) timecop (0.9.10) timeout (0.4.1) 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 (0.13.1) version_gem (1.1.4) warden (1.2.9) rack (>= 2.0.9) @@ -816,7 +873,7 @@ GEM crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) webrick (1.8.1) - websocket (1.2.10) + websocket (1.2.11) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -824,13 +881,24 @@ GEM chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.17) + zeitwerk (2.6.18) PLATFORMS - aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm-linux + arm-linux-gnu + arm-linux-gnueabihf + arm-linux-musl + arm-linux-musleabihf arm64-darwin - ruby + x86-linux + x86-linux-gnu + x86-linux-musl + x86_64-darwin x86_64-linux + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES aws-sdk-s3 (~> 1) @@ -877,7 +945,7 @@ DEPENDENCIES prometheus-client pry-byebug rack - rails (= 7.0.8.3) + rails (= 7.1.4) rails-controller-testing rails_autolink rest-client @@ -885,6 +953,7 @@ DEPENDENCIES select2-rails (~> 3.5.9) sentry-sidekiq shoulda + sidekiq (~> 6.5.12) simplecov sprockets-rails state_machines @@ -897,4 +966,4 @@ DEPENDENCIES whenever BUNDLED WITH - 2.3.22 + 2.5.9 diff --git a/config/application.rb b/config/application.rb index 15257f6bf..98758b58a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -27,7 +27,17 @@ class Application < Rails::Application config.flipflop.raise_strategy_errors = nil # Initialize configuration defaults for originally generated Rails version. - config.load_defaults 7.0 + config.load_defaults 7.1 + + # Please, add to the `ignore` list any other `lib` subdirectories that do + # not contain `.rb` files, or that should not be reloaded or eager loaded. + # Common ones are `templates`, `generators`, or `middleware`, for example. + config.autoload_lib(ignore: %w[assets tasks]) + + # New autoload behaviour breaks how we initialise certain classes (e.g. State Class Reporter) + # so we need to enable this flag that disables the new optimisation (minimal impact). + # See https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#autoloaded-paths-are-no-longer-in-$load-path + config.add_autoload_paths_to_load_path = true # Configuration object for the fact check email fetch script # See `script/mail_fetcher` diff --git a/config/boot.rb b/config/boot.rb index 997563c2a..988a5ddc4 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,4 +1,4 @@ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) require "bundler/setup" # Set up gems listed in the Gemfile. -require "bootsnap/setup" +require "bootsnap/setup" # Speed up boot time by caching expensive operations. diff --git a/config/environments/development.rb b/config/environments/development.rb index d58f3d7cc..387f76081 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -14,7 +14,7 @@ # In the development environment your application's code is reloaded any time # it changes. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. - config.cache_classes = false + config.enable_reloading = true # Do not eager load code on boot. config.eager_load = false @@ -81,8 +81,11 @@ config.assets.raise_runtime_errors = true # Raises error for missing translations. - config.i18n.raise_on_missing_translations = true + # config.i18n.raise_on_missing_translations = true # Annotate rendered view with file names. config.action_view.annotate_rendered_view_with_filenames = true + + # Raise error when a before_action's only/except options reference missing actions + config.action_controller.raise_on_missing_callback_actions = true end diff --git a/config/environments/production.rb b/config/environments/production.rb index 5c8ae7619..baec989d7 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -16,8 +16,8 @@ config.consider_all_requests_local = false config.action_controller.perform_caching = true - # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] - # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). + # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment + # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files). # config.require_master_key = true # Disable serving static files from the `/public` folder by default since @@ -27,7 +27,7 @@ # Compress JavaScripts and CSS. config.assets.js_compressor = :terser - # Do not fallback to assets pipeline if a precompiled asset is missed. + # Do not fall back to assets pipeline if a precompiled asset is missed. config.assets.compile = false # Compress JavaScripts and CSS @@ -43,6 +43,9 @@ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX + # Assume all access to the app is happening through a SSL-terminating reverse proxy. + # Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies. + # config.assume_ssl = true # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. # config.force_ssl = true diff --git a/config/environments/test.rb b/config/environments/test.rb index 48266efd9..9e2298b3f 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -40,7 +40,7 @@ config.cache_store = :null_store # Raise exceptions instead of rendering exception templates. - config.action_dispatch.show_exceptions = false + config.action_dispatch.show_exceptions = :none # Disable request forgery protection in test environment. config.action_controller.allow_forgery_protection = false @@ -65,10 +65,13 @@ config.active_support.disallowed_deprecation_warnings = [] # Raises error for missing translations. - config.i18n.raise_on_missing_translations = true + # config.i18n.raise_on_missing_translations = true config.jwt_auth_secret = "123" # Annotate rendered view with file names. config.action_view.annotate_rendered_view_with_filenames = true + + # Raise error when a before_action's only/except options reference missing actions + config.action_controller.raise_on_missing_callback_actions = true end diff --git a/config/initializers/permissions_policy.rb b/config/initializers/permissions_policy.rb index 00f64d71b..2e7fd9e96 100644 --- a/config/initializers/permissions_policy.rb +++ b/config/initializers/permissions_policy.rb @@ -1,11 +1,11 @@ # Define an application-wide HTTP permissions policy. For further -# information see https://developers.google.com/web/updates/2018/06/feature-policy -# -# Rails.application.config.permissions_policy do |f| -# f.camera :none -# f.gyroscope :none -# f.microphone :none -# f.usb :none -# f.fullscreen :self -# f.payment :self, "https://secure.example.com" +# information see: https://developers.google.com/web/updates/2018/06/feature-policy + +# Rails.application.config.permissions_policy do |policy| +# policy.camera :none +# policy.gyroscope :none +# policy.microphone :none +# policy.usb :none +# policy.fullscreen :self +# policy.payment :self, "https://secure.example.com" # end diff --git a/config/mongoid.yml b/config/mongoid.yml index 6fb3116cf..2d7795039 100644 --- a/config/mongoid.yml +++ b/config/mongoid.yml @@ -4,7 +4,6 @@ development: default: uri: <%= ENV["MONGODB_URI"] || "mongodb://localhost/govuk_content_development" %> options: - use_activesupport_time_zone: true belongs_to_required_by_default: false test: @@ -16,7 +15,6 @@ test: mode: :primary max_pool_size: 1 options: - use_activesupport_time_zone: true belongs_to_required_by_default: false # set these environment variables on your prod server @@ -25,5 +23,4 @@ production: default: uri: <%= ENV['MONGODB_URI'] %> options: - use_activesupport_time_zone: true belongs_to_required_by_default: false