Skip to content
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

release: v2024.3 #2082

Merged
merged 4 commits into from
Dec 5, 2024
Merged

release: v2024.3 #2082

merged 4 commits into from
Dec 5, 2024

Conversation

rustatian
Copy link
Member

@rustatian rustatian commented Dec 5, 2024

Reason for This PR

  • Stable release cycle.

Description of Changes

🚀 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. 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-Temporalplugin now supports API-Keys (which would be added via our SDK-PHP and documentated in it as well).

📦 Core RoadRunner SDK:

  • 🔥: Dynamic Workers Scaling: FR, docs

OTEL plugin:

  • 🔥: Detect resources from environment variables when not set in config PR, (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, (thanks @segrax)

📦 Symfony integration:

  • 🔥: Symfony Runtime (PHP) now supports RoadRunner v2023/2024: PR, (thanks @msmakouz)

📦 Redis driver:

  • 🔥: Add TLS support PR, (thanks, @sicet7)

📦 Temporal:

  • 🔥: Support API keys: PR, docs. This feature would be added to our SDK-PHP and documentated (how to use) in it as well.
  • 🔥: Support h2c TLS without certs: PR, (thanks @cv65kr)

📦 SQS driver:

  • 🔥: Complete rework without major breaks by @nickdnk. Please, read the updated docs carefully: docs

📦 Nats driver:

  • 🐛: Properly pass user-defined headers FR

📦 Config plugin:

  • 🔥: Config for RPC plugin does not work when included from another file BUG, (thanks @Kaspiman)

📦 Server plugin:

  • 🔥: Add new option server.on_init.exit_on_error to stop RoadRunner when on_init error occured: FR, (thanks @wizardist)

📦 RabbitMQ (AMQP) driver:

  • 🔥: Support publish confirmations FR, (thanks @algirdasci)
  • 🐛: [PHP] Fixed option name from redelivery to requeue: BUG, (thanks @msmakouz)

📦 Locks plugin:

  • 🐛: Fixed forceRelease method, removed requirement for input ID BUG, (thanks @fugikzl)

📦 Metrics plugin:

  • 🔥: Declare metrics in upsert mode: CHORE, (thanks @cv65kr)

📦 Velox:

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.

🧹 Chore:

  • 🧑‍🏭: All plugins dependences were updated to the latest versions.

License Acceptance

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

PR Checklist

[Author TODO: Meet these criteria.]
[Reviewer TODO: Verify that these criteria are met. Request changes if not]

  • All commits in this PR are signed (git commit -s).
  • The reason for this PR is clearly provided (issue no. or explanation).
  • The description of changes is clear and encompassing.
  • Any required documentation changes (code and docs) are included in this PR.
  • Any user-facing changes are mentioned in CHANGELOG.md.
  • All added/changed functionality is tested.

Summary by CodeRabbit

  • New Features

    • Introduced exit_on_error option in server configuration for improved error handling.
    • Added dynamic_allocator section in jobs and TCP pool configurations for better worker management.
  • Bug Fixes

    • Updated logging output format for consistency across all channels.
  • Dependency Updates

    • Upgraded various dependencies to their latest versions, enhancing performance and security.
  • Documentation

    • Improved clarity in configuration settings for RoadRunner.

Signed-off-by: Valery Piashchynski <piashchynski.valery@gmail.com>
@rustatian rustatian added C-enhancement Category: enhancement. Meaning improvements of current module, transport, etc.. R-stable Release: Nominated for backporting to the RR in the stable channel. labels Dec 5, 2024
@rustatian rustatian requested a review from wolfy-j December 5, 2024 14:20
@rustatian rustatian self-assigned this Dec 5, 2024
Copy link
Contributor

coderabbitai bot commented Dec 5, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

The changes made in this pull request include updates to version tags for Docker images in the .github/workflows/release.yml file, adjustments to the CI/CD pipeline tool versions in the .github/workflows/tests.yml file, and enhancements to the RoadRunner configuration in .rr.yaml. Additionally, the go.mod file has been updated to reflect new versions for multiple dependencies. These modifications collectively aim to improve the build process, error handling, logging, and dependency management.

Changes

File Path Change Summary
.github/workflows/release.yml Updated Docker image version tags from 2024.2 to 2024.3.
.github/workflows/tests.yml - Updated golangci-lint version from v1.60 to v1.62.
- Added fetch-depth: 2 to Check out code step in go-test job.
.rr.yaml - Added exit_on_error option in server configuration.
- Renamed certs_dir to cache_dir in ssl.acme.
- Introduced dynamic_allocator section in jobs.pool and tcp.pool configurations.
- Corrected indentation for env variables and changed logging output format.
go.mod Updated multiple dependencies to their latest versions, including github.com/roadrunner-server/amqp/v5 from v5.0.4 to v5.1.0 and several others from v5.0.4 to v5.1.0. Additional updates for indirect dependencies were also made.

Possibly related PRs

  • release: v2024.2 #1980: This PR updates the version tags for Docker images in the .github/workflows/release.yml file, changing them from 2024.1 to 2024.2, which is directly related to the version tag updates in the main PR.

Suggested reviewers

  • wolfy-j

Poem

In the land of code where rabbits play,
We hop along, updating each day.
With Docker tags and linting bright,
Our CI/CD shines, oh what a sight!
Dependencies fresh, like carrots in spring,
Hopping through changes, we dance and we sing! 🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 1954767 and 93c2004.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (4)
  • .github/workflows/release.yml (1 hunks)
  • .github/workflows/tests.yml (1 hunks)
  • .rr.yaml (8 hunks)
  • go.mod (5 hunks)

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.

Signed-off-by: Valery Piashchynski <piashchynski.valery@gmail.com>
Signed-off-by: Valery Piashchynski <piashchynski.valery@gmail.com>
Signed-off-by: Valery Piashchynski <piashchynski.valery@gmail.com>
@rustatian rustatian marked this pull request as ready for review December 5, 2024 18:14
@rustatian rustatian merged commit 9335c69 into master Dec 5, 2024
12 of 13 checks passed
@rustatian rustatian deleted the release/v2024.3 branch December 5, 2024 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: enhancement. Meaning improvements of current module, transport, etc.. R-stable Release: Nominated for backporting to the RR in the stable channel.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant