Skip to content

Releases: roadrunner-server/roadrunner

v2023.1.0-alpha.1

26 Jan 13:20
f8fb555
Compare
Choose a tag to compare
v2023.1.0-alpha.1 Pre-release
Pre-release

🚀 v2023.1.0-alpha.1 🚀

👀 New:

  • ✒️ Kafka plugin: Totally reworker Kafka plugin. Now it supports regexps for the topics, marked commits for the group consumers, and SASL authentication. Configuration reference: link.

  • ✒️ Endure v2 support (internal change).

  • ✒️ Bash script to download the latest RR archive. Later we're going to release a non archived binaries in addition to the regular archived releases.
    Sample of usage:

curl --proto '=https' --tlsv1.2 -sSf  https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | sh

✒️ RoadRunner composer metapackage: Removed the require section: PR, (thanks @roxblnfk)

🩹 Fixes:

  • 🐛 HTTP plugin: edge case where empty form value overwrites existing value, PR, (thanks @tungfinblox).

v2.12.2

12 Jan 12:07
c794a7a
Compare
Choose a tag to compare

🚀 v2.12.2 🚀

👀 New:

  • ✒️ AMQP plugin: Custom headers in AMQP driver, FR, (thanks @ykweb)
  • ✒️ AMQP plugin: do not create a queue if the user does not consume it, FR, (thanks @Colomix)
  • ✒️ gRPC plugin: support additional metrics: requests_queue, request_duration_seconds and request_total, PR, docs: link, (thanks @cv65kr)

🩹 Fixes:

  • 🐛 Velox: Unable to build RoadRunner with custom velox configuration, BUG, (thanks @mprokocki)
  • 🐛 RR: JSON Schema - wrong type for service exec_timeout option, BUG, (thanks @Chi-teck)
  • 🐛 RR: Fix the description of the --silent flag, PR, (thanks @maximal)
  • 🐛 X-Sendfile middleware: make it work as expected (as the response header), BUG, (thanks @tux-rampage)

Special thanks: @benalf

v2.12.2-alpha.2

30 Dec 00:33
f6bc883
Compare
Choose a tag to compare
v2.12.2-alpha.2 Pre-release
Pre-release
tags: roadrunner v2.12.2

🚀 v2.12.2-alpha.2 🚀

🩹 Fixes:

  • 🐛 X-Sendfile middleware: fix early return bug: PR

v2.12.2-alpha.1

22 Dec 18:04
33cec44
Compare
Choose a tag to compare
v2.12.2-alpha.1 Pre-release
Pre-release
tags: roadrunner v2.12.2

🚀 v2.12.2-alpha.1 🚀

👀 New:

  • AMQP plugin: pass headers to the Queue declaration command to create quorum, lazy, etc. queues and provide additional options supported by RabbitMQ, FR, (thanks @ykweb)
  • AMQP plugin: do not create a queue if the user does not consume it, FR, (thanks @Colomix)
  • gRPC plugin: support additional metrics: requests_queue, request_duration_seconds and request_total, PR, docs: link, (thanks @cv65kr)

🩹 Fixes:

  • 🐛 X-Sendfile middleware: make it work as expected (as the response header), BUG, (thanks @tux-rampage)

v2.12.1

01 Dec 12:41
ef1f315
Compare
Choose a tag to compare
tags: roadrunner v2.12.1

🚀 v2.12.1 🚀

👀 New:

  • RR: Automatically set the GOMAXPROCS to match the container CPU quota.
  • AMQP plugin: implement Status to check the AMQP connection PR.
  • SQS plugin: prefetch option now works as expected. RR will not consume new JOBS when it reaches the prefetch limit, until already accepted messages are not ACK/NACK-ed.
  • JOBS(memory) plugin: prefetch option now works as expected (see SQS). You can now emulate FIFO in memory by setting the prefetch option to 1.

🩹 Fixes:

  • 🐛 gRPC plugin: server options are applied only when TLS is set. Discussion.
  • 🐛 AMQP plugin: fix a few typos in the configuration.

Thanks to our awesome contributors: @wolfy-j , @butschster , @roxblnfk , @kastahov , @msmakouz, @lyt8384 ❤️

v2.12.0

24 Nov 16:15
33bebe5
Compare
Choose a tag to compare
tags: roadrunner v2.12.0

🚀 v2.12.0 🚀

⚠️ websocket and broadcast plugins were replaced by the new centrifuge plugin. How to build RR with these deprecated plugins -> link

⚠️ 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 ❤️

v2.12.0-rc.1

12 Nov 18:06
f1a9fca
Compare
Choose a tag to compare
v2.12.0-rc.1 Pre-release
Pre-release

👀 New:

  • All plugins: update to v3. This is done not because of some breaking change but because of the internal update.
  • RPC plugin: add new API to provide a running RR version and configuration in JSON format.
  • AMQP plugin: new configuration options. FR, (thanks @andrey-tech)
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
  • Workers pool (SDK): New option to control the reset_timeout. Note that the pool.Reset is protected by mutexes, meaning that if you have some requests already in the pool, you'll have to wait for these requests to be processed. The reset_timeout does not count this time.
pool:
  allocate_timeout: 10s
  reset_timeout: 10s
  destroy_timeout: 10s

v2.12.0-beta.1

03 Nov 13:49
e0f4452
Compare
Choose a tag to compare
v2.12.0-beta.1 Pre-release
Pre-release

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

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

👀 New:

  • Centrifugo plugin: New centrifugo plugin. This will replace existing broadcast + websockets plugins. FR.
    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: 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: 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, FR (thanks @wolfy-j)
    Docs: PHP-lib

🩹 Fixes:

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

v2.12.0-alpha.1

14 Oct 10:12
4abde01
Compare
Choose a tag to compare
v2.12.0-alpha.1 Pre-release
Pre-release

👀 New:

  • API v3: remove ALL Go code from the API repository. Now, API contains only the RR protobuf API. You don't need to import an interface from the API (it's not a Go way) now. You may declare the interface where you use it (have a look at this PR for more info).
  • SDK v3: refactor all packages, merge worker + sync worker (since there were no differences), pool + sync pool - now, if a user uses supervisor, pool automatically turns on supervisor under the hood.

🩹 Fixes:

  • 🐛 http plugin: correctly set permissions for the uploads (multipart-form files), BUG, (thanks @egonbraun)

🔧 Maintenance:

  • 🔧 All plugins update to the v3. They don't use API interfaces anymore.

v2.11.4

06 Oct 14:42
bee07c0
Compare
Choose a tag to compare

👀 New:

  • Temporal plugin: Support for the SearchAttributes. FR, (thanks @cv65kr).

Docs: link
Samples: link

🔧 Maintenance:

  • roadrunner-temporal plugin updated to: 1.7.0
  • http plugin updated to: 2.23.5
  • sqs plugin updated to: 2.20.4
  • config plugin updated to: 2.16.5
  • grpc plugin updated to: 2.23.3
  • nats plugin updated to: 2.17.3
  • jobs plugin updated to: 2.18.4
  • server plugin updated to: 2.16.4
  • tcp plugin updated to: 2.15.4
  • websockets plugin updated to: 2.16.5
  • otel plugin updated to: 2.5.6
  • kafka plugin updated to: 2.2.3