roadrunner/goridge
Goridge is the high-performance PHP-to-Go communication layer behind RoadRunner. It offers fast binary payload packing and RPC transport over sockets and pipes, letting PHP workers exchange data efficiently with the Go server. Lightweight and battle-tested.
MsgpackCodec and Frame::CODEC_MSGPACK. If you rely on msgpack for compact binary payloads or typed transport, treat this as a scheduled migration: identify any direct codec selection, confirm the replacement codec with your pinned RoadRunner server version, and re-run throughput/latency benchmarks on the non-deprecated path. If you consume Goridge only transitively through the SDK and never select a codec explicitly, this is likely invisible — but it should still be checked before a RoadRunner commitment.roadrunner/goridge; 4.6.0 now requires roadrunner/roadrunner instead of spiral/roadrunner. That further removes legacy naming ambiguity. The product-relevant consequence remains low-cost but concrete: update composer.json, CI cache keys, SBOM/dependency-scanning allowlists, runbooks, and internal docs that reference older package names.Consider it when:
Look elsewhere when:
Adoption criteria I'd apply: RoadRunner benchmark shows a meaningful win over current runtime; observability and graceful-restart story is understood; team has an owner for the Go-side process; the SDK version you pin ships a Goridge version with a release within the last 12 months; and no direct dependency on MsgpackCodec / Frame::CODEC_MSGPACK remains.
New criteria as of 4.5.0–4.6.0: treat roadrunner/goridge as canonical, and treat roadrunner/roadrunner as the expected RoadRunner package dependency going forward. If your composer.json, CI cache keys, SBOM/dependency-scanning allowlists, or internal runbooks mention older package names, schedule a rename. Also schedule a codec audit: deprecation is a low-cost migration now and a confusing incident later.
Executives: No new spend — MIT licensed. This is a low-level component of an optional performance architecture, not a product capability. The decision worth funding is whether to move PHP onto a persistent worker server; this package simply confirms that the integration layer for one such option is open source, actively maintained, and consolidated under the official RoadRunner namespace. 4.6.0 adds a deprecation watch item around the msgpack codec, but does not change the size or shape of the RoadRunner bet. Low blast radius, low standalone strategic value.
Engineering: It's the contract between the Go server and PHP workers — message framing, payload typing, error transport. Use it directly only if you're hand-rolling a worker or building protocol-aware tooling; otherwise it arrives for free with the RoadRunner SDK. 4.6.0 deprecates MsgpackCodec and Frame::CODEC_MSGPACK — no immediate removal, but anything explicitly selecting msgpack should plan a move to the supported codec path and be re-benchmarked. It also requires roadrunner/roadrunner instead of spiral/roadrunner, continuing the 4.5.0 rename cleanup. Recommended posture: consume transitively via the SDK, never pin Goridge independently; if you must reference it, use the new package names and avoid deprecated codec constants.
Recommendation: Don't write an ADR for this package. Write one for RoadRunner — benchmark versus current runtime, operational ownership, observability, rollback plan — and let this package appear in that ADR as a dependency, not as a subject. Add one line to that ADR confirming the codec path and package names you will standardize on. Its value is entirely contingent on the larger bet; 4.5.0–4.6.0 strengthen the case slightly through first-party stewardship, but do not change the size or shape of the bet.
How can I help you explore Laravel packages today?