Skip to content

release: v0.8.3 — connection plane at scale (c10k/c1M campaign, idle conns −94%) - #423

Merged
TinDang97 merged 1 commit into
mainfrom
release/v0.8.3
Jul 29, 2026
Merged

release: v0.8.3 — connection plane at scale (c10k/c1M campaign, idle conns −94%)#423
TinDang97 merged 1 commit into
mainfrom
release/v0.8.3

Conversation

@TinDang97

Copy link
Copy Markdown
Collaborator

Patch release rolling up the connection-plane campaign — PR #421 (rounds 1–4) + PR #422 (round 5 task-exit parking) + the SDK reconnect fix.

Headline: idle-connection memory 56.5 → 3.25 KB/conn (−94 %); 1 M idle ≈ 3.3 GB.

Mechanical rollup only: CHANGELOG [Unreleased][0.8.3], Cargo.toml/lock bump, RELEASES.md row, README milestone table. Full evidence in RELEASES.md and tmp/C10K-REVIEW.md.

Release gate (soak-first-then-tag, held as ritual — no crash/persistence path touched): crash-matrix nightly + ITERS=20 soak dispatched on this RC; tag v0.8.3 pushed after merge + green gates, which triggers the Release workflow (artifacts, gh release, docker, homebrew).

…conns −94%)

Patch release rolling up the connection-plane campaign: PR #421
(rounds 1-4: W1-W8+T3, P3 future diet, P4a --uring-entries, W11 idle
downshift, P4b TLS diet) and PR #422 (round 5: P1 task-exit parking),
plus the SDK reconnect fix.

Headline: idle-connection memory 56.5 → 3.25 KB/conn (−94%);
1 M idle connections ≈ 3.3 GB. Long-idle plain-TCP conns exit their
handler task entirely (--conn-park-secs, default 60 s), leaving a tiny
readiness watcher; wake is wire-invisible and re-parks indefinitely.
TLS idle 87.5 → 47.4 KB/conn via vendored monoio-rustls/io-wrapper
lazy+releasable buffers. Pipeline memory ratchet fixed (~217 KB
permanent → 47 KB). Operability: loud maxclients -ERR + RLIMIT_NOFILE
check, 16-way striped client registry, deadline-heap blocking sweep,
SPSC drain rotation, affinity-funnel load gate.

Validation: same-binary flag A/Bs on the Linux VM at 10 k conns for
every memory wave; GCE t2a hardware proof (idle −46%, pinned p=1/p=16
perf-neutral); wire-parity suites across park/wake cycles green on
kqueue AND io_uring; parked conns visible in CLIENT LIST and killable.
This release touches no crash/persistence path; the crash-matrix +
soak gate is dispatched on the RC to hold the ritual
(soak-first-then-tag).

Rolls CHANGELOG [Unreleased] into [0.8.3], bumps Cargo.toml/lock,
adds the RELEASES.md row, updates the README milestone table.

author: Tin Dang
@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@TinDang97, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 7 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2bc2f65a-3ce5-4136-b1a9-8d986e2ca338

📥 Commits

Reviewing files that changed from the base of the PR and between d832452 and a5b6665.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • CHANGELOG.md
  • Cargo.toml
  • README.md
  • RELEASES.md

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.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Release v0.8.3: roll up connection-plane campaign notes + version bump

📝 Documentation ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Cut the v0.8.3 release section and date-stamp it in CHANGELOG.md.
• Bump crate version to 0.8.3 in Cargo.toml and Cargo.lock.
• Publish v0.8.3 release notes + README milestone table update.
Diagram

graph TD
  PR["Release v0.8.3 PR"] --> CargoToml["Cargo.toml"] --> CargoLock["Cargo.lock"]
  PR --> Changelog["CHANGELOG.md"]
  PR --> Releases["RELEASES.md"] --> Readme["README.md"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Automate release edits (cargo-release + changelog tooling)
  • ➕ Reduces risk of missing version references across files
  • ➕ Standardizes release section formatting/dating
  • ➕ Can enforce pre-tag checks and generate release notes consistently
  • ➖ Adds tooling/config maintenance overhead
  • ➖ May not fit the project’s current “soak-first-then-tag” ritual without customization
2. Single-source release notes (generate CHANGELOG/README from RELEASES.md)
  • ➕ Avoids duplicating the same release narrative in multiple documents
  • ➕ Makes release auditing easier (one canonical ledger)
  • ➖ Requires building/maintaining a small generator step
  • ➖ Adds process coupling between docs and release workflow

Recommendation: Given this is explicitly a mechanical rollup, the current approach (manual, explicit edits to each canonical doc + version bump) is appropriate and low risk. If this cadence continues, consider introducing lightweight automation to prevent drift between CHANGELOG/RELEASES/README and to reduce human error during future patch releases.

Files changed (5) +12 / -4

Documentation (3) +10 / -2
CHANGELOG.mdCut v0.8.3 section and finalize PR reference +3/-1

Cut v0.8.3 section and finalize PR reference

• Introduces a new dated v0.8.3 section and moves the prior Unreleased content under it. Replaces the placeholder PR reference with the actual PR number (#421) for the c10k connection-plane wave entry.

CHANGELOG.md

README.mdMark v0.8.3 as current in milestone table +2/-1

Mark v0.8.3 as current in milestone table

• Updates the version milestone table by removing the “current” marker from v0.8.2 and adding a new v0.8.3 row describing the connection-plane-at-scale release highlights.

README.md

RELEASES.mdAdd v0.8.3 release entry with evidence summary +5/-0

Add v0.8.3 release entry with evidence summary

• Adds a new v0.8.3 release section dated 2026-07-29 summarizing scope (connection-plane campaign rounds 1–5 plus SDK reconnect fix), headline memory improvements, and validation references.

RELEASES.md

Other (2) +2 / -2
Cargo.lockUpdate lockfile package version to 0.8.3 +1/-1

Update lockfile package version to 0.8.3

• Bumps the workspace/package version for the moon crate from 0.8.2 to 0.8.3 in the generated lockfile to match the release.

Cargo.lock

Cargo.tomlBump crate version to 0.8.3 +1/-1

Bump crate version to 0.8.3

• Updates the package version field from 0.8.2 to 0.8.3 to cut the new patch release.

Cargo.toml

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

@TinDang97
TinDang97 merged commit 4a924ab into main Jul 29, 2026
16 checks passed
@TinDang97
TinDang97 deleted the release/v0.8.3 branch July 29, 2026 15:01
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.

1 participant