mateusjunges/avro-serde-php
Avro SerDe library for PHP 7.3+ and 8.0 that implements the Confluent wire format and integrates a cached Schema Registry client, so you can serialize and deserialize Avro messages while keeping schema evolution compatible with downstream consumers.
This package enables PHP-based services to integrate with Avro-dependent systems (e.g., Apache Kafka, data lakes) by providing schema-aware serialization/deserialization. It supports critical product decisions around schema evolution for long-term data compatibility, cross-service data consistency, and reducing manual serialization logic in PHP microservices. The v3.1.0 release strengthens the case for adoption by confirming active maintenance: Guzzle 8 compatibility (via guzzlehttp/promises ^3.0) removes a blocker for teams on modern HTTP clients, and the PHP 8.4 nullable-parameter fix signals ongoing compatibility work. The upstream merge from flix-tech/avro-serde-php also indicates the package remains aligned with the canonical implementation. However, low visibility (1 star) still warrants a stability validation before committing Avro-centric pipelines to it. Overall: this is a low-cost dependency decision, not a strategic one — treat it as a tactical build-vs-buy win over hand-rolling Avro encoding.
Adopt if:
flix-tech/avro-php ^5.1 and widmogrod/php-functional ^7.0Look elsewhere or defer if:
For executives: This is a small, free open-source dependency that lets our PHP services speak Avro — the format our data platform and Kafka pipelines expect. The latest release (v3.1.0) modernizes it: it now works with current PHP (8.1+) and Guzzle 8, and fixes deprecation warnings for PHP 8.4. It removes a blocker for teams upgrading HTTP clients and keeps us out of maintaining custom Avro code.
For engineering: v3.1.0 is a maintenance-modernization release with mild breaking changes — PHP 8.1 minimum, flix-tech/avro-php ^5.1, and widmogrod/php-functional ^7.0, plus upstream merge from the flix-tech original. Guzzle 8 support depends on mateusjunges/confluent-schema-registry-api 9.1.0+. The PHP 8.4 nullable-parameter fix is a forward-compat win. Recommendation: adopt for new Avro work on PHP 8.1+ stacks; hold v3.0.1 if the runtime can't move yet. Before committing, do a spike: verify transitive dependency resolution and run a round-trip serialize/deserialize test against our schema registry.
How can I help you explore Laravel packages today?