Streaming zlib compressor and decompressor for ReactPHP, supporting compression and decompression of GZIP, ZLIB and raw DEFLATE formats.
MIT License
Feature: Improve error reporting when custom error handler is used.
(#35 by @SimonFrings)
Improve documentation and simplify examples by updating to new default loop.
(#34 by @clue, #37 by @SimonFrings and #33 by @PaulRotmann)
Improve test suite, test against PHP 8.2 and update test environment.
(#36 and #38 by @SimonFrings)
Feature: Change Compressor
and Decompressor
to use more efficient streaming compression context.
(#28 by @clue)
This also fixes any inconsistencies and supports proper error reporting for invalid data.
Benchmark results suggest this improves both compression and decompression performance by ca. 25%.
BC break: Require PHP 7+ with ext-zlib
during installation and drop legacy PHP and legacy HHVM support.
(#25, #26 and #28 by @clue)
We're committed to providing a smooth upgrade path for legacy setups.
If you need to support legacy PHP versions and legacy HHVM, you may want to
check out the legacy v0.2.x
release branch.
This legacy release branch also provides an installation candidate that does not
require ext-zlib
during installation but uses runtime checks instead.
In this case, you can install this project like this:
$ composer require "clue/zlib-react:^1.0||^0.2.2"
BC break: Remove deprecated APIs and mark ZlibFilterStream
as internal only.
(#27 by @clue)
Improve test suite by updating PHPUnit, clean up test suite and
add .gitattributes
to exclude dev files from exports.
(#29 by @clue)
Feature: Add dedicated Compressor
and Decompressor
classes, deprecate ZlibFilterStream
.
(#21 by @clue)
// old
$compressor = Clue\React\Zlib\ZlibFilterStream::createGzipCompressor();
// new
$compressor = new Clue\React\Zlib\Compressor(ZLIB_ENCODING_GZIP);
Feature / Bug: Work around compressing empty stream on PHP 7+.
(#22 by @clue)
Add compression and decompression benchmarks.
(#24 by @clue)
Add support / sponsorship info.
(#20 by @clue)
Improve test suite by running tests on PHP 7.4 and simplify test matrix
and run tests on Windows.
(#19 and #23 by @clue)
Feature / BC break: Update to Stream v0.6 API and forward compatibility with Stream v1.0
(#13 and #15 by @clue)
Fix: Remove event listeners once closed
(#14 by @clue)
Improve documentation
(#15 and #16 by @clue)
Improve test suite by adding PHPUnit to require-dev and
Lock Travis distro so new future defaults will not break the build
(#11 and #12 by @clue)