Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-actionview-8.0 for 
openSUSE:Factory checked in at 2025-08-22 17:49:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-actionview-8.0 (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-actionview-8.0.new.29662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-actionview-8.0"

Fri Aug 22 17:49:21 2025 rev:4 rq:1300917 version:8.0.2.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-actionview-8.0/rubygem-actionview-8.0.changes
    2025-01-21 21:10:24.218801150 +0100
+++ 
/work/SRC/openSUSE:Factory/.rubygem-actionview-8.0.new.29662/rubygem-actionview-8.0.changes
 2025-08-22 17:50:47.827432115 +0200
@@ -1,0 +2,6 @@
+Thu Aug 14 00:24:56 UTC 2025 - Marcus Rueckert <mrueck...@suse.de>
+
+- Update to version 8.0.2.1:
+  
https://rubyonrails.org/2025/8/13/Rails-Versions-8-0-2-1-7-2-2-2-and-7-1-5-2-have-been-released
+
+-------------------------------------------------------------------

Old:
----
  actionview-8.0.1.gem

New:
----
  actionview-8.0.2.1.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-actionview-8.0.spec ++++++
--- /var/tmp/diff_new_pack.ulFgbz/_old  2025-08-22 17:50:49.235490785 +0200
+++ /var/tmp/diff_new_pack.ulFgbz/_new  2025-08-22 17:50:49.235490785 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-actionview-8.0
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-actionview-8.0
-Version:        8.0.1
+Version:        8.0.2.1
 Release:        0
 %define mod_name actionview
 %define mod_full_name %{mod_name}-%{version}

++++++ actionview-8.0.1.gem -> actionview-8.0.2.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2024-12-13 21:02:35.000000000 +0100
+++ new/CHANGELOG.md    1980-01-02 01:00:00.000000000 +0100
@@ -1,3 +1,48 @@
+## Rails 8.0.2.1 (August 13, 2025) ##
+
+*   No changes.
+
+
+## Rails 8.0.2 (March 12, 2025) ##
+
+*   No changes.
+
+
+## Rails 8.0.2 (March 12, 2025) ##
+
+*   Respect `html_options[:form]` when `collection_checkboxes` generates the
+    hidden `<input>`.
+
+    *Riccardo Odone*
+
+*   Layouts have access to local variables passed to `render`.
+
+    This fixes #31680 which was a regression in Rails 5.1.
+
+    *Mike Dalessio*
+
+*   Argument errors related to strict locals in templates now raise an
+    `ActionView::StrictLocalsError`, and all other argument errors are 
reraised as-is.
+
+    Previously, any `ArgumentError` raised during template rendering was 
swallowed during strict
+    local error handling, so that an `ArgumentError` unrelated to strict 
locals (e.g., a helper
+    method invoked with incorrect arguments) would be replaced by a similar 
`ArgumentError` with an
+    unrelated backtrace, making it difficult to debug templates.
+
+    Now, any `ArgumentError` unrelated to strict locals is reraised, 
preserving the original
+    backtrace for developers.
+
+    Also note that `ActionView::StrictLocalsError` is a subclass of 
`ArgumentError`, so any existing
+    code that rescues `ArgumentError` will continue to work.
+
+    Fixes #52227.
+
+    *Mike Dalessio*
+
+*   Fix stack overflow error in dependency tracker when dealing with circular 
dependencies
+
+    *Jean Boussier*
+
 ## Rails 8.0.1 (December 13, 2024) ##
 
 *   Fix a crash in ERB template error highlighting when the error occurs on a
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/base.rb new/lib/action_view/base.rb
--- old/lib/action_view/base.rb 2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/base.rb 1980-01-02 01:00:00.000000000 +0100
@@ -267,15 +267,12 @@
         begin
           public_send(method, locals, buffer, **locals, &block)
         rescue ArgumentError => argument_error
-          raise(
-            ArgumentError,
-            argument_error.
-              message.
-                gsub("unknown keyword:", "unknown local:").
-                gsub("missing keyword:", "missing local:").
-                gsub("no keywords accepted", "no locals accepted").
-                concat(" for #{@current_template.short_identifier}")
-          )
+          public_send_line = __LINE__ - 2
+          frame = argument_error.backtrace_locations[1]
+          if frame.path == __FILE__ && frame.lineno == public_send_line
+            raise StrictLocalsError.new(argument_error, @current_template)
+          end
+          raise
         end
       else
         public_send(method, locals, buffer, &block)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/digestor.rb 
new/lib/action_view/digestor.rb
--- old/lib/action_view/digestor.rb     2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/digestor.rb     1980-01-02 01:00:00.000000000 +0100
@@ -107,8 +107,12 @@
         end.join("-")
       end
 
-      def to_dep_map
-        children.any? ? { name => children.map(&:to_dep_map) } : name
+      def to_dep_map(seen = Set.new.compare_by_identity)
+        if seen.add?(self)
+          children.any? ? { name => children.map { |c| c.to_dep_map(seen) } } 
: name
+        else # the tree has a cycle
+          name
+        end
       end
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/gem_version.rb 
new/lib/action_view/gem_version.rb
--- old/lib/action_view/gem_version.rb  2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/gem_version.rb  1980-01-02 01:00:00.000000000 +0100
@@ -9,8 +9,8 @@
   module VERSION
     MAJOR = 8
     MINOR = 0
-    TINY  = 1
-    PRE   = nil
+    TINY  = 2
+    PRE   = "1"
 
     STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/helpers/cache_helper.rb 
new/lib/action_view/helpers/cache_helper.rb
--- old/lib/action_view/helpers/cache_helper.rb 2024-12-13 21:02:35.000000000 
+0100
+++ new/lib/action_view/helpers/cache_helper.rb 1980-01-02 01:00:00.000000000 
+0100
@@ -197,7 +197,7 @@
         CachingRegistry.caching?
       end
 
-      # Raises +UncacheableFragmentError+ when called from within a +cache+ 
block.
+      # Raises UncacheableFragmentError when called from within a +cache+ 
block.
       #
       # Useful to denote helper methods that can't participate in fragment 
caching:
       #
@@ -206,7 +206,7 @@
       #     "#{project.name} - #{Time.now}"
       #   end
       #
-      #   # Which will then raise if used within a +cache+ block:
+      #   # Which will then raise if used within a `cache` block:
       #   <% cache project do %>
       #     <%= project_name_with_time(project) %>
       #   <% end %>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/helpers/form_helper.rb 
new/lib/action_view/helpers/form_helper.rb
--- old/lib/action_view/helpers/form_helper.rb  2024-12-13 21:02:35.000000000 
+0100
+++ new/lib/action_view/helpers/form_helper.rb  1980-01-02 01:00:00.000000000 
+0100
@@ -31,7 +31,7 @@
     # of the resource should show the current values of those attributes.
     #
     # In \Rails, this is usually achieved by creating the form using either
-    # +form_with+ or +form_for+ and a number of related helper methods. These
+    # #form_with or #form_for and a number of related helper methods. These
     # methods generate an appropriate <tt>form</tt> tag and yield a form
     # builder object that knows the model the form is about. Input fields are
     # created by calling methods defined on the form builder, which means they
@@ -42,7 +42,7 @@
     #
     # For example, to create a new person you typically set up a new instance 
of
     # +Person+ in the <tt>PeopleController#new</tt> action, <tt>@person</tt>, 
and
-    # in the view template pass that object to +form_with+ or +form_for+:
+    # in the view template pass that object to #form_with or #form_for:
     #
     #   <%= form_with model: @person do |f| %>
     #     <%= f.label :first_name %>:
@@ -209,7 +209,7 @@
       # are designed to work with an object as base, like
       # FormOptionsHelper#collection_select and DateHelper#datetime_select.
       #
-      # === #form_for with a model object
+      # === +form_for+ with a model object
       #
       # In the examples above, the object to be created or edited was
       # represented by a symbol passed to +form_for+, and we noted that
@@ -364,7 +364,7 @@
       #
       # === Removing hidden model id's
       #
-      # The form_for method automatically includes the model id as a hidden 
field in the form.
+      # The +form_for+ method automatically includes the model id as a hidden 
field in the form.
       # This is used to maintain the correlation between the form data and its 
associated model.
       # Some ORM systems do not use IDs on nested models so in this case you 
want to be able
       # to disable the hidden id.
@@ -784,12 +784,12 @@
         end
       end
 
-      # Creates a scope around a specific model object like +form_with+, but
+      # Creates a scope around a specific model object like #form_with, but
       # doesn't create the form tags themselves. This makes +fields_for+
       # suitable for specifying additional model objects in the same form.
       #
-      # Although the usage and purpose of +fields_for+ is similar to 
+form_with+'s,
-      # its method signature is slightly different. Like +form_with+, it yields
+      # Although the usage and purpose of +fields_for+ is similar to 
#form_with's,
+      # its method signature is slightly different. Like #form_with, it yields
       # a FormBuilder object associated with a particular model object to a 
block,
       # and within the block allows methods to be called on the builder to
       # generate fields associated with the model object. Fields may reflect
@@ -848,7 +848,7 @@
       # === Nested Attributes Examples
       #
       # When the object belonging to the current scope has a nested attribute
-      # writer for a certain attribute, fields_for will yield a new scope
+      # writer for a certain attribute, +fields_for+ will yield a new scope
       # for that attribute. This allows you to create forms that set or change
       # the attributes of a parent object and its associations in one go.
       #
@@ -937,7 +937,7 @@
       #   end
       #
       # Note that the <tt>projects_attributes=</tt> writer method is in fact
-      # required for fields_for to correctly identify <tt>:projects</tt> as a
+      # required for +fields_for+ to correctly identify <tt>:projects</tt> as a
       # collection, and the correct indices to be set in the form markup.
       #
       # When projects is already an association on Person you can use
@@ -949,7 +949,7 @@
       #   end
       #
       # This model can now be used with a nested fields_for. The block given to
-      # the nested fields_for call will be repeated for each instance in the
+      # the nested +fields_for+ call will be repeated for each instance in the
       # collection:
       #
       #   <%= form_with model: @person do |person_form| %>
@@ -1021,10 +1021,10 @@
       #     ...
       #   <% end %>
       #
-      # Note that fields_for will automatically generate a hidden field
+      # Note that +fields_for+ will automatically generate a hidden field
       # to store the ID of the record if it responds to <tt>persisted?</tt>.
       # There are circumstances where this hidden field is not needed and you
-      # can pass <tt>include_id: false</tt> to prevent fields_for from
+      # can pass <tt>include_id: false</tt> to prevent +fields_for+ from
       # rendering it automatically.
       def fields_for(record_name, record_object = nil, options = {}, &block)
         options = { model: record_object, allow_method_names_outside_object: 
false, skip_default_ids: false }.merge!(options)
@@ -1033,7 +1033,7 @@
       end
 
       # Scopes input fields with either an explicit scope or model.
-      # Like +form_with+ does with <tt>:scope</tt> or <tt>:model</tt>,
+      # Like #form_with does with <tt>:scope</tt> or <tt>:model</tt>,
       # except it doesn't output the form tags.
       #
       #   # Using a scope prefixes the input field names:
@@ -1048,7 +1048,7 @@
       #   <% end %>
       #   # => <input type="text" name="comment[body]" value="full bodied">
       #
-      #   # Using +fields+ with +form_with+:
+      #   # Using `fields` with `form_with`:
       #   <%= form_with model: @article do |form| %>
       #     <%= form.text_field :title %>
       #
@@ -1057,13 +1057,13 @@
       #     <% end %>
       #   <% end %>
       #
-      # Much like +form_with+ a FormBuilder instance associated with the scope
+      # Much like #form_with a FormBuilder instance associated with the scope
       # or model is yielded, so any generated field names are prefixed with
       # either the passed scope or the scope inferred from the <tt>:model</tt>.
       #
       # === Mixing with other form helpers
       #
-      # While +form_with+ uses a FormBuilder object it's possible to mix and
+      # While #form_with uses a FormBuilder object it's possible to mix and
       # match the stand-alone FormHelper methods and methods
       # from FormTagHelper:
       #
@@ -1221,7 +1221,7 @@
       # hash with +options+. These options will be tagged onto the HTML as an 
HTML element attribute as in the example
       # shown.
       #
-      # Using this method inside a +form_with+ block will set the enclosing 
form's encoding to <tt>multipart/form-data</tt>.
+      # Using this method inside a #form_with block will set the enclosing 
form's encoding to <tt>multipart/form-data</tt>.
       #
       # ==== Options
       # * Creates standard HTML attributes for the tag.
@@ -1326,7 +1326,7 @@
       # the elements of the array. For each item with a checked check box you
       # get an extra ghost item with only that attribute, assigned to "0".
       #
-      # In that case it is preferable to either use +checkbox_tag+ or to use
+      # In that case it is preferable to either use FormTagHelper#checkbox_tag 
or to use
       # hashes instead of arrays.
       #
       # ==== Examples
@@ -1632,7 +1632,7 @@
     #
     # A +FormBuilder+ object is associated with a particular model object and
     # allows you to generate fields associated with the model object. The
-    # +FormBuilder+ object is yielded when using +form_with+ or +fields_for+.
+    # +FormBuilder+ object is yielded when using #form_with or #fields_for.
     # For example:
     #
     #   <%= form_with model: @person do |person_form| %>
@@ -1770,7 +1770,7 @@
       #   <% end %>
       #
       # In the example above, the <tt><input type="text"></tt> element built by
-      # the call to <tt>FormBuilder#text_field</tt> declares an
+      # the call to #text_field declares an
       # <tt>aria-describedby</tt> attribute referencing the <tt><span></tt>
       # element, sharing a common <tt>id</tt> root (<tt>article_title</tt>, in 
this
       # case).
@@ -2033,12 +2033,12 @@
       end
       alias_method :text_area, :textarea
 
-      # Creates a scope around a specific model object like +form_with+, but
+      # Creates a scope around a specific model object like #form_with, but
       # doesn't create the form tags themselves. This makes +fields_for+
       # suitable for specifying additional model objects in the same form.
       #
-      # Although the usage and purpose of +fields_for+ is similar to 
+form_with+'s,
-      # its method signature is slightly different. Like +form_with+, it yields
+      # Although the usage and purpose of +fields_for+ is similar to 
#form_with's,
+      # its method signature is slightly different. Like #form_with, it yields
       # a FormBuilder object associated with a particular model object to a 
block,
       # and within the block allows methods to be called on the builder to
       # generate fields associated with the model object. Fields may reflect
@@ -2109,7 +2109,7 @@
       # === Nested Attributes Examples
       #
       # When the object belonging to the current scope has a nested attribute
-      # writer for a certain attribute, fields_for will yield a new scope
+      # writer for a certain attribute, +fields_for+ will yield a new scope
       # for that attribute. This allows you to create forms that set or change
       # the attributes of a parent object and its associations in one go.
       #
@@ -2140,7 +2140,7 @@
       #     end
       #   end
       #
-      # This model can now be used with a nested fields_for, like so:
+      # This model can now be used with a nested +fields_for+, like so:
       #
       #   <%= form_with model: @person do |person_form| %>
       #     ...
@@ -2198,7 +2198,7 @@
       #   end
       #
       # Note that the <tt>projects_attributes=</tt> writer method is in fact
-      # required for fields_for to correctly identify <tt>:projects</tt> as a
+      # required for +fields_for+ to correctly identify <tt>:projects</tt> as a
       # collection, and the correct indices to be set in the form markup.
       #
       # When projects is already an association on Person you can use
@@ -2209,8 +2209,8 @@
       #     accepts_nested_attributes_for :projects
       #   end
       #
-      # This model can now be used with a nested fields_for. The block given to
-      # the nested fields_for call will be repeated for each instance in the
+      # This model can now be used with a nested +fields_for+. The block given 
to
+      # the nested +fields_for+ call will be repeated for each instance in the
       # collection:
       #
       #   <%= form_with model: @person do |person_form| %>
@@ -2282,10 +2282,10 @@
       #     ...
       #   <% end %>
       #
-      # Note that fields_for will automatically generate a hidden field
+      # Note that +fields_for+ will automatically generate a hidden field
       # to store the ID of the record. There are circumstances where this
       # hidden field is not needed and you can pass <tt>include_id: false</tt>
-      # to prevent fields_for from rendering it automatically.
+      # to prevent +fields_for+ from rendering it automatically.
       def fields_for(record_name, record_object = nil, fields_options = nil, 
&block)
         fields_options, record_object = record_object, nil if 
fields_options.nil? && record_object.is_a?(Hash) && 
record_object.extractable_options?
         fields_options ||= {}
@@ -2451,7 +2451,7 @@
       # the elements of the array. For each item with a checked check box you
       # get an extra ghost item with only that attribute, assigned to "0".
       #
-      # In that case it is preferable to either use +checkbox_tag+ or to use
+      # In that case it is preferable to either use FormTagHelper#checkbox_tag 
or to use
       # hashes instead of arrays.
       #
       # ==== Examples
@@ -2525,7 +2525,7 @@
       # hash with +options+. These options will be tagged onto the HTML as an 
HTML element attribute as in the example
       # shown.
       #
-      # Using this method inside a +form_with+ block will set the enclosing 
form's encoding to <tt>multipart/form-data</tt>.
+      # Using this method inside a #form_with block will set the enclosing 
form's encoding to <tt>multipart/form-data</tt>.
       #
       # ==== Options
       # * Creates standard HTML attributes for the tag.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/helpers/output_safety_helper.rb 
new/lib/action_view/helpers/output_safety_helper.rb
--- old/lib/action_view/helpers/output_safety_helper.rb 2024-12-13 
21:02:35.000000000 +0100
+++ new/lib/action_view/helpers/output_safety_helper.rb 1980-01-02 
01:00:00.000000000 +0100
@@ -38,8 +38,7 @@
 
       # Converts the array to a comma-separated sentence where the last 
element is
       # joined by the connector word. This is the html_safe-aware version of
-      # ActiveSupport's 
{Array#to_sentence}[https://api.rubyonrails.org/classes/Array.html#method-i-to_sentence].
-      #
+      # ActiveSupport's Array#to_sentence.
       def to_sentence(array, options = {})
         options.assert_valid_keys(:words_connector, :two_words_connector, 
:last_word_connector, :locale)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/helpers/sanitize_helper.rb 
new/lib/action_view/helpers/sanitize_helper.rb
--- old/lib/action_view/helpers/sanitize_helper.rb      2024-12-13 
21:02:35.000000000 +0100
+++ new/lib/action_view/helpers/sanitize_helper.rb      1980-01-02 
01:00:00.000000000 +0100
@@ -24,6 +24,12 @@
       #
       # Custom sanitization rules can also be provided.
       #
+      # <b>Warning</b>: Adding disallowed tags or attributes to the allowlists 
may introduce
+      # vulnerabilities into your application. Please rely on the default 
allowlists whenever
+      # possible, because they are curated to maintain security and safety. If 
you think that the
+      # default allowlists should be expanded, please {open an issue on the 
rails-html-sanitizer
+      # project}[https://github.com/rails/rails-html-sanitizer/issues].
+      #
       # Please note that sanitizing user-provided text does not guarantee that 
the
       # resulting markup is valid or even well-formed.
       #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/helpers/tags/collection_helpers.rb 
new/lib/action_view/helpers/tags/collection_helpers.rb
--- old/lib/action_view/helpers/tags/collection_helpers.rb      2024-12-13 
21:02:35.000000000 +0100
+++ new/lib/action_view/helpers/tags/collection_helpers.rb      1980-01-02 
01:00:00.000000000 +0100
@@ -106,7 +106,8 @@
 
           def hidden_field
             hidden_name = @html_options[:name] || hidden_field_name
-            @template_object.hidden_field_tag(hidden_name, "", id: nil)
+            options = { id: nil, form: @html_options[:form] }
+            @template_object.hidden_field_tag(hidden_name, "", options)
           end
 
           def hidden_field_name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/layouts.rb 
new/lib/action_view/layouts.rb
--- old/lib/action_view/layouts.rb      2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/layouts.rb      1980-01-02 01:00:00.000000000 +0100
@@ -284,7 +284,7 @@
         silence_redefinition_of_method(:_layout)
 
         prefixes = /\blayouts/.match?(_implied_layout_name) ? [] : ["layouts"]
-        default_behavior = "lookup_context.find_all('#{_implied_layout_name}', 
#{prefixes.inspect}, false, [], { formats: formats }).first || super"
+        default_behavior = "lookup_context.find_all('#{_implied_layout_name}', 
#{prefixes.inspect}, false, keys, { formats: formats }).first || super"
         name_clause = if name
           default_behavior
         else
@@ -325,7 +325,7 @@
 
         class_eval <<-RUBY, __FILE__, __LINE__ + 1
           # frozen_string_literal: true
-          def _layout(lookup_context, formats)
+          def _layout(lookup_context, formats, keys)
             if _conditional_layout?
               #{layout_definition}
             else
@@ -389,8 +389,8 @@
       case name
       when String     then _normalize_layout(name)
       when Proc       then name
-      when true       then Proc.new { |lookup_context, formats| 
_default_layout(lookup_context, formats, true)  }
-      when :default   then Proc.new { |lookup_context, formats| 
_default_layout(lookup_context, formats, false) }
+      when true       then Proc.new { |lookup_context, formats, keys| 
_default_layout(lookup_context, formats, keys, true)  }
+      when :default   then Proc.new { |lookup_context, formats, keys| 
_default_layout(lookup_context, formats, keys, false) }
       when false, nil then nil
       else
         raise ArgumentError,
@@ -412,9 +412,9 @@
     #
     # ==== Returns
     # * <tt>template</tt> - The template object for the default layout (or 
+nil+)
-    def _default_layout(lookup_context, formats, require_layout = false)
+    def _default_layout(lookup_context, formats, keys, require_layout = false)
       begin
-        value = _layout(lookup_context, formats) if action_has_layout?
+        value = _layout(lookup_context, formats, keys) if action_has_layout?
       rescue NameError => e
         raise e, "Could not render layout: #{e.message}"
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/renderer/partial_renderer.rb 
new/lib/action_view/renderer/partial_renderer.rb
--- old/lib/action_view/renderer/partial_renderer.rb    2024-12-13 
21:02:35.000000000 +0100
+++ new/lib/action_view/renderer/partial_renderer.rb    1980-01-02 
01:00:00.000000000 +0100
@@ -94,7 +94,7 @@
   #  # <%= render partial: "accounts/account", locals: { account: @account} %>
   #  <%= render partial: @account %>
   #
-  #  # @posts is an array of Post instances, so every post record returns 
'posts/post' on +to_partial_path+,
+  #  # @posts is an array of Post instances, so every post record returns 
'posts/post' on #to_partial_path,
   #  # that's why we can replace:
   #  # <%= render partial: "posts/post", collection: @posts %>
   #  <%= render partial: @posts %>
@@ -114,7 +114,7 @@
   #  # <%= render partial: "accounts/account", locals: { account: @account} %>
   #  <%= render @account %>
   #
-  #  # @posts is an array of Post instances, so every post record returns 
'posts/post' on +to_partial_path+,
+  #  # @posts is an array of Post instances, so every post record returns 
'posts/post' on #to_partial_path,
   #  # that's why we can replace:
   #  # <%= render partial: "posts/post", collection: @posts %>
   #  <%= render @posts %>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/renderer/template_renderer.rb 
new/lib/action_view/renderer/template_renderer.rb
--- old/lib/action_view/renderer/template_renderer.rb   2024-12-13 
21:02:35.000000000 +0100
+++ new/lib/action_view/renderer/template_renderer.rb   1980-01-02 
01:00:00.000000000 +0100
@@ -99,14 +99,14 @@
             if layout.start_with?("/")
               raise ArgumentError, "Rendering layouts from an absolute path is 
not supported."
             else
-              @lookup_context.find_template(layout, nil, false, [], details)
+              @lookup_context.find_template(layout, nil, false, keys, details)
             end
           rescue ActionView::MissingTemplate
             all_details = @details.merge(formats: 
@lookup_context.default_formats)
-            raise unless template_exists?(layout, nil, false, [], 
**all_details)
+            raise unless template_exists?(layout, nil, false, keys, 
**all_details)
           end
         when Proc
-          resolve_layout(layout.call(@lookup_context, formats), keys, formats)
+          resolve_layout(layout.call(@lookup_context, formats, keys), keys, 
formats)
         else
           layout
         end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/template/error.rb 
new/lib/action_view/template/error.rb
--- old/lib/action_view/template/error.rb       2024-12-13 21:02:35.000000000 
+0100
+++ new/lib/action_view/template/error.rb       1980-01-02 01:00:00.000000000 
+0100
@@ -27,6 +27,17 @@
     end
   end
 
+  class StrictLocalsError < ArgumentError # :nodoc:
+    def initialize(argument_error, template)
+      message = argument_error.message.
+                  gsub("unknown keyword:", "unknown local:").
+                  gsub("missing keyword:", "missing local:").
+                  gsub("no keywords accepted", "no locals accepted").
+                  concat(" for #{template.short_identifier}")
+      super(message)
+    end
+  end
+
   class MissingTemplate < ActionViewError # :nodoc:
     attr_reader :path, :paths, :prefixes, :partial
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2024-12-13 21:02:35.000000000 +0100
+++ new/metadata        1980-01-02 01:00:00.000000000 +0100
@@ -1,14 +1,13 @@
 --- !ruby/object:Gem::Specification
 name: actionview
 version: !ruby/object:Gem::Version
-  version: 8.0.1
+  version: 8.0.2.1
 platform: ruby
 authors:
 - David Heinemeier Hansson
-autorequire: 
 bindir: bin
 cert_chain: []
-date: 2024-12-13 00:00:00.000000000 Z
+date: 1980-01-02 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: activesupport
@@ -16,14 +15,14 @@
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.1
+        version: 8.0.2.1
   type: :runtime
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.1
+        version: 8.0.2.1
 - !ruby/object:Gem::Dependency
   name: builder
   requirement: !ruby/object:Gem::Requirement
@@ -86,28 +85,28 @@
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.1
+        version: 8.0.2.1
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.1
+        version: 8.0.2.1
 - !ruby/object:Gem::Dependency
   name: activemodel
   requirement: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.1
+        version: 8.0.2.1
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.1
+        version: 8.0.2.1
 description: Simple, battle-tested conventions and helpers for building web 
pages.
 email: da...@loudthinking.com
 executables: []
@@ -247,12 +246,11 @@
 - MIT
 metadata:
   bug_tracker_uri: https://github.com/rails/rails/issues
-  changelog_uri: 
https://github.com/rails/rails/blob/v8.0.1/actionview/CHANGELOG.md
-  documentation_uri: https://api.rubyonrails.org/v8.0.1/
+  changelog_uri: 
https://github.com/rails/rails/blob/v8.0.2.1/actionview/CHANGELOG.md
+  documentation_uri: https://api.rubyonrails.org/v8.0.2.1/
   mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
-  source_code_uri: https://github.com/rails/rails/tree/v8.0.1/actionview
+  source_code_uri: https://github.com/rails/rails/tree/v8.0.2.1/actionview
   rubygems_mfa_required: 'true'
-post_install_message: 
 rdoc_options: []
 require_paths:
 - lib
@@ -268,8 +266,7 @@
       version: '0'
 requirements:
 - none
-rubygems_version: 3.5.22
-signing_key: 
+rubygems_version: 3.6.9
 specification_version: 4
 summary: Rendering framework putting the V in MVC (part of Rails).
 test_files: []

Reply via email to