Releases: roadrunner-server/roadrunner
v2023.1.0-alpha.2
🚀 v2023.1.0-alpha.2 🚀
👀 New:
- ✒️ RPC plugin:
⚠️ RPC calls might be fired immediately on the first line of the code, FR, (thanks @roquie) - ✒️ Lock plugin: distributed mutexes provider, FR, (thanks @wolfy-j)
- ✒️ AMQP plugin: send information about the driver to the worker, FR, (thanks @msmakouz)
- ✒️ gRPC plugin: custom plugins-interceptors support, PR, (thanks @cv65kr).
- ✒️ otel middleware:
gRPC
andtemporal
support, PR1, PR2, (thanks @cv65kr)
🩹 Fixes:
- 🐛 RR(bash script): correctly recognize
aarch64
on the M1/2 macs, BUG, (thanks @daniellienert)
v2.12.3
v2023.1.0-alpha.1
🚀 v2023.1.0-alpha.1 🚀
👀 New:
-
✒️ Kafka plugin: Totally reworker Kafka plugin. Now it supports regexps for the topics, marked commits for the group consumers, and SASL authentication. Configuration reference: link.
-
✒️ Endure v2 support (internal change).
-
✒️ Bash script to download the latest RR archive. Later we're going to release a non archived binaries in addition to the regular archived releases.
Sample of usage:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | sh
✒️ RoadRunner composer metapackage: Removed the require
section: PR, (thanks @roxblnfk)
🩹 Fixes:
- 🐛 HTTP plugin: edge case where empty form value overwrites existing value, PR, (thanks @tungfinblox).
v2.12.2
🚀 v2.12.2 🚀
👀 New:
- ✒️ AMQP plugin: Custom headers in AMQP driver, FR, (thanks @ykweb)
- ✒️ AMQP plugin: do not create a queue if the user does not consume it, FR, (thanks @Colomix)
- ✒️ gRPC plugin: support additional metrics:
requests_queue
,request_duration_seconds
andrequest_total
, PR, docs: link, (thanks @cv65kr)
🩹 Fixes:
- 🐛 Velox: Unable to build RoadRunner with custom velox configuration, BUG, (thanks @mprokocki)
- 🐛 RR: JSON Schema - wrong type for service
exec_timeout
option, BUG, (thanks @Chi-teck) - 🐛 RR: Fix the description of the
--silent
flag, PR, (thanks @maximal) - 🐛 X-Sendfile middleware: make it work as expected (as the response header), BUG, (thanks @tux-rampage)
Special thanks: @benalf
v2.12.2-alpha.2
tags: roadrunner
v2.12.2
🚀 v2.12.2-alpha.2 🚀
🩹 Fixes:
- 🐛 X-Sendfile middleware: fix early return bug: PR
v2.12.2-alpha.1
tags: roadrunner
v2.12.2
🚀 v2.12.2-alpha.1 🚀
👀 New:
- ✏ AMQP plugin: pass headers to the
Queue
declaration command to create quorum, lazy, etc. queues and provide additional options supported by RabbitMQ, FR, (thanks @ykweb) - ✏ AMQP plugin: do not create a queue if the user does not consume it, FR, (thanks @Colomix)
- ✏ gRPC plugin: support additional metrics:
requests_queue
,request_duration_seconds
andrequest_total
, PR, docs: link, (thanks @cv65kr)
🩹 Fixes:
- 🐛 X-Sendfile middleware: make it work as expected (as the response header), BUG, (thanks @tux-rampage)
v2.12.1
tags: roadrunner
v2.12.1
🚀 v2.12.1 🚀
👀 New:
- ✏ RR: Automatically set the
GOMAXPROCS
to match the container CPU quota. - ✏ AMQP plugin: implement
Status
to check the AMQP connection PR. - ✏ SQS plugin:
prefetch
option now works as expected. RR will not consume new JOBS when it reaches theprefetch
limit, until already accepted messages are not ACK/NACK-ed. - ✏ JOBS(memory) plugin:
prefetch
option now works as expected (see SQS). You can now emulate FIFO in memory by setting theprefetch
option to 1.
🩹 Fixes:
- 🐛 gRPC plugin: server options are applied only when TLS is set. Discussion.
- 🐛 AMQP plugin: fix a few typos in the configuration.
Thanks to our awesome contributors: @wolfy-j , @butschster , @roxblnfk , @kastahov , @msmakouz, @lyt8384 ❤️
v2.12.0
tags: roadrunner
v2.12.0
🚀 v2.12.0 🚀
⚠️ websocket
and broadcast
plugins were replaced by the new centrifuge
plugin. How to build RR with these deprecated plugins ->
link
⚠️ All plugins, sdk
and api
, updated to v3
. There are no breaking changes; we moved all Go code from the api
to sdk
.
👀 New:
RPC PLUGIN
SERVICES PLUGIN
-
✏ New API to get the correct number of the running services, including statistics about the processes ->
server.Statuses
. -
✏ New option to show the service name in the logs:
# Show the name of the service in logs (e.g. service.some_service_1) # # Default: false service_name_in_log: false
Birddog: link
METRICS PLUGIN
- ✏ New API unregister previously added collector ->
metrics.Unregister
.
AMQP PLUGIN
- ✏ New configuration options:
jobs:
pipelines:
example:
driver: amqp
config:
# Durable exchange
#
# Default: true
exchange_durable: true
# Auto-deleted exchange
#
# Default: false
exchange_auto_deleted: false
# Auto-deleted queue
#
# Default: false
queue_auto_deleted: false
GO-SDK
- ✏ New option to control the
reset_timeout
:
pool:
allocate_timeout: 10s
reset_timeout: 10s
destroy_timeout: 10s
CENTRIFUGO PLUGIN
- ✏ New
centrifugo
plugin.
Docs: PHP-lib
RoadRunner config:
version: "2.7"
centrifuge:
# Centrifugo server proxy address (docs: https://centrifugal.dev/docs/server/proxy#grpc-proxy)
#
# Optional, default: tcp://127.0.0.1:30000
proxy_address: "tcp://127.0.0.1:30000"
# gRPC server API address (docs: https://centrifugal.dev/docs/server/server_api#grpc-api)
#
# Optional, default: tcp://127.0.0.1:30000. Centrifugo: `grpc_api` should be set to true and `grpc_port` should be the same as in the RR's config.
grpc_api_address: tcp://127.0.0.1:30000
# Use gRPC gzip compressor
#
# Optional, default: false
use_compressor: true
# Your application version
#
# Optional, default: v1.0.0
version: "v1.0.0"
# Your application name
#
# Optional, default: roadrunner
name: "roadrunner"
# TLS configuration
#
# Optional, default: null
tls:
# TLS key
#
# Required
key: /path/to/key.pem
# TLS certificate
#
# Required
cert: /path/to/cert.pem
# Workers pool settings. link: https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml#L812
#
# Optional, default: null (see default values)
pool: {}
APP-LOGGER PLUGIN
- ✏ Application logger plugin.
Docs: PHP-lib
🩹 Fixes:
- 🐛 Headers middleware: Header size is too small
- 🐛 gRPC plugin: Protobuf compiler plugin segfaults on import statements
- 🐛 Service plugin: Get services list via RPC
- 🐛 gRPC plugin: Remote
protoc-gen-php-grpc
plugin error - 🐛 HTTP plugin: Fail to upload files when RR's permissions are different from worker's
Thanks to our awesome contributors: @wolfy-j, @andrey-tech, @butschster, @masterjus, @phroggyy, @rapita, @egonbraun, @tungfinblox ❤️
v2.12.0-rc.1
👀 New:
- ✏ All plugins: update to
v3
. This is done not because of some breaking change but because of the internal update. - ✏ RPC plugin: add new API to provide a running RR version and configuration in JSON format.
- ✏ AMQP plugin: new configuration options. FR, (thanks @andrey-tech)
jobs:
pipelines:
example:
driver: amqp
config:
# Durable exchange
#
# Default: true
exchange_durable: true
# Auto-deleted exchange
#
# Default: false
exchange_auto_deleted: false
# Auto-deleted queue
#
# Default: false
queue_auto_deleted: false
- ✏ Workers pool (SDK): New option to control the
reset_timeout
. Note that thepool.Reset
is protected by mutexes, meaning that if you have some requests already in the pool, you'll have to wait for these requests to be processed. Thereset_timeout
does not count this time.
pool:
allocate_timeout: 10s
reset_timeout: 10s
destroy_timeout: 10s
v2.12.0-beta.1
⚠️ websocket
and broadcast
plugins were replaced by the new centrifuge
plugin.
⚠️ All plugins, sdk
and api
updated to v3
. There are no breaking changes except we moved all Go code from the api
to sdk
.
👀 New:
- ✏ Centrifugo plugin: New
centrifugo
plugin. This will replace existingbroadcast
+websockets
plugins. FR.
Docs: PHP-lib
RoadRunner config:
version: "2.7"
centrifuge:
# Centrifugo server proxy address (docs: https://centrifugal.dev/docs/server/proxy#grpc-proxy)
#
# Optional, default: tcp://127.0.0.1:30000
proxy_address: "tcp://127.0.0.1:30000"
# gRPC server API address (docs: https://centrifugal.dev/docs/server/server_api#grpc-api)
#
# Optional, default: 127.0.0.1:30000. Centrifugo: `grpc_api` should be set to true and `grpc_port` should be the same as in the RR's config.
grpc_api_address: 127.0.0.1:30000
# Use gRPC gzip compressor
#
# Optional, default: false
use_compressor: true
# Your application version
#
# Optional, default: v1.0.0
version: "v1.0.0"
# Your application name
#
# Optional, default: roadrunner
name: "roadrunner"
# TLS configuration
#
# Optional, default: null
tls:
# TLS key
#
# Required
key: /path/to/key.pem
# TLS certificate
#
# Required
cert: /path/to/cert.pem
# Workers pool settings. link: https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml#L812
#
# Optional, default: null (see default values)
pool: {}
🩹 Fixes:
- 🐛 Headers middleware: Header size is too small, BUG (thanks @masterjus)
- 🐛 gRPC plugin: Protobuf compiler plugin segfaults on import statements, BUG (thanks @phroggyy)
- 🐛 Service plugin: Get services list via RPC, BUG (thanks @butschster)
- 🐛 gRPC plugin: Remote
protoc-gen-php-grpc
plugin error, BUG (thanks @rapita) - 🐛 HTTP plugin: Fail to upload files when RR's permissions are different from worker's, BUG (thanks @egonbraun)