Skip to content

Relax base64 dependency to allow 0.3.x - #965

Merged
douglasmiller merged 1 commit into
recurly:v3-v2021-02-25from
romanoff:relax-base64-constraint
Aug 27, 2026
Merged

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

Conversation

@romanoff

@romanoff romanoff commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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
@douglasmiller douglasmiller added the V4 v2021-02-25 Client label Aug 27, 2026
@douglasmiller
douglasmiller merged commit 494c602 into recurly:v3-v2021-02-25 Aug 27, 2026
7 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

V4 v2021-02-25 Client

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants