PackageTrack
Sign in Get early access

roadrunner-php/centrifugo

RoadRunner: Centrifugo bridge

2.3.0 2.2M downloads/mo #1653 most downloaded on Packagist roadrunner-php/centrifugo

What this package is like to depend on

Last release 26 days 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

1 release in the last 12 months

see the full history below

Release timeline

7 releases · Nov 2022 to Jul 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 7
  1. 2.3.0 28 Jul 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.2.1...2.3.0

    Open source →
  2. 2.2.1 23 Jun 2025
    Release notes

    What's Changed

    • Update composer.json to support roadrunner v2025.1 by @wispoz in #14

    New Contributors

    Full Changelog: v2.2.0...2.2.1

    Open source →
  3. v2.2.0 22 Jul 2024
    Release notes

    What's Changed

    • Added support for google/protobuf v4.x by @msmakouz in #13

    Full Changelog: v2.1.0...v2.2.0

    Open source →
  4. v2.1.0 11 Apr 2024
    Release notes

    What's Changed

    Full Changelog: v2.0.1...v2.1.0

    Open source →
  5. v2.0.1 06 Mar 2024
    Release notes

    Bug fixes

    • In the 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

    Open source →
  6. 2.0.0 13 Apr 2023
    Release notes

    Features

    • Upgraded to PHP 8.1
    • Upgraded to PHPUnit 10
    • Upgraded to Psalm 5
    • Added reusable Gh Actions
    • Added metapackage spiral/roadrunner:^2023

    Breaking Changes

    Generated proto DTO files

    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\...
    

    Added sub refresh proxy request

    <?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

    Added invalid request type

    <?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

    Open source →
  7. 1.0.0 11 Nov 2022
    Release notes Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive