Skip to content

Bump rubyzip to support 3.x and widen addressable range#39

Merged
fbacall merged 1 commit intoResearchObject:masterfrom
cllde8:bump-rubyzip-addressable
May 7, 2026
Merged

Bump rubyzip to support 3.x and widen addressable range#39
fbacall merged 1 commit intoResearchObject:masterfrom
cllde8:bump-rubyzip-addressable

Conversation

@cllde8
Copy link
Copy Markdown
Contributor

@cllde8 cllde8 commented May 7, 2026

Summary

This PR adds support for rubyzip 3.x and updates dependency constraints accordingly.

  • Relax rubyzip runtime dep from ~> 2.0.0 to >= 2.3, < 4.
  • Relax addressable runtime dep from >= 2.7, < 2.9 to >= 2.7, < 3.
  • Verify gem test suite green.

Motivation

This PR enables compatibility with Rubyzip 3.x, which is required in newer Ruby/Rails environments. Current dependency constraints prevent upgrading without relaxing version bounds in downstream applications (e.g. when used alongside roo >= 2.4 and addressable 2.9.x).

Issue #30 tracks Rubyzip 3.0 support; this PR addresses that requirement.

Verification

  • Full test suite executed, verified on:
    • Ruby 2.7.8 with rubyzip 2.4.1, addressable 2.9.0
    • Ruby 3.4.4 with rubyzip 3.3.0, addressable 2.9.0
  • Manual ZIP round-trip test validated

Ruby compatibility

Rubyzip 3.x requires Ruby >= 2.7, therefore Ruby 2.6 is removed from the CI matrix.

Widens dependency pins:
- rubyzip: ~> 2.0.0 -> >= 2.3, < 4 (allows rubyzip 3.x)
- addressable: >= 2.7, < 2.9 -> >= 2.7, < 3

rubyzip 3.0 deprecates the positional Zip::File::CREATE flag in favour of
the create: true keyword argument. The keyword form is also supported
by rubyzip >= 2.3, so writer.rb is updated to use it on both lines.

rubyzip 3.0 requires Ruby >= 2.7, so Ruby 2.6 is removed from the CI
matrix to reflect the new minimun supported Ruby version.

Verified by running the full test suite (84 tests, 636 assertions,
100% pass) on:
- Ruby 2.7.8 with rubyzip 2.4.1, addressable 2.9.0
- Ruby 3.4.4 with rubyzip 3.3.0, addressable 2.9.0
plus a write_zip / read_zip round-trip smoke test.
@fbacall fbacall merged commit 2e4e84d into ResearchObject:master May 7, 2026
5 checks passed
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.

2 participants