Skip to content

Complete Compress::Zlib: compress/uncompress, memGzip/memGunzip, crc32/adler32#445

Merged
fglock merged 2 commits into
masterfrom
feature/compress-zlib
Apr 6, 2026
Merged

Complete Compress::Zlib: compress/uncompress, memGzip/memGunzip, crc32/adler32#445
fglock merged 2 commits into
masterfrom
feature/compress-zlib

Conversation

@fglock
Copy link
Copy Markdown
Owner

@fglock fglock commented Apr 6, 2026

Summary

  • Add one-shot compress/uncompress functions using Java Deflater/Inflater with standard zlib format (RFC 1950)
  • Add memGzip/memGunzip for gzip format (RFC 1952) using GZIPOutputStream/GZIPInputStream
  • Add crc32/adler32 checksum functions with seed/continuation support
  • Add 13 missing constants (Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, etc.)
  • Add -WindowBits parameter support to deflateInit() for raw deflate mode
  • Update Compress/Zlib.pm exports with all new functions and constants

Test plan

  • make passes (all unit tests)
  • POE 07_reference.t: 32/34 -> 34/34 (compression tests now pass)
  • Smoke test: compress/uncompress round-trip, memGzip/memGunzip round-trip, crc32 continuation, adler32, constants

Generated with Devin

fglock and others added 2 commits April 6, 2026 20:43
…crc32/adler32

Add one-shot compression functions (compress, uncompress) using Java
Deflater/Inflater with standard zlib format (RFC 1950). Add gzip memory
functions (memGzip, memGunzip) using GZIPOutputStream/GZIPInputStream.
Add checksum functions (crc32, adler32) with seed/continuation support.
Add 13 missing constants (Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, etc.).
Add -WindowBits support to deflateInit for raw deflate mode.

POE 07_reference.t: 32/34 -> 34/34 (compression tests now pass).

Generated with Devin (https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…override

Without this, jcpan sees our version (2.106) as outdated and tries to
install the CPAN version, which requires Compress::Raw::Zlib (XS) and
fails. Matching the CPAN version ensures our Java-backed implementation
is considered up-to-date.

Generated with Devin (https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@fglock fglock merged commit 865da36 into master Apr 6, 2026
2 checks passed
@fglock fglock deleted the feature/compress-zlib branch April 6, 2026 19:02
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