Starting in Ruby 3.3.0-preview2, requiring webauthn warns:
$ ruby33 -r webauthn -e ''
/usr/local/lib/ruby/gems/3.3/gems/webauthn-3.0.0/lib/webauthn/encoder.rb:3: warning: base64 which will be not part of the default gems since Ruby 3.4.0
base64 will move from a standard library gem to a bundled gem in Ruby 3.4.0. That will break applications using bundler and webauthn unless webauthn declares a dependency on base64 or inlines the necessary implementation. Note that base64 was not gemified until Ruby 3.0, but the current base64 gem supports Ruby 2.3.0+, so this should not cause backwards compatibility issues.
In my own libraries, I've chosen to inline the implementation, as base64 is a thin wrapper around String#unpack1 and Array#pack.
Starting in Ruby 3.3.0-preview2, requiring webauthn warns:
base64
will move from a standard library gem to a bundled gem in Ruby 3.4.0. That will break applications using bundler and webauthn unless webauthn declares a dependency onbase64
or inlines the necessary implementation. Note thatbase64
was not gemified until Ruby 3.0, but the currentbase64
gem supports Ruby 2.3.0+, so this should not cause backwards compatibility issues.In my own libraries, I've chosen to inline the implementation, as
base64
is a thin wrapper aroundString#unpack1
andArray#pack
.