Skip to content

[codex] prepare v0.1.7 release#97

Merged
vansour merged 11 commits into
mainfrom
codex/release-v0.1.7
May 16, 2026
Merged

[codex] prepare v0.1.7 release#97
vansour merged 11 commits into
mainfrom
codex/release-v0.1.7

Conversation

@vansour
Copy link
Copy Markdown
Owner

@vansour vansour commented May 16, 2026

What

  • Bump workspace and docs to 0.1.7.
  • Add release-notes/v0.1.7.md and update CHANGELOG.md.
  • Align release-facing docs and the outbound agent control-plane plan with the current model.

Why

  • Prepare the repository for the v0.1.7 release tag and publish flow.

Impact

  • Release prep now matches the current workspace version and release notes structure.
  • The repository is ready for tagging, GitHub Release assets, and Cloudsmith publication.

Validation

  • scripts/prepare-release.sh --tag v0.1.7 --allow-dirty --skip-fetch
  • cargo run -p rginx -- --version
  • cargo fmt --all --check
  • git diff --check

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 16, 2026

Important

Review skipped

Too many files!

This PR contains 171 files, which is 21 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1079f258-b0ea-4049-9983-3608e2bba401

📥 Commits

Reviewing files that changed from the base of the PR and between 303b134 and b24c73d.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (171)
  • CHANGELOG.md
  • Cargo.toml
  • README.md
  • configs/control-plane-mtls.example.ron
  • crates/rginx-agent/Cargo.toml
  • crates/rginx-agent/src/agent_core.rs
  • crates/rginx-agent/src/circuit_breaker.rs
  • crates/rginx-agent/src/circuit_breaker/tests.rs
  • crates/rginx-agent/src/config_history.rs
  • crates/rginx-agent/src/config_history/diff.rs
  • crates/rginx-agent/src/config_history/tests.rs
  • crates/rginx-agent/src/config_validator.rs
  • crates/rginx-agent/src/config_validator/tests.rs
  • crates/rginx-agent/src/control_center/mod.rs
  • crates/rginx-agent/src/control_center/model.rs
  • crates/rginx-agent/src/control_center/query.rs
  • crates/rginx-agent/src/control_center/rollout.rs
  • crates/rginx-agent/src/control_center/store.rs
  • crates/rginx-agent/src/control_center/trait_adapter.rs
  • crates/rginx-agent/src/events.rs
  • crates/rginx-agent/src/events/tests.rs
  • crates/rginx-agent/src/gradual_rollout.rs
  • crates/rginx-agent/src/gradual_rollout/status.rs
  • crates/rginx-agent/src/gradual_rollout/tests.rs
  • crates/rginx-agent/src/lib.rs
  • crates/rginx-agent/src/metrics.rs
  • crates/rginx-agent/src/metrics/tests.rs
  • crates/rginx-agent/src/outbound/auth.rs
  • crates/rginx-agent/src/outbound/client.rs
  • crates/rginx-agent/src/outbound/client/tests.rs
  • crates/rginx-agent/src/outbound/command.rs
  • crates/rginx-agent/src/outbound/encoding.rs
  • crates/rginx-agent/src/outbound/mod.rs
  • crates/rginx-agent/src/outbound/model.rs
  • crates/rginx-agent/src/outbound/outcome.rs
  • crates/rginx-agent/src/outbound/requests.rs
  • crates/rginx-agent/src/outbound/runner.rs
  • crates/rginx-agent/src/outbound/state.rs
  • crates/rginx-agent/src/outbound/status.rs
  • crates/rginx-agent/src/outbound/stream.rs
  • crates/rginx-agent/src/outbound/stream/tests.rs
  • crates/rginx-agent/src/outbound/timing.rs
  • crates/rginx-agent/src/rate_limit.rs
  • crates/rginx-agent/src/rate_limit/tests.rs
  • crates/rginx-agent/src/registry.rs
  • crates/rginx-agent/src/registry/tests.rs
  • crates/rginx-agent/src/server/control.rs
  • crates/rginx-agent/src/server/maintenance.rs
  • crates/rginx-agent/src/server/mod.rs
  • crates/rginx-agent/src/server/request/read.rs
  • crates/rginx-agent/src/server/write.rs
  • crates/rginx-agent/src/server/write/routing.rs
  • crates/rginx-agent/src/tests.rs
  • crates/rginx-agent/src/tests/agent_core.rs
  • crates/rginx-agent/src/tests/control_center.rs
  • crates/rginx-agent/src/tests/outbound.rs
  • crates/rginx-agent/src/tests/outbound_auth.rs
  • crates/rginx-agent/src/tests/outbound_persistence.rs
  • crates/rginx-agent/src/tests/outbound_runtime.rs
  • crates/rginx-agent/src/tests/outbound_stream.rs
  • crates/rginx-agent/src/tests/support.rs
  • crates/rginx-agent/src/tls.rs
  • crates/rginx-agent/src/tls/tests.rs
  • crates/rginx-app/src/admin_cli/agent.rs
  • crates/rginx-app/src/admin_cli/mod.rs
  • crates/rginx-app/src/admin_cli/socket.rs
  • crates/rginx-app/src/admin_cli/status/runtime.rs
  • crates/rginx-app/src/check.rs
  • crates/rginx-app/src/check/control.rs
  • crates/rginx-app/src/check/render.rs
  • crates/rginx-app/src/check/render/control.rs
  • crates/rginx-app/src/check/summary.rs
  • crates/rginx-app/src/cli.rs
  • crates/rginx-app/src/cli/tests.rs
  • crates/rginx-app/src/main.rs
  • crates/rginx-app/tests/admin/commands.rs
  • crates/rginx-app/tests/admin/commands/agent.rs
  • crates/rginx-app/tests/admin/snapshot/core.rs
  • crates/rginx-app/tests/check/summary.rs
  • crates/rginx-config/src/compile/agent.rs
  • crates/rginx-config/src/compile/control_plane.rs
  • crates/rginx-config/src/compile/mod.rs
  • crates/rginx-config/src/compile/route.rs
  • crates/rginx-config/src/compile/route/action.rs
  • crates/rginx-config/src/compile/tests.rs
  • crates/rginx-config/src/compile/tests/acme.rs
  • crates/rginx-config/src/compile/tests/agent.rs
  • crates/rginx-config/src/compile/tests/cache.rs
  • crates/rginx-config/src/compile/tests/cache_p1.rs
  • crates/rginx-config/src/compile/tests/cache_p2.rs
  • crates/rginx-config/src/compile/tests/cache_p3.rs
  • crates/rginx-config/src/compile/tests/http3.rs
  • crates/rginx-config/src/compile/tests/listeners.rs
  • crates/rginx-config/src/compile/tests/route.rs
  • crates/rginx-config/src/compile/tests/route/file_handler.rs
  • crates/rginx-config/src/compile/tests/route/preferred_prefix.rs
  • crates/rginx-config/src/compile/tests/route/proxy_rewrite.rs
  • crates/rginx-config/src/compile/tests/route/regex.rs
  • crates/rginx-config/src/compile/tests/server_settings.rs
  • crates/rginx-config/src/compile/tests/server_tls.rs
  • crates/rginx-config/src/compile/tests/upstream_defaults.rs
  • crates/rginx-config/src/compile/tests/upstream_fallbacks.rs
  • crates/rginx-config/src/compile/tests/upstream_server_name.rs
  • crates/rginx-config/src/compile/tests/upstream_tls.rs
  • crates/rginx-config/src/compile/tests/upstream_transport.rs
  • crates/rginx-config/src/compile/tests/vhosts.rs
  • crates/rginx-config/src/compile/tests/vhosts/listener_conflicts.rs
  • crates/rginx-config/src/model.rs
  • crates/rginx-config/src/model/agent.rs
  • crates/rginx-config/src/model/control_plane.rs
  • crates/rginx-config/src/validate.rs
  • crates/rginx-config/src/validate/agent.rs
  • crates/rginx-config/src/validate/tests.rs
  • crates/rginx-config/src/validate/tests/agent.rs
  • crates/rginx-config/src/validate/tests/vhosts.rs
  • crates/rginx-config/src/validate/tests/vhosts/listen.rs
  • crates/rginx-core/src/config.rs
  • crates/rginx-core/src/config/agent.rs
  • crates/rginx-core/src/config/control_plane.rs
  • crates/rginx-core/src/config/snapshot/mod.rs
  • crates/rginx-core/src/config/tests/core.rs
  • crates/rginx-core/src/config/tests/snapshot_lookup.rs
  • crates/rginx-core/src/lib.rs
  • crates/rginx-http/src/cache/invalidation.rs
  • crates/rginx-http/src/handler/tests/routing/handle.rs
  • crates/rginx-http/src/handler/tests/routing/handle/redirects.rs
  • crates/rginx-http/src/handler/tests/support.rs
  • crates/rginx-http/src/lib.rs
  • crates/rginx-http/src/proxy/clients/tests.rs
  • crates/rginx-http/src/proxy/common.rs
  • crates/rginx-http/src/proxy/common/uri.rs
  • crates/rginx-http/src/proxy/forward/response.rs
  • crates/rginx-http/src/proxy/forward/response/tests.rs
  • crates/rginx-http/src/proxy/health/registry/tests.rs
  • crates/rginx-http/src/proxy/tests/mod.rs
  • crates/rginx-http/src/router/tests.rs
  • crates/rginx-http/src/router/tests/context.rs
  • crates/rginx-http/src/state/agent.rs
  • crates/rginx-http/src/state/lifecycle/reload.rs
  • crates/rginx-http/src/state/lifecycle/status.rs
  • crates/rginx-http/src/state/mod.rs
  • crates/rginx-http/src/state/snapshot_bus/identity.rs
  • crates/rginx-http/src/state/snapshots/mod.rs
  • crates/rginx-http/src/state/snapshots/runtime.rs
  • crates/rginx-http/src/state/structure.rs
  • crates/rginx-http/src/state/tests/status.rs
  • crates/rginx-http/src/state/tests/support.rs
  • crates/rginx-http/src/state/tls_runtime/bindings/tests.rs
  • crates/rginx-http/src/transition.rs
  • crates/rginx-http/src/transition/tests.rs
  • crates/rginx-runtime/src/acme/tests.rs
  • crates/rginx-runtime/src/admin/mod.rs
  • crates/rginx-runtime/src/admin/model.rs
  • crates/rginx-runtime/src/admin/service.rs
  • crates/rginx-runtime/src/admin/tests.rs
  • crates/rginx-runtime/src/agent.rs
  • crates/rginx-runtime/src/agent/tests.rs
  • crates/rginx-runtime/src/bootstrap/listeners/tests.rs
  • crates/rginx-runtime/src/bootstrap/mod.rs
  • crates/rginx-runtime/src/bootstrap/shutdown.rs
  • crates/rginx-runtime/src/bootstrap/shutdown/tests.rs
  • crates/rginx-runtime/src/health/tests.rs
  • crates/rginx-sdk/src/lib.rs
  • crates/rginx-sdk/src/websocket.rs
  • crates/rginx-sdk/src/websocket/tests.rs
  • docs/AGENT_OUTBOUND_CONTROL_PLANE_PLAN.md
  • docs/CONTROL_PLANE.md
  • docs/MTLS_SETUP_GUIDE.md
  • docs/README.md
  • docs/openapi.yaml
  • release-notes/v0.1.7.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/release-v0.1.7

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@amazon-q-developer amazon-q-developer Bot left a comment

