From 8f36dd2e86cac2de50debc9a8d1df3e37602954e Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Thu, 1 Oct 2026 18:37:15 +0200 Subject: [PATCH 1/5] Expect real response durations in the request specs logtail-rack 0.2.8 times responses with the monotonic clock, which Timecop doesn't freeze, so "Completed 200 OK in 0.0ms" no longer holds. The last CI run on main still resolved logtail-rack 0.2.7. Co-Authored-By: Claude Opus 5.5 --- spec/logtail-rails/http_events_spec.rb | 4 ++-- spec/logtail-rails/rack_logger_spec.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/logtail-rails/http_events_spec.rb b/spec/logtail-rails/http_events_spec.rb index 2e8bb2a..d185ab9 100755 --- a/spec/logtail-rails/http_events_spec.rb +++ b/spec/logtail-rails/http_events_spec.rb @@ -45,7 +45,7 @@ def method_for_action(action_name) expect(lines[0]).to include("Started GET \\\"/rack_http\\\"") expect(lines[1]).to include("Processing by RackHttpController#index as HTML") - expect(lines[2]).to include("Completed 200 OK in 0.0ms") + expect(lines[2]).to match(/Completed 200 OK in \d+\.\d+ms/) end context "with the route silenced" do @@ -87,7 +87,7 @@ def method_for_action(action_name) expect(lines.length).to eq(2) expect(lines[0]).to include("Processing by RackHttpController#index as HTML") - expect(lines[1]).to include("GET /rack_http completed with 200 OK in 0.0ms") + expect(lines[1]).to match(/GET \/rack_http completed with 200 OK in \d+\.\d+ms/) end end end diff --git a/spec/logtail-rails/rack_logger_spec.rb b/spec/logtail-rails/rack_logger_spec.rb index e3c2109..6976159 100755 --- a/spec/logtail-rails/rack_logger_spec.rb +++ b/spec/logtail-rails/rack_logger_spec.rb @@ -49,7 +49,7 @@ def method_for_action(action_name) expect(lines.length).to eq(3) expect(lines[0]).to include("Started GET \\\"/rails_rack_logger\\\"") expect(lines[1]).to include("Processing by RailsRackLoggerController#index as HTML") - expect(lines[2]).to include("Completed 200 OK in 0.0ms") + expect(lines[2]).to match(/Completed 200 OK in \d+\.\d+ms/) ensure Logtail::Integrations::Rails::EventLogSubscriber.enabled = original_enabled end From 637d4d5b7fa112ee24fccf1a5a3e0c2383d31d8a Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Thu, 1 Oct 2026 18:47:59 +0200 Subject: [PATCH 2/5] Add failing tests for logging a Rails request with json 3 on ActiveSupport 8.0 With json 3, ActiveSupport 8.0 and older raise on every direct to_json call, because their encoder passes quirks_mode: to JSON.generate. The gems below logtail-rails call to_json for headers_json (logtail-rack), params_json, backtrace_json and each JSON log line (logtail), so every request fails with ArgumentError and nothing is logged. The tests stub ActiveSupport::JSON.encode to raise the same way on every Rails version in CI. Co-Authored-By: Claude Opus 5.5 --- spec/logtail-rails/json_encoding_spec.rb | 90 ++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 spec/logtail-rails/json_encoding_spec.rb diff --git a/spec/logtail-rails/json_encoding_spec.rb b/spec/logtail-rails/json_encoding_spec.rb new file mode 100644 index 0000000..5bae458 --- /dev/null +++ b/spec/logtail-rails/json_encoding_spec.rb @@ -0,0 +1,90 @@ +require "spec_helper" + +# With json 3, ActiveSupport 8.0 and older can't encode anything through `to_json` called directly: +# ActiveSupport::JSON.encode passes `quirks_mode:` to JSON.generate, which json 3 rejects. Calls made +# by JSON.generate itself pass a JSON::State and keep working. The stub raises where json 3 does. +RSpec.describe "JSON encoding when to_json raises like json 3 under ActiveSupport 8.0" do + let(:time) { Time.utc(2016, 9, 1, 12, 0, 0) } + let(:io) { StringIO.new } + let(:logger) do + logger = Logtail::Logger.new(io) + logger.level = ::Logger::INFO + logger + end + + around(:each) do |example| + class JsonEncodingController < ActionController::Base + layout nil + + def index + render template: "template" + end + + def error + raise "Boom!" + end + + def method_for_action(action_name) + action_name + end + end + + ::RailsApp.routes.draw do + get '/json_encoding' => 'json_encoding#index' + get '/json_encoding_error' => 'json_encoding#error' + end + + # Raise exceptions instead of rendering them. Since Rails 7.2 the spec app's false means :all. + env_config = ::Rails.application.env_config + show_exceptions = env_config["action_dispatch.show_exceptions"] + env_config["action_dispatch.show_exceptions"] = :none if ::Rails::VERSION::MAJOR > 7 || ::Rails::VERSION::MAJOR == 7 && ::Rails::VERSION::MINOR >= 1 + + begin + with_rails_logger(logger) do + Timecop.freeze(time) { example.run } + end + ensure + env_config["action_dispatch.show_exceptions"] = show_exceptions + end + + Object.send(:remove_const, :JsonEncodingController) + end + + before(:each) do + allow(::ActiveSupport::JSON).to receive(:encode).and_raise(ArgumentError, "unknown keyword: :quirks_mode") + end + + it "should log a request" do + response = dispatch_rails_request("/json_encoding?page=2") + + expect(response.status).to eq(200) + + request = logged_event("http_request_received") + expect(request).to include("headers_json") + expect(JSON.parse(request["headers_json"])).to include("X_Request_Id" => "unique-request-id-1234") + + controller_call = logged_event("controller_called") + expect(controller_call).to include("controller" => "JsonEncodingController", "action" => "index") + expect(JSON.parse(controller_call["params_json"])).to eq("page" => "2") + + expect(logged_event("template_rendered")).to include("name" => "spec/support/rails/templates/template.html") + + response_sent = logged_event("http_response_sent") + expect(response_sent).to include("status" => 200) + expect(JSON.parse(response_sent["headers_json"])).to be_a(Hash) + end + + it "should log an exception and let it through" do + expect { dispatch_rails_request("/json_encoding_error") }.to raise_error(RuntimeError, "Boom!") + + error = logged_event("error") + expect(error).to include("name" => "RuntimeError", "message" => "Boom!") + expect(JSON.parse(error["backtrace_json"])).to be_an(Array) + end + + # The first logged event with this name. The Rack middlewares nest theirs under "event". + def logged_event(name) + lines = io.string.split("\n").map { |line| JSON.parse(line) } + lines.map { |line| line[name] || (line["event"] || {})[name] }.compact.first + end +end From 85f4056fb5ce3e74ced2f1d49fa396f7d207ce60 Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Thu, 1 Oct 2026 18:51:40 +0200 Subject: [PATCH 3/5] TEMP: run CI against the logtail and logtail-rack branches until 0.1.21 and 0.2.9 are released Points the root Gemfile and every gemfiles/*.gemfile at the json-generate branches of logtail-ruby (logtail-ruby#53) and logtail-ruby-rack (logtail-ruby-rack#28), which replace to_json with JSON.generate. At merge time, after both releases, replace this commit with logtail ~> 0.1, >= 0.1.21 and logtail-rack ~> 0.2, >= 0.2.9 in the gemspec. Co-Authored-By: Claude Opus 5.5 --- Gemfile | 3 +++ gemfiles/rails-5.0.gemfile | 4 ++-- gemfiles/rails-5.1.gemfile | 4 ++-- gemfiles/rails-5.2.gemfile | 4 ++-- gemfiles/rails-6.0.gemfile | 4 ++-- gemfiles/rails-6.1.gemfile | 4 ++-- gemfiles/rails-7.0.gemfile | 4 ++-- gemfiles/rails-7.1.gemfile | 4 ++-- gemfiles/rails-7.2.gemfile | 4 ++-- gemfiles/rails-8.0.gemfile | 4 ++-- gemfiles/rails-8.1.gemfile | 4 ++-- gemfiles/rails-edge.gemfile | 4 ++-- 12 files changed, 25 insertions(+), 22 deletions(-) diff --git a/Gemfile b/Gemfile index 8d20490..937dc6d 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,7 @@ source "https://rubygems.org" gem 'sidekiq', '>= 7.3.0', require: false, group: :test if RUBY_VERSION >= '2.7.0' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' + gemspec diff --git a/gemfiles/rails-5.0.gemfile b/gemfiles/rails-5.0.gemfile index 2da8487..b8e7fc3 100755 --- a/gemfiles/rails-5.0.gemfile +++ b/gemfiles/rails-5.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 5.0.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2' diff --git a/gemfiles/rails-5.1.gemfile b/gemfiles/rails-5.1.gemfile index 6adb3f7..b00dd23 100755 --- a/gemfiles/rails-5.1.gemfile +++ b/gemfiles/rails-5.1.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 5.1.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2' diff --git a/gemfiles/rails-5.2.gemfile b/gemfiles/rails-5.2.gemfile index 9375d63..0179ca4 100755 --- a/gemfiles/rails-5.2.gemfile +++ b/gemfiles/rails-5.2.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 5.2.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2' diff --git a/gemfiles/rails-6.0.gemfile b/gemfiles/rails-6.0.gemfile index e6e3320..4cb6997 100755 --- a/gemfiles/rails-6.0.gemfile +++ b/gemfiles/rails-6.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 6.0.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' if RUBY_VERSION >= "3.4.0" gem 'mutex_m' diff --git a/gemfiles/rails-6.1.gemfile b/gemfiles/rails-6.1.gemfile index fb7e121..cc62c83 100755 --- a/gemfiles/rails-6.1.gemfile +++ b/gemfiles/rails-6.1.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 6.1.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' if RUBY_VERSION >= "3.4.0" gem 'mutex_m' diff --git a/gemfiles/rails-7.0.gemfile b/gemfiles/rails-7.0.gemfile index ad045e1..9f1beaa 100755 --- a/gemfiles/rails-7.0.gemfile +++ b/gemfiles/rails-7.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 7.0.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' if RUBY_VERSION >= "3.4.0" gem 'mutex_m' diff --git a/gemfiles/rails-7.1.gemfile b/gemfiles/rails-7.1.gemfile index 83ac20c..d6eb97c 100755 --- a/gemfiles/rails-7.1.gemfile +++ b/gemfiles/rails-7.1.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 7.1.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' # ActiveSupport passes quirks_mode to JSON.generate until 7.2.4 and 8.1, json 3 no longer accepts it gem 'json', '< 3' diff --git a/gemfiles/rails-7.2.gemfile b/gemfiles/rails-7.2.gemfile index 2a86de7..4bf3c57 100644 --- a/gemfiles/rails-7.2.gemfile +++ b/gemfiles/rails-7.2.gemfile @@ -5,7 +5,7 @@ source 'https://rubygems.org' gem 'rails', '~> 7.2.4' gem 'sidekiq', '>= 7.3.0', require: false -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' gemspec :path => '../' diff --git a/gemfiles/rails-8.0.gemfile b/gemfiles/rails-8.0.gemfile index d34482f..29b557c 100755 --- a/gemfiles/rails-8.0.gemfile +++ b/gemfiles/rails-8.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 8.0.0' gem 'sidekiq', '>= 7.3.0', require: false -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' # ActiveSupport passes quirks_mode to JSON.generate until 7.2.4 and 8.1, json 3 no longer accepts it gem 'json', '< 3' diff --git a/gemfiles/rails-8.1.gemfile b/gemfiles/rails-8.1.gemfile index 03b4e39..980ca8b 100755 --- a/gemfiles/rails-8.1.gemfile +++ b/gemfiles/rails-8.1.gemfile @@ -3,7 +3,7 @@ source 'https://rubygems.org' gem 'rails', '~> 8.1.0' gem 'sidekiq', '>= 7.3.0', require: false -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' gemspec :path => '../' diff --git a/gemfiles/rails-edge.gemfile b/gemfiles/rails-edge.gemfile index ac2df52..aeb59f9 100755 --- a/gemfiles/rails-edge.gemfile +++ b/gemfiles/rails-edge.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', github: 'rails/rails', branch: 'main' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail' -gem 'logtail-rack' +gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' +gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2' From 41dcfcd6fd747894a7e2c371a95b366dbf89bb85 Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Thu, 1 Oct 2026 19:24:08 +0200 Subject: [PATCH 4/5] Test that a Time and NaN still log as ActiveSupport encoded them logtail-ruby#53 converts with as_json before JSON.generate, so with json 3 a Time keeps ActiveSupport's ISO 8601 format and NaN still becomes null. Plain JSON.generate would write Time#to_s and raise on NaN. The test logs both through Rails.logger with ActiveSupport's encoder raising and expects what ActiveSupport's to_json produced before. Co-Authored-By: Claude Opus 5.5 --- spec/logtail-rails/json_encoding_spec.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/spec/logtail-rails/json_encoding_spec.rb b/spec/logtail-rails/json_encoding_spec.rb index 5bae458..fb099f5 100644 --- a/spec/logtail-rails/json_encoding_spec.rb +++ b/spec/logtail-rails/json_encoding_spec.rb @@ -82,6 +82,12 @@ def method_for_action(action_name) expect(JSON.parse(error["backtrace_json"])).to be_an(Array) end + it "should log a Time and NaN as ActiveSupport encoded them" do + ::Rails.logger.info("JSON values", custom: {at: time, ratio: Float::NAN}) + + expect(JSON.parse(io.string)["custom"]).to eq("at" => "2016-09-01T12:00:00.000Z", "ratio" => nil) + end + # The first logged event with this name. The Rack middlewares nest theirs under "event". def logged_event(name) lines = io.string.split("\n").map { |line| JSON.parse(line) } From e26ed3203eaaf5246db30a796425fd418da7f24e Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Fri, 2 Oct 2026 14:08:38 +0200 Subject: [PATCH 5/5] Revert "TEMP: run CI against the logtail and logtail-rack branches until 0.1.21 and 0.2.9 are released" This reverts commit 85f4056fb5ce3e74ced2f1d49fa396f7d207ce60. --- Gemfile | 3 --- gemfiles/rails-5.0.gemfile | 4 ++-- gemfiles/rails-5.1.gemfile | 4 ++-- gemfiles/rails-5.2.gemfile | 4 ++-- gemfiles/rails-6.0.gemfile | 4 ++-- gemfiles/rails-6.1.gemfile | 4 ++-- gemfiles/rails-7.0.gemfile | 4 ++-- gemfiles/rails-7.1.gemfile | 4 ++-- gemfiles/rails-7.2.gemfile | 4 ++-- gemfiles/rails-8.0.gemfile | 4 ++-- gemfiles/rails-8.1.gemfile | 4 ++-- gemfiles/rails-edge.gemfile | 4 ++-- 12 files changed, 22 insertions(+), 25 deletions(-) diff --git a/Gemfile b/Gemfile index 937dc6d..8d20490 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,4 @@ source "https://rubygems.org" gem 'sidekiq', '>= 7.3.0', require: false, group: :test if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' - gemspec diff --git a/gemfiles/rails-5.0.gemfile b/gemfiles/rails-5.0.gemfile index b8e7fc3..2da8487 100755 --- a/gemfiles/rails-5.0.gemfile +++ b/gemfiles/rails-5.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 5.0.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2' diff --git a/gemfiles/rails-5.1.gemfile b/gemfiles/rails-5.1.gemfile index b00dd23..6adb3f7 100755 --- a/gemfiles/rails-5.1.gemfile +++ b/gemfiles/rails-5.1.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 5.1.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2' diff --git a/gemfiles/rails-5.2.gemfile b/gemfiles/rails-5.2.gemfile index 0179ca4..9375d63 100755 --- a/gemfiles/rails-5.2.gemfile +++ b/gemfiles/rails-5.2.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 5.2.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2' diff --git a/gemfiles/rails-6.0.gemfile b/gemfiles/rails-6.0.gemfile index 4cb6997..e6e3320 100755 --- a/gemfiles/rails-6.0.gemfile +++ b/gemfiles/rails-6.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 6.0.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' if RUBY_VERSION >= "3.4.0" gem 'mutex_m' diff --git a/gemfiles/rails-6.1.gemfile b/gemfiles/rails-6.1.gemfile index cc62c83..fb7e121 100755 --- a/gemfiles/rails-6.1.gemfile +++ b/gemfiles/rails-6.1.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 6.1.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' if RUBY_VERSION >= "3.4.0" gem 'mutex_m' diff --git a/gemfiles/rails-7.0.gemfile b/gemfiles/rails-7.0.gemfile index 9f1beaa..ad045e1 100755 --- a/gemfiles/rails-7.0.gemfile +++ b/gemfiles/rails-7.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 7.0.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' if RUBY_VERSION >= "3.4.0" gem 'mutex_m' diff --git a/gemfiles/rails-7.1.gemfile b/gemfiles/rails-7.1.gemfile index d6eb97c..83ac20c 100755 --- a/gemfiles/rails-7.1.gemfile +++ b/gemfiles/rails-7.1.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 7.1.0' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' # ActiveSupport passes quirks_mode to JSON.generate until 7.2.4 and 8.1, json 3 no longer accepts it gem 'json', '< 3' diff --git a/gemfiles/rails-7.2.gemfile b/gemfiles/rails-7.2.gemfile index 4bf3c57..2a86de7 100644 --- a/gemfiles/rails-7.2.gemfile +++ b/gemfiles/rails-7.2.gemfile @@ -5,7 +5,7 @@ source 'https://rubygems.org' gem 'rails', '~> 7.2.4' gem 'sidekiq', '>= 7.3.0', require: false -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' gemspec :path => '../' diff --git a/gemfiles/rails-8.0.gemfile b/gemfiles/rails-8.0.gemfile index 29b557c..d34482f 100755 --- a/gemfiles/rails-8.0.gemfile +++ b/gemfiles/rails-8.0.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', '~> 8.0.0' gem 'sidekiq', '>= 7.3.0', require: false -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' # ActiveSupport passes quirks_mode to JSON.generate until 7.2.4 and 8.1, json 3 no longer accepts it gem 'json', '< 3' diff --git a/gemfiles/rails-8.1.gemfile b/gemfiles/rails-8.1.gemfile index 980ca8b..03b4e39 100755 --- a/gemfiles/rails-8.1.gemfile +++ b/gemfiles/rails-8.1.gemfile @@ -3,7 +3,7 @@ source 'https://rubygems.org' gem 'rails', '~> 8.1.0' gem 'sidekiq', '>= 7.3.0', require: false -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' gemspec :path => '../' diff --git a/gemfiles/rails-edge.gemfile b/gemfiles/rails-edge.gemfile index aeb59f9..ac2df52 100755 --- a/gemfiles/rails-edge.gemfile +++ b/gemfiles/rails-edge.gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' gem 'rails', github: 'rails/rails', branch: 'main' gem 'sidekiq', '>= 7.3.0', require: false if RUBY_VERSION >= '2.7.0' -gem 'logtail', git: 'https://github.com/logtail/logtail-ruby.git', branch: 'claude/json-generate' -gem 'logtail-rack', git: 'https://github.com/logtail/logtail-ruby-rack.git', branch: 'claude/json-generate' +gem 'logtail' +gem 'logtail-rack' if RUBY_PLATFORM == "java" gem 'mime-types', '2.6.2'