clue/redis-protocol
A streaming Redis protocol (RESP) parser and serializer written in pure PHP.
v0.3.2
22M downloads/mo
#397 most downloaded on Packagist
clue/redis-protocol
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 4 months to 7.2 years
Nearly every release is documented
notes for 5 of 5 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
5 releases · first in 2013
0 releases in the last 12 months
see the full history below
Release timeline
5 releases · Sep 2013 to Aug 2024Releases
latest 5-
v0.3.207 Aug 2024Release notes
Open source →-
Feature: Improve PHP 8.4+ support by avoiding implicitly nullable types.
(#19 by @clue) -
Update project structure, homepage and examples.
Add.gitattributesto exclude dev files from exports.
(#16, #20, #21 and #22 by @clue) -
Update test suite to use GitHub actions for continuous integration (CI),
run tests on all PHP versions up to PHP 8.3 and ensure 100% code coverage.
(#15 by @SimonFrings and #17 and #18 by @clue)
Release notes
Open source →-
Feature: Improve PHP 8.4+ support by avoiding implicitly nullable types. (#19 by @clue)
-
Update project structure, homepage and examples. Add
.gitattributesto exclude dev files from exports. (#16, #20, #21 and #22 by @clue) -
Update test suite to use GitHub actions for continuous integration (CI), run tests on all PHP versions up to PHP 8.3 and ensure 100% code coverage. (#15 by @SimonFrings and #17 and #18 by @clue)
-
-
v0.3.106 Jun 2017Release notes
Open source →- Fix: Fix server-side parsing of legacy inline protocol when multiple requests are processed at once (#12 by @kelunik and #13 by @clue)
-
v0.3.026 Jan 2014Release notes
Open source →- Feature: Add dedicated and faster
RequestParserthat also support the old
inline request protocol. - Feature: Message serialization can now be handled directly by the Serializer
again without having to construct the appropriate model first. - BC break: The
Factorynow has two distinct methods to create parsers:createResponseParser()for a client-side librarycreateRequestParser()for a server-side library / testing framework
- BC break: Simplified parser API, now
pushIncoming()returns an array of all
parsed message models. - BC break: The signature for getting a serialized message from a model was
changed and now requires a Serializer passed:
php ModelInterface::getMessageSerialized($serializer) - Many, many performance improvements
Release notes
Open source →-
Feature: Add dedicated and faster
RequestParserthat also support the old inline request protocol. -
Feature: Message serialization can now be handled directly by the Serializer again without having to construct the appropriate model first.
-
BC break: The
Factorynow has two distinct methods to create parsers:createResponseParser()for a client-side librarycreateRequestParser()for a server-side library / testing framework
-
BC break: Simplified parser API, now
pushIncoming()returns an array of all parsed message models. -
BC break: The signature for getting a serialized message from a model was changed and now requires a Serializer passed:
ModelInterface::getMessageSerialized($serializer)- Many, many performance improvements
- Feature: Add dedicated and faster
-
v0.2.021 Jan 2014Release notes
Open source →-
Re-organize the whole API into dedicated
Parser(protocol reader) andSerializer(protocol writer) sub-namespaces. (#4)
-
Use of the factory has now been unified:
$factory = new Clue\Redis\Protocol\Factory(); $parser = $factory->createParser(); $serializer = $factory->createSerializer();
-
Add a dedicated
Modelfor each type of reply. Among others, this now allows
you to distinguish a single lineStatusReplyfrom a binary-safeBulkReply. (#2) -
Fix parsing binary values and do not trip over trailing/leading whitespace. (#4)
-
Improve parser and serializer performance by up to 20%. (#4)
Release notes
Open source →-
Re-organize the whole API into dedicated
Parser(protocol reader) andSerializer(protocol writer) sub-namespaces. (#4)
-
Use of the factory has now been unified:
$factory = new Clue\Redis\Protocol\Factory(); $parser = $factory->createParser(); $serializer = $factory->createSerializer(); -
Add a dedicated
Modelfor each type of reply. Among others, this now allows you to distinguish a single lineStatusReplyfrom a binary-safeBulkReply. (#2) -
Fix parsing binary values and do not trip over trailing/leading whitespace. (#4)
-
Improve parser and serializer performance by up to 20%. (#4)
-
-
v0.1.009 Sep 2013