Choose a reason for hiding this comment

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

This release preparation PR for v0.1.7 is well-structured and ready for merge. The major architectural change introducing the outbound agent control plane model is properly documented and implemented with appropriate security measures.

Key aspects reviewed:

  • Version consistency across workspace (Cargo.toml shows 0.1.7)
  • Comprehensive bilingual release notes covering new features, improvements, and bug fixes
  • Detailed architectural planning documentation for the outbound agent model
  • Secure authentication implementation with HMAC signatures and constant-time comparison
  • Proper configuration validation and compilation with sensible defaults and bounds checking
  • Token handling that avoids logging sensitive data

The outbound agent architecture addresses the operational complexity of the legacy control plane by allowing nodes to maintain only business ports (80/443) and connect outbound to a central control center, eliminating the need for node-side control ports and certificates.

No blocking issues identified.


You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.


⚠️ This PR contains more than 30 files. Amazon Q is better at reviewing smaller PRs, and may miss issues in larger changesets.

@vansour vansour marked this pull request as ready for review May 16, 2026 16:15
Copilot AI review requested due to automatic review settings May 16, 2026 16:15
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 28d69e3f48

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/rginx-agent/src/control_center/store.rs Outdated
Comment thread crates/rginx-agent/src/control_center/store.rs
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a significant architectural shift by implementing an outbound agent model for the control plane, allowing nodes to initiate communication with a central control center via HTTPS or WebSocket. Key changes include the creation of AgentCore to centralize management logic, the addition of an outbound agent runner with state persistence, and the implementation of a minimal control center state model. The admin CLI and documentation have been updated to support these changes and provide migration paths from the legacy node-side server. Feedback highlights a critical security risk in the manual implementation of HMAC-SHA256, recommending the use of a vetted cryptographic crate to ensure security and maintainability.

Comment thread crates/rginx-agent/src/outbound/auth.rs Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2b11af9e59

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/rginx-runtime/src/bootstrap/mod.rs
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a5da26635a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/rginx-agent/src/control_center/store.rs
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9894edd5ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/rginx-agent/src/outbound/client.rs Outdated
@vansour vansour enabled auto-merge (squash) May 16, 2026 16:55
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6ca31de20e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/rginx-agent/src/outbound/stream.rs Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e34225e048

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/openapi.yaml Outdated
Comment thread docs/openapi.yaml Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9431d4dc28

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/rginx-agent/src/outbound/auth.rs Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ffb634222e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/openapi.yaml
@vansour vansour merged commit ee0d43e into main May 16, 2026
10 checks passed
@vansour vansour deleted the codex/release-v0.1.7 branch May 16, 2026 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants