NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1953 most downloaded on Packagist
RoadRunner: Centrifugo bridge
Last release 2 months ago
28 Jul 2026
Ships fairly regularly
a new release about every 8 months
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
7 releases · first in 2022
One column per quarter.
Add support of google/protobuf v5.x by @roxblnfk in #15
Update composer.json to support roadrunner v2025.1 by @wispoz in #14
Added support for google/protobuf v4.x by @msmakouz in #13
Full Changelog: v2.1.0...v2.2.0
Added support for RoadRunner v2024.1 by @msmakouz in #12
Full Changelog: v2.0.1...v2.1.0
In the RoadRunner\Centrifugo\Payload\Disconnect class, the reconnect parameter is declared as deprecated and is no longer used.
RoadRunner\Centrifugo\Payload\Disconnect class, the reconnect parameter is declared as deprecated and is no longer used.Full Changelog: 2.0.0...v2.0.1
Added metapackage spiral/roadrunner:^2023
Local proto DTO files were replaced with files from roadrunner-php/roadrunner-api-dto package
RoadRunner\Centrifugo\Service\DTO\... => RoadRunner\KV\DTO\V1\...
RoadRunner\Centrifugo\DTO\... => RoadRunner\Centrifugal\Proxy\DTO\V1\...
<?php
require __DIR__ . '/vendor/autoload.php';
use RoadRunner\Centrifugo\CentrifugoWorker;
use RoadRunner\Centrifugo\Payload;
use RoadRunner\Centrifugo\Request;
use RoadRunner\Centrifugo\Request\RequestFactory;
use Spiral\RoadRunner\Worker;
$worker = Worker::create();
$requestFactory = new RequestFactory($worker);
// Create a new Centrifugo Worker from global environment
$centrifugoWorker = new CentrifugoWorker($worker, $requestFactory);
while ($request = $centrifugoWorker->waitRequest()) {
if ($request instanceof Request\SubRefresh) {
try {
// Do something
$request->respond(new Payload\SubRefreshResponse(
// ...
));
} catch (\Throwable $e) {
$request->error($e->getCode(), $e->getMessage());
}
continue;
}
}Note
Read more about Sub Refresh request on the official documentation
by @butschster in #8
<?php
require __DIR__ . '/vendor/autoload.php';
use RoadRunner\Centrifugo\CentrifugoWorker;
use RoadRunner\Centrifugo\Payload;
use RoadRunner\Centrifugo\Request;
use RoadRunner\Centrifugo\Request\RequestFactory;
use Spiral\RoadRunner\Worker;
$worker = Worker::create();
$requestFactory = new RequestFactory($worker);
// Create a new Centrifugo Worker from global environment
$centrifugoWorker = new CentrifugoWorker($worker, $requestFactory);
while ($request = $centrifugoWorker->waitRequest()) {
if ($request instanceof Request\Invalid) {
$errorMessage = $request->getException()->getMessage();
if ($request->getException() instanceof \RoadRunner\Centrifugo\Exception\InvalidRequestTypeException) {
$payload = $request->getException()->payload;
}
// Handle invalid request
// $logger->error($errorMessage, $payload ?? []);
continue;
}
}Full Changelog: 1.0.0...2.0.0
Init project Full Changelog : https://github.com/roadrunner-php/centrifugo/commits/1.0.0
Init project
Full Changelog: https://github.com/roadrunner-php/centrifugo/commits/1.0.0
Your coding agent can read these notes before it upgrades. Set up the MCP server →