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-01-21 21:10:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-actionview-8.0 (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-actionview-8.0.new.5589 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-actionview-8.0"

Tue Jan 21 21:10:01 2025 rev:3 rq:1239071 version:8.0.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-actionview-8.0/rubygem-actionview-8.0.changes
    2024-12-15 12:40:01.861308441 +0100
+++ 
/work/SRC/openSUSE:Factory/.rubygem-actionview-8.0.new.5589/rubygem-actionview-8.0.changes
  2025-01-21 21:10:24.218801150 +0100
@@ -1,0 +2,11 @@
+Mon Jan 20 16:11:49 UTC 2025 - Marcus Rueckert <[email protected]>
+
+- disable the my_apps handling
+
+-------------------------------------------------------------------
+Fri Dec 13 21:43:11 UTC 2024 - Marcus Rueckert <[email protected]>
+
+- Update to version 8.0.1:
+  https://rubyonrails.org/2024/12/13/Rails-Version-8-0-1-has-been-released
+
+-------------------------------------------------------------------
@@ -4 +15 @@
-- Update to version 8.0.0.1:
+- Update to version 8.0.0.1: (CVE-2024-54133 CVE-2024-53847)

Old:
----
  actionview-8.0.0.1.gem

New:
----
  actionview-8.0.1.gem

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

Other differences:
------------------
++++++ rubygem-actionview-8.0.spec ++++++
--- /var/tmp/diff_new_pack.UrKi54/_old  2025-01-21 21:10:25.166840283 +0100
+++ /var/tmp/diff_new_pack.UrKi54/_new  2025-01-21 21:10:25.166840283 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-actionview-8.0
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,14 +24,14 @@
 #
 
 Name:           rubygem-actionview-8.0
-Version:        8.0.0.1
+Version:        8.0.1
 Release:        0
 %define mod_name actionview
 %define mod_full_name %{mod_name}-%{version}
 %define mod_version_suffix -8.0
-BuildRequires:  ruby-macros >= 5
 BuildRequires:  %{ruby >= 3.2.0}
 BuildRequires:  %{rubygem gem2rpm}
+BuildRequires:  ruby-macros >= 5
 URL:            https://rubyonrails.org
 Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml

++++++ actionview-8.0.0.1.gem -> actionview-8.0.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2024-12-10 22:46:14.000000000 +0100
+++ new/CHANGELOG.md    2024-12-13 21:02:35.000000000 +0100
@@ -1,3 +1,17 @@
+## Rails 8.0.1 (December 13, 2024) ##
+
+*   Fix a crash in ERB template error highlighting when the error occurs on a
+    line in the compiled template that is past the end of the source template.
+
+    *Martin Emde*
+
+*   Improve reliability of ERB template error highlighting.
+    Fix infinite loops and crashes in highlighting and
+    improve tolerance for alternate ERB handlers.
+
+    *Martin Emde*
+
+
 ## Rails 8.0.0.1 (December 10, 2024) ##
 
 *   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/action_view/gem_version.rb 
new/lib/action_view/gem_version.rb
--- old/lib/action_view/gem_version.rb  2024-12-10 22:46:14.000000000 +0100
+++ new/lib/action_view/gem_version.rb  2024-12-13 21:02:35.000000000 +0100
@@ -9,8 +9,8 @@
   module VERSION
     MAJOR = 8
     MINOR = 0
-    TINY  = 0
-    PRE   = "1"
+    TINY  = 1
+    PRE   = nil
 
     STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/action_view/template/handlers/erb.rb 
new/lib/action_view/template/handlers/erb.rb
--- old/lib/action_view/template/handlers/erb.rb        2024-12-10 
22:46:14.000000000 +0100
+++ new/lib/action_view/template/handlers/erb.rb        2024-12-13 
21:02:35.000000000 +0100
@@ -42,7 +42,9 @@
         # source location inside the template.
         def translate_location(spot, backtrace_location, source)
           # Tokenize the source line
-          tokens = ::ERB::Util.tokenize(source.lines[backtrace_location.lineno 
- 1])
+          source_lines = source.lines
+          return nil if source_lines.size < backtrace_location.lineno
+          tokens = ::ERB::Util.tokenize(source_lines[backtrace_location.lineno 
- 1])
           new_first_column = find_offset(spot[:snippet], tokens, 
spot[:first_column])
           lineno_delta = spot[:first_lineno] - backtrace_location.lineno
           spot[:first_lineno] -= lineno_delta
@@ -51,7 +53,7 @@
           column_delta = spot[:first_column] - new_first_column
           spot[:first_column] -= column_delta
           spot[:last_column] -= column_delta
-          spot[:script_lines] = source.lines
+          spot[:script_lines] = source_lines
 
           spot
         rescue NotImplementedError, LocationParsingError
@@ -105,51 +107,57 @@
           raise WrongEncodingError.new(string, string.encoding)
         end
 
+        # Find which token in the source template spans the byte range that
+        # contains the error_column, then return the offset compared to the
+        # original source template.
+        #
+        # Iterate consecutive pairs of CODE or TEXT tokens, requiring
+        # a match of the first token before matching either token.
+        #
+        # For example, if we want to find tokens A, B, C, we do the following:
+        # 1. Find a match for A: test error_column or advance scanner.
+        # 2. Find a match for B or A:
+        #   a. If B: start over with next token set (B, C).
+        #   b. If A: test error_column or advance scanner.
+        #   c. Otherwise: Advance 1 byte
+        #
+        # Prioritize matching the next token over the current token once
+        # a match for the current token has been found. This is to prevent
+        # the current token from looping past the next token if they both
+        # match (i.e. if the current token is a single space character).
         def find_offset(compiled, source_tokens, error_column)
           compiled = StringScanner.new(compiled)
+          offset_source_tokens(source_tokens).each_cons(2) do |(name, str, 
offset), (_, next_str, _)|
+            matched_str = false
 
-          passed_tokens = []
+            until compiled.eos?
+              if matched_str && next_str && compiled.match?(next_str)
+                break
+              elsif compiled.match?(str)
+                matched_str = true
 
-          while tok = source_tokens.shift
-            tok_name, str = *tok
-            case tok_name
-            when :TEXT
-              loop do
-                break if compiled.match?(str)
-                compiled.getch
-              end
-              raise LocationParsingError unless compiled.scan(str)
-            when :CODE
-              if compiled.pos > error_column
-                raise LocationParsingError, "We went too far"
-              end
+                if name == :CODE && compiled.pos <= error_column && 
compiled.pos + str.bytesize >= error_column
+                  return error_column - compiled.pos + offset
+                end
 
-              if compiled.pos + str.bytesize >= error_column
-                offset = error_column - compiled.pos
-                return passed_tokens.map(&:last).join.bytesize + offset
+                compiled.pos += str.bytesize
               else
-                unless compiled.scan(str)
-                  raise LocationParsingError, "Couldn't find code snippet"
-                end
-              end
-            when :OPEN
-              next_tok = source_tokens.first.last
-              loop do
-                break if compiled.match?(next_tok)
-                compiled.getch
+                compiled.pos += 1
               end
-            when :CLOSE
-              next_tok = source_tokens.first.last
-              loop do
-                break if compiled.match?(next_tok)
-                compiled.getch
-              end
-            else
-              raise LocationParsingError, "Not implemented: #{tok.first}"
             end
+          end
+
+          raise LocationParsingError, "Couldn't find code snippet"
+        end
 
-            passed_tokens << tok
+        def offset_source_tokens(source_tokens)
+          source_offset = 0
+          with_offset = source_tokens.filter_map do |(name, str)|
+            result = [name, str, source_offset] if name == :CODE || name == 
:TEXT
+            source_offset += str.bytesize
+            result
           end
+          with_offset << [:EOS, nil, source_offset]
         end
       end
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2024-12-10 22:46:14.000000000 +0100
+++ new/metadata        2024-12-13 21:02:35.000000000 +0100
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: actionview
 version: !ruby/object:Gem::Version
-  version: 8.0.0.1
+  version: 8.0.1
 platform: ruby
 authors:
 - David Heinemeier Hansson
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2024-12-10 00:00:00.000000000 Z
+date: 2024-12-13 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: activesupport
@@ -16,14 +16,14 @@
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.0.1
+        version: 8.0.1
   type: :runtime
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.0.1
+        version: 8.0.1
 - !ruby/object:Gem::Dependency
   name: builder
   requirement: !ruby/object:Gem::Requirement
@@ -86,28 +86,28 @@
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.0.1
+        version: 8.0.1
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.0.1
+        version: 8.0.1
 - !ruby/object:Gem::Dependency
   name: activemodel
   requirement: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.0.1
+        version: 8.0.1
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - '='
       - !ruby/object:Gem::Version
-        version: 8.0.0.1
+        version: 8.0.1
 description: Simple, battle-tested conventions and helpers for building web 
pages.
 email: [email protected]
 executables: []
@@ -247,10 +247,10 @@
 - MIT
 metadata:
   bug_tracker_uri: https://github.com/rails/rails/issues
-  changelog_uri: 
https://github.com/rails/rails/blob/v8.0.0.1/actionview/CHANGELOG.md
-  documentation_uri: https://api.rubyonrails.org/v8.0.0.1/
+  changelog_uri: 
https://github.com/rails/rails/blob/v8.0.1/actionview/CHANGELOG.md
+  documentation_uri: https://api.rubyonrails.org/v8.0.1/
   mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
-  source_code_uri: https://github.com/rails/rails/tree/v8.0.0.1/actionview
+  source_code_uri: https://github.com/rails/rails/tree/v8.0.1/actionview
   rubygems_mfa_required: 'true'
 post_install_message: 
 rdoc_options: []

++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.UrKi54/_old  2025-01-21 21:10:25.286845236 +0100
+++ /var/tmp/diff_new_pack.UrKi54/_new  2025-01-21 21:10:25.290845402 +0100
@@ -69,9 +69,9 @@
 #       bar
 #     :post: |-
 #       /bin/echo foo
-# :preamble: |-
-#    %define rb_build_versions     %{my_apps_rb_build_versions}
-#    %define rb_build_ruby_abis    %{my_apps_rb_build_abi}
+#:preamble: |-
+#   %define rb_build_versions     %{my_apps_rb_build_versions}
+#   %define rb_build_ruby_abis    %{my_apps_rb_build_abi}
 :disable_docs: true
 :version_suffix: '-8.0'
 (No newline at EOF)

Reply via email to