Skip to content

v2024.3 docs update #32

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Dec 5, 2024
Merged

v2024.3 docs update #32

merged 12 commits into from
Dec 5, 2024

Conversation

rustatian
Copy link
Member

@rustatian rustatian commented Nov 10, 2024

  • health/readiness checks update.

Summary by CodeRabbit

  • Documentation
    • Updated the RoadRunner Status Plugin documentation for clarity on the health check endpoint.
    • Modified the health check URL to return the status of all enabled plugins by default.
    • Expanded response format to include a JSON payload with plugin statuses and error messages.
    • Changed health check response to return HTTP 503 for unavailable workers, with customizable status codes.
    • Retained customization instructions for not-ready status codes and included examples.
    • Updated AWS Lambda documentation to guide running PHP with RoadRunner, including code snippets and configuration details.
    • Corrected spelling in Docker documentation for the protobuf extension.
    • Enhanced KV plugin documentation with updated tracing references and API links.
    • Clarified Logger Plugin configuration options for output and line endings.
    • Improved PHP worker documentation with structured error handling and dispatcher implementation details.
    • Added new configuration parameter read_buf_size in TCP plugin documentation.
    • Updated AMQP driver documentation to clarify message delivery and removed the consume_all option.
    • Updated Beanstalk driver documentation to remove the consume_all option and emphasize configuration options.
    • Revised SQS driver documentation for clarity, adding new parameters and FIFO queue instructions.
    • Added new entry for version v2024.3.0 in the release notes.
    • Introduced TLS configuration options in Redis driver documentation for secure communication.
    • Enhanced HTTP plugin documentation with updated SSL configuration and examples for mutual TLS.
    • Added a new section for auto-scaling RoadRunner workers, detailing configuration and usage.
    • Introduced a new section for the RoadRunner-Temporal Debug Mode in the developer documentation.
    • Updated the NATS driver documentation to remove the consume_all option and emphasize unique stream configuration.
    • Added a new section in the releases document for upcoming features.

Signed-off-by: Valery Piashchynski <[email protected]>
@rustatian rustatian added the enhancement New feature or request label Nov 10, 2024
@rustatian rustatian requested a review from wolfy-j November 10, 2024 19:38
@rustatian rustatian self-assigned this Nov 10, 2024
Copy link

coderabbitai bot commented Nov 10, 2024

Walkthrough

The documentation for the RoadRunner Status Plugin has been updated to enhance clarity regarding the health check endpoint. Key changes include a modified URL that now returns the health status of all enabled plugins by default, an expanded JSON response format, and a new HTTP status code (503) for specific error conditions. The section on customizing the not-ready status code remains, along with examples for configuration. The documentation also continues to cover health checks for pipelines in the Jobs plugin and relevant use cases for various cloud environments.

Changes

File Change Summary
lab/health.md Updated documentation for the health check endpoint, including default behavior, response format, and status codes. Retained customization section with examples.
.gitbook.yaml Removed unnecessary space before the summary key in the .gitbook.yaml configuration file.
app-server/aws-lambda.md Updated documentation for running PHP as an AWS Lambda function, including code snippets and configuration details. Added new methods and types in plugin.go.
app-server/docker.md Corrected the spelling of protobuf in the Dockerfile example.
kv/overview-kv.md Updated references for tracing systems and modified API proto file link.
lab/logger.md Clarified logging configuration options, including new format requirements and line endings.
php/worker.md Enhanced error handling documentation and introduced DispatcherInterface for request dispatching.
plugins/tcp.md Added new read_buf_size configuration parameter and clarified the pool section for TCP servers.
queues/amqp.md Added hint about message delivery confirmation and removed consume_all option from configuration.
queues/beanstalk.md Removed consume_all option and emphasized priority options in configuration.
queues/nats.md Removed consume_all option from configuration.
queues/sqs.md Streamlined documentation and updated various configuration parameters for clarity.
php/rpc.md Updated RPC documentation with new asynchronous methods and renamed existing methods for clarity.
php/developer.md Added section on "RoadRunner-Temporal Debug Mode" and refined existing content for clarity.
releases/v2024-3-0.md Updated release notes for version v2024.3.0, highlighting plugin enhancements and bug fixes.
SUMMARY.md Added entry for version v2024.3.0 in the "Releases" section.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant HealthCheckEndpoint
    participant PluginManager

    User->>HealthCheckEndpoint: Request health status
    HealthCheckEndpoint->>PluginManager: Check status of all enabled plugins
    PluginManager-->>HealthCheckEndpoint: Return status and error messages
    HealthCheckEndpoint-->>User: Return JSON payload with health status
Loading

🐇 "In the garden where bunnies play,
The health checks now lead the way.
Plugins all in a merry dance,
With status codes, they take a chance.
A JSON tale of health to share,
Hopping along without a care!" 🥕

Suggested labels

documentation

Possibly related PRs


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
lab/health.md (3)

27-33: Maintain consistent URL format in examples

In the explanation, there's an inconsistency in how URLs are formatted. The first example uses plain text, while the multi-plugin example is shown as a clickable link. Consider using consistent formatting for all URL examples to improve readability.

-http and grpc plugins, you can use the following URL: http://127.0.0.1:2114/health?plugin=http&plugin=grpc.
+http and grpc plugins, you can use the following URL: `http://127.0.0.1:2114/health?plugin=http&plugin=grpc`.

34-49: Clarify status code differences between health and readiness checks

The documentation mentions different status codes for health checks (503) and readiness checks (500), which might be confusing to readers. Consider adding a comparison table or a clear note explaining why these endpoints use different status codes.

Example addition:

| Check Type | Success | No Workers | Workers Busy | Other Errors |
|------------|---------|------------|--------------|--------------|
| Health     | 200     | 503*       | N/A          | 503*         |
| Readiness  | 200     | 500*       | 500*         | 500*         |

*These status codes can be customized via configuration
🧰 Tools
🪛 LanguageTool

[grammar] ~34-~34: A pronoun seems to be missing. Did you mean “workers I ready”, “workers you ready”, “workers we ready” “workers they ready”?
Context: ...eady to serve requests. If there are no workers ready to service requests, the endpoint will ...

(THERE_BE_NNS_VB_TO)


27-49: Consider adding curl examples for better clarity

The documentation would benefit from practical examples showing how to use the health check endpoint with curl commands. This would help users quickly test and understand the behavior.

Example addition:

