Dmytro Shteflyuk created THRIFT-5905:
----------------------------------------

             Summary: Add base64 and logger as explicit dependencies
                 Key: THRIFT-5905
                 URL: https://issues.apache.org/jira/browse/THRIFT-5905
             Project: Thrift
          Issue Type: Bug
          Components: Ruby - Library
            Reporter: Dmytro Shteflyuk
            Assignee: Dmytro Shteflyuk


h2. {{base64}} in Ruby 3.4

Starting with Ruby 3.4, {{base64}} is no longer a bundled gem, and now Thrift 
does not load in modern Ruby versions:

{noformat}
An error occurred while loading ./spec/types_spec.rb.

Failure/Error: require 'base64'

LoadError:
  cannot load such file -- base64
# ./lib/thrift/protocol/json_protocol.rb:21:in '<top (required)>'
# ./lib/thrift.rb:45:in '<top (required)>'
# ./spec/spec_helper.rb:30:in '<top (required)>'
# ./spec/types_spec.rb:20:in '<top (required)>'
{noformat}
 
h2. {{logger}} in Ruby 3.5

Throws a warning at the moment, and will be an error in Ruby 3.5:

 {noformat}
/code/lib/thrift/processor.rb:20: warning: logger was loaded from the standard 
library, but will no longer be part of the default gems starting from Ruby 
3.5.0.
You can add logger to your Gemfile or gemspec to silence this warning.
{noformat}
 
h2. {{ostruct}} in Ruby 3.5 (transitive dependency on Rake 12.x)

Additionally, Rake used to use {{ostruct}}, which will be removed in Ruby 4.0, 
and running tests produced the following warning:
 {noformat}
/Users/dmytro/.local/share/mise/installs/ruby/3.4.5/lib/ruby/gems/3.4.0/gems/rake-12.3.3/lib/rake.rb:33:
 warning: ostruct was loaded from the standard library, but will no longer be 
part of the default gems starting from Ruby 3.5.0.
{noformat}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to