Skip to content

Releases: roadrunner-server/roadrunner

v2.10.4

10 Jun 23:29
eb6f264
Compare
Choose a tag to compare

🩹 Fixes:

  • 🐛 Fix: incorrect reset behavior for the workers' pool.
  • 🐛 Fix: correct reset order for the RR and Temporal workers.

v2.10.3

02 Jun 10:50
8cb55cc
Compare
Choose a tag to compare

👀 New:

  • ✏️ CLI: rr stop command. rr stop will read the .pid file to send a graceful-stop signal to the primary RR process (SIGTERM). To create a .pid file, add -p to the serve command: rr serve -p. Docs: link, FR (thanks @Baiquette)

🩹 Fixes:

  • 🐛 Fix: incorrect reset behavior for the temporal plugin. BUG, BUG, BUG. (thanks @dmitry-pilipenko, @mzavatsky)

v2.10.2

26 May 12:10
0e1ec33
Compare
Choose a tag to compare

👀 New:

  • ✏️ WORKER: Starting from this release, RR is able to show full error messages sent to the STDOUT during the worker bootstrap. FR (thanks @ykweb)

  • ✏️ HTTP: Connection might be upgraded from the http/1.1 to h2c: rfc7540
    Headers, which should be sent to upgrade connection:

    1. Upgrade: h2c
    2. Connection: HTTP2-Settings
    3. Connection: Upgrade
    4. HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA RFC
  • ✏️ VELOX: Add GitLab support. Starting from the beta.2 you may use GitHub and GitLab plugins together. Configuration updated. Keep in mind, that until the stable release 1.0.0 configuration might be changed with breaking changes.

  • ✏️ protoc-gen-php-grpc: Use of fully qualified names in place of imports. PR (thanks @ryanjcohen)

v2.10.1

19 May 10:33
aab5755
Compare
Choose a tag to compare

👀 New:

  • ✏️ Jobs (queues) plugin now can consume any payload from the queue. If RR fails in converting payload into the Job structure, it'll create and fill all available fields manually. To turn on this feature, use consume_all: true in the driver configuration, e.g.:
    Supported drivers: amqp, sqs,beanstalk,nats.
jobs:
  num_pollers: 10
  pipeline_size: 100000
  pool:
    num_workers: 10

  pipelines:
    test-raw:
      driver: sqs
      config:
        consume_all: true # <------- NEW OPTION

  consume: [ "test-raw" ]
  • ✏️ SQS Jobs driver now can skip queue declaration in favor of getting queue URL instead. To use this feature, use skip_queue_declaration: true sqs driver option. FR, (thanks @sergey-telpuk)
jobs:
  num_pollers: 10
  pipeline_size: 100000
  pool:
    num_workers: 10

  pipelines:
    test-2:
      driver: sqs
      config:
        skip_queue_declaration: true # <----- NEW OPTION

  consume: [ "test-2" ]
  • ✏️ OpenTelemetry middleware now supports Jaeger exporter and propagator.
http:
  address: 127.0.0.1:43239
  max_request_size: 1024
  middleware: [gzip, otel]
  pool:
    num_workers: 2
    max_jobs: 0
    allocate_timeout: 60s
    destroy_timeout: 60s

otel:
  exporter: jaeger # <----- NEW OPTION
  • ✏️ HTTP Plugin now supports mTLS authentication. Possible values for the client_auth_type are the same as for the gRPC (no_client_cert, request_client_cert,require_any_client_cert,verify_client_cert_if_given,require_and_verify_client_cert) FR, (thanks @fwolfsjaeger)
version: '2.7'

server:
  command: "php ../../php_test_files/http/client.php echo pipes"
  relay: "pipes"
  relay_timeout: "20s"

http:
  address: :8085
  max_request_size: 1024
  middleware: [ ]
  pool:
    num_workers: 1
    max_jobs: 0
    allocate_timeout: 60s
    destroy_timeout: 60s
  ssl:
    address: :8895
    key: "key"
    cert: "cert"
    root_ca: "rootCA.pem" # <---- REQUIRED to use mTLS
    client_auth_type: require_and_verify_client_cert # <---- NEW OPTION