Example requests:
```bash
# Check health of all plugins
curl http://127.0.0.1:2114/health

# Check specific plugins
curl http://127.0.0.1:2114/health?plugin=http&plugin=grpc

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 LanguageTool</summary>

[grammar] ~34-~34: A pronoun seems to be missing. Did you mean “workers I ready”, “workers you ready”, “workers we ready” “workers they ready”?
Context: ...eady to serve requests. If there are no workers ready to service requests, the endpoint will ...

(THERE_BE_NNS_VB_TO)

</details>

</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: CHILL**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 5b64bd6e9e93a042589bc5bd7a22bd64c5fa38d9 and 96d7dcb0c00ab8d7e3e78a9b1bff9c22dc4c1781.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `lab/health.md` (1 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>lab/health.md</summary>

[grammar] ~34-~34: A pronoun seems to be missing. Did you mean “workers I ready”, “workers you ready”, “workers we ready” “workers they ready”?
Context: ...eady to serve requests. If there are no workers ready to service requests, the endpoint will ...

(THERE_BE_NNS_VB_TO)

</details>

</details>

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (9)
plugins/tcp.md (2)

63-67: Enhance read_buf_size parameter documentation.

The documentation for the new read_buf_size parameter is clear, but could be more comprehensive. Consider adding:

  • The default value if not specified
  • Any minimum/maximum constraints
  • Performance implications of setting very large buffer sizes

119-120: Remove trailing period for consistency.

The period at the end of the line is inconsistent with other bullet points in the documentation.

-- `pool`: Configuration for the PHP worker pool for the TCP servers. See
-https://docs.roadrunner.dev/docs/php-worker/pool for available parameters.
+- `pool`: Configuration for the PHP worker pool for the TCP servers. See
+https://docs.roadrunner.dev/docs/php-worker/pool for available parameters
🧰 Tools
🪛 LanguageTool

[uncategorized] ~119-~119: Loose punctuation mark.
Context: ...For the specified delimiter. -pool`: Configuration for the PHP worker pool f...

(UNLIKELY_OPENING_PUNCTUATION)

app-server/aws-lambda.md (1)

Line range hint 1-344: Consider enhancing the documentation with additional operational guidance.

While the documentation is comprehensive, consider adding the following important details to help users deploy successfully:

  1. Memory Management:

    • Explain memory implications of worker count
    • Provide guidance on Lambda memory configuration
  2. Performance Considerations:

    • Document cold start behavior
    • Add recommendations for Lambda timeout settings
  3. Response Format:

    • Clarify the required format for Lambda responses
    • Add example of a properly formatted response from PHP

Would you like me to provide example content for these sections?

queues/amqp.md (3)

16-18: Fix grammar in the publisher confirms hint.

The new hint provides valuable information about message reliability, but contains a grammar error.

-Every messages pushed to the RabbitMQ server uses the publiser confirms. This means that the message is only considered as sent when the server confirms it. This is a reliable way to ensure that the message is delivered to the server.
+Every message pushed to the RabbitMQ server uses publisher confirms. This means that the message is only considered as sent when the server confirms it. This is a reliable way to ensure that the message is delivered to the server.
🧰 Tools
🪛 LanguageTool

[grammar] ~16-~16: Use a singular noun after the quantifier ‘Every’, or change it to “all”.
Context: ...ownload.html). {% hint style="info" %} Every messages pushed to the RabbitMQ server uses the ...

(EACH_EVERY_NNS)


218-218: Improve clarity in the prefetch warning.

The performance warning is valuable, but the wording could be more precise.

-Note that if you use a large number of workers and a small `prefetch` number, some of the workers may not be loaded with messages (jobs) due to the blocking nature of the prefetch.
+Note that if you use many workers with a small `prefetch` value, some workers may remain idle due to the blocking nature of the prefetch.
🧰 Tools
🪛 LanguageTool

[style] ~218-~218: Specify a number, remove phrase, or simply use “many” or “numerous”
Context: ...os.prefetch-size). Note that if you use a large number of workers and a small prefetch number, ...

(LARGE_NUMBER_OF)


286-295: Fix documentation consistency issues.

Several minor consistency issues need attention:

  1. Add hyphens to "auto-delete" consistently
  2. Add missing articles
-### Exchange auto delete
+### Exchange auto-delete

-Auto-delete (exchange is deleted when last queue is unbound from it)
+Auto-delete (exchange is deleted when the last queue is unbound from it)

-### Queue auto delete
+### Queue auto-delete

-Auto-delete (queue that has had at least one consumer is deleted when last consumer
+Auto-delete (queue that has had at least one consumer is deleted when the last consumer
🧰 Tools
🪛 LanguageTool

[uncategorized] ~286-~286: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...nges)). Default: false ### Exchange auto delete exchange_auto_delete - Auto-delete (...

(AUTO_HYPHEN)


[uncategorized] ~288-~288: You might be missing the article “the” here.
Context: ...- Auto-delete (exchange is deleted when last queue is unbound from it): [link](https...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~292-~292: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...xchanges). Default: false ### Queue auto delete queue_auto_delete - Auto-delete (que...

(AUTO_HYPHEN)


[uncategorized] ~294-~294: You might be missing the article “the” here.
Context: ...d at least one consumer is deleted when last consumer unsubscribes): [link](https://...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

queues/sqs.md (3)

97-98: Improve wording clarity.

The current sentence structure is a bit awkward and could be clearer.

Consider revising to:

-If you self-host your SQS-compatible queue, only the endpoint is required. You may be required to provide a set key of
-and secret in order to satisfy parameters of the AWS SQS SDK, which RoadRunner uses under the hood.
+If you self-host your SQS-compatible queue, only the endpoint is required. However, you may need to provide a key and
+secret to satisfy the AWS SQS SDK requirements, which RoadRunner uses under the hood.
🧰 Tools
🪛 LanguageTool

[style] ~98-~98: Consider a shorter alternative to avoid wordiness.
Context: ...ired to provide a set key of and secret in order to satisfy parameters of the AWS SQS SDK, ...

(IN_ORDER_TO_PREMIUM)


171-183: Add performance implications for FIFO queues.

The FIFO queue section effectively explains the configuration requirements. Consider adding a note about FIFO queue limitations, such as the maximum throughput of 300 messages per second (or 3,000 with batching).

Would you like me to provide a draft of the additional content?


240-242: Fix markdown heading formatting.

Add blank lines around the "Short vs. Long Polling" heading to maintain consistent formatting throughout the document.

Apply this change:

{% hint style="warning" %}
+
### Short vs. Long Polling
+
🧰 Tools
🪛 Markdownlint

241-241: Expected: 1; Actual: 0; Above
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 96d7dcb and 951c603.

📒 Files selected for processing (11)
  • .gitbook.yaml (1 hunks)
  • app-server/aws-lambda.md (1 hunks)
  • app-server/docker.md (1 hunks)
  • kv/overview-kv.md (2 hunks)
  • lab/logger.md (2 hunks)
  • php/worker.md (1 hunks)
  • plugins/tcp.md (2 hunks)
  • queues/amqp.md (5 hunks)
  • queues/beanstalk.md (0 hunks)
  • queues/nats.md (0 hunks)
  • queues/sqs.md (4 hunks)
💤 Files with no reviewable changes (2)
  • queues/beanstalk.md
  • queues/nats.md
✅ Files skipped from review due to trivial changes (2)
  • .gitbook.yaml
  • app-server/docker.md
🧰 Additional context used
🪛 Markdownlint
kv/overview-kv.md

52-52: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)

queues/amqp.md

20-20: Expected: 1; Actual: 2
Multiple consecutive blank lines

(MD012, no-multiple-blanks)

queues/sqs.md

241-241: Expected: 1; Actual: 0; Above
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

🪛 LanguageTool
plugins/tcp.md

