Skip to content

Add base64 dependency to gemspec or inline implementation #419

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions