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)