[uncategorized] ~119-~119: Loose punctuation mark.
Context: ...For the specified delimiter. -pool`: Configuration for the PHP worker pool f...

(UNLIKELY_OPENING_PUNCTUATION)

queues/amqp.md

[grammar] ~16-~16: Use a singular noun after the quantifier ‘Every’, or change it to “all”.
Context: ...ownload.html). {% hint style="info" %} Every messages pushed to the RabbitMQ server uses the ...

(EACH_EVERY_NNS)


[style] ~218-~218: Specify a number, remove phrase, or simply use “many” or “numerous”
Context: ...os.prefetch-size). Note that if you use a large number of workers and a small prefetch number, ...

(LARGE_NUMBER_OF)


[uncategorized] ~286-~286: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...nges)). Default: false ### Exchange auto delete exchange_auto_delete - Auto-delete (...

(AUTO_HYPHEN)


[uncategorized] ~288-~288: You might be missing the article “the” here.
Context: ...- Auto-delete (exchange is deleted when last queue is unbound from it): [link](https...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~292-~292: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...xchanges). Default: false ### Queue auto delete queue_auto_delete - Auto-delete (que...

(AUTO_HYPHEN)


[uncategorized] ~294-~294: You might be missing the article “the” here.
Context: ...d at least one consumer is deleted when last consumer unsubscribes): [link](https://...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

queues/sqs.md

[style] ~98-~98: Consider a shorter alternative to avoid wordiness.
Context: ...ired to provide a set key of and secret in order to satisfy parameters of the AWS SQS SDK, ...

(IN_ORDER_TO_PREMIUM)

🪛 Gitleaks
queues/sqs.md

87-87: Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platforms.

(aws-access-token)

🔇 Additional comments (5)
lab/logger.md (1)

134-134: ⚠️ Potential issue

Breaking Change: Channel output format now requires array syntax

Similar to the global output configuration, the channel-specific output format has changed to require array syntax.

plugins/tcp.md (1)

Line range hint 1-120: Documentation changes look good!

The updates effectively introduce the new read_buf_size parameter while maintaining clear structure and comprehensive examples. The warning about worker statelessness is particularly valuable for users.

app-server/aws-lambda.md (1)

344-344: LGTM! Appropriate logging configuration for AWS Lambda.

The updated log output configuration using array format output: [ stderr ] is correct and follows best practices for AWS Lambda environments, where stderr is automatically captured for logging.

queues/amqp.md (1)

Line range hint 265-295: LGTM! Clear and well-documented configuration options.

The configuration options are well-described with appropriate links to official documentation.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~286-~286: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...nges)). Default: false ### Exchange auto delete exchange_auto_delete - Auto-delete (...

(AUTO_HYPHEN)


[uncategorized] ~288-~288: You might be missing the article “the” here.
Context: ...- Auto-delete (exchange is deleted when last queue is unbound from it): [link](https...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~292-~292: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...xchanges). Default: false ### Queue auto delete queue_auto_delete - Auto-delete (que...

(AUTO_HYPHEN)


[uncategorized] ~294-~294: You might be missing the article “the” here.
Context: ...d at least one consumer is deleted when last consumer unsubscribes): [link](https://...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

queues/sqs.md (1)

Line range hint 3-314: Documentation improvements look great!

The updated documentation provides clear, comprehensive coverage of the SQS integration. The examples are well-structured, and the configuration options are thoroughly explained. The new sections on FIFO queues and various deployment scenarios add significant value.

🧰 Tools
🪛 Markdownlint

241-241: Expected: 1; Actual: 0; Above
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

@@ -95,7 +95,7 @@ the output key.

```yaml
logs:
output: stdout
output: [ stdout ]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Breaking Change: Output format now requires array syntax

The configuration format for output has changed from a scalar value to an array format. This is a breaking change that will affect existing configurations.

Consider adding a migration note at the beginning of this section to help users update their existing configurations, for example:

> **Breaking Change**: Starting from version 2024.3, the `output` configuration requires array syntax. 
> Update your configuration from `output: stdout` to `output: [ stdout ]`.

Comment on lines +87 to +88
key: ASIAIOSFODNN7EXAMPLE
secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Replace AWS credential examples with safe placeholder values.

The current example uses credential-like values (ASIAIOSFODNN7EXAMPLE). While these appear to be example values from AWS documentation, it's better to use clearly fictional placeholders to prevent accidental copy-paste by users.

Consider using this format instead:

-  key: ASIAIOSFODNN7EXAMPLE
-  secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
+  key: YOUR_AWS_ACCESS_KEY_ID
+  secret: YOUR_AWS_SECRET_ACCESS_KEY
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
key: ASIAIOSFODNN7EXAMPLE
secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
key: YOUR_AWS_ACCESS_KEY_ID
secret: YOUR_AWS_SECRET_ACCESS_KEY
🧰 Tools
🪛 Gitleaks

87-87: Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platforms.

(aws-access-token)

Comment on lines +89 to +93

// Additionally, we can inform the RoadRunner that the processing
// of the request failed.
$psr7->getWorker()->error((string)$e);
// of the request failed. Use error instead of response to indicate
// worker error, do not use both.
// $psr7->getWorker()->error((string)$e);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Enhance error handling documentation with examples and implications.

While the comment clarifies that error() should be used instead of response for worker errors, the documentation could be more helpful by:

  1. Providing concrete examples of when to use error() vs respond():

    • Use error() for worker-level issues (e.g., configuration errors, initialization failures)
    • Use respond() for request-level errors (e.g., validation errors, not found errors)
  2. Including a code example showing the recommended approach:

try {
    // Application code here
    $psr7->respond(new Response(200, [], 'Success!'));
} catch (WorkerException $e) {
    // Worker-level errors (initialization, configuration, etc.)
    $psr7->getWorker()->error((string)$e);
} catch (\Throwable $e) {
    // Request-level errors (validation, not found, etc.)
    $psr7->respond(new Response(500, [], 'Internal Server Error'));
}
  1. Explaining the implications:
    • Using error() terminates the worker process
    • Using respond() allows the worker to continue processing future requests

Signed-off-by: Valery Piashchynski <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (6)
releases/v2024-3-0.md (1)

1-15: Improve markdown formatting for better readability and consistency.

Please consider the following formatting improvements:

 # 🚀 v2024.2.1 🚀

-### `OTEL` plugin:
+## OTEL plugin
 
 - 🔥: Several improvements by @devnev: Do not set `Endpoint` and `Headers` for gRPC if they're empty: [PR](https://github.com/roadrunner-server/otel/pull/62), Support standard `OTEL` exporter protocol environment variables: [PR](https://github.com/roadrunner-server/otel/pull/63). (thanks @devnev)
 
