public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/rubygem-activesupport] rawhide: Backport upstream fix for compatibility with json 2.20 / 3.0
Date: Tue, 22 Sep 2026 03:30:40 GMT	[thread overview]
Message-ID: <179004784087.1.795985346181695962.rpms-rubygem-activesupport-ed45cc447dfa@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/rubygem-activesupport
Branch : rawhide
Commit : ed45cc447dfa4ddc4862139b32ccaf639de704c0
Author : Mamoru TASAKA <mtasaka@fedoraproject.org>
Date   : 2026-09-22T12:26:15+09:00
Stats  : +84/-1 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/rubygem-activesupport/c/ed45cc447dfa4ddc4862139b32ccaf639de704c0?branch=rawhide

Log:
Backport upstream fix for compatibility with json 2.20 / 3.0

---
diff --git a/rubygem-activesupport-pr57832-json2_20-allow-comments.patch b/rubygem-activesupport-pr57832-json2_20-allow-comments.patch
new file mode 100644
index 0000000..d3abe26
--- /dev/null
+++ b/rubygem-activesupport-pr57832-json2_20-allow-comments.patch
@@ -0,0 +1,43 @@
+From 9e61b1baa6ffbacacffcea7c9cb33217cb327a73 Mon Sep 17 00:00:00 2001
+From: Yasuo Honda <yasuo.honda@gmail.com>
+Date: Wed, 24 Jun 2026 08:45:57 +0900
+Subject: [PATCH] Bump json to 2.20.0 and pass `allow_comments: true`
+
+json 2.20.0 (ruby/json#1001, commit 138b9a2c) deprecates the parser's
+default support for JavaScript comments in favor of an `allow_comments: true`
+option. Parsing comment-bearing JSON without it now warns that it "will raise
+an error in json 3.0 unless enabled via `allow_comments: true`", which fails
+Active Support and Railties under the test suite's warnings-as-errors mode.
+
+Pass `allow_comments: true` at the parse sites that intentionally read
+comment-bearing JSON:
+
+- Active Support's JSON message serializer fallback `_load`, which is
+  documented to load irregular JSON (the test feeds it a leading
+  `/* comment */`).
+- Railties' devcontainer.json, which is JSONC by spec: the
+  `db:system:change` generator that re-reads it, and the generator test
+  helper that asserts on the generated file.
+
+Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
+---
+ Gemfile.lock                                                  | 4 ++--
+ .../lib/active_support/messages/serializer_with_fallback.rb   | 2 +-
+ .../generators/rails/db/system/change/change_generator.rb     | 2 +-
+ railties/test/generators/generators_test_helper.rb            | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/activesupport/lib/active_support/messages/serializer_with_fallback.rb b/activesupport/lib/active_support/messages/serializer_with_fallback.rb
+index 2254237a917ac..f9a1f9ea0f6c7 100644
+--- a/activesupport/lib/active_support/messages/serializer_with_fallback.rb
++++ b/activesupport/lib/active_support/messages/serializer_with_fallback.rb
+@@ -88,7 +88,7 @@ def dump(object)
+           end
+ 
+           def _load(dumped)
+-            ActiveSupport::JSON.decode(dumped)
++            ActiveSupport::JSON.decode(dumped, allow_comments: true)
+           end
+ 
+           JSON_START_WITH = /\A(?:[{\["]|-?\d|true|false|null)/
+

diff --git a/rubygem-activesupport-pr58601-json3-compat.patch b/rubygem-activesupport-pr58601-json3-compat.patch
new file mode 100644
index 0000000..e41d38c
--- /dev/null
+++ b/rubygem-activesupport-pr58601-json3-compat.patch
@@ -0,0 +1,29 @@
+From cc07aa3153e3bd47151b6bbaa0f39347b0feb4bc Mon Sep 17 00:00:00 2001
+From: Earlopain <14981592+Earlopain@users.noreply.github.com>
+Date: Fri, 28 Aug 2026 17:55:05 +0200
+Subject: [PATCH 1/2] Fix compatibility with json 3.0 in activesupport
+
+It needs keywords arguments now.
+
+I guess the method signature should really be `def decode(...)` and just pass stuff along
+but theres a test that a hash works and there's also the `encode` equivalent.
+
+Either way, this works with both versions.
+---
+ activesupport/lib/active_support/json/decoding.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/activesupport/lib/active_support/json/decoding.rb b/activesupport/lib/active_support/json/decoding.rb
+index 420eef2485f9e..f19e5d8fbeeb1 100644
+--- a/activesupport/lib/active_support/json/decoding.rb
++++ b/activesupport/lib/active_support/json/decoding.rb
+@@ -22,7 +22,7 @@ class << self
+       #   ActiveSupport::JSON.decode("2.39")
+       #   # => 2.39
+       def decode(json, options = {})
+-        data = ::JSON.parse(json, options)
++        data = ::JSON.parse(json, **options)
+ 
+         if ActiveSupport.parse_json_times
+           convert_dates_from(data)
+

diff --git a/rubygem-activesupport.spec b/rubygem-activesupport.spec
index 8011781..df5519a 100644
--- a/rubygem-activesupport.spec
+++ b/rubygem-activesupport.spec
@@ -5,7 +5,7 @@
 Name: rubygem-%{gem_name}
 Epoch: 1
 Version: 8.1.3.1
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: A support libraries and Ruby core extensions extracted from the Rails framework
 License: MIT
 URL: https://rubyonrails.org
@@ -21,6 +21,12 @@ Source2: https://raw.githubusercontent.com/rails/rails/refs/tags/v8.1.2/tools/st
 Source3: https://raw.githubusercontent.com/rails/rails/e25d738430bdc6bdd04cd28be705484ea953e74e/tools/test_common.rb
 # We don't always install railties with activesupport, so rescue this
 Patch3: rubygem-activesupport-pr56202-minitest6-rescue-loaderror.patch
+# Fix compatibility with json 2.20 with allowing comments
+# https://github.com/rails/rails/pull/57832
+Patch4: rubygem-activesupport-pr57832-json2_20-allow-comments.patch
+# Fix compatibility with json 3.0
+# https://github.com/rails/rails/pull/58601
+Patch5: rubygem-activesupport-pr58601-json3-compat.patch
 
 # Runtime dependency, lot of build failures in other packages.
 # https://fedoraproject.org/wiki/Changes/AllowRemovalOfTzdata
@@ -69,6 +75,8 @@ Documentation for %{name}.
 %setup -q -n %{gem_name}-%{version}%{?prerelease} -a 1
 
 %patch 3 -p1
+%patch 4 -p2
+%patch 5 -p2
 
 # lib/active_support/testing/method_call_assertions.rb
 # always needs minitest/mock
@@ -129,6 +137,9 @@ kill -INT $(cat $VALKEY_DIR/valkey.pid)
 %doc %{gem_instdir}/README.rdoc
 
 %changelog
+* Fri Sep 11 2026 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:8.1.3.1-2
+- Backport upstream fix for compatibility with json 2.20 / 3.0
+
 * Mon Aug 03 2026 Vít Ondruch <vondruch@redhat.com> - 1:8.1.3.1-1
 - Update to Active Support 8.1.3.1.
   Related: rhzb#2405582

                 reply	other threads:[~2026-09-22  3:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=179004784087.1.795985346181695962.rpms-rubygem-activesupport-ed45cc447dfa@fedoraproject.org \
    --to=mtasaka@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox