Skip to content
This repository has been archived by the owner on Feb 3, 2022. It is now read-only.

Releases: spiral-modules/roadrunner-binary

v2.7.0

13 Jan 14:22
4cf544e
Compare
Choose a tag to compare

👀 New:

  • ✏️ RR workers pool, worker, worker_watcher now has their own log levels. stderr/stdout logged as before at the info log level. All other messages moved to the debug log level except a few events from the worker_watcher when RR can't allocate the new worker which is moved to the warn.
  • ✏️ Use the common logger for the whole roadrunner-sdk and roadrunner-plugins.
  • ✏️ .rr.yaml now support versions. You may safely use your old configurations w/o specifying versions. Configuration w/o version will be treated as 2.6. It is safe to use configuration w/o version or with version 2.6 with RR 2.7 because RR is able to automatically transform the old configuration.
    But if you use configuration version 2.7 you must update the jobs pipelines config.
    At this point we can guarantee, that no breaking changes will be introduced in the configuration w/o auto-convert from the older configuration version
    For example, if we introduce a configuration update let's say in version 2.10, we will support automatic conversion from at least 2 previous versions w/o involving the user into the process. In the example case, versions 2.9 and 2.8 will be automatically converted. From our release cycle, you will have at least 3 months to update the configuration from version 2.8 and 2 months from 2.9.Version located at the top of the .rr.yaml:

Compatibility matrix located here: link

version: "2.7"

# ..... PLUGINS ......

Before:

  pipelines:
    test-local:
      driver: memory
      priority: 10
      prefetch: 10000

    test-local-1:
      driver: boltdb
      priority: 10
      file: "rr.db"
      prefetch: 10000

    test-local-2:
      driver: amqp
      prefetch: 10
      priority: 1
      queue: test-1-queue
      exchange: default
      exchange_type: direct
      routing_key: test
      exclusive: false
      multiple_ack: false
      requeue_on_fail: false

    test-local-3:
      driver: beanstalk
      priority: 11
      tube_priority: 1
      tube: default-1
      reserve_timeout: 10s

    test-local-4:
      driver: sqs
      priority: 10
      prefetch: 10
      visibility_timeout: 0
      wait_time_seconds: 0
      queue: default
      attributes:
        DelaySeconds: 0
        MaximumMessageSize: 262144
        MessageRetentionPeriod: 345600
        ReceiveMessageWaitTimeSeconds: 0
        VisibilityTimeout: 30
      tags:
        test: "tag"

    test-local-5:
      driver: nats
      priority: 2
      prefetch: 100
      subject: default
      stream: foo
      deliver_new: true
      rate_limit: 100
      delete_stream_on_stop: false
      delete_after_ack: false

After:
Now, pipelines have only driver key with the configuration under the config key. We did that to uniform configuration across all drivers (like in the KV).

  pipelines:
    test-local:
      driver: memory

      config: # <------------------ NEW
        priority: 10
        prefetch: 10000

    test-local-1:
      driver: boltdb

      config: # <------------------ NEW
        priority: 10
        file: "test-local-1-bolt.db"
        prefetch: 10000

    test-local-2:
      driver: amqp

      config: # <------------------ NEW
        priority: 11
        prefetch: 100
        queue: test-12-queue
        exchange: default
        exchange_type: direct
        routing_key: test
        exclusive: false
        multiple_ack: false
        requeue_on_fail: false

    test-local-3:
      driver: beanstalk

      config: # <------------------ NEW
        priority: 11
        tube_priority: 1
        tube: default-2
        reserve_timeout: 10s

    test-local-4:
      driver: sqs

      config: # <------------------ NEW
        priority: 10
        prefetch: 10
        visibility_timeout: 0
        wait_time_seconds: 0
        queue: default

        attributes:
          DelaySeconds: 0
          MaximumMessageSize: 262144
          MessageRetentionPeriod: 345600
          ReceiveMessageWaitTimeSeconds: 0
          VisibilityTimeout: 30
        tags:
        test: "tag"

    test-local-5:
      driver: nats

      config: # <------------------ NEW
        priority: 2
        prefetch: 100
        subject: default
        stream: foo
        deliver_new: true
        rate_limit: 100
        delete_stream_on_stop: false
        delete_after_ack: false
  • ✏️ [ALPHA] New cache HTTP middleware. It is still in alpha, but we started implementing the rfc-7234 to support Cache-Control and caching in general. In the first alpha you may test the max-age, Age, and Authorization support via the in-memory driver. (reporter: @alexander-schranz)

Configuration:

http:
# .....
    middleware: ["cache"]
    cache:
        driver: memory
        cache_methods: ["GET", "HEAD", "POST"] # only GET in alpha
        config: {} # empty configuration for the memory
  • ✏️ Logger unification. Starting this version we bound our logs to the uber/zap log library as one of the most popular and extensible.
  • ✏️ API stabilization. All v2 API interfaces moved to the https://github.com/roadrunner-server/api repository. Except for logger (structure), all plugins depend only on the interfaces and don't import each other.
  • ✏️ GRPC plugin now is able to work with gzipped payloads. FR (reporter @hetao29)
  • ✏️ SQS plugin now detects EC2 env and uses AWS credentials instead of the static provider. FR (reporter @paulermo)
  • ✏️ Jobs plugin now acknowledges responses with incorrectly formed responses to prevent the infinity loop (with the error message in the logs). BUG (reporter @sergey-telpuk)
  • ✏️ protoc updated to the version v3.19.2.

🩹 Fixes:

  • 🐛 Fix: RR may have missed the message from the stderr when the PHP script failed to start immediately after RR starts.
  • 🐛 Fix: 200 HTTP status code instead of 400 on readiness/health bad requests. BUG
  • 🐛 Fix: new_relic plugin removes/modifies more headers than it should. BUG (reporter: @arku31)

v2.7.0-rc.3

12 Jan 17:32
6e83443
Compare
Choose a tag to compare
v2.7.0-rc.3 Pre-release
Pre-release
[#162]: feat(pre-release): `rc.3` pre-release

v2.7.0-rc.2

11 Jan 23:09
fc60722
Compare
Choose a tag to compare
v2.7.0-rc.2 Pre-release
Pre-release
  • 🐛 Fix: incorrectly passed logger from the pool to the worker.

v2.7.0-rc.1

11 Jan 19:20
53f41be
Compare
Choose a tag to compare
v2.7.0-rc.1 Pre-release
Pre-release
[#157]: feat(pre-release): `rc.1` pre-release

v2.7.0-beta.2

27 Dec 11:51
e99820d
Compare
Choose a tag to compare
v2.7.0-beta.2 Pre-release
Pre-release
  • 🐛 Fix: Wrong binary name for the php-gen-grpc

v2.7.0-beta.1

27 Dec 11:39
17b89d7
Compare
Choose a tag to compare
v2.7.0-beta.1 Pre-release
Pre-release
[#155]: feat(pre-release): `2.7.0-beta.1` pre-release

v2.6.6

15 Dec 10:32
89cc03c
Compare
Choose a tag to compare

👀 New:

  • ✏️ Add events from the supervisor to the server plugin.

🩹 Fixes:

  • 🐛 Fix: worker exited immediately after obtaining the response. BUG (reporter: @samdark).

📦 Packages:

  • 📦 Update RoadRunner to v2.6.2

v2.6.5

14 Dec 13:30
986e4b6
Compare
Choose a tag to compare

🩹 Fixes:

  • 🐛 Fix: wrong metrics type for the rr_http_requests_queue, bug (reporter: @victor-sudakov)
  • 🐛 Fix: memory leak when supervised static pool used. PR.

📦 Packages:

  • 📦 Update endure to v1.1.0

v2.6.4

07 Dec 13:25
e266c3e
Compare
Choose a tag to compare

📦 Packages:

  • 📦 Update endure to v1.1.0

🩹 Fixes:

  • 🐛 Fix: NPE in the http.Reset. BUG

v2.6.3

03 Dec 11:36
ad30e0a
Compare
Choose a tag to compare

👀 New:

  • ✏️ informer.List RPC call return all available plugins with workers instead of all available plugins. This behavior was changed because Informer has the dependency of every RR plugin, which led to the cycles. This is not an external API and is used only internally.
  • ✏️ Beanstalk queue returned to the [ALPHA] stage. It's very unstable when destroying pipelines and can lead to infinite read loops when something wrong with the connection. Use with care.
  • ✏️ Go version updated to v1.17.4.

🩹 Fixes:

  • 🐛 Fix: add missing plugins to the container: fileserver, http_metrics.