-### `RoadRunner-Temporal` plugin:
+## RoadRunner-Temporal plugin
+
 - 🐛: gRPC client closed too early after shutdown: [BUG](https://github.com/roadrunner-server/roadrunner/issues/1986). (thanks @kkosowski-p)
 
-### `AMQP` driver:
+## AMQP driver
+
 - 🐛: `redial_timeout` was not respected when dynamically creating pipeline. [BUG](https://github.com/roadrunner-server/roadrunner/issues/2000), (thanks @algirdasci)
 
-### <center>🧹 Chore:</center>
+## 🧹 Chore
 
 - 🧑‍🏭: All plugins were updated to Go 1.23 (including `Velox` Dockerfile).
🧰 Tools
🪛 Markdownlint

3-3: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


7-7: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


10-10: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


3-3: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


7-7: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


10-10: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


11-11: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


13-13: Element: center
Inline HTML

(MD033, no-inline-html)

php/rpc.md (1)

168-168: Consider adding error handling examples.

While the examples effectively demonstrate the usage of callIgnoreResponse, they explicitly omit error handling. Consider adding:

  1. Examples of handling common errors
  2. Best practices for error recovery
  3. Explanation of potential error scenarios

Here's a suggested example with error handling:

public function add(string $name, float $value, array $labels = []): void
{
    try {
        $this->rpc->callIgnoreResponse('metrics.Add', compact('name', 'value', 'labels'));
    } catch (ServiceException $e) {
        // Handle RPC service errors
        throw new MetricsException('Failed to add metric: ' . $e->getMessage(), $e->getCode(), $e);
    } catch (\Throwable $e) {
        // Handle unexpected errors
        throw new MetricsException('Unexpected error while adding metric', 0, $e);
    }
}

Also applies to: 174-174, 180-180

queues/sqs.md (4)

62-65: Fix grammar in section heading and description.

The section about different regions needs grammatical improvements:

-#### AWS SQS in different region with dynamic IAM
+#### AWS SQS in a Different Region with Dynamic IAM

-If you access your AWS SQS queue from inside AWS via a service that supports dynamic IAM roles (such as EC2), and the
-queue is in a different region.
+If you access your AWS SQS queue from inside AWS via a service that supports dynamic IAM roles (such as EC2), and the
+queue is in a different region, use this configuration.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~62-~62: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...% endcode %} #### AWS SQS in different region with dynamic IAM If you access your AW...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


179-180: Fix grammar in FIFO queue documentation.

-2. You should have `prefetch` set to `1` for the pipeline. If you fetch multiple messages at a time, RoadRunner may not
-process the jobs in correct order.
+2. You should have `prefetch` set to `1` for the pipeline. If you fetch multiple messages at a time, RoadRunner may not
+process the jobs in the correct order.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~180-~180: You might be missing the article “the” here.
Context: ... RoadRunner may not process the jobs in correct order. 3. You should make sure to eithe...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


243-249: Fix grammar in polling configuration section.

-By default, SQS and RoadRunner is configured to use **short polling**. Please review the documentation on the
-differences between [short and long polling](...) and make sure that your queue and RoadRunner is configured correctly.
+By default, SQS and RoadRunner are configured to use **short polling**. Please review the documentation on the
+differences between [short and long polling](...) and make sure that your queue and RoadRunner are configured correctly.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~243-~243: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...Polling By default, SQS and RoadRunner is configured to use short polling. Pl...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~246-~246: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...ake sure that your queue and RoadRunner is configured correctly. Long polling will...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


240-242: Fix markdown formatting.

Add a blank line before the "Short vs. Long Polling" heading to comply with markdown formatting guidelines.

 Maximum: `20`

+
 ### Short vs. Long Polling
🧰 Tools
🪛 Markdownlint

241-241: Expected: 1; Actual: 0; Above
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 951c603 and 10c57a0.

📒 Files selected for processing (4)
  • SUMMARY.md (1 hunks)
  • php/rpc.md (2 hunks)
  • queues/sqs.md (4 hunks)
  • releases/v2024-3-0.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • SUMMARY.md
🧰 Additional context used
🪛 LanguageTool
queues/sqs.md

[uncategorized] ~62-~62: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...% endcode %} #### AWS SQS in different region with dynamic IAM If you access your AW...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


[style] ~98-~98: Consider a shorter alternative to avoid wordiness.
Context: ...ired to provide a set key of and secret in order to satisfy parameters of the AWS SQS SDK, ...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~180-~180: You might be missing the article “the” here.
Context: ... RoadRunner may not process the jobs in correct order. 3. You should make sure to eithe...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~243-~243: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...Polling By default, SQS and RoadRunner is configured to use short polling. Pl...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~246-~246: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...ake sure that your queue and RoadRunner is configured correctly. Long polling will...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)

🪛 Gitleaks
queues/sqs.md

87-87: Identified a pattern that may indicate AWS credentials, risking unauthorized cloud resource access and data breaches on AWS platforms.

(aws-access-token)

🪛 Markdownlint
queues/sqs.md

241-241: Expected: 1; Actual: 0; Above
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)

releases/v2024-3-0.md

3-3: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


7-7: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


10-10: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


3-3: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


7-7: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


10-10: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


11-11: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


13-13: Element: center
Inline HTML

(MD033, no-inline-html)

🔇 Additional comments (5)
releases/v2024-3-0.md (1)

5-11: Well-documented changes with proper issue/PR references.

Each change is properly linked to its corresponding GitHub issue or pull request, providing excellent traceability for the changes.

🧰 Tools
🪛 Markdownlint

7-7: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


10-10: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


7-7: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


10-10: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


11-11: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

php/rpc.md (2)

Line range hint 100-106: LGTM! Clear and informative warning.

The warning is well-formatted and provides valuable information about worker behavior in debug mode, including important caveats about future compatibility.


93-93: Document the breaking change in the RPC method name.

The method name change from informer.Workers to informer.AddWorker is a breaking change that should be documented. Consider adding:

  1. A note about the change
  2. Migration steps for users upgrading from the previous version
  3. The reason for the change
queues/sqs.md (2)

3-35: LGTM! Clear and well-structured introduction and configuration.

The introduction and configuration sections have been improved with:

  • More precise terminology for Amazon SQS
  • Clearer parameter descriptions
  • Helpful guidance for the new endpoint parameter

137-139: LGTM! Well-documented new parameter.

The new max_messages_in_flight parameter is clearly documented with its purpose and default value.

@@ -0,0 +1,15 @@
# 🚀 v2024.2.1 🚀
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Based on the search results, I can generate the final response as there's clear evidence of duplicate content:

Duplicate release notes detected - file needs to be updated

The file releases/v2024-3-0.md incorrectly contains the same content as releases/v2024-2-1.md. Both files have the heading "# 🚀 v2024.2.1 🚀". The file v2024-3-0.md should contain release notes for version 2024.3.0 as referenced in SUMMARY.md.

🔗 Analysis chain

Version number mismatch between filename and content.

The file is named v2024-3-0.md but contains release notes for version v2024.2.1. Please verify if this is intentional or if the version numbers need to be aligned.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if there are other version references in the repository
rg -i "v2024\.[23]" --type md

Length of output: 1670

Signed-off-by: Valery Piashchynski <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (2)
php/developer.md (2)

96-101: LGTM! Consider adding configuration examples.

The new section effectively clarifies the terminology differences for Temporal plugin. To further enhance developer understanding, consider adding comparative configuration examples.

Example addition:

 {% hint style="warning" %}
 Note, that in the Temporal plugin, `pool` is actually called `activities`. All other `pool` options are the same. For example, `pool.num_workers` is `activities.num_workers`.
 {% endhint %}
+
+For example:
+{% code title=".rr.yaml" %}
+```yaml
+temporal:
+  activities:
+    num_workers: 4
+    debug: true
+```
+{% endcode %}

95-95: Remove extra blank line.

Multiple consecutive blank lines detected. Maintain consistent spacing by keeping only one blank line between sections.

-
-
+
🧰 Tools
🪛 Markdownlint

95-95: Expected: 1; Actual: 2
Multiple consecutive blank lines

(MD012, no-multiple-blanks)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 10c57a0 and ccfb465.

📒 Files selected for processing (1)
  • php/developer.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint
php/developer.md

95-95: Expected: 1; Actual: 2
Multiple consecutive blank lines

(MD012, no-multiple-blanks)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
kv/redis.md (3)

97-110: LGTM! Consider adding example paths

The TLS configuration section is well-structured and follows the existing format. To enhance usability, consider adding example paths in the comments.

       tls:
         # Optional section.
-        # Default: ""
+        # Default: ""
+        # Example: "/etc/redis/client-cert.pem"
         cert: ""

         # Optional section.
-        # Default: ""
+        # Default: ""
+        # Example: "/etc/redis/client-key.pem"
         key: ""

         # Optional section.
-        # Default: ""
+        # Default: ""
+        # Example: "/etc/redis/ca.pem"
         root_ca: ""

193-207: Fix trailing spaces

There are trailing spaces at the end of several lines that should be removed.

-The `tls` section allows you to configure Transport Layer Security (TLS) for secure communication with the Redis server. 
-If no options are defined in this section, the connection will default to non-TLS. 
+The `tls` section allows you to configure Transport Layer Security (TLS) for secure communication with the Redis server.
+If no options are defined in this section, the connection will default to non-TLS.

-`cert`: Path to a file containing the client certificate. This certificate is used to authenticate the client 
-when communicating with the server.
+`cert`: Path to a file containing the client certificate. This certificate is used to authenticate the client
+when communicating with the server.

-`key`: Path to a file containing the client private key. This key is used in conjunction with the client 
-certificate for mutual authentication.
+`key`: Path to a file containing the client private key. This key is used in conjunction with the client
+certificate for mutual authentication.

-`root_ca`: Path to a file containing the Certificate Authority (CA) certificates used to verify the server's certificate.  
+`root_ca`: Path to a file containing the Certificate Authority (CA) certificates used to verify the server's certificate.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~198-~198: Loose punctuation mark.
Context: ...ection will default to non-TLS. cert: Path to a file containing the client ce...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~201-~201: Loose punctuation mark.
Context: ...en communicating with the server. key: Path to a file containing the client pr...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~201-~201: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...he client private key. This key is used in conjunction with the client certificate for mutual auth...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)


[uncategorized] ~204-~204: Loose punctuation mark.
Context: ...te for mutual authentication. root_ca: Path to a file containing the Certifica...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 Markdownlint

195-195: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


196-196: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


198-198: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


201-201: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


205-205: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


193-207: Enhance TLS documentation with security best practices

Consider adding the following information to make the TLS documentation more comprehensive:

  1. Supported certificate formats (PEM, DER, etc.)
  2. File permissions recommendations for private key
  3. Minimum TLS version supported
  4. Cipher suite configuration (if applicable)

Would you like me to provide a detailed example of these additions?

🧰 Tools
🪛 LanguageTool

[uncategorized] ~198-~198: Loose punctuation mark.
Context: ...ection will default to non-TLS. cert: Path to a file containing the client ce...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~201-~201: Loose punctuation mark.
Context: ...en communicating with the server. key: Path to a file containing the client pr...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~201-~201: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...he client private key. This key is used in conjunction with the client certificate for mutual auth...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)


[uncategorized] ~204-~204: Loose punctuation mark.
Context: ...te for mutual authentication. root_ca: Path to a file containing the Certifica...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 Markdownlint

195-195: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


196-196: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


198-198: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


201-201: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


205-205: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between ccfb465 and cfd26f2.

📒 Files selected for processing (1)
  • kv/redis.md (2 hunks)
🧰 Additional context used
🪛 LanguageTool
kv/redis.md

[uncategorized] ~198-~198: Loose punctuation mark.
Context: ...ection will default to non-TLS. cert: Path to a file containing the client ce...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~201-~201: Loose punctuation mark.
Context: ...en communicating with the server. key: Path to a file containing the client pr...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~201-~201: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...he client private key. This key is used in conjunction with the client certificate for mutual auth...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)


[uncategorized] ~204-~204: Loose punctuation mark.
Context: ...te for mutual authentication. root_ca: Path to a file containing the Certifica...

(UNLIKELY_OPENING_PUNCTUATION)

🪛 Markdownlint
kv/redis.md

195-195: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


196-196: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


198-198: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


201-201: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


205-205: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Outside diff range and nitpick comments (1)
http/http.md (1)

375-377: Enhance Let's Encrypt documentation section

The Let's Encrypt section would benefit from additional information:

Consider adding:

  1. A dedicated troubleshooting section for common certificate-related issues
  2. Examples of typical deployment scenarios (e.g., behind a reverse proxy)
  3. Best practices for certificate storage and backup
  4. Information about rate limits and staging environment usage
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between cfd26f2 and 845a7e0.

📒 Files selected for processing (1)
  • http/http.md (1 hunks)
🔇 Additional comments (1)
http/http.md (1)

Line range hint 1-999: Verify technical accuracy with codebase

Let's verify that the documentation matches the actual implementation.

@@ -373,7 +373,7 @@ http:
# directory to store your certificate and key from the LE
#
# Default: rr_cache_dir
certs_dir: rr_le_certs
cache_dir: rr_le_certs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Documentation needs improvement for the configuration change

The rename from certs_dir to cache_dir requires additional documentation:

  1. The default value is inconsistently documented:

    • In the main configuration it shows "Default: rr_cache"
    • In the Let's Encrypt section it shows "Default: rr_cache_dir"
  2. Migration guidance is missing for users updating from previous versions.

Consider adding:

  • A consistent default value across all documentation
  • A migration note explaining the change from certs_dir to cache_dir
  • Version information indicating when this change was introduced

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
php/auto-scaling.md (3)

14-15: Fix typo in limitations section

There's a typo in "Workerflow" which should be "Workflow".

-- This feature does not scale Temporal Workerflow worker, only activity workers.
++ This feature does not scale Temporal Workflow worker, only activity workers.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~15-~15: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...ture does not scale Temporal Workerflow worker, only activity workers. ### Usage Bel...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)


53-55: Enhance parameter descriptions with specific constraints

The parameter descriptions would be more helpful with additional details:

  • max_workers: Add the absolute maximum limit (100 as mentioned in the introduction)
  • spawn_rate: Clarify if there's a minimum value or any rate limiting
  • idle_timeout: Suggest recommended values or explain how to determine an appropriate timeout

Consider expanding the descriptions like this:

-- max_workers - the maximum number of workers that can be additionally spawned.
++ max_workers - the maximum number of workers that can be additionally spawned (up to 100).
-- spawn_rate - the number of workers that can be spawned per NoFreeWorkers error (but up to max_workers).
++ spawn_rate - the number of workers that can be spawned per NoFreeWorkers error (must be > 0 and <= max_workers).
-- idle_timeout - the time after which dynamically allocated workers are considered not needed and would be deallocated.
++ idle_timeout - the duration after which idle dynamically allocated workers are deallocated (e.g., "10s", "1m").
🧰 Tools
🪛 Markdownlint (0.35.0)

53-53: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


52-55: Add blank lines around list for better readability

According to markdown best practices, lists should be surrounded by blank lines.

 The new `dynamic_allocator` section has been added to the `*.pool` configuration. It contains the following parameters:
+
 - `max_workers` - the maximum number of workers that can be additionally spawned.
 - `spawn_rate` - the number of workers that can be spawned per NoFreeWorkers error (but up to `max_workers`).
 - `idle_timeout` - the time after which dynamically allocated workers are considered not needed and would be deallocated.
+
🧰 Tools
🪛 Markdownlint (0.35.0)

53-53: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 33fb9f0 and 522f022.

📒 Files selected for processing (2)
  • SUMMARY.md (2 hunks)
  • php/auto-scaling.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
php/auto-scaling.md

[uncategorized] ~15-~15: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...ture does not scale Temporal Workerflow worker, only activity workers. ### Usage Bel...

(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)

SUMMARY.md

[grammar] ~22-~22: This noun is normally spelled as one word.
Context: ...kers scaling](php/manual-scaling.md) * Auto workers scaling * [RPC](p...

(WORKER_COMPOUNDS)

🪛 Markdownlint (0.35.0)
php/auto-scaling.md

53-53: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

🔇 Additional comments (2)
SUMMARY.md (2)

21-22: LGTM: Clear separation of scaling documentation

The split into separate manual and auto scaling entries improves navigation and clarity.

🧰 Tools
🪛 LanguageTool

[grammar] ~22-~22: This noun is normally spelled as one word.
Context: ...kers scaling](php/manual-scaling.md) * Auto workers scaling * [RPC](p...

(WORKER_COMPOUNDS)


126-126: LGTM: Release entry added

The new release entry is properly positioned at the top of the releases section.

Signed-off-by: Valery Piashchynski <[email protected]>
Signed-off-by: Valery Piashchynski <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (4)
releases/v2024-3-0.md (4)

1-4: Fix typos and improve writing style in the introduction

There are several typos and areas for improvement in the introduction:

  • "realse" should be "release"
  • "documentated" should be "documented"
  • Consider rephrasing "Let's dive in!" to maintain a more professional tone
- Meet the new RoadRunner release! This time we have a lot of new features, improvements, and bug fixes. Let's dive in! In this realse we have added a new feature called [Auto Workers Scaling](https://docs.roadrunner.dev/docs/php-worker/auto-scaling). This feature allows users to scale their RoadRunner workers automatically, up to 100 additional workers. `SQS` plugin was significantly reworked without major breaking changes, please, read the updated documentation carefully. `RoadRunner-Temporal`plugin now supports API-Keys (which would be added via our SDK-PHP and documentated in it as well).
+ Welcome to the new RoadRunner release! This version introduces numerous features, improvements, and bug fixes. A notable addition is the new [Auto Workers Scaling](https://docs.roadrunner.dev/docs/php-worker/auto-scaling) feature, which enables automatic scaling of RoadRunner workers up to 100 additional workers. The `SQS` plugin has undergone significant improvements without major breaking changes - please review the updated documentation carefully. The `RoadRunner-Temporal` plugin now supports API-Keys (which will be added to our SDK-PHP and documented there as well).
🧰 Tools
🪛 LanguageTool

[style] ~3-~3: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...w RoadRunner release! This time we have a lot of new features, improvements, and bug fix...

(A_LOT_OF)


5-51: Improve markdown formatting for better readability

The document has several markdown formatting issues that should be addressed:

  1. Add blank lines around headings and lists
  2. Remove trailing colons from headings
  3. Use consistent heading levels (h2 instead of h3)
  4. Fix inconsistent spacing after hash symbols

Example format for a section:

- ###  📦 Core RoadRunner SDK:
- 🔥: Dynamic Workers Scaling: [FR](https://github.com/roadrunner-server/roadrunner/issues/97), [docs](https://docs.roadrunner.dev/docs/php-worker/auto-scaling)
+ ## 📦 Core RoadRunner SDK
+
+ - 🔥 Dynamic Workers Scaling: [FR](https://github.com/roadrunner-server/roadrunner/issues/97), [docs](https://docs.roadrunner.dev/docs/php-worker/auto-scaling)
🧰 Tools
🪛 Markdownlint (0.35.0)

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


27-27: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


5-5: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


23-23: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


5-5: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


8-8: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


11-11: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


14-14: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


17-17: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


20-20: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


23-23: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


27-27: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


30-30: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


33-33: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


36-36: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


39-39: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


43-43: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


46-46: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


49-49: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


5-5: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


11-11: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


14-14: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


17-17: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


20-20: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


23-23: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


27-27: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


30-30: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


33-33: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


36-36: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


39-39: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


43-43: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


46-46: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


49-49: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


6-6: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


9-9: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


12-12: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


15-15: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


21-21: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


24-24: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


28-28: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


31-31: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


34-34: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


37-37: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


40-40: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


44-44: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


47-47: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


50-50: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


52-58: Fix typo in contributors section heading

The heading contains a typo:

  • "Thanks to out contributors" should be "Thanks to our contributors"
- ### Thanks to out contributors:
+ ## Thanks to our contributors
🧰 Tools
🪛 Markdownlint (0.35.0)

52-52: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


52-52: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


53-53: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


59-61: Simplify chore section formatting

Remove inline HTML and maintain consistent styling:

- ### <center>🧹 Chore:</center>
- 
- 🧑‍🏭: All plugins dependences were updated to the latest versions.
+ ## 🧹 Chore
+ 
+ - 🔄 All plugin dependencies were updated to the latest versions.

Also note the typo: "dependences" should be "dependencies"

🧰 Tools
🪛 Markdownlint (0.35.0)

59-59: Element: center
Inline HTML

(MD033, no-inline-html)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 522f022 and fdcee28.

📒 Files selected for processing (2)
  • releases/unreleased.md (1 hunks)
  • releases/v2024-3-0.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • releases/unreleased.md
🧰 Additional context used
🪛 LanguageTool
releases/v2024-3-0.md

[style] ~3-~3: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...w RoadRunner release! This time we have a lot of new features, improvements, and bug fix...

(A_LOT_OF)

🪛 Markdownlint (0.35.0)
releases/v2024-3-0.md

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


27-27: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


5-5: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


23-23: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


5-5: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


8-8: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


11-11: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


14-14: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


17-17: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


20-20: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


23-23: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


27-27: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


30-30: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


33-33: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


36-36: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


39-39: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


43-43: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


46-46: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


49-49: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


52-52: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


5-5: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


11-11: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


14-14: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


17-17: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


20-20: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


23-23: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


27-27: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


30-30: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


33-33: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


36-36: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


39-39: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


43-43: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


46-46: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


49-49: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


52-52: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


6-6: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


9-9: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


12-12: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


15-15: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


21-21: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


24-24: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


28-28: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


31-31: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


34-34: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


37-37: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


40-40: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


44-44: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


47-47: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


50-50: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


53-53: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


59-59: Element: center
Inline HTML

(MD033, no-inline-html)

Signed-off-by: Valery Piashchynski <[email protected]>
@rustatian rustatian merged commit c11bff2 into master Dec 5, 2024
2 of 3 checks passed
@rustatian rustatian deleted the release/v2024.3 branch December 5, 2024 16:20
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between fdcee28 and 37cf7f8.

📒 Files selected for processing (1)
  • releases/v2024-3-0.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
releases/v2024-3-0.md

[style] ~3-~3: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...w RoadRunner release! This time we have a lot of new features, improvements, and bug fix...

(A_LOT_OF)

🪛 Markdownlint (0.35.0)
releases/v2024-3-0.md

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


27-27: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


5-5: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


23-23: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


5-5: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


8-8: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


11-11: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


14-14: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


17-17: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


20-20: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


23-23: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


27-27: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


30-30: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


33-33: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


36-36: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


39-39: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


43-43: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


46-46: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


49-49: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


52-52: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


5-5: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


11-11: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


14-14: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


17-17: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


20-20: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


23-23: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


27-27: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


30-30: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


33-33: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


36-36: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


39-39: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


43-43: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


46-46: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


49-49: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


52-52: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


6-6: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


9-9: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


12-12: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


15-15: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


21-21: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


24-24: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


28-28: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


31-31: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


34-34: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


37-37: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


40-40: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


44-44: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


47-47: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


50-50: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


53-53: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

🔇 Additional comments (1)
releases/v2024-3-0.md (1)

5-51: Verify documentation links

Several documentation links are mentioned. Let's verify they are accessible and up-to-date.

🧰 Tools
🪛 Markdownlint (0.35.0)

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


27-27: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


5-5: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


23-23: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


5-5: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


8-8: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


11-11: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


14-14: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


17-17: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


20-20: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


23-23: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


27-27: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


30-30: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


33-33: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


36-36: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


39-39: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


43-43: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


46-46: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


49-49: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


5-5: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


11-11: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


14-14: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


17-17: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


20-20: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


23-23: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


27-27: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


30-30: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


33-33: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


36-36: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


39-39: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


43-43: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


46-46: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


49-49: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


6-6: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


9-9: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


12-12: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


15-15: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


21-21: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


24-24: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


28-28: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


31-31: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


34-34: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


37-37: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


40-40: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


44-44: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


47-47: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


50-50: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

Comment on lines +5 to +51
### 📦 Core RoadRunner SDK:
- 🔥: Dynamic Workers Scaling: [FR](https://github.com/roadrunner-server/roadrunner/issues/97), [docs](https://docs.roadrunner.dev/docs/php-worker/auto-scaling)

### `OTEL` plugin:
- 🔥: Detect resources from environment variables when not set in config [PR](https://github.com/roadrunner-server/otel/pull/64/), (thanks @devnev)

### 📦 `In-Memory` KV driver:
- 🐛: Fixed very tricky memory leak, when trying to update the same key with TTL multiple times in a row: [BUG](https://github.com/roadrunner-server/roadrunner/issues/2051), (thanks @segrax)

### 📦 `Status` plugin:
- 🔥: JSON status reporting, remove strict requirement for providing list of plugins: [FR](https://github.com/roadrunner-server/roadrunner/issues/1998), (thanks @Kaspiman)

### 📦 `Symfony` integration:
- 🔥: Symfony Runtime (PHP) now supports RoadRunner v2023/2024: [PR](https://github.com/php-runtime/runtime/pull/172), (thanks @msmakouz)

### 📦 `Redis` driver:
- 🔥: Add TLS support [PR](https://github.com/roadrunner-server/redis/pull/104), (thanks, @sicet7)

### 📦 Temporal:
- 🔥: Support API keys: [PR](https://github.com/temporalio/roadrunner-temporal/pull/575), [docs](https://docs.temporal.io/cloud/api-keys). This feature would be added to our SDK-PHP and documentated (how to use) in it as well.
- 🔥: Support h2c TLS without certs: [PR](https://github.com/temporalio/roadrunner-temporal/pull/579), (thanks @cv65kr)

### 📦 `SQS` driver:
- 🔥: Complete rework without major breaks by @nickdnk. Please, read the updated docs carefully: [docs](https://docs.roadrunner.dev/docs/queues-and-jobs/sqs)

### 📦 `Nats` driver:
- 🐛: Properly pass user-defined headers [FR](https://github.com/roadrunner-server/nats/pull/182)

### 📦 `Config` plugin:
- 🔥: Config for RPC plugin does not work when included from another file [BUG](https://github.com/roadrunner-server/roadrunner/issues/2017), (thanks @Kaspiman)

### 📦 `Server` plugin:
- 🔥: Add new option `server.on_init.exit_on_error` to stop RoadRunner when `on_init` error occured: [FR](https://github.com/roadrunner-server/roadrunner/issues/2075), (thanks @wizardist)

### 📦 `RabbitMQ (AMQP)` driver:
- 🔥: Support publish confirmations [FR](https://github.com/roadrunner-server/roadrunner/issues/2014), (thanks @algirdasci)
- 🐛: [PHP] Fixed option name from redelivery to requeue: [BUG](https://github.com/roadrunner-php/jobs/pull/71), (thanks @msmakouz)

### 📦 `Locks` plugin:
- 🐛: Fixed `forceRelease` method, removed requirement for input ID [BUG](https://github.com/roadrunner-server/roadrunner/issues/2050), (thanks @fugikzl)

### 📦 `Metrics` plugin:
- 🔥: Declare metrics in upsert mode: [CHORE](https://github.com/roadrunner-server/metrics/pull/113), (thanks @cv65kr)

### 📦 `Velox`:
- 🐛: Fixed base64 logs output: [BUG](https://github.com/roadrunner-server/roadrunner/issues/2028), (thanks @rauanmayemir)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Improve markdown formatting for better readability

The component sections need formatting improvements to comply with markdown best practices:

  1. Use consistent heading levels (h2 instead of h3)
  2. Add blank lines around headings and lists
  3. Remove trailing colons from headings
  4. Fix spacing in inline code blocks (e.g., RoadRunner-Temporalplugin)

Here's an example of the correct formatting for one section:

- ###  📦 Core RoadRunner SDK:
- 🔥: Dynamic Workers Scaling: [FR](https://github.com/roadrunner-server/roadrunner/issues/97), [docs](https://docs.roadrunner.dev/docs/php-worker/auto-scaling)
+ ## 📦 Core RoadRunner SDK
+
+ - 🔥 Dynamic Workers Scaling: [FR](https://github.com/roadrunner-server/roadrunner/issues/97), [docs](https://docs.roadrunner.dev/docs/php-worker/auto-scaling)

Apply similar formatting to all sections.

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Markdownlint (0.35.0)

5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time

(MD001, heading-increment)


27-27: Expected: 0 or 2; Actual: 1
Trailing spaces

(MD009, no-trailing-spaces)


5-5: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


23-23: null
Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


5-5: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


8-8: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


11-11: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


14-14: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


17-17: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


20-20: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


23-23: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


27-27: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


30-30: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


33-33: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


36-36: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


39-39: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


43-43: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


46-46: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


49-49: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


5-5: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


8-8: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


11-11: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


14-14: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


17-17: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


20-20: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


23-23: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


27-27: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


30-30: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


33-33: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


36-36: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


39-39: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


43-43: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


46-46: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


49-49: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


6-6: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


9-9: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


12-12: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


15-15: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


18-18: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


21-21: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


24-24: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


28-28: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


31-31: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


34-34: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


37-37: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


40-40: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


44-44: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


47-47: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


50-50: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

Comment on lines +52 to +58
### Thanks to out contributors:
- @nickdnk - for the help with the `SQS` driver and reworking the whole JSON schema across all plugins (which is actually HUGE).
- @msmakouz - for working on the PHP RoadRunner SDK.
- @cv65kr - for the help with the `Metrics` and `RoadRunner-Temporal` plugins.
- @sicet7 - TLS support in the `Redis` plugin.
- @Kaspiman, @wizardist, @rauanmayemir, @algirdasci and @fugikzl - for being proactive, reporting issues and being collaborative.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Fix typo and improve formatting in contributors section

There are a few issues in the contributors section:

  1. Fix the heading typo:
    • "Thanks to out contributors" → "Thanks to our contributors"
  2. Make the contributor list formatting consistent
- ### Thanks to out contributors:
+ ## Thanks to our contributors
+
- @nickdnk - for the help with the `SQS` driver and reworking the whole JSON schema across all plugins (which is actually HUGE).
- @msmakouz - for working on the PHP RoadRunner SDK.
- @cv65kr - for the help with the `Metrics` and `RoadRunner-Temporal` plugins.
- @sicet7 - TLS support in the `Redis` plugin.
- @Kaspiman, @wizardist, @rauanmayemir, @algirdasci and @fugikzl - for being proactive, reporting issues and being collaborative.
+ - **@nickdnk**: For the help with the `SQS` driver and reworking the whole JSON schema across all plugins (which is actually HUGE)
+ - **@msmakouz**: For working on the PHP RoadRunner SDK
+ - **@cv65kr**: For the help with the `Metrics` and `RoadRunner-Temporal` plugins
+ - **@sicet7**: For TLS support in the `Redis` plugin
+ - **@Kaspiman**, **@wizardist**, **@rauanmayemir**, **@algirdasci**, and **@fugikzl**: For being proactive, reporting issues and being collaborative
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Thanks to out contributors:
- @nickdnk - for the help with the `SQS` driver and reworking the whole JSON schema across all plugins (which is actually HUGE).
- @msmakouz - for working on the PHP RoadRunner SDK.
- @cv65kr - for the help with the `Metrics` and `RoadRunner-Temporal` plugins.
- @sicet7 - TLS support in the `Redis` plugin.
- @Kaspiman, @wizardist, @rauanmayemir, @algirdasci and @fugikzl - for being proactive, reporting issues and being collaborative.
## Thanks to our contributors
- **@nickdnk**: For the help with the `SQS` driver and reworking the whole JSON schema across all plugins (which is actually HUGE)
- **@msmakouz**: For working on the PHP RoadRunner SDK
- **@cv65kr**: For the help with the `Metrics` and `RoadRunner-Temporal` plugins
- **@sicet7**: For TLS support in the `Redis` plugin
- **@Kaspiman**, **@wizardist**, **@rauanmayemir**, **@algirdasci**, and **@fugikzl**: For being proactive, reporting issues and being collaborative
🧰 Tools
🪛 Markdownlint (0.35.0)

52-52: Expected: 1; Actual: 0; Below
Headings should be surrounded by blank lines

(MD022, blanks-around-headings)


52-52: Punctuation: ':'
Trailing punctuation in heading

(MD026, no-trailing-punctuation)


53-53: null
Lists should be surrounded by blank lines

(MD032, blanks-around-lists)

Comment on lines +1 to +4
# 🚀 v2024.3.0 🚀

Meet the new RoadRunner release! This time we have a lot of new features, improvements, and bug fixes. Let's dive in! In this realse we have added a new feature called [Auto Workers Scaling](https://docs.roadrunner.dev/docs/php-worker/auto-scaling). This feature allows users to scale their RoadRunner workers automatically, up to 100 additional workers. `SQS` plugin was significantly reworked without major breaking changes, please, read the updated documentation carefully. `RoadRunner-Temporal`plugin now supports API-Keys (which would be added via our SDK-PHP and documentated in it as well).

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Fix typos and improve readability in the introduction

There are several issues in the introduction that need attention:

  1. Fix typos:
    • "realse" → "release"
    • "documentated" → "documented"
  2. Break down the long sentence for better readability
# 🚀 v2024.3.0 🚀

- Meet the new RoadRunner release! This time we have a lot of new features, improvements, and bug fixes. Let's dive in! In this realse we have added a new feature called [Auto Workers Scaling](https://docs.roadrunner.dev/docs/php-worker/auto-scaling). This feature allows users to scale their RoadRunner workers automatically, up to 100 additional workers. `SQS` plugin was significantly reworked without major breaking changes, please, read the updated documentation carefully. `RoadRunner-Temporal`plugin now supports API-Keys (which would be added via our SDK-PHP and documentated in it as well).
+ Meet the new RoadRunner release! This time we have many new features, improvements, and bug fixes. Let's dive in!
+ 
+ Key highlights:
+ - Added [Auto Workers Scaling](https://docs.roadrunner.dev/docs/php-worker/auto-scaling) feature that allows automatic scaling of RoadRunner workers up to 100 additional workers
+ - Significantly reworked the `SQS` plugin without major breaking changes (please read the updated documentation carefully)
+ - Added API-Keys support in `RoadRunner-Temporal` plugin (documentation will be available in SDK-PHP)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# 🚀 v2024.3.0 🚀
Meet the new RoadRunner release! This time we have a lot of new features, improvements, and bug fixes. Let's dive in! In this realse we have added a new feature called [Auto Workers Scaling](https://docs.roadrunner.dev/docs/php-worker/auto-scaling). This feature allows users to scale their RoadRunner workers automatically, up to 100 additional workers. `SQS` plugin was significantly reworked without major breaking changes, please, read the updated documentation carefully. `RoadRunner-Temporal`plugin now supports API-Keys (which would be added via our SDK-PHP and documentated in it as well).
# 🚀 v2024.3.0 🚀
Meet the new RoadRunner release! This time we have many new features, improvements, and bug fixes. Let's dive in!
Key highlights:
- Added [Auto Workers Scaling](https://docs.roadrunner.dev/docs/php-worker/auto-scaling) feature that allows automatic scaling of RoadRunner workers up to 100 additional workers
- Significantly reworked the `SQS` plugin without major breaking changes (please read the updated documentation carefully)
- Added API-Keys support in `RoadRunner-Temporal` plugin (documentation will be available in SDK-PHP)
🧰 Tools
🪛 LanguageTool

[style] ~3-~3: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...w RoadRunner release! This time we have a lot of new features, improvements, and bug fix...

(A_LOT_OF)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants