Skip to content
This repository has been archived by the owner on Feb 3, 2022. It is now read-only.

Commit

Permalink
[#157]: feat(pre-release): rc.1 pre-release
Browse files Browse the repository at this point in the history
  • Loading branch information
rustatian authored Jan 11, 2022
2 parents 4282cab + a228b09 commit 53f41be
Show file tree
Hide file tree
Showing 8 changed files with 485 additions and 271 deletions.
375 changes: 215 additions & 160 deletions .rr.yaml

Large diffs are not rendered by default.

183 changes: 183 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,188 @@
# CHANGELOG

## v2.7.0 (14.01.2022)

## 👀 New:

- ✏️ RR `workers pool`, `worker`, `worker_watcher` now has their own log levels. `stderr/stdout` logged as before at the `info` log level. All other messages moved to the `debug` log level except a few events from the `worker_watcher` when RR can't allocate the new worker which are moved to the `warn`.
- ✏️ Use the common logger for the whole roadrunner-sdk and roadrunner-plugins.
- ✏️ `.rr.yaml` now support versions. You may safely use your old configurations w/o specifying versions. Configuration w/o version will be treated as `2.6`. It is safe to use configuration w/o version or with version `2.6` with RR `2.7` because RR is able to automatically transform the old configuration.
But if you use configuration version `2.7` you must update the `jobs` pipelines config.
**At this point we can guarantee, that no breaking changes will be introduced in the configuration w/o auto-convert from the older configuration version**
For example, if we introduce a configuration update let's say in version `2.10`, we will support automatic conversion from at least 2 previous versions w/o involving the user into the process. In the example case, versions `2.9` and `2.8` will be automatically converted. From our release cycle, you will have at least 3 months to update the configuration from version `2.8` and 2 months from `2.9`.Version located at the top of the `.rr.yaml`:

**Compatibility matrix located here**: TODO
**Configuration changelog**: TODO

```yaml
version: "2.6"

# ..... PLUGINS ......
```

**Before:**
```yaml
pipelines:
test-local:
driver: memory
priority: 10
prefetch: 10000

test-local-1:
driver: boltdb
priority: 10
file: "rr.db"
prefetch: 10000

test-local-2:
driver: amqp
prefetch: 10
priority: 1
queue: test-1-queue
exchange: default
exchange_type: direct
routing_key: test
exclusive: false
multiple_ack: false
requeue_on_fail: false

test-local-3:
driver: beanstalk
priority: 11
tube_priority: 1
tube: default-1
reserve_timeout: 10s

test-local-4:
driver: sqs
priority: 10
prefetch: 10
visibility_timeout: 0
wait_time_seconds: 0
queue: default
attributes:
DelaySeconds: 0
MaximumMessageSize: 262144
MessageRetentionPeriod: 345600
ReceiveMessageWaitTimeSeconds: 0
VisibilityTimeout: 30
tags:
test: "tag"

test-local-5:
driver: nats
priority: 2
prefetch: 100
subject: default
stream: foo
deliver_new: true
rate_limit: 100
delete_stream_on_stop: false
delete_after_ack: false
```
**After**:
Now, pipelines have only `driver` key with the configuration under the `config` key. We did that to uniform configuration across all drivers (like in the `KV`).
```yaml
pipelines:
test-local:
driver: memory
config: # <------------------ NEW
priority: 10
prefetch: 10000
test-local-1:
driver: boltdb
config: # <------------------ NEW
priority: 10
file: "test-local-1-bolt.db"
prefetch: 10000
test-local-2:
driver: amqp
config: # <------------------ NEW
priority: 11
prefetch: 100
queue: test-12-queue
exchange: default
exchange_type: direct
routing_key: test
exclusive: false
multiple_ack: false
requeue_on_fail: false
test-local-3:
driver: beanstalk
config: # <------------------ NEW
priority: 11
tube_priority: 1
tube: default-2
reserve_timeout: 10s
test-local-4:
driver: sqs
config: # <------------------ NEW
priority: 10
prefetch: 10
visibility_timeout: 0
wait_time_seconds: 0
queue: default
attributes:
DelaySeconds: 0
MaximumMessageSize: 262144
MessageRetentionPeriod: 345600
ReceiveMessageWaitTimeSeconds: 0
VisibilityTimeout: 30
tags:
test: "tag"
test-local-5:
driver: nats
config: # <------------------ NEW
priority: 2
prefetch: 100
subject: default
stream: foo
deliver_new: true
rate_limit: 100
delete_stream_on_stop: false
delete_after_ack: false
```

- ✏️ **[ALPHA]** New cache http middleware. It is still in alpha, but we started implementing the [rfc-7234](https://httpwg.org/specs/rfc7234.html) to support `Cache-Control` and caching in general. In the first alpha you may test the `max-age`, `Age` and `Authorization` support via the in-memory driver.

**Configuration**:
```yaml
http:
# .....
middleware: ["cache"]
cache:
driver: memory
cache_methods: ["GET", "HEAD", "POST"] # only GET in alpha
config: {} # empty configuration for the memory
```

- ✏️ Logger unification. Starting this version we bound our logs to the `uber/zap` log library as one of the most popular and extensible.
- ✏️ API stabilization. All `v2` api interfaces moved to the `https://github.com/roadrunner-server/api` repository. Except logger (structure), all plugins depends only on the interfaces and don't import each other.
- ✏️ `GRPC` plugin now is able to work with gzipped payloads. [FR](https://github.com/spiral/roadrunner-plugins/issues/191) (reporter @hetao29)
- ✏️ `SQS` plugin now detects EC2 env and uses AWS credentials instead of static provider. [FR](https://github.com/spiral/roadrunner-plugins/issues/142) (reporter @paulermo)
- ✏️ `Jobs` plugin now acknowledges responses with incorrectly formed responses to prevent the infinity loop (with the error message in the logs). [BUG](https://github.com/spiral/roadrunner-plugins/issues/190) (reporter @sergey-telpuk)
- ✏️ `protoc` updated to the version `v3.19.2`.

## 🩹 Fixes:

- 🐛 Fix: RR may have missed the message from the `stderr` when the PHP script failed to start immediately after RR starts.
- 🐛 Fix: 200 HTTP status code instead of 400 on readiness/health bad requests. [BUG](https://github.com/spiral/roadrunner-plugins/issues/180)
- 🐛 Fix: `new_relic` plugin removes/modifies more headers than it should. [BUG](https://github.com/spiral/roadrunner-plugins/issues/185) (reporter: @arku31)


## v2.6.6 (7.12.2021)

## 👀 New:
Expand Down
64 changes: 26 additions & 38 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,68 +14,60 @@ require (
github.com/spiral/endure v1.1.0
github.com/spiral/errors v1.0.12
github.com/spiral/goridge/v3 v3.2.4
github.com/spiral/roadrunner-plugins/v2 v2.7.0-beta.1
github.com/spiral/roadrunner/v2 v2.7.0-beta.1
github.com/spiral/roadrunner-plugins/v2 v2.7.0-rc.1
github.com/spiral/roadrunner/v2 v2.7.0-rc.1
// ---------------------
github.com/stretchr/testify v1.7.0
// SPIRAL --------------
github.com/temporalio/roadrunner-temporal v1.0.20-0.20211227081117-c0520c83a664
github.com/temporalio/roadrunner-temporal v1.0.20-0.20220111182145-01512ee36945
// ---------------------
github.com/vbauerster/mpb/v5 v5.4.0
)

require github.com/roadrunner-server/api/v2 v2.0.0-alpha.1

require (
cloud.google.com/go v0.99.0 // indirect
cloud.google.com/go/storage v1.18.2 // indirect
github.com/VividCortex/ewma v1.2.0 // indirect
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
github.com/andybalholm/brotli v1.0.4 // indirect
github.com/aws/aws-sdk-go-v2 v1.11.2 // indirect
github.com/aws/aws-sdk-go-v2/config v1.11.1 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.6.5 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.2 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.2 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.2 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.2 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.2 // indirect
github.com/aws/aws-sdk-go-v2/service/sqs v1.14.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.7.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.12.0 // indirect
github.com/aws/smithy-go v1.9.0 // indirect
github.com/aws/aws-sdk-go-v2 v1.12.0 // indirect
github.com/aws/aws-sdk-go-v2/config v1.12.0 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.7.0 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.9.0 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.3 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.1.0 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.6.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sqs v1.15.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.8.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.13.0 // indirect
github.com/aws/smithy-go v1.9.1 // indirect
github.com/beanstalkd/go-beanstalk v0.1.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // indirect
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d // indirect
github.com/caddyserver/certmagic v0.15.2 // indirect
github.com/cenkalti/backoff/v4 v4.1.2 // indirect
github.com/census-instrumentation/opencensus-proto v0.3.0 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 // indirect
github.com/cncf/xds/go v0.0.0-20211216145620-d92e9ce0af51 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/emicklei/proto v1.9.1 // indirect
github.com/envoyproxy/go-control-plane v0.10.1 // indirect
github.com/envoyproxy/protoc-gen-validate v0.6.2 // indirect
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a // indirect
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-redis/redis/v8 v8.11.4 // indirect
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/gobwas/ws v1.1.0 // indirect
github.com/gofiber/fiber/v2 v2.23.0 // indirect
github.com/goccy/go-json v0.9.1 // indirect
github.com/gofiber/fiber/v2 v2.24.0 // indirect
github.com/gogo/googleapis v1.4.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/gogo/status v1.1.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/mock v1.6.0 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-cmp v0.5.6 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/googleapis/gax-go/v2 v2.1.1 // indirect
github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720 // indirect
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
github.com/hashicorp/go-version v1.3.0 // indirect
github.com/hashicorp/go-version v1.4.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
Expand Down Expand Up @@ -109,7 +101,7 @@ require (
github.com/rivo/uniseg v0.2.0 // indirect
github.com/robfig/cron v1.2.0 // indirect
github.com/shirou/gopsutil v3.21.11+incompatible // indirect
github.com/spf13/afero v1.7.0 // indirect
github.com/spf13/afero v1.8.0 // indirect
github.com/spf13/cast v1.4.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
Expand All @@ -130,24 +122,20 @@ require (
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
go.etcd.io/bbolt v1.3.6 // indirect
go.opencensus.io v0.23.0 // indirect
go.temporal.io/api v1.7.0 // indirect
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.7.0 // indirect
go.uber.org/zap v1.19.1 // indirect
go.uber.org/zap v1.20.0 // indirect
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 // indirect
golang.org/x/mod v0.5.1 // indirect
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f // indirect
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect
golang.org/x/net v0.0.0-20220111093109-d55c255bac03 // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect
golang.org/x/sys v0.0.0-20220111092808-5a964db01320 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect
golang.org/x/tools v0.1.8 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
google.golang.org/api v0.63.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb // indirect
google.golang.org/genproto v0.0.0-20220111164026-67b88f271998 // indirect
google.golang.org/grpc v1.43.0 // indirect
google.golang.org/protobuf v1.27.1 // indirect
gopkg.in/ini.v1 v1.66.2 // indirect
Expand Down
Loading

0 comments on commit 53f41be

Please sign in to comment.