summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2022-08-18 13:24:28 +0200
committerValery Piashchynski <[email protected]>2022-08-18 13:24:28 +0200
commite6d0c8dd3cf07a0020064010deb867f03ae4367f (patch)
tree7a733ad8336e68c591b40027c311d3f4ab0bbf69 /CHANGELOG.md
parent1446664a15483b9a27da0551be138b73134fc52c (diff)
update CHANGELOG
Signed-off-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md297
1 files changed, 11 insertions, 286 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 46fa9f9b..656eed39 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,79 +1,21 @@
# CHANGELOG
-## v2.11.0-rc.1 (11.08.2022)
-
-## ๐Ÿ‘€ New:
-
-- โœ๏ธ **gRPC plugin**: Reflection server configuration updated. To prevent issues regarding incorrectly checked/parsed proto imports, we introduce an updated config:
-
-To activate a reflection server, use the following option:
-
-1. If you don't have any imports.
-```yaml
- reflection_server: {}
-```
-
-2. If you use definitions from other `.proto` files by importing them:
-```yaml
- # other options ...
-
- proto:
- - "path/to/main/proto1.proto"
- - "path/to/main/proto2.proto"
-
- reflection_server:
- - "path/to/include.proto"
- - "path/to/include2.proto"
-
- # other options ...
-```
-
-- โœ๏ธ **Kafka plugin**: Consumer groups. Starting from the `rc.1` if you specify `group_id`, RR will automatically connect to that CG with provided topic name.
-
-```yaml
-jobs:
- num_pollers: 10
- pipeline_size: 100000
- timeout: 100
- pool:
- num_workers: 10
- allocate_timeout: 60s
- destroy_timeout: 60s
-
- pipelines:
- test-1:
- driver: kafka
- config:
- # other options ...
- group_id: "foo-1" # <----- NEW
-```
-
-## ๐Ÿฉน Fixes:
-
-- ๐Ÿ› **Server plugin**: use the `allocate_timeout` from the pool to wait for the `tcp/unix` socket connection from the PHP worker. [BUG](https://github.com/roadrunner-server/roadrunner/issues/1226), (thanks @Warxcell)
-
-## ๐Ÿงน Chore:
-
-- ๐Ÿงฝ **Logger plugin**: use the parsable timestamp format for the `raw` logger mode. [CH](https://github.com/roadrunner-server/roadrunner/issues/1236), (thanks @ilsenem)
-
-## ๐Ÿ”ง Maintenance:
-
-- Temporal `GO-SDK` and `API` updated to the latest versions.
-
---
-
-## v2.11.0-beta.3 (07.08.2022)
+## v2.11.0 (18.08.2022)
## โš ๏ธ NewRelic middleware was removed. Please, use [OTEL middleware instead](https://roadrunner.dev/docs/middleware-otel/2.x/en)
## โš ๏ธ In `2.12.0` we plan to replace `websockets` and `broadcast` plugins with the `centrifuge` plugin. However, if you still need a RR with these deprecated plugins, you may use `Velox` to build your custom build.
## ๐Ÿ‘€ New:
+- โœ๏ธ **[BETA]: RoadRunner**: Can now be embedded in other go programs. [PR](https://github.com/roadrunner-server/roadrunner/pull/1214), (thanks @khepin)
+- โœ๏ธ **gRPC Plugin**: Implement Google's `gRPC` [errors API](https://cloud.google.com/apis/design/errors). The exception might be passed as a `Status` structure in the `Metadata` (key - `error`) to be parsed and returned to the user w/o worker restart. NOTE: `Status` structure should be marshaled via `proto` marshaller, not `json`. [FR](https://github.com/roadrunner-server/roadrunner/issues/1001)
+- โœ๏ธ **Logger Plugin**: Get rid of the `context deadline exceeded` error on worker's allocation. We updated the error message with the link to the docs with the most common causes for the `worker allocation failed` error: https://roadrunner.dev/docs/known-issues-allocate-timeout/2.x/en. Feel free to add your cases here :)
- โœ๏ธ **CLI**: New CLI command to pause, resume, destroy and list Jobs. [FR](https://github.com/roadrunner-server/roadrunner/issues/1088), (thanks @hustlahusky)
- โœ๏ธ **Velox**: New configuration option: `folder`, which can be used to specify the folder with the plugin in the repository. (thanks, @darkweak)
- โœ๏ธ **Velox**: Velox now respects the plugin's `replace` directives. (thanks, @darkweak)
-- โœ๏ธ **Cache plugin**: RR now uses a great cache (RFC 7234) plugin made by @darkweak
+- โœ๏ธ **Cache plugin**: RR now uses a [great cache](https://github.com/darkweak/souin) (RFC 7234) plugin made by @darkweak
- โœ๏ธ **[BETA] Kafka plugin**: New Kafka driver for the Jobs plugin. [FR](https://github.com/roadrunner-server/roadrunner/issues/1128), (thanks, @Smolevich)
- โœ๏ธ **Temporal plugin**: Temporal now uses a new reset mechanism to prevent WF worker restarts on activity worker failure
- โœ๏ธ **Temporal plugin**: Temporal plugin now supports a TSL-based authentication with the key and certificate.
@@ -87,237 +29,20 @@ temporal:
# other options
```
-Kafka configuration:
-```yaml
- test-local-6:
- # Driver name
- #
- # This option is required
- driver: kafka
-
- # Driver's configuration
- #
- # Should not be empty
- config:
-
- # Pipeline priority
- #
- # If the job has a priority set to 0, it will inherit the pipeline's priority. Default: 10.
- priority: 1
-
- # Topic name: https://kafka.apache.org/intro#intro_concepts_and_terms
- #
- # This option is required and should not be empty.
- topic: test-1
-
- # Offsets for the partitions
- #
- # This option is optional. If empty, RR will read from the partition 0, OffsetNewest. Should be a positive number.
- # We also have 2 exceptional cases for the offsets (negative numbers):
- # -1: OffsetNewest - stands for the log head offset, i.e. the offset that will be assigned to the following message
- # that will be produced to the partition.
- # -2: OffsetOldest - stands for the oldest offset available on the broker for a partition.
- partitions_offsets:
- - 0: 0
- - 1: 0
- - 2: 0
-
- # not supported in beta.3
- group_id: "foo"
-
- # Max number of outstanding requests a connection is allowed to have before sending on it blocks
- #
- # Optional, default: 5.
- # Throughput can improve, but message ordering is not guaranteed if producer_options.idempotent is disabled, see:
- # https://kafka.apache.org/protocol#protocol_network
- # https://kafka.apache.org/28/documentation.html#producerconfigs_max.in.flight.requests.per.connection
- max_open_requests: 100
-
- # A user-provided string sent with every request to the brokers for logging, debugging, and auditing purposes.
- #
- # Optional, default: roadrunner
- client_id: "roadrunner"
-
- # Kafka version.
- #
- # Defaults to the oldest supported stable version (1.0.0.0). Since Kafka provides
- # backwards-compatibility, setting it to a version older than you have
- # will not break anything, although it may prevent you from using the
- # latest features. Setting it to a version greater than you are actually
- # running may lead to random breakage.
- kafka_version: 3.2.0.0
-
- # Create topics configuration. If the topic doesn't exist, RR may create a topic with the provided configuration
- #
- # Optional, default: null.
- create_topics:
-
- # Replication factor for the data stored across several Kafka brokers.
- #
- # Optional, default: 1. Docs: https://kafka.apache.org/documentation/#replication
- replication_factor: 1
-
- # Partition replica assignment.
- #
- # Optional, default: null. Docs: https://kafka.apache.org/documentation/#basic_ops_cluster_expansion
- replica_assignment:
- 1: [ 1,2,3 ]
- 2: [ 2,3 ]
-
- # Topic creation options.
- #
- # Optional, default: null. Docs: https://kafka.apache.org/documentation/#configuration
- # Note: 'compression:type' will be replaced with 'compression.type', so ':' -> '.'.
- # All options should use ':' as the delimiter.
- config_entries:
- compression:type: snappy
-
- # Kafka producer options
- #
- # Optional, default: depends on the Kafka version
- producer_options:
-
- # Maximum permitted size of a message.
- #
- # Optional, default: 1000000. Should be set equal to or smaller than the broker's `message.max.bytes`.
- max_message_bytes: 1000
-
- # The level of acknowledgment reliability needed from the broker. Equivalent to the `request.required.acks`
- # RequiredAcks is used in Produce Requests to tell the broker how many replica acknowledgements
- # it must see before responding. Any of the constants defined here are valid. On broker versions
- # prior to 0.8.2.0 any other positive int16 is also valid (the broker will wait for that many
- # acknowledgements) but in 0.8.2.0 and later this will raise an exception (it has been replaced
- # by setting the `min.isr` value in the brokers configuration).
- #
- # Optional, default: -1
- # Should be one of the following values:
- # 0: NoResponse - doesn't send any response.
- # 1: WaitForLocal - waits for only the local commit to succeed before responding.
- # -1 WaitForAll, (default) - waits for all in-sync replicas to commit before responding.
- # The minimum number of in-sync replicas is configured on the broker via
- # the `min.insync.replicas` configuration key.
- required_acks: -1
-
- # The maximum duration in seconds the broker will wait for the receipt of the number of
- # required_acks.
- #
- # Optional, default: 10
- timeout: 10
-
- # The type of compression to use on messages (defaults to no compression).
- # Similar to `compression.codec` setting of the JVM producer.
- #
- # Optional, default: none. Possible values: none, gzip, snappy, lz4, zstd
- compression_codec: snappy
-
- # The level of compression to use on messages. The meaning depends
- # on the actual compression type used and defaults to default compression
- # level for the codec.
- #
- # Optional, default: depends on compression_codec option.
- compression_level: 10
-
- # If enabled, the producer will ensure that exactly one copy of each message is
- # written.
- #
- # Optional, default false
- idempotent: false
-
- # Kafka consumer options
- consumer_options:
-
- # The timeout in seconds is used to detect consumer failures when using Kafka's group management facility.
- # The consumer sends periodic heartbeats to indicate its liveness to the broker.
- # If no heartbeats are received by the broker before the expiration of this session timeout,
- # then the broker will remove this consumer from the group and initiate a rebalance.
- # Note that the value must be in the allowable range as configured in the broker configuration
- # by `group.min.session.timeout.ms` and `group.max.session.timeout.ms`
- #
- # Optional, default: 10
- session_timeout: 60
-
- # The expected time in seconds between heartbeats to the consumer coordinator when using Kafka's group
- # management facilities. Heartbeats are used to ensure that the consumer's session stays active and
- # to facilitate rebalancing when new consumers join or leave the group.
- # The value must be set lower than 'session_timeout', but typically should be set no
- # higher than 1/3 of that value.
- # It can be adjusted even lower to control the expected time for normal rebalances.
- #
- # Optional, default: 3
- heartbeat_interval: 10
-
-```
-
## ๐Ÿฉน Fixes:
+- ๐Ÿ› **Server plugin**: use the `allocate_timeout` from the pool to wait for the `tcp/unix` socket connection from the PHP worker. [BUG](https://github.com/roadrunner-server/roadrunner/issues/1226), (thanks @Warxcell)
- ๐Ÿ› **Velox**: Fix panic when no `github` option is specified in the configuration.
-
-## ๐Ÿ”ง Maintenance:
-
-- All plugins, including RR, now use Go 1.19
-
----
-
-## v2.11.0-beta.1 (18.07.2022)
-
-## ๐Ÿ‘€ New:
-
-- โœ๏ธ **[BETA]: RoadRunner**: Can now be embedded in other go programs. [PR](https://github.com/roadrunner-server/roadrunner/pull/1214), (thanks @khepin)
-- โœ๏ธ **gRPC Plugin**: Implement Google's `gRPC` [errors API](https://cloud.google.com/apis/design/errors). Exception might be passed as a `Status` structure in the `Metadata` (key - `error`) to be parsed and returned to the user w/o worker restart. NOTE: `Status` structure should be marshaled via `proto` marshaller, not `json`. [FR](https://github.com/roadrunner-server/roadrunner/issues/1001)
-- โœ๏ธ **gRPC Plugin**: `gRPC` reflection server. [GoDocs](https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md).
-- โœ๏ธ **Logger Plugin**: Get rid of the `context deadline exceeded` error on worker's allocation. We updated the error message with the link to the docs with the most common causes for the `worker allocation failed` error: https://roadrunner.dev/docs/known-issues-allocate-timeout/2.x/en. Feel free to add your cases here :)
-
-The reflection server might be activated to use [`grpc_cli`](https://github.com/grpc/grpc/blob/master/doc/command_line_tool.md), [`grpc-curl`](https://github.com/fullstorydev/grpcurl), [`grpc-ui`](https://github.com/fullstorydev/grpcui), or similar tools to intercept grpc payloads.
-
-Configuration:
-```yaml
-grpc:
- listen: "tcp://localhost:9001"
-
- # GRPC reflection server [SINCE 2.11]
- #
- # This option is optional. The reflection server might be activated to use `grpc_cli`, `grpc-ui`, `grpc-curl`, or similar tools to intercept grpc payloads.
- enable_reflection_server: false
- proto:
- - "first.proto"
- - "second.proto"
-```
-
----
-
-## v2.11.0-beta.2 (28.07.2022)
-
-## ๐Ÿฉน Fixes:
-
-- โœ๏ธ **gRPC Plugin**: Fix issue when some proto files might not be added automatically to use a reflection server.
- ๐Ÿ› **SDK**: Use `pool.allocate_timeout` for the sockets/tcp relays instead of silently used of `relay_timeout`.
----
-
-## v2.11.0-beta.1 (18.07.2022)
-
-## ๐Ÿ‘€ New:
-
-- โœ๏ธ **[BETA]: RoadRunner**: Can now be embedded in other go programs. [PR](https://github.com/roadrunner-server/roadrunner/pull/1214), (thanks @khepin)
-- โœ๏ธ **gRPC Plugin**: Implement Google's `gRPC` [errors API](https://cloud.google.com/apis/design/errors). Exception might be passed as a `Status` structure in the `Metadata` (key - `error`) to be parsed and returned to the user w/o worker restart. NOTE: `Status` structure should be marshaled via `proto` marshaller, not `json`. [FR](https://github.com/roadrunner-server/roadrunner/issues/1001)
-- โœ๏ธ **gRPC Plugin**: `gRPC` reflection server. [GoDocs](https://github.com/grpc/grpc-go/blob/master/Documentation/server-reflection-tutorial.md).
-- โœ๏ธ **Logger Plugin**: Get rid of the `context deadline exceeded` error on worker's allocation. We updated the error message with the link to the docs with the most common causes for the `worker allocation failed` error: https://roadrunner.dev/docs/known-issues-allocate-timeout/2.x/en. Feel free to add your cases here :)
+## ๐Ÿงน Chore:
-The reflection server might be activated to use [`grpc_cli`](https://github.com/grpc/grpc/blob/master/doc/command_line_tool.md), [`grpc-curl`](https://github.com/fullstorydev/grpcurl), [`grpc-ui`](https://github.com/fullstorydev/grpcui), or similar tools to intercept grpc payloads.
+- ๐Ÿงฝ **Logger plugin**: use the parsable timestamp format for the `raw` logger mode. [CH](https://github.com/roadrunner-server/roadrunner/issues/1236), (thanks @ilsenem)
-Configuration:
-```yaml
-grpc:
- listen: "tcp://localhost:9001"
+## ๐Ÿ”ง Maintenance:
- # GRPC reflection server [SINCE 2.11]
- #
- # This option is optional. The reflection server might be activated to use `grpc_cli`, `grpc-ui`, `grpc-curl`, or similar tools to intercept grpc payloads.
- enable_reflection_server: false
- proto:
- - "first.proto"
- - "second.proto"
-```
+- Temporal `GO-SDK` and `API` updated to the latest versions.
+- All plugins, including RR, now use Go 1.19
---