Skip to content

Releases: roadrunner-server/roadrunner

v2024.3.0

05 Dec 18:39
9335c69
Compare
Choose a tag to compare

🚀 v2024.3.0 🚀

Meet the new RoadRunner release! This time we have a lot of new features, improvements, and bug fixes. Let's dive in! In this realse we have added a new feature called Auto Workers Scaling. This feature allows users to scale their RoadRunner workers automatically, up to 100 additional workers. SQS plugin was significantly reworked without major breaking changes, please, read the updated documentation carefully. RoadRunner-Temporalplugin now supports API-Keys (which would be added via our SDK-PHP and documentated in it as well).

📦 Core RoadRunner SDK:

  • 🔥: Dynamic Workers Scaling: FR, docs

OTEL plugin:

  • 🔥: Detect resources from environment variables when not set in config PR, (thanks @devnev)

📦 In-Memory KV driver:

  • 🐛: Fixed very tricky memory leak, when trying to update the same key with TTL multiple times in a row: BUG, (thanks @segrax)

📦 Status plugin:

  • 🔥: JSON status reporting, remove strict requirement for providing list of plugins: FR, (thanks @Kaspiman)

📦 Symfony integration:

  • 🔥: Symfony Runtime (PHP) now supports RoadRunner v2023/2024: PR, (thanks @msmakouz)

📦 Redis driver:

  • 🔥: Add TLS support PR, (thanks, @sicet7)

📦 Temporal:

  • 🔥: Support API keys: PR, docs. This feature would be added to our SDK-PHP and documentated (how to use) in it as well.
  • 🔥: Support h2c TLS without certs: PR, (thanks @cv65kr)

📦 SQS driver:

  • 🔥: Complete rework without major breaks by @nickdnk. Please, read the updated docs carefully: docs
    NOTE: The default values for SQS now use short polling. Make sure you inspect your value for wait_time_seconds if you want to use long polling.

📦 Nats driver:

  • 🐛: Properly pass user-defined headers FR

📦 Config plugin:

  • 🔥: Config for RPC plugin does not work when included from another file BUG, (thanks @Kaspiman)

📦 Server plugin:

  • 🔥: Add new option server.on_init.exit_on_error to stop RoadRunner when on_init error occured: FR, (thanks @wizardist)

📦 RabbitMQ (AMQP) driver:

  • 🔥: Support publish confirmations FR, (thanks @algirdasci)
  • 🐛: [PHP] Fixed option name from redelivery to requeue: BUG, (thanks @msmakouz)

📦 Locks plugin:

  • 🐛: Fixed forceRelease method, removed requirement for input ID BUG, (thanks @fugikzl)

📦 Metrics plugin:

  • 🔥: Declare metrics in upsert mode: CHORE, (thanks @cv65kr)

📦 Velox:

Thanks to out contributors:

  • @nickdnk - for the help with the SQS driver and reworking the whole JSON schema across all plugins (which is actually HUGE).
  • @msmakouz - for working on the PHP RoadRunner SDK.
  • @cv65kr - for the help with the Metrics and RoadRunner-Temporal plugins.
  • @sicet7 - TLS support in the Redis plugin.
  • @Kaspiman, @wizardist, @rauanmayemir, @algirdasci and @fugikzl - for being proactive, reporting issues and being collaborative.

v2024.2.1

12 Sep 16:24
651cb40
Compare
Choose a tag to compare

🚀 v2024.2.1 🚀

OTEL plugin:

  • 🔥: Several improvements by @devnev: Do not set Endpoint and Headers for gRPC if they're empty: PR, Support standard OTEL exporter protocol environment variables: PR. (thanks @devnev)

RoadRunner-Temporal plugin:

  • 🐛: gRPC client closed too early after shutdown: BUG. (thanks @kkosowski-p)

AMQP driver:

  • 🐛: redial_timeout was not respected when dynamically creating pipeline. BUG, (thanks @algirdasci)

🧹 Chore:

  • 🧑‍🏭: All plugins were updated to Go 1.23 (including Velox Dockerfile).

v2024.2.0

25 Jul 13:24
9f770b1
Compare
Choose a tag to compare

Upgrade guide: link

Community plugins

We are introducing a new term in the RoadRunner community — Community plugins.
If you have a brilliant idea for the http middleware or JOBS driver or even a new plugin - feel free to check our
Customization tutorials, create and notify us about your plugin.

Plugins updates:

🔥 Meet the new JOBS driver - Google Pub/Sub

RoadRunner now supports the Google Pub/Sub queues. Currently, this driver is released in BETA and has a few limitations which you may find in the docs

AMQP and Kafka JOBS drivers

  • 🔥 Support an auto-restart pipeline on redial or some fatal problems when connecting to the RabbitMQ broker. Instead of silently exit from the pipeline, RR will try to re-initialize the pipeline.

Thanks to our PHP team, KV now has AsyncStorageInterface support which makes your experience with the KV plugin even faster.
Feel free to read the technical details here: link

Samples repository

  • 🔥 Our RoadRunner samples repository was updated and now includes a Jobs driver example for the Jobs plugin.
    More info here: link.

Our Go-SDK was deprecated

  • 😭 Our Go-SDK was deprecated and split into separate packages. Read more in the Upgrade guide.

Velox configuration update

  • 🔥 Velox configuration was simplified:
[roadrunner]
  # ref -> reference, tag, commit or branch
  ref = "v2024.2.0"

# the debug option is used to build RR with debug symbols to profile it with pprof
[debug]
enabled = false

## Rest is the same ....

Now, there is no need to include linker flags, and buildtime + build version would be inherited automatically.
If you need to debug your binary, please, use the debug option set to true.

Special thanks to our sponsors ❤️ :

  1. Buhta
  2. Coderabbitai
  3. Kaspiman
  4. benalf
  5. rapita
  6. uzulla

v2024.1.5

20 Jun 19:10
2b72beb
Compare
Choose a tag to compare

🚀 v2024.1.5 🚀

Status plugin:

  • 🐛: Fix k8s-related problem, when status was not available during the graceful shutdown process: BUG. (thanks @cv65kr)

JOBS plugin:

  • 🔥: Experimentally added new handlers for the more canonical ACK, NACK, and REQUEUE operations for the JOBS drivers. PHP SDK will be updated soon. FR, (thanks @shieldz80)

✏️ Future changes:

  • 💡: Configuration includes will be out of experimental status in the next minor release (v2024.2.0) and currently don't have restrictions on where to put the included config. Keep in mind that the path for the included configurations is calculated from the working directory of the RoadRunner process. FR

v2024.1.4

13 Jun 16:50
116621a
Compare
Choose a tag to compare

🚀 v2024.1.4 🚀

Temporal plugin:

  • 🐛: Fix Local activities executed on the Workflow PHP Worker instead of the Activity PHP Worker: BUG. With this fix, LA performance should see a significant increase. (thanks @Zylius)

v2024.1.3

06 Jun 14:55
daea372
Compare
Choose a tag to compare

🚀 v2024.1.3 🚀

RR core:

  • 🔥: Deprecate RR_* env variables prefix. This was an undocumented feature which caused confusion, because any configuration value might be automatically replaced (without using env in the configuration) with a matching RR_* environment variable, PR.

Temporal plugin:

  • 🔥: Enable client certificate rotation: FR. With this change, you may replace a certificate on a Live system. (thanks @benkelukas)
  • 🔥: Expose continue_as_new_suggested for the PHP Worker: PR.

Kafka

  • 🐛: Reduce the number of maxPollRecords from 10k to 100, PR.

Endure container:

  • 🐛: Fix incorrectly used error log message: PR.

General:

  • 🔥: Update Go to v1.22.4.

RoadRunner PHP:

Worker:

  • 🔥: Add RR_VERSION env to the Environment class: PR, (thanks @Kaspiman)

v2024.1.2

16 May 19:48
8e80f7c
Compare
Choose a tag to compare

🚀 v2024.1.2 🚀

Upcoming new JOBS driver: google-pub-sub:

  • 🔥: Currently in a polishing phase, the new plugin will be released as part of the v2024.2.0. Stay tuned! (thanks @cv65kr)

gRPC plugin:

  • 🐛: Strip extra slashes when there is no package defined in the protofile: PR, (thanks @satdeveloping)

OTEL plugin:

RR core plugin:

  • 🐛: RR workers/reset commands don't respect default config values: BUG, (thanks @r4m-alexd)

v2024.1.1

02 May 16:36
9d73edf
Compare
Choose a tag to compare

🚀 v2024.1.1 🚀

HTTP plugin:

gRPC plugin:

  • 🔥 Remove experimental status from the OTEL in gRPC, PR

SDK:

  • 🔥 Additional debug logging for the maxExecs with jitter: PR (thanks @Kaspiman)

v2024.1.0

11 Apr 16:38
c0d3df2
Compare
Choose a tag to compare

🚀 v2024.1.0 🚀

Upgrade guide: link

HTTP plugin:

  • 🔥 Use protobuf encoded payloads to prevent field reordering and JSON escaped symbols.

Kafka driver:

SDK:

  • 🔥 Use a small random jitter to prevent the Thundering herd problem when user uses max_jobs option and all the workers restarted at the same time. This feature is enabled automatically. (thanks @Kaspiman)

v2023.3.12

29 Feb 18:23
9b5b65e
Compare
Choose a tag to compare

🚀 v2023.3.12 🚀

Centrifuge plugin:

  • 🔥 Add support for the NotifyChannelState centrifuge API.

Temporal plugin:

🧹 Chore:

  • 🧑‍🏭: All since log entries are now always shown as milliseconds, FR, (thanks @dmitryuk).