Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Symfony Laravel Package

babelqueue/symfony

A Symfony Messenger serializer that swaps the wire format for the canonical BabelQueue envelope, letting Symfony services exchange messages with Laravel, Go, Python, .NET and Node over one strict JSON format on your existing broker.

View on GitHub
Deep Wiki
Context7
1.1.1

Fixed

  • The bundle now boots in a real Symfony kernel under the babelqueue config key. BabelQueueBundle did not override getContainerExtension(), so on a real kernel boot the auto-derived extension alias (babel_queue) did not match the babelqueue config key and the kernel threw a LogicException. The bundle now returns BabelQueueExtension explicitly. (The prior tests exercised the extension directly and never booted a kernel, so they missed it.)

Internal

  • Added a bundle integration test that boots a minimal test kernel registering BabelQueueBundle and asserts the serializer/middleware services resolve and the babelqueue config (default queue + URN message registry) is read.
  • CI: release.yml now runs the ≥90% coverage gate (mirroring ci.yml).
1.1.0

Changed

  • Aligned the Messenger serializer's transport headers to the canonical bq- projection. BabelQueueSerializer::encode() now emits bq-job (URN), bq-trace-id, bq-message-id, bq-schema-version, bq-source-lang and bq-attempts — the same bq- header set the Kafka/SQS/Pulsar bindings use — instead of the non-standard X-Babel-Urn / X-Babel-Trace-Id / X-Babel-Schema-Version (which also omitted source-lang, attempts and message-id). This makes Symfony-produced headers consistent with the rest of the ecosystem and lets a transport that maps serializer headers onto native broker headers (e.g. a Kafka Messenger transport) carry the §6-style bq- metadata, so a cross-language consumer can route on bq-job without decoding the body. The wire envelope is unchanged (schema_version: 1, byte-identical body) — interop has always been body-authoritative, so consumers that decode the body are unaffected; only the redundant transport-header names changed. Migration: if you read X-Babel-* headers off the transport, switch to the bq-* names. Note: for transports where the native projection is owned by Messenger itself (AMQP type, SQS MessageAttributes), routing stays body-authoritative regardless of these serializer headers.
1.0.0

1.0.0 — the public API is now SemVer-stable: breaking changes require a MAJOR, following the deprecation policy. The wire envelope is unchanged (schema_version: 1). Full reference at babelqueue.com.

Changed

  • Require babelqueue/php-sdk ^1.0.

Internal

  • CI runs PHPStan (level 9) over src and enforces a >=90% line-coverage gate (bin/check-coverage.php); added a DI test for the bundle extension. Decode now hardens mixed JSON values (URN via the core EnvelopeCodec::urn, guarded attempts/trace_id) — no behaviour change for valid envelopes.
0.3.0

Added

  • Messenger\TracePropagationMiddleware — automatic trace_id propagation: while a received message is handled, any follow-up message dispatched on the bus inherits its trace_id (unless it pins its own stamp or implements HasTraceId). Registered as babelqueue.messenger.trace_middleware.

Changed

  • Raise the core dependency to babelqueue/php-sdk ^0.3.

Notes

  • The version jumps to 0.3.0 to align the PHP packages (php-sdk, laravel, symfony) on one version line. The serializer/codec foundation below shipped across 0.1.0–0.2.0; this changelog began per-version sections at 0.3.0.
0.1.0

Added

  • Messenger\BabelQueueSerializer — a Symfony Messenger transport serializer that encodes/decodes the canonical BabelQueue envelope via the shared core codec (babelqueue/php-sdk), so Symfony interoperates with the other SDKs.
  • Contracts\PolyglotMessage — message contract (getBabelUrn(), toPayload(), fromBabelPayload()).
  • Messenger\MessageRegistry — URN → message-class map for decoding.
  • Messenger\Stamp\BabelTraceStamp — carries trace_id through the pipeline; attached on decode, honoured on encode (trace continuation).
  • Redelivery ↔ attempts bridge (Messenger RedeliveryStamp ⇄ envelope attempts).
  • BabelQueueBundle + DI: registers the serializer as babelqueue.messenger.serializer, configured under the babelqueue key.

Notes

  • Pre-1.0: the public API may change before the 1.0.0 tag.
  • Requires PHP ^8.2, babelqueue/php-sdk ^0.1, and Symfony ^6.4 | ^7.0.
  • Routing/worker/retry remain Messenger's responsibility; this package only owns the wire format.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log