Releases: roadrunner-server/roadrunner
Releases · roadrunner-server/roadrunner
v2023.3.0-beta.1
🚀 v2023.3.0-beta.1 🚀
👀 New
Configuration example:
service:
schedule:run:
command: "bin/console schedule:run"
process_num: 1
exec_timeout: 0s
remain_after_exit: true
service_name_in_log: false
restart_sec: 60
user: www-data # <---------- [NEW]
group: www-data # <---------- [NEW]- ✒️ Temporal plugin: Replay API support [SINCE PHP-SDK 2.6.0]: FR
- ✒️ RR core:
sdnotifysupport: FR, (thanks @Kaspiman) - ✒️ HTTP response streaming support: : FR, (thanks @roxblnfk)
Worker.php example:
<?php
require __DIR__ . '/vendor/autoload.php';
use Spiral\RoadRunner;
ini_set('display_errors', 'stderr');
require __DIR__ . "/vendor/autoload.php";
$worker = RoadRunner\Worker::create();
$http = new RoadRunner\Http\HttpWorker($worker);
$read = static function (): Generator {
foreach (\file(__DIR__ . '/test.txt') as $line) {
try {
yield $line;
} catch (Spiral\RoadRunner\Http\Exception\StreamStoppedException) {
// Just stop sending data
return;
}
}
};
try {
while ($req = $http->waitRequest()) {
$http->respond(200, $read());
}
} catch (\Throwable $e) {
$worker->error($e->getMessage());
}- ✒️ HTTP plugin: Support for the
103Early Hints via streamed response: FR, (thanks @roxblnfk) - ✒️ RAW command support: Support for raw commands, which are not validated by RR and may contain spaces. Note that this feature is only supported via
.rr.yamlconfiguration: FR, (thanks @nunomaduro)
Configuration:
version: "3"
server:
command: ["php", "../../php_test_files/client.php echo pipes"]
relay: "pipes"
relay_timeout: "20s"version: "3"
server:
command:
- "php"
- "../../php_test_files/client.php echo pipes"
relay: "pipes"
relay_timeout: "20s"First argument should be a command (executable) and the rest of the arguments are passed to the command as arguments.
- ✒️ JOBS plugin: Parallel pipelines start/stop/destroy initialization. If you have a much number of the pipelines, this feature should significantly reduce RR startup/shutdown time: FR, (thanks @Kaspiman)
🩹 Fixes
- 🐛 RR Core: Actualize according to the docs
./rr jobs list/stop/resumecommands: PR, (thanks @gam6itko). - 🐛 JOBS plugin: Correctly handle OTEL span on listener error: PR, (thanks @Kaspiman).
- 🐛 RR tests: Fix tests failures on Darwin: PR, (thanks @shyim).
🧹 Chore:
- 🧑🏭 Golang: Update Golang version to v1.21.
- 🧑🏭 Dependencies: update project dependencies.
Special thanks for this beta-release to our awesome PHP team: @butschster, @roxblnfk, @wolfy-j and @msmakouz ❤️
v2023.2.2
🚀 v2023.2.2 🚀
🩹 Fixes
- 🐛 JOBS plugin: Fix typo in the
RPCspan name: PR, (thanks @Kaspiman). - 🐛 SDK: Fix incorrect workers state when worker reached
idleTTLstate: BUG, (thanks @Aleksa1996).
🧹 Chore:
- 🧑🏭 HTTP plugin: faster PostForm/MultipartForm processing PR.
- 🧑🏭 Golang: Update Golang version to v1.21.
- 🧑🏭 Dependencies: update project dependencies.
v2023.2.1
Description of Changes
🚀 v2023.2.1 🚀
🩹 Fixes
- 🐛 NATS driver: Segfault when sending job via third-party sender without
consume_alloption set totrue: BUG, (thanks @KernelMrex). - 🐛 Metrics plugin: Irregular panic when declaring metrics via
on_initoption: BUG, (thanks @Kaspiman). - 🐛 Headers middleware: Inconsistent usage of CORS options, failed to apply
allowed_*options with spaces: BUG, (thanks @gam6itko).
🧹 Chore:
- 🧑🏭 Dependencies: update project dependencies.
v2023.2.0
🚀 v2023.2.0 🚀
👀 New
- ✒️ Kafka driver: Support for the
SCRAM-SHA-256andSCRAM-SHA-512SASL mechanisms: FR, (thanks @Azomas) - ✒️ Headers middleware: Actualize CORS support: FR, (thanks @rmikalkenas, @hustlahusky)
- ✒️ RoadRunner CLI: Additional semgrep security scanner.
- ✒️ Docker builds: New tags:
v2023,v2023.xand with bugfix:v2023.x.x. Thelatesttag points to the latest stable release. Allrc,beta,alphareleases will no longer be tagged withlatest. - ✒️ Server plugin:
after_initoption. This is a newserveroption and, likeon_init, can contain any custom command to be fired after each pool of workers is initialized. For example, if you have 2 plugins:httpandgrpc, theafter_initcommand would be fired twice: FR, (thanks @rauanmayemir). - ✒️ AMQP driver: Support for the
TLStransport namedamqps: FR, (thanks @marcosraudkett) - ✒️ JOBS plugin: Support for the workers health/readiness checks. PR, (thanks @Kaspiman)
- ✒️ JOBS plugin: Delete all messages that were in the priority queue when the pipeline was deleted (1-st part of the BUG), BUG
- ✒️ JOBS plugin: JOBS plugin now support reporting it's workers status with a simple query:
http://<status_plugin_host>:<port>/ready(health)?plugin=jobs, PR, (thanks @Kaspiman) - ✒️ Temporal plugin, internal: Pass
history_lento the PHP worker and get the PHP-SDK version to pass to the Temporal server. - ✒️ Lock plugin: Completely rewritten. Now supports microseconds interval. Any
ttl/wait_ttlvalue passed to RR is now treated as microseconds. There is no configuration for this plugin, it is bundled with RR. - ✒️ Service plugin: Add a new option for the graceful process timeout:
timeout_stop_sec. RR will wait for the specified amount of time (but not more thanendure.graceful_period) for the process to stop, FR, (thanks @asanikovich)
🩹 Fixes
- 🐛 JOBS plugin: Nil pointer exception on very fast (after RR was started, but JOBS worker failed to start) check for the JOBS metrics: BUG, (thanks @Kaspiman).
- 🐛 Service plugin: Incorrect parsing and assignment of the
process_numvalue passed via RPC: BUG, (thanks @asanikovich)
🧹 Chore:
- 🧑🏭 Dependencies: update project dependencies.
v2023.2.0-beta.3
- Fix Docker tags
v2023.2.0-beta.1
🚀 v2023.2.0-beta.1 🚀
DOCKER IMAGES AVAILABLE UNDER THE 2023.2.0-beta.3 TAG
👀 New
- ✒️ Kafka driver: Support for the
SCRAM-SHA-256andSCRAM-SHA-512SASL mechanisms: FR, (thanks @Azomas) - ✒️ Headers middleware: Actualize CORS support: FR, (thanks @rmikalkenas, @hustlahusky)
- ✒️ RoadRunner CLI: Additional semgrep security scanner.
- ✒️ Docker builds: New tags:
v2023,v2023.xand with bugfix:v2023.x.x. Thelatesttag points to the latest stable release. Allrc,beta,alphareleases will no longer be tagged withlatest. - ✒️ Server plugin:
after_initoption. This is a newserveroption and, likeon_init, can contain any custom command to be fired after each pool of workers is initialized. For example, if you have 2 plugins:httpandgrpc, theafter_initcommand would be fired twice: FR, (thanks @rauanmayemir). - ✒️ AMQP driver: Support for the
TLStransport namedamqps: FR, (thanks @marcosraudkett) - ✒️ JOBS plugin: Support for the workers health/readiness checks. PR, (thanks @Kaspiman)
- ✒️ JOBS plugin: Delete all messages that were in the priority queue when the pipeline was deleted (1-st part of the BUG), BUG
🧹 Chore:
- 🧑🏭 Dependencies: update project dependencies.
v2023.1.5
🚀 v2023.1.5 🚀
🩹 Fixes
- 🐛 KV plugin: Correct plugin startup order: PR, (thanks @ekisu)
- 🐛 JOBS plugin: Check the pool pointer: BUG, (thanks @Kaspiman)
- 🐛 Send Middleware: Fix bug in http.ResponseWriter wrapper: BUG, (thanks @tux-rampage)
- 🐛 XFF Middleware: Split XFF content without space: BUG, (thanks @eightfourseventwo)
👀 New
🧹 Chore:
- 🧑🏭 Dependencies: update project dependencies.
v2023.1.4
🚀 v2023.1.4 🚀
🩹 Fixes
- 🐛 gRPC plugin: allow specifying wildcards in the
protofield: PR, (thanks @MaxSem) - 🐛 SDK (internal): Workers are killed during processing when memory usage is exeeded: BUG, (thanks @ekisu)
- 🐛 JOBS plugin: Jobs plugin hangd on many workers and pollers: BUG, (thanks @embargo2710)
- 🐛 JOBS plugin: Safe shutdown occurs before the specified time: BUG, (thanks @embargo2710)
- 🐛 AMQP plugin: Typo in the property name (
multiple_ack): BUG, (thanks @embargo2710)
🧹 Chore:
- 🧑🏭 Dependencies: update project dependencies.
v2023.1.3
🚀 v2023.1.3 🚀
🩹 Fixes
- 🐛 AMQP plugin: Driver crash when not using OTEL metrics: BUG, (thanks @rauanmayemir)
- 🐛 JOBS plugin: Incorrect parsing of JSON configuraion values: BUG, (thanks @embargo2710)
🧹 Chore:
- 🧑🏭 Dependencies: update project dependencies.