Skip to content

Commit

Permalink
[#1744]: release: v2023.3
Browse files Browse the repository at this point in the history
  • Loading branch information
rustatian authored Oct 5, 2023
2 parents 977c81c + ea650c9 commit 90544d7
Show file tree
Hide file tree
Showing 7 changed files with 284 additions and 200 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,4 +189,11 @@ jobs:
BUILD_TIME=${{ steps.values.outputs.timestamp }}
tags: |
spiralscout/roadrunner:${{ steps.values.outputs.version_full}}
spiralscout/roadrunner:latest
spiralscout/roadrunner:2023
spiralscout/roadrunner:2023.3
ghcr.io/roadrunner-server/roadrunner:${{ steps.values.outputs.version_full}}
ghcr.io/roadrunner-server/roadrunner:latest
ghcr.io/roadrunner-server/roadrunner:2023
ghcr.io/roadrunner-server/roadrunner:2023.3
59 changes: 49 additions & 10 deletions .rr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,30 @@ service:
restart_sec: 1

otel:
# OpenTelemetry Resources
#
# https://github.com/open-telemetry/opentelemetry-specification/blob/v1.25.0/specification/resource/semantic_conventions/README.md
resources:

# User's service name
#
# Default: RoadRunner
service_name: "rr_test"

# User's service version
#
# Default: RoadRunner
service_version: "1.0.0"

# User's service namespace
#
# Default: RoadRunner
service_namespace: "RR-Shop"

# User's service instance id
#
# Default: Generated UUID
service_instance_id: "UUID"
# Use insecure endpoint (http) or insecure gRPC
#
# Default: false
Expand All @@ -598,16 +622,6 @@ otel:
# Default: empty
custom_url: ""

# User's service name
#
# Default: RoadRunner
service_name: "rr_test"

# User's service version
#
# Default: RoadRunner
service_version: "1.0.0"

# Consumer's endpoint
#
# Default: 127.0.0.1:4318
Expand Down Expand Up @@ -876,6 +890,11 @@ http:
# Default: 60s
reset_timeout: 60s

# Timeout for the stream cancellation. Zero means 60s.
#
# Default: 60s
stream_timeout: 60s

# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
Expand Down Expand Up @@ -1313,6 +1332,11 @@ jobs:
# Default: 60s
reset_timeout: 60s

# Timeout for the stream cancellation. Zero means 60s.
#
# Default: 60s
stream_timeout: 60s

# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
Expand Down Expand Up @@ -1933,6 +1957,11 @@ grpc:
# Default: 60s
reset_timeout: 60s

# Timeout for the stream cancellation. Zero means 60s.
#
# Default: 60s
stream_timeout: 60s

# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
Expand Down Expand Up @@ -2001,6 +2030,11 @@ tcp:
# Default: 60s
reset_timeout: 60s

# Timeout for the stream cancellation. Zero means 60s.
#
# Default: 60s
stream_timeout: 60s

# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
Expand Down Expand Up @@ -2127,6 +2161,11 @@ centrifuge:
# Default: 60s
reset_timeout: 60s

# Timeout for the stream cancellation. Zero means 60s.
#
# Default: 60s
stream_timeout: 60s

# Timeout for worker destroying before process killing. Zero means 60s.
#
# Default: 60s
Expand Down
100 changes: 66 additions & 34 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
# CHANGELOG

# <center> 🚀 v2023.3.0-rc.1 🚀 </center>
# <center> 🚀 v2023.3.0 🚀 </center>

## 🔥 Features:

## 👀 AMQP driver:
### RR Core:

- ✒️ Support for a custom `routing_key` in the JOBS payload: [FR](https://github.com/roadrunner-server/roadrunner/issues/1555), (thanks @rauanmayemir)
- ✒️ `sdnotify` support: [FR](https://github.com/roadrunner-server/roadrunner/pull/1671), (thanks @Kaspiman), Docs: [link](https://roadrunner.dev/docs/app-server-systemd/current/en)

## 👀 JOBS plugin:

- ✒️ **AMQP Driver:** Support for a custom `routing_key` in the JOBS payload: [FR](https://github.com/roadrunner-server/roadrunner/issues/1555), (thanks @rauanmayemir)
- ✒️ **JOBS plugin**: Parallel pipelines start/stop/destroy initialization. If you have much number of the pipelines,
this feature should significantly reduce RR startup/shutdown time: [FR](https://github.com/roadrunner-server/roadrunner/issues/1672), (thanks @Kaspiman)

## 👀 KV drivers (all):

Expand All @@ -16,28 +22,14 @@

- ✒️ Added new methods for your logger to log with context (message + key-values array): [FR](https://github.com/roadrunner-server/roadrunner/issues/1633), (thanks @Baiquette)

---

# <center> 🚀 v2023.3.0-beta.2 🚀 </center>

## 🔥Features:

## 👀 Temporal plugin:

- ✒️ Replay API support [SINCE PHP-SDK 2.6.0]: [FR](https://github.com/roadrunner-server/roadrunner/issues/1640)
- ✒️ Add support for the Worker Versioning: [FR](https://github.com/roadrunner-server/roadrunner/issues/1689)

## 🩹 Fixes:

- 🐛 **Streaming**: Add stream timeout (will be configurable in the next release). Fix loss of the first chunk of the streamed response.

---

# <center> 🚀 v2023.3.0-beta.1 🚀 </center>

## 👀 New

- ✒️ **Service plugin**: Support for the user/group per-service: [FR](https://github.com/roadrunner-server/roadrunner/issues/1570), (thanks @Kaspiman)
## 👀 Service plugin:

- ✒️ Support for the user/group per-service: [FR](https://github.com/roadrunner-server/roadrunner/issues/1570), (thanks @Kaspiman)
#### Configuration example:
```yaml
service:
Expand All @@ -52,13 +44,14 @@ service:
group: www-data # <---------- [NEW]
```
- ✒️ **Temporal plugin**: Replay API support [SINCE PHP-SDK 2.6.0]: [FR](https://github.com/roadrunner-server/roadrunner/issues/1640)
- ✒️ **RR core**: `sdnotify` support: [FR](https://github.com/roadrunner-server/roadrunner/pull/1671), (thanks @Kaspiman)
- ✒️ **HTTP response streaming support**: : [FR](https://github.com/roadrunner-server/http/pull/152), (thanks @roxblnfk)
## 👀 HTTP plugin:
- ✒️ Response streaming support [FR](https://github.com/roadrunner-server/http/pull/152), (thanks @roxblnfk)
#### Worker.php example:
Worker example:
```php

<?php

require __DIR__ . '/vendor/autoload.php';
Expand Down Expand Up @@ -90,12 +83,54 @@ try {
}
```

- ✒️ **HTTP plugin**: Support for the `103` Early Hints via streamed response: [FR](https://github.com/roadrunner-server/roadrunner/issues/918), (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.yaml` configuration: [FR](https://github.com/roadrunner-server/roadrunner/issues/1667), (thanks @nunomaduro)
- ✒️ Support for the `103` Early Hints via streamed response: [FR](https://github.com/roadrunner-server/roadrunner/issues/918), (thanks @azjezz)

Worker example:

```php
<?php

#### Configuration:
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 {
$limit = 10;
foreach (\file(__DIR__ . '/test.txt') as $line) {
foreach (explode('"', $line) as $chunk) {
try {
usleep(50_000);
yield $chunk;
} catch (Spiral\RoadRunner\Http\Exception\StreamStoppedException $e) {
// Just stop sending data
return;
}
if (--$limit === 0) {
return;
}
}
}
};


try {
while ($req = $http->waitRequest()) {
$http->respond(103, '', headers: ['Link' => ['</style111.css>; rel=preload; as=style'], 'X-103' => ['103']], endOfStream: false);
$http->respond(200, $read(), headers: ['X-200' => ['200']], endOfStream: true); // your regular response
}
} catch (\Throwable $e) {
$worker->error($e->getMessage());
}
```

## 👀 Server plugin:

- ✒️ **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.yaml` configuration: [FR](https://github.com/roadrunner-server/roadrunner/issues/1667), (thanks @nunomaduro)
First argument should be a command (executable) and the rest of the arguments are passed to the command as arguments.

1.
```yaml
version: "3"

Expand All @@ -116,18 +151,15 @@ server:
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](https://github.com/roadrunner-server/roadrunner/issues/1672), (thanks @Kaspiman)

## 🩹 Fixes
## 🩹 Fixes:
- 🐛 **RR Core**: Actualize according to the docs `./rr jobs list/stop/resume` commands: [PR](https://github.com/roadrunner-server/roadrunner/pull/1675), (thanks @gam6itko).
- 🐛 **JOBS plugin**: Correctly handle OTEL span on listener error: [PR](https://github.com/roadrunner-server/amqp/pull/87), (thanks @Kaspiman).
- 🐛 **RR tests**: Fix tests failures on Darwin: [PR](https://github.com/roadrunner-server/roadrunner/pull/1680), (thanks @shyim).
- 🐛 **Streaming**: Add stream timeout (will be configurable in the next release). Fix loss of the first chunk of the streamed response.

### <center>🧹 Chore:</center>

### <center>🧹 Chore:</center>
- 🧑‍🏭 **Golang**: Update Golang version to v1.21.
- 🧑‍🏭 **Dependencies**: update project dependencies.

Expand Down
2 changes: 1 addition & 1 deletion container/plugins.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import (
rrt "github.com/temporalio/roadrunner-temporal/v4"
)

// Plugins returns active plugins for the endure container. Feel free to add or remove any plugins.
// Plugins returns active plugins for the endured container. Feel free to add or remove any plugins.
func Plugins() []any { //nolint:funlen
return []any{
// bundled
Expand Down
Loading

0 comments on commit 90544d7

Please sign in to comment.