Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-railties-7.0 for openSUSE:Factory checked in at 2022-10-12 18:25:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-railties-7.0 (Old) and /work/SRC/openSUSE:Factory/.rubygem-railties-7.0.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-railties-7.0" Wed Oct 12 18:25:20 2022 rev:6 rq:1010078 version:7.0.4 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-railties-7.0/rubygem-railties-7.0.changes 2022-08-06 22:07:58.154623611 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-railties-7.0.new.2275/rubygem-railties-7.0.changes 2022-10-12 18:27:09.490015655 +0200 @@ -1,0 +2,33 @@ +Mon Oct 10 13:17:03 UTC 2022 - Stephan Kulow <co...@suse.com> + +updated to version 7.0.4 + see installed CHANGELOG.md + + ## Rails 7.0.4 (September 09, 2022) ## + + * `config.allow_concurrency = false` now use a `Monitor` instead of a `Mutex` + + This allows to enable `config.active_support.executor_around_test_case` even + when `config.allow_concurrency` is disabled. + + *Jean Boussier* + + * Skip Active Storage and Action Mailer if Active Job is skipped. + + *??tienne Barri??* + + * Correctly check if frameworks are disabled when running app:update. + + *??tienne Barri??* and *Paulo Barros* + + * Fixed `config.active_support.cache_format_version` never being applied. + + Rails 7.0 shipped with a new serializer for Rails.cache, but the associated config + wasn't working properly. Note that even after this fix, it can only be applied from + the `application.rb` file. + + *Alex Ghiculescu* + + + +------------------------------------------------------------------- Old: ---- railties-7.0.3.1.gem New: ---- railties-7.0.4.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-railties-7.0.spec ++++++ --- /var/tmp/diff_new_pack.tjvNBl/_old 2022-10-12 18:27:09.878016509 +0200 +++ /var/tmp/diff_new_pack.tjvNBl/_new 2022-10-12 18:27:09.882016518 +0200 @@ -24,7 +24,7 @@ # Name: rubygem-railties-7.0 -Version: 7.0.3.1 +Version: 7.0.4 Release: 0 %define mod_name railties %define mod_full_name %{mod_name}-%{version} ++++++ railties-7.0.3.1.gem -> railties-7.0.4.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2022-07-12 19:30:35.000000000 +0200 +++ new/CHANGELOG.md 2022-09-09 20:42:24.000000000 +0200 @@ -1,3 +1,29 @@ +## Rails 7.0.4 (September 09, 2022) ## + +* `config.allow_concurrency = false` now use a `Monitor` instead of a `Mutex` + + This allows to enable `config.active_support.executor_around_test_case` even + when `config.allow_concurrency` is disabled. + + *Jean Boussier* + +* Skip Active Storage and Action Mailer if Active Job is skipped. + + *??tienne Barri??* + +* Correctly check if frameworks are disabled when running app:update. + + *??tienne Barri??* and *Paulo Barros* + +* Fixed `config.active_support.cache_format_version` never being applied. + + Rails 7.0 shipped with a new serializer for Rails.cache, but the associated config + wasn't working properly. Note that even after this fix, it can only be applied from + the `application.rb` file. + + *Alex Ghiculescu* + + ## Rails 7.0.3.1 (July 12, 2022) ## * No changes. Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/app_updater.rb new/lib/rails/app_updater.rb --- old/lib/rails/app_updater.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/app_updater.rb 2022-09-09 20:42:24.000000000 +0200 @@ -21,10 +21,15 @@ private def generator_options options = { api: !!Rails.application.config.api_only, update: true } + options[:skip_active_job] = !defined?(ActiveJob::Railtie) options[:skip_active_record] = !defined?(ActiveRecord::Railtie) - options[:skip_active_storage] = !defined?(ActiveStorage::Engine) || !defined?(ActiveRecord::Railtie) + options[:skip_active_storage] = !defined?(ActiveStorage::Engine) options[:skip_action_mailer] = !defined?(ActionMailer::Railtie) + options[:skip_action_mailbox] = !defined?(ActionMailbox::Engine) + options[:skip_action_text] = !defined?(ActionText::Engine) options[:skip_action_cable] = !defined?(ActionCable::Engine) + options[:skip_test] = !defined?(Rails::TestUnitRailtie) + options[:skip_system_test] = Rails.application.config.generators.system_tests.nil? options[:skip_asset_pipeline] = !defined?(Sprockets::Railtie) && !defined?(Propshaft::Railtie) options[:skip_bootsnap] = !defined?(Bootsnap) options[:updating] = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/application/bootstrap.rb new/lib/rails/application/bootstrap.rb --- old/lib/rails/application/bootstrap.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/application/bootstrap.rb 2022-09-09 20:42:24.000000000 +0200 @@ -59,6 +59,9 @@ # Initialize cache early in the stack so railties can make use of it. initializer :initialize_cache, group: :all do + cache_format_version = config.active_support.delete(:cache_format_version) + ActiveSupport.cache_format_version = cache_format_version if cache_format_version + unless Rails.cache Rails.cache = ActiveSupport::Cache.lookup_store(*config.cache_store) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/application/configuration.rb new/lib/rails/application/configuration.rb --- old/lib/rails/application/configuration.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/application/configuration.rb 2022-09-09 20:42:24.000000000 +0200 @@ -334,8 +334,14 @@ config = if yaml&.exist? loaded_yaml = ActiveSupport::ConfigurationFile.parse(yaml) if (shared = loaded_yaml.delete("shared")) - loaded_yaml.each do |_k, values| - values.reverse_merge!(shared) + loaded_yaml.each do |env, config| + if config.is_a?(Hash) && config.values.all?(Hash) + config.map do |name, sub_config| + sub_config.reverse_merge!(shared) + end + else + config.reverse_merge!(shared) + end end end Hash.new(shared).merge(loaded_yaml) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/application/default_middleware_stack.rb new/lib/rails/application/default_middleware_stack.rb --- old/lib/rails/application/default_middleware_stack.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/application/default_middleware_stack.rb 2022-09-09 20:42:24.000000000 +0200 @@ -81,6 +81,21 @@ middleware.use ::Rack::ETag, "no-cache" middleware.use ::Rack::TempfileReaper unless config.api_only + + if config.respond_to?(:active_record) + if selector_options = config.active_record.database_selector + resolver = config.active_record.database_resolver + context = config.active_record.database_resolver_context + + middleware.use ::ActiveRecord::Middleware::DatabaseSelector, resolver, context, selector_options + end + + if shard_resolver = config.active_record.shard_resolver + options = config.active_record.shard_selector || {} + + middleware.use ::ActiveRecord::Middleware::ShardSelector, shard_resolver, options + end + end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/application/finisher.rb new/lib/rails/application/finisher.rb --- old/lib/rails/application/finisher.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/application/finisher.rb 2022-09-09 20:42:24.000000000 +0200 @@ -87,21 +87,21 @@ ActiveSupport.run_load_hooks(:after_initialize, self) end - class MutexHook - def initialize(mutex = Mutex.new) - @mutex = mutex + class MonitorHook # :nodoc: + def initialize(monitor = Monitor.new) + @monitor = monitor end def run - @mutex.lock + @monitor.enter end def complete(_state) - @mutex.unlock + @monitor.exit end end - module InterlockHook + module InterlockHook # :nodoc: def self.run ActiveSupport::Dependencies.interlock.start_running end @@ -116,7 +116,7 @@ # User has explicitly opted out of concurrent request # handling: presumably their code is not threadsafe - app.executor.register_hook(MutexHook.new, outer: true) + app.executor.register_hook(MonitorHook.new, outer: true) elsif config.allow_concurrency == :unsafe # Do nothing, even if we know this is dangerous. This is the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/commands/server/server_command.rb new/lib/rails/commands/server/server_command.rb --- old/lib/rails/commands/server/server_command.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/commands/server/server_command.rb 2022-09-09 20:42:24.000000000 +0200 @@ -263,8 +263,13 @@ MSG else error = CorrectableError.new("Could not find server '#{server}'.", server, RACK_SERVERS) + if error.respond_to?(:detailed_message) + formatted_message = error.detailed_message + else + formatted_message = error.message + end <<~MSG - #{error.message} + #{formatted_message} Run `bin/rails server --help` for more options. MSG end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/gem_version.rb new/lib/rails/gem_version.rb --- old/lib/rails/gem_version.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/gem_version.rb 2022-09-09 20:42:24.000000000 +0200 @@ -9,8 +9,8 @@ module VERSION MAJOR = 7 MINOR = 0 - TINY = 3 - PRE = "1" + TINY = 4 + PRE = nil STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".") end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/generators/app_base.rb new/lib/rails/generators/app_base.rb --- old/lib/rails/generators/app_base.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/generators/app_base.rb 2022-09-09 20:42:24.000000000 +0200 @@ -187,12 +187,12 @@ [ options.values_at( :skip_active_record, - :skip_action_mailer, :skip_test, :skip_action_cable, :skip_active_job ), skip_active_storage?, + skip_action_mailer?, skip_action_mailbox?, skip_action_text? ].flatten.none? @@ -220,7 +220,11 @@ end def skip_active_storage? # :doc: - options[:skip_active_storage] || options[:skip_active_record] + options[:skip_active_storage] || options[:skip_active_record] || options[:skip_active_job] + end + + def skip_action_mailer? # :doc: + options[:skip_action_mailer] || options[:skip_active_job] end def skip_action_mailbox? # :doc: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt new/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt --- old/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt 2022-09-09 20:42:24.000000000 +0200 @@ -34,13 +34,6 @@ # implementation. # Rails.application.config.active_support.remove_deprecated_time_with_zone_name = true -# Change the format of the cache entry. -# Changing this default means that all new cache entries added to the cache -# will have a different format that is not supported by Rails 6.1 applications. -# Only change this value after your application is fully deployed to Rails 7.0 -# and you have no plans to rollback. -# Rails.application.config.active_support.cache_format_version = 7.0 - # Calls `Rails.application.executor.wrap` around test cases. # This makes test cases behave closer to an actual request or job. # Several features that are normally disabled in test, such as Active Record query cache @@ -71,7 +64,7 @@ # This default means that all columns will be referenced in INSERT queries # regardless of whether they have a default or not. # Rails.application.config.active_record.partial_inserts = false -# + # Protect from open redirect attacks in `redirect_back_or_to` and `redirect_to`. # Rails.application.config.action_controller.raise_on_open_redirects = true @@ -82,18 +75,6 @@ # The `:mini_magick` option is not deprecated; it's fine to keep using it. # Rails.application.config.active_storage.variant_processor = :vips -# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer -# was `:marshal`. Convert all cookies to JSON, using the `:hybrid` formatter. -# -# If you're confident all your cookies are JSON formatted, you can switch to the `:json` formatter. -# -# Continue to use `:marshal` for backward-compatibility with old cookies. -# -# If you have configured the serializer elsewhere, you can remove this. -# -# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information. -# Rails.application.config.action_dispatch.cookies_serializer = :hybrid - # Enable parameter wrapping for JSON. # Previously this was set in an initializer. It's fine to keep using that initializer if you've customized it. # To disable parameter wrapping entirely, set this config to `false`. @@ -115,3 +96,40 @@ # "X-Permitted-Cross-Domain-Policies" => "none", # "Referrer-Policy" => "strict-origin-when-cross-origin" # } + + +# ** Please read carefully, this must be configured in config/application.rb ** +# Change the format of the cache entry. +# Changing this default means that all new cache entries added to the cache +# will have a different format that is not supported by Rails 6.1 applications. +# Only change this value after your application is fully deployed to Rails 7.0 +# and you have no plans to rollback. +# When you're ready to change format, add this to `config/application.rb` (NOT this file): +# config.active_support.cache_format_version = 7.0 + + +# Cookie serializer: 2 options +# +# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer +# is `:marshal`. The default for new apps is `:json`. +# +# Rails.application.config.action_dispatch.cookies_serializer = :json +# +# +# To migrate an existing application to the `:json` serializer, use the `:hybrid` option. +# +# Rails transparently deserializes existing (Marshal-serialized) cookies on read and +# re-writes them in the JSON format. +# +# It is fine to use `:hybrid` long term; you should do that until you're confident *all* your cookies +# have been converted to JSON. To keep using `:hybrid` long term, move this config to its own +# initializer or to `config/application.rb`. +# +# Rails.application.config.action_dispatch.cookies_serializer = :hybrid +# +# +# If your cookies can't yet be serialized to JSON, keep using `:marshal` for backward-compatibility. +# +# If you have configured the serializer elsewhere, you can remove this section of the file. +# +# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/generators.rb new/lib/rails/generators.rb --- old/lib/rails/generators.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/generators.rb 2022-09-09 20:42:24.000000000 +0200 @@ -266,8 +266,14 @@ options = sorted_groups.flat_map(&:last) error = Command::Base::CorrectableError.new("Could not find generator '#{namespace}'.", namespace, options) + if error.respond_to?(:detailed_message) + formatted_message = error.detailed_message + else + formatted_message = error.message + end + puts <<~MSG - #{error.message} + #{formatted_message} Run `bin/rails generate --help` for more options. MSG end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails/railtie.rb new/lib/rails/railtie.rb --- old/lib/rails/railtie.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails/railtie.rb 2022-09-09 20:42:24.000000000 +0200 @@ -249,6 +249,10 @@ end end + def inspect # :nodoc: + "#<#{self.class.name}>" + end + def configure(&block) # :nodoc: instance_eval(&block) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rails.rb new/lib/rails.rb --- old/lib/rails.rb 2022-07-12 19:30:35.000000000 +0200 +++ new/lib/rails.rb 2022-09-09 20:42:24.000000000 +0200 @@ -80,6 +80,13 @@ @_env = ActiveSupport::EnvironmentInquirer.new(environment) end + # Returns the ActiveSupport::ErrorReporter of the current Rails project, + # otherwise it returns +nil+ if there is no project. + # + # Rails.error.handle(IOError) do + # # ... + # end + # Rails.error.report(error) def error application && application.executor.error_reporter end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2022-07-12 19:30:35.000000000 +0200 +++ new/metadata 2022-09-09 20:42:24.000000000 +0200 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: railties version: !ruby/object:Gem::Version - version: 7.0.3.1 + version: 7.0.4 platform: ruby authors: - David Heinemeier Hansson autorequire: bindir: exe cert_chain: [] -date: 2022-07-12 00:00:00.000000000 Z +date: 2022-09-09 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: activesupport @@ -16,28 +16,28 @@ requirements: - - '=' - !ruby/object:Gem::Version - version: 7.0.3.1 + version: 7.0.4 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - '=' - !ruby/object:Gem::Version - version: 7.0.3.1 + version: 7.0.4 - !ruby/object:Gem::Dependency name: actionpack requirement: !ruby/object:Gem::Requirement requirements: - - '=' - !ruby/object:Gem::Version - version: 7.0.3.1 + version: 7.0.4 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - '=' - !ruby/object:Gem::Version - version: 7.0.3.1 + version: 7.0.4 - !ruby/object:Gem::Dependency name: rake requirement: !ruby/object:Gem::Requirement @@ -100,14 +100,14 @@ requirements: - - '=' - !ruby/object:Gem::Version - version: 7.0.3.1 + version: 7.0.4 type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - '=' - !ruby/object:Gem::Version - version: 7.0.3.1 + version: 7.0.4 description: 'Rails internals: application bootup, plugins, generators, and rake tasks.' email: da...@loudthinking.com executables: @@ -422,10 +422,10 @@ - MIT metadata: bug_tracker_uri: https://github.com/rails/rails/issues - changelog_uri: https://github.com/rails/rails/blob/v7.0.3.1/railties/CHANGELOG.md - documentation_uri: https://api.rubyonrails.org/v7.0.3.1/ + changelog_uri: https://github.com/rails/rails/blob/v7.0.4/railties/CHANGELOG.md + documentation_uri: https://api.rubyonrails.org/v7.0.4/ mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk - source_code_uri: https://github.com/rails/rails/tree/v7.0.3.1/railties + source_code_uri: https://github.com/rails/rails/tree/v7.0.4/railties rubygems_mfa_required: 'true' post_install_message: rdoc_options: