-
Feature: Improve PHP 8.4+ support by avoiding implicitly nullable types. (#19 by @clue)
-
Update project structure, homepage and examples. Add
.gitattributes
to 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)
- Fix: Fix server-side parsing of legacy inline protocol when multiple requests are processed at once (#12 by @kelunik and #13 by @clue)
-
Feature: Add dedicated and faster
RequestParser
that 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
Factory
now 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
-
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
Model
for each type of reply. Among others, this now allows you to distinguish a single lineStatusReply
from 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)
- First tagged release