github roadrunner-server/roadrunner v2.12.0

latest releases: v2024.2.1, v2024.2.0, v2024.1.5...
22 months ago
tags: roadrunner v2.12.0

🚀 v2.12.0 🚀

⚠️ websocket and broadcast plugins were replaced by the new centrifuge plugin.

⚠️ All plugins, sdk and api, updated to v3. There are no breaking changes; we moved all Go code from the api to sdk.

👀 New:

RPC PLUGIN

  • ✏ New API to get the RR version and configuration in the JSON format -> rpc.Version, rpc.Config.

SERVICES PLUGIN

  • ✏ New API to get the correct number of the running services, including statistics about the processes -> server.Statuses.

  • ✏ New option to show the service name in the logs:

    # Show the name of the service in logs (e.g. service.some_service_1)
    #
    # Default: false
    service_name_in_log: false

Birddog: link

METRICS PLUGIN

  • ✏ New API unregister previously added collector -> metrics.Unregister.

AMQP PLUGIN

  • ✏ New configuration options:
jobs:
  pipelines:
    example:
      driver: amqp
      config:
        # Durable exchange
        #
        # Default: true
        exchange_durable: true

        # Auto-deleted exchange
        #
        # Default: false
        exchange_auto_deleted: false

        # Auto-deleted queue
        #
        # Default: false
        queue_auto_deleted: false

GO-SDK

  • ✏ New option to control the reset_timeout:
pool:
  allocate_timeout: 10s
  reset_timeout: 10s
  destroy_timeout: 10s

CENTRIFUGO PLUGIN

  • ✏ New centrifugo plugin.
    Docs: PHP-lib

RoadRunner config:

version: "2.7"

centrifuge:
  # Centrifugo server proxy address (docs: https://centrifugal.dev/docs/server/proxy#grpc-proxy)
  #
  # Optional, default: tcp://127.0.0.1:30000
  proxy_address: "tcp://127.0.0.1:30000"

  # gRPC server API address (docs: https://centrifugal.dev/docs/server/server_api#grpc-api)
  #
  # Optional, default: tcp://127.0.0.1:30000. Centrifugo: `grpc_api` should be set to true and `grpc_port` should be the same as in the RR's config.
  grpc_api_address: tcp://127.0.0.1:30000

  # Use gRPC gzip compressor
  #
  # Optional, default: false
  use_compressor: true

  # Your application version
  #
  # Optional, default: v1.0.0
  version: "v1.0.0"

  # Your application name
  #
  # Optional, default: roadrunner
  name: "roadrunner"

  # TLS configuration
  #
  # Optional, default: null
  tls:
    # TLS key
    #
    # Required
    key: /path/to/key.pem

    # TLS certificate
    #
    # Required
    cert: /path/to/cert.pem


  # Workers pool settings. link: https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml#L812
  #
  # Optional, default: null (see default values)
  pool: {}

APP-LOGGER PLUGIN

  • ✏ Application logger plugin.
    Docs: PHP-lib

🩹 Fixes:

  • 🐛 Headers middleware: Header size is too small
  • 🐛 gRPC plugin: Protobuf compiler plugin segfaults on import statements
  • 🐛 Service plugin: Get services list via RPC
  • 🐛 gRPC plugin: Remote protoc-gen-php-grpc plugin error
  • 🐛 HTTP plugin: Fail to upload files when RR's permissions are different from worker's

Thanks to our awesome contributors: @wolfy-j, @andrey-tech, @butschster, @masterjus, @phroggyy, @rapita, @egonbraun, @tungfinblox ❤️

Don't miss a new roadrunner release

NewReleases is sending notifications on new releases.