From 507c2d1a6ca2f1fd09ceed83a38293018c6482f4 Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Tue, 29 Sep 2026 12:35:03 +0200 Subject: [PATCH 1/3] CI: add Ruby 4.0 to the matrix Expected to fail, like the truffleruby job already does: logger is no longer a default gem there and logtail does not declare it. Co-Authored-By: Claude Fable 5.1 --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0e6a345..7e49dbd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,6 +17,7 @@ jobs: matrix: ruby-version: + - "4.0" - "3" - "3.4" - "3.3" From 914a749fe32fc9adc8bc8d561c438ebd18dfe098 Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Tue, 29 Sep 2026 12:36:48 +0200 Subject: [PATCH 2/3] Declare logger as a runtime dependency Ruby 4.0 and TruffleRuby 40 no longer ship logger as a default gem, so under Bundler `require "logtail"` raised a LoadError unless the app bundled logger itself. Co-Authored-By: Claude Fable 5.1 --- logtail.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/logtail.gemspec b/logtail.gemspec index 4a35eaa..59b84ad 100644 --- a/logtail.gemspec +++ b/logtail.gemspec @@ -26,6 +26,7 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_dependency('msgpack', '~> 1.0') + spec.add_dependency('logger', '~> 1.0') spec.add_development_dependency('bundler-audit', '>= 0') spec.add_development_dependency('rails_stdout_logging', '>= 0') From 86b981a334a3ba5485abfcf4ec14fbdaad7c4700 Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Tue, 29 Sep 2026 12:36:48 +0200 Subject: [PATCH 3/3] Drop the unused base64 require Nothing in the gem uses Base64. base64 stopped being a default gem in Ruby 3.4, so the require alone broke apps that do not bundle it. Co-Authored-By: Claude Fable 5.1 --- lib/logtail/log_devices/http.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/logtail/log_devices/http.rb b/lib/logtail/log_devices/http.rb index fca7266..331bf34 100755 --- a/lib/logtail/log_devices/http.rb +++ b/lib/logtail/log_devices/http.rb @@ -1,4 +1,3 @@ -require "base64" require "msgpack" require "net/https" require "zlib"