Skip to content

Relax base64 dependency to allow 0.3.x - #965

Open
romanoff wants to merge 1 commit into
recurly:v3-v2021-02-25from
romanoff:relax-base64-constraint
Open

Relax base64 dependency to allow 0.3.x#965
romanoff wants to merge 1 commit into
recurly:v3-v2021-02-25from
romanoff:relax-base64-constraint

Conversation

@romanoff

@romanoff romanoff commented Aug 5, 2026

Copy link
Copy Markdown

Summary

Relaxes the base64 runtime dependency from ~> 0.2.0 to >= 0.2, < 0.4.

Motivation

The exact ~> 0.2.0 pin (added in #920 to accommodate the gem's removal from the Ruby 3.4 stdlib) makes this client uninstallable alongside gems that require base64 ~> 0.3.0 — for example travel_time >= 0.8.0. Bundler cannot resolve a bundle containing both:

Because recurly >= 4.59.0 depends on base64 ~> 0.2.0
  and travel_time >= 0.8.0 depends on base64 ~> 0.3.0,
  recurly >= 4.59.0 is incompatible with travel_time >= 0.8.0.

Safety

  • The client's only use of the gem is a single Base64.encode64 call for the Basic auth header in lib/recurly/client.rb, whose behavior is unchanged in base64 0.3.x.
  • The full test suite passes against base64 0.3.0: 920 examples, 0 failures.
  • The same relaxation was made by fog-aws (>= 0.2, < 0.4) for the same reason.

The exact ~> 0.2.0 pin prevents this gem from being installed alongside
gems that require base64 ~> 0.3.0. The client's only usage is a single
Base64.encode64 call for Basic auth, which is unchanged in 0.3.x. Full
test suite passes against base64 0.3.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@romanoff
romanoff force-pushed the relax-base64-constraint branch from d073550 to 7d8dded Compare August 5, 2026 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant