Skip to content

Add base64 dependency to gemspec or inline implementation #419

Open
@jeremyevans

Description

@jeremyevans

Starting in Ruby 3.3.0-preview2, requiring net-ldap warns:

$ ruby33 -r net/ldap -e ''
/usr/local/lib/ruby/gems/3.3/gems/net-ldap-0.18.0/lib/net/ldap/password.rb:5: 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 net-ldap unless net-ldap 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.4.0+, so this would result in dropping support for Ruby 2.0-2.3.

In my own libraries, I've chosen to inline the implementation, as base64 is a thin wrapper around String#unpack1 and Array#pack.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions