Releases: roadrunner-server/roadrunner
v2024.3.0
🚀 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-Temporal
plugin now supports API-Keys (which would be added via our SDK-PHP and documentated in it as well).
📦 Core RoadRunner SDK:
OTEL
plugin:
📦 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:
📦 Redis
driver:
📦 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 forwait_time_seconds
if you want to use long polling.
📦 Nats
driver:
- 🐛: Properly pass user-defined headers FR
📦 Config
plugin:
📦 Server
plugin:
- 🔥: Add new option
server.on_init.exit_on_error
to stop RoadRunner whenon_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:
📦 Metrics
plugin:
📦 Velox
:
- 🐛: Fixed base64 logs output: BUG, (thanks @rauanmayemir)
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
andRoadRunner-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
🚀 v2024.2.1 🚀
OTEL
plugin:
- 🔥: Several improvements by @devnev: Do not set
Endpoint
andHeaders
for gRPC if they're empty: PR, Support standardOTEL
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
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 theJobs
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 ❤️ :
v2024.1.5
🚀 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
, andREQUEUE
operations for theJOBS
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
v2024.1.3
🚀 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 matchingRR_*
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
:
v2024.1.2
🚀 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:
- 🐛: Fix hardcoded AlwaysSample samples: BUG, (thanks @bazilmarkov)
RR core
plugin:
- 🐛: RR
workers/reset
commands don't respect default config values: BUG, (thanks @r4m-alexd)
v2024.1.1
v2024.1.0
🚀 v2024.1.0 🚀
Upgrade guide: link
HTTP
plugin:
- 🔥 Use
protobuf
encoded payloads to prevent field reordering and JSON escaped symbols.
Kafka
driver:
- 🔥 Support TLS configuration (thanks @dkomarek)
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
🚀 v2023.3.12 🚀
Centrifuge
plugin:
- 🔥 Add support for the
NotifyChannelState
centrifuge API.
Temporal
plugin:
- 🔥 Add support for the Updates API.
- 🔥 Add support for the healthchecks: FR, (thanks @shanginn).