Repository navigation
feat: deprecate the MessagePack codec - #52
Conversation
… missing The library branch fell through to the LogicException, so the codec could only be built with ext-msgpack. Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
RoadRunner 3 runs Goridge v4, which drops the connection on a MessagePack frame, so the codec cannot work with spiral/roadrunner ^3.0. The class stays until the next major; its constructor raises a silenced E_USER_DEPRECATED. Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
The v3 server still accepted MessagePack, so the MsgPack RPC suites passed against a protocol RoadRunner 3 no longer speaks. They are replaced by one test that pins the dropped connection, and the clone test switches its second codec to raw. Goridge v4 requires Go 1.27. Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to This change deprecates the MessagePack codec and updates test infrastructure and docs. No concrete merge-blocking risk was found. Existing MsgpackCodec users will see a silenced deprecation notice, and behavior is otherwise unchanged. Pre-merge checks |
|
🔍 What was changed
MsgpackCodecandFrame::CODEC_MSGPACKare deprecated and will be removed in the next major. The constructor raises a silencedE_USER_DEPRECATED; the object is still created. Use the default JSON codec orProtobufCodecinstead.MsgpackCodecconstruction without ext-msgpack: therybakit/msgpackbranch fell through to theLogicException.RawCodecas its second codec.Why?
roadrunner/goridge4.x requiresspiral/roadrunner ^3.0, and Goridge v4 does not support MessagePack, so the codec cannot work with this package line. The old test server was built on Goridge v3 and kept the MsgPack suites green.Review notes
storeCodec()inReadRequestHeaderfails first,net/rpcstops serving and closes the connection. The PHP client gets aTransportException, not aServiceException.MsgpackCodecbroke the shared static relay pool with dropped connections, so it switched codecs instead of being skipped.Checklist
tests/test-server: 179 tests, 178 passed, 1 skipped (ext-msgpack not installed)tests/test-server/Dockerfile(onlygo buildwas run locally)Summary by CodeRabbit