logs:
  mode: development
  level: error

🩹 Fixes:

  • 🐛 Fix: HTTP plugin: non-documented behavior on non-standard (but valid) http codes. BUG, (thanks, @Meroje)
  • 🐛 Fix: SQS driver: rr_auto_ack attribute won't fail the existing messages.

v2.10.0

16 May 16:44
8c32984
Compare
Choose a tag to compare

🧳 Deprecated:

  • 📦 new_relic http middleware. Please, consider using the new OpenTelemetry middleware: otel.

👀 New:

  • ✏️ Documentation update: link.
  • ✏️ RoadRunner-Temporal plugin now supports local activities. Here is the brief overview: link.
  • ✏️ Add Debian amd64 releases. FR
  • ✏️ Add signed releases. Starting from the v2.10.0, you can check every released binary with a provided *.asc key. For example:
$ gpg --verify rr.asc

The openPGP key can be verified here: keyserver

  • ✏️ All proto api for the Go programming language located here: link. To use it, just import the latest stable version go.buf.build/protocolbuffers/go/roadrunner-server/api latest.
  • ✏️ Service plugin now supports auto-reload. It can be added to the reload plugin targets and on change, it'll reload all underlying processes.
  • ✏️ AutoAck jobs option. For the messages (jobs), which are acceptable to lose. Or which execution can lead to a worker's stop (for example - OOM). FR, (thanks @hustlahusky)
  • ✏️ [BETA] OpenTelemetry support. Starting from now, the new_relic middleware is deprecated, it'll receive only dependency updates and will be removed from the RR bundle in the v2.12.0. (thanks @brettmc)
    OpenTelemetry plugin supports the following exporters:
    1. OTLP (open telemetry protocol): datadog, new relic.
    2. zipkin
    3. stdout
      All these exporters can send their data via http or grpc clients.

Configuration sample (stdout exporter):

http:
  address: 127.0.0.1:43239
  max_request_size: 1024
  middleware: [gzip, otel]
  pool:
    num_workers: 2
    max_jobs: 0
    allocate_timeout: 60s
    destroy_timeout: 60s

otel:
  insecure: false
  compress: true
  exporter: stdout
  service_name: rr_test
  service_version: 1.0.0

New Relic exporter via http client: link

http:
    address: 127.0.0.1:43239
    max_request_size: 1024
    middleware: [gzip, otel]
    pool:
        num_workers: 2
        max_jobs: 0
        allocate_timeout: 60s
        destroy_timeout: 60s
otel:
  insecure: false
  compress: true
  client: http
  exporter: stdout
  custom_url: ""
  service_name: rr_test
  service_version: 1.0.0
  endpoint: otlp.eu01.nr-data.net:4318
  headers:
    - api-key: xxx # your api key here

PHP worker can access tracing data via w3c headers.

  • ✏️ protoc-gen-php-grpc now supports optional fields. (thanks @genhoi)

🧹 Chore:

  • 🧑‍🏭: All spaces and new lines from the Service plugin output will be automatically trimmed. CHORE, (thanks, @OO00O0O)

v2.10.0-rc.7

14 May 15:43
96fdef5
Compare
Choose a tag to compare
v2.10.0-rc.7 Pre-release
Pre-release

v2.10.0-rc.6

13 May 08:32
f06c245
Compare
Choose a tag to compare
v2.10.0-rc.6 Pre-release
Pre-release

v2.10.0-rc.5

12 May 19:31
c8f821f
Compare
Choose a tag to compare
v2.10.0-rc.5 Pre-release
Pre-release

v2.10.0-rc.4

12 May 10:53
0b823ea
Compare
Choose a tag to compare
v2.10.0-rc.4 Pre-release
Pre-release

🩹 Fixes:

  • 🐛 Fix: Service plugin: EPIPE on stdout/err writes. BUG, (thanks, @Grokon)

v2.10.0-rc.3

11 May 11:29
0f3024a
Compare
Choose a tag to compare
v2.10.0-rc.3 Pre-release
Pre-release

🩹 Fixes:

  • 🐛 Fix: HTTP plugin: incorrect parent span propogation.