Skip to content
This repository was archived by the owner on May 31, 2022. It is now read-only.

Releases: roadrunner-server/roadrunner-plugins

v2.7.1

13 Jan 09:25
502db7d

Choose a tag to compare

📦 Packages:

  • 📦 Update RR to v2.7.1
  • 📦 Update goridge to v3.2.7

v2.7.0

12 Jan 16:10
e8da8a2

Choose a tag to compare

  • ✏️ .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: TODO
Configuration changelog: TODO

version: "2.6"

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

🩹 Fix

  • 🐛 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.2

11 Jan 22:42
597b5d8

Choose a tag to compare

v2.7.0-rc.2 Pre-release
Pre-release
[#203]: bug(logger): pass logger to the server's IPC

v2.7.0-rc.1

11 Jan 17:31
e1fcecd

Choose a tag to compare

v2.7.0-rc.1 Pre-release
Pre-release
[#202]: Bump github.com/goccy/go-json from 0.9.0 to 0.9.1

v2.7.0-beta.1

26 Dec 15:02
7833c41

Choose a tag to compare

v2.7.0-beta.1 Pre-release
Pre-release
  • ✏️ 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 api/v2/ directory. Except for logger, all plugins depend only on the interfaces and don't import each other.
  • ✏️ protoc updated to the version v3.19.1.

v2.6.7

15 Dec 09:23
cfefb66

Choose a tag to compare

👀 New:

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

📦 Packages:

  • 📦 Update RR to v2.6.2

v2.6.5

14 Dec 13:02
e7dcb38

Choose a tag to compare

🩹 Fixes:

  • 🐛 Fix: Wrong metrics type for the rr_http_requests_queue, bug (reporter: @victor-sudakov)

📦 Packages:

  • 📦 Update RoadRunner to v2.6.1

v2.7.0-alpha.1

11 Dec 09:46
0f684db

Choose a tag to compare

v2.7.0-alpha.1 Pre-release
Pre-release
[#158]: fix(config): check the `local` version name

v2.6.4

07 Dec 12:52
8e4dc90

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 10:46
178cac4

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.