Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-actionpack-8.0 for
openSUSE:Factory checked in at 2026-07-07 21:04:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-actionpack-8.0 (Old)
and /work/SRC/openSUSE:Factory/.rubygem-actionpack-8.0.new.1982 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-actionpack-8.0"
Tue Jul 7 21:04:52 2026 rev:6 rq:1364219 version:8.0.5
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-actionpack-8.0/rubygem-actionpack-8.0.changes
2025-10-10 17:13:55.084779238 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-actionpack-8.0.new.1982/rubygem-actionpack-8.0.changes
2026-07-07 21:07:43.351676030 +0200
@@ -1,0 +2,6 @@
+Tue Jul 7 08:59:21 UTC 2026 - Aleksei Burlakov <[email protected]>
+
+- Update to version 8.0.5:
+
https://rubyonrails.org/2026/3/24/Rails-Versions-8-0-5-and-8-1-3-have-been-released
+
+-------------------------------------------------------------------
Old:
----
actionpack-8.0.3.gem
New:
----
actionpack-8.0.5.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-actionpack-8.0.spec ++++++
--- /var/tmp/diff_new_pack.7RmUq9/_old 2026-07-07 21:07:43.891694652 +0200
+++ /var/tmp/diff_new_pack.7RmUq9/_new 2026-07-07 21:07:43.895694789 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-actionpack-8.0
#
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 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-actionpack-8.0
-Version: 8.0.3
+Version: 8.0.5
Release: 0
%define mod_name actionpack
%define mod_full_name %{mod_name}-%{version}
++++++ actionpack-8.0.3.gem -> actionpack-8.0.5.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 1980-01-02 01:00:00.000000000 +0100
+++ new/CHANGELOG.md 1980-01-02 01:00:00.000000000 +0100
@@ -1,3 +1,36 @@
+## Rails 8.0.5 (March 24, 2026) ##
+
+* Add `config.action_controller.live_streaming_excluded_keys` to control
execution state sharing in ActionController::Live.
+
+ When using ActionController::Live, actions are executed in a separate
thread that shares
+ state from the parent thread. This new configuration allows applications
to opt-out specific
+ state keys that should not be shared.
+
+ This is useful when streaming inside a `connected_to` block, where you may
want
+ the streaming thread to use its own database connection context.
+
+ ```ruby
+ # config/application.rb
+ config.action_controller.live_streaming_excluded_keys =
[:active_record_connected_to_stack]
+ ```
+
+ By default, all keys are shared.
+
+ *Eileen M. Uchitelle*
+
+
+## Rails 8.0.4.1 (March 23, 2026) ##
+
+* No changes.
+
+
+## Rails 8.0.4 (October 28, 2025) ##
+
+* Submit test requests using `as: :html` with `Content-Type:
x-www-form-urlencoded`
+
+ *Sean Doyle*
+
+
## Rails 8.0.3 (September 22, 2025) ##
* URL helpers for engines mounted at the application root handle
`SCRIPT_NAME` correctly.
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/abstract_controller/helpers.rb
new/lib/abstract_controller/helpers.rb
--- old/lib/abstract_controller/helpers.rb 1980-01-02 01:00:00.000000000
+0100
+++ new/lib/abstract_controller/helpers.rb 1980-01-02 01:00:00.000000000
+0100
@@ -90,7 +90,7 @@
#--
# Implemented by Resolution#modules_for_helpers.
- # :method: # all_helpers_from_path
+ # :method: all_helpers_from_path
# :call-seq: all_helpers_from_path(path)
#
# Returns a list of helper names in a given path.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/metal/live.rb
new/lib/action_controller/metal/live.rb
--- old/lib/action_controller/metal/live.rb 1980-01-02 01:00:00.000000000
+0100
+++ new/lib/action_controller/metal/live.rb 1980-01-02 01:00:00.000000000
+0100
@@ -53,9 +53,50 @@
# response.headers["Last-Modified"] = Time.now.httpdate # Add this
line if your Rack version is 2.2.x
# ...
# end
+ #
+ # ## Streaming and Execution State
+ #
+ # When streaming, the action is executed in a separate thread. By default,
this thread
+ # shares execution state from the parent thread.
+ #
+ # You can configure which execution state keys should be excluded from being
shared
+ # using the `config.action_controller.live_streaming_excluded_keys`
configuration:
+ #
+ # # config/application.rb
+ # config.action_controller.live_streaming_excluded_keys =
[:active_record_connected_to_stack]
+ #
+ # This is useful when using ActionController::Live inside a `connected_to`
block. For example,
+ # if the parent request is reading from a replica using `connected_to(role:
:reading)`, you may
+ # want the streaming thread to use its own connection context instead of
inheriting the read-only
+ # context:
+ #
+ # # Without configuration, streaming thread inherits read-only connection
+ # ActiveRecord::Base.connected_to(role: :reading) do
+ # @posts = Post.all
+ # render stream: true # Streaming thread cannot write to database
+ # end
+ #
+ # # With configuration, streaming thread gets fresh connection context
+ # # config.action_controller.live_streaming_excluded_keys =
[:active_record_connected_to_stack]
+ # ActiveRecord::Base.connected_to(role: :reading) do
+ # @posts = Post.all
+ # render stream: true # Streaming thread can write to database if needed
+ # end
+ #
+ # Common keys you might want to exclude:
+ # - `:active_record_connected_to_stack` - Database connection routing and
roles
+ # - `:active_record_prohibit_shard_swapping` - Shard swapping restrictions
+ #
+ # By default, no keys are excluded to maintain backward compatibility.
module Live
extend ActiveSupport::Concern
+ mattr_accessor :live_streaming_excluded_keys, default: []
+
+ included do
+ class_attribute :live_streaming_excluded_keys, instance_accessor: false,
default: Live.live_streaming_excluded_keys
+ end
+
module ClassMethods
def make_response!(request)
if (request.get_header("SERVER_PROTOCOL") ||
request.get_header("HTTP_VERSION")) == "HTTP/1.0"
@@ -282,7 +323,7 @@
# Since we're processing the view in a different thread, copy the
thread locals
# from the main thread to the child thread. :'(
locals.each { |k, v| t2[k] = v }
- ActiveSupport::IsolatedExecutionState.share_with(t1)
+ ActiveSupport::IsolatedExecutionState.share_with(t1, except:
self.class.live_streaming_excluded_keys)
begin
super(name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/railtie.rb
new/lib/action_controller/railtie.rb
--- old/lib/action_controller/railtie.rb 1980-01-02 01:00:00.000000000
+0100
+++ new/lib/action_controller/railtie.rb 1980-01-02 01:00:00.000000000
+0100
@@ -31,6 +31,10 @@
ActionController::Helpers.helpers_path = app.helpers_paths
end
+ initializer "action_controller.live_streaming_excluded_keys" do |app|
+ ActionController::Live.live_streaming_excluded_keys =
app.config.action_controller.live_streaming_excluded_keys
+ end
+
initializer "action_controller.parameters_config" do |app|
options = app.config.action_controller
@@ -80,6 +84,7 @@
:action_on_unpermitted_parameters,
:always_permitted_parameters,
:wrap_parameters_by_default,
+ :live_streaming_excluded_keys
)
filtered_options.each do |k, v|
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/middleware/debug_exceptions.rb
new/lib/action_dispatch/middleware/debug_exceptions.rb
--- old/lib/action_dispatch/middleware/debug_exceptions.rb 1980-01-02
01:00:00.000000000 +0100
+++ new/lib/action_dispatch/middleware/debug_exceptions.rb 1980-01-02
01:00:00.000000000 +0100
@@ -65,7 +65,7 @@
content_type = Mime[:text]
end
- if request.head?
+ if request.raw_request_method == "HEAD"
render(wrapper.status_code, "", content_type)
elsif api_request?(content_type)
render_for_api_request(content_type, wrapper)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/testing/integration.rb
new/lib/action_dispatch/testing/integration.rb
--- old/lib/action_dispatch/testing/integration.rb 1980-01-02
01:00:00.000000000 +0100
+++ new/lib/action_dispatch/testing/integration.rb 1980-01-02
01:00:00.000000000 +0100
@@ -184,7 +184,7 @@
# Returns `true` if the session is mimicking a secure HTTPS request.
#
# if session.https?
- # ...
+ # # ...
# end
def https?
@https
@@ -203,7 +203,7 @@
# * `env`: Additional env to pass, as a Hash. The headers will be
merged into
# the Rack env hash.
# * `xhr`: Set to `true` if you want to make an Ajax request. Adds
request
- # headers characteristic of XMLHttpRequest e.g.
HTTP_X_REQUESTED_WITH. The
+ # headers characteristic of `XMLHttpRequest`, e.g.
`HTTP_X_REQUESTED_WITH`. The
# headers will be merged into the Rack env hash.
# * `as`: Used for encoding the request with different content type.
Supports
# `:json` by default and will set the appropriate request headers.
The
@@ -218,9 +218,10 @@
# This method returns the response status, after performing the request.
# Furthermore, if this method was called from an
ActionDispatch::IntegrationTest
# object, then that object's `@response` instance variable will point to
a
- # Response object which one can use to inspect the details of the
response.
+ # ActionDispatch::TestResponse object which one can use to inspect the
details of the response.
#
# Example:
+ #
# process :get, '/author', params: { since: 201501011400 }
def process(method, path, params: nil, headers: nil, env: nil, xhr:
false, as: nil)
request_encoder = RequestEncoder.encoder(as)
@@ -621,7 +622,7 @@
# end
#
# assert_response :success
- # assert_equal({ id: Article.last.id, title: "Ahoy!" },
response.parsed_body)
+ # assert_equal({ "id" => Article.last.id, "title" => "Ahoy!" },
response.parsed_body)
# end
# end
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_dispatch/testing/request_encoder.rb
new/lib/action_dispatch/testing/request_encoder.rb
--- old/lib/action_dispatch/testing/request_encoder.rb 1980-01-02
01:00:00.000000000 +0100
+++ new/lib/action_dispatch/testing/request_encoder.rb 1980-01-02
01:00:00.000000000 +0100
@@ -3,6 +3,7 @@
# :markup: markdown
require "nokogiri"
+require "action_dispatch/http/mime_type"
module ActionDispatch
class RequestEncoder # :nodoc:
@@ -15,9 +16,9 @@
@encoders = { identity: IdentityEncoder.new }
- attr_reader :response_parser
+ attr_reader :response_parser, :content_type
- def initialize(mime_name, param_encoder, response_parser)
+ def initialize(mime_name, param_encoder, response_parser, content_type)
@mime = Mime[mime_name]
unless @mime
@@ -27,10 +28,7 @@
@response_parser = response_parser || -> body { body }
@param_encoder = param_encoder || :"to_#{@mime.symbol}".to_proc
- end
-
- def content_type
- @mime.to_s
+ @content_type = content_type || @mime.to_s
end
def accept_header
@@ -50,11 +48,13 @@
@encoders[name] || @encoders[:identity]
end
- def self.register_encoder(mime_name, param_encoder: nil, response_parser:
nil)
- @encoders[mime_name] = new(mime_name, param_encoder, response_parser)
+ def self.register_encoder(mime_name, param_encoder: nil, response_parser:
nil, content_type: nil)
+ @encoders[mime_name] = new(mime_name, param_encoder, response_parser,
content_type)
end
- register_encoder :html, response_parser: -> body {
Rails::Dom::Testing.html_document.parse(body) }
+ register_encoder :html, response_parser: -> body {
Rails::Dom::Testing.html_document.parse(body) },
+ param_encoder: -> param { param },
+ content_type: Mime[:url_encoded_form].to_s
register_encoder :json, response_parser: -> body { JSON.parse(body,
object_class: ActiveSupport::HashWithIndifferentAccess) }
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_pack/gem_version.rb
new/lib/action_pack/gem_version.rb
--- old/lib/action_pack/gem_version.rb 1980-01-02 01:00:00.000000000 +0100
+++ new/lib/action_pack/gem_version.rb 1980-01-02 01:00:00.000000000 +0100
@@ -11,7 +11,7 @@
module VERSION
MAJOR = 8
MINOR = 0
- TINY = 3
+ TINY = 5
PRE = nil
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 1980-01-02 01:00:00.000000000 +0100
+++ new/metadata 1980-01-02 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: actionpack
version: !ruby/object:Gem::Version
- version: 8.0.3
+ version: 8.0.5
platform: ruby
authors:
- David Heinemeier Hansson
@@ -15,14 +15,14 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.3
+ version: 8.0.5
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.3
+ version: 8.0.5
- !ruby/object:Gem::Dependency
name: nokogiri
requirement: !ruby/object:Gem::Requirement
@@ -127,28 +127,28 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.3
+ version: 8.0.5
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.3
+ version: 8.0.5
- !ruby/object:Gem::Dependency
name: activemodel
requirement: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.3
+ version: 8.0.5
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.3
+ version: 8.0.5
description: Web apps on Rails. Simple, battle-tested conventions for building
and
testing MVC web applications. Works with any Rack-compatible server.
email: [email protected]
@@ -349,10 +349,10 @@
- MIT
metadata:
bug_tracker_uri: https://github.com/rails/rails/issues
- changelog_uri:
https://github.com/rails/rails/blob/v8.0.3/actionpack/CHANGELOG.md
- documentation_uri: https://api.rubyonrails.org/v8.0.3/
+ changelog_uri:
https://github.com/rails/rails/blob/v8.0.5/actionpack/CHANGELOG.md
+ documentation_uri: https://api.rubyonrails.org/v8.0.5/
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
- source_code_uri: https://github.com/rails/rails/tree/v8.0.3/actionpack
+ source_code_uri: https://github.com/rails/rails/tree/v8.0.5/actionpack
rubygems_mfa_required: 'true'
rdoc_options: []
require_paths:
@@ -369,7 +369,7 @@
version: '0'
requirements:
- none
-rubygems_version: 3.6.9
+rubygems_version: 4.0.6
specification_version: 4
summary: Web-flow and rendering framework putting the VC in MVC (part of
Rails).
test_files: []