Skip to content

Prepare v1.9.0#112

Merged
mason-sharp merged 3 commits intomainfrom
prepare-v1.9.0
Apr 19, 2026
Merged

Prepare v1.9.0#112
mason-sharp merged 3 commits intomainfrom
prepare-v1.9.0

Conversation

@mason-sharp
Copy link
Copy Markdown
Member

No description provided.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 17, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4ac79cc5-ee3e-4212-8d23-291b2d67ed5b

📥 Commits

Reviewing files that changed from the base of the PR and between c110ae2 and 201b2e2.

📒 Files selected for processing (1)
  • internal/infra/cdc/listen.go

📝 Walkthrough

Walkthrough

Added a changelog entry for v1.9.0 and modified CDC replication handling: ensure the DB pool is closed on return and explicitly handle pgproto3.ErrorResponse by logging details, marking a processing error, and stopping replication streaming.

Changes

Cohort / File(s) Summary
Changelog Documentation
docs/CHANGELOG.md
Added v1.9.0 release notes (2026-04-17) describing new --until CLI for mtree build/diff, bounded --until behavior (including frozen rows), an OOM-preventing early-stop circuit breaker, safer integer validation for Spock origin filtering, Merkle tree identifier quoting, and security/dependency/build updates.
CDC replication handling
internal/infra/cdc/listen.go
In processReplicationStream: defer pool.Close() after pool creation; extend replication message switch to handle *pgproto3.ErrorResponse by logging server error fields, setting a formatted processing error (including SQLSTATE), and setting stopStreaming = true. Review replication loop error handling and resource lifecycle.

Poem

🐇 A rabbit scribbles in the log:
tiny pools closed at journey's end,
error codes tread softly on the bog,
--until hops where rows extend,
trees quoted, circuits mend —
release bells ring, and fixes blend.

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess relevance to the changeset. Add a description explaining the release preparation, including key features, fixes, and dependency updates mentioned in the changelog.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Prepare v1.9.0' directly reflects the PR's main objective of preparing a new release version, clearly summarizing the changeset's purpose.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch prepare-v1.9.0

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.

@codacy-production
Copy link
Copy Markdown

codacy-production bot commented Apr 17, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

TIP This summary will be updated as you push new changes. Give us feedback

Copy link
Copy Markdown

@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.

🧹 Nitpick comments (1)
docs/CHANGELOG.md (1)

21-23: Consider varying sentence structure for better readability.

Three consecutive security update entries begin with "Upgraded", which slightly reduces readability.

📝 Optional style improvement
-- Upgraded `moby/buildkit` v0.27.1 → v0.28.1 (CVE-2026-33747, CVE-2026-33748).
-- Upgraded `go.opentelemetry.io/otel/sdk` + exporters to v1.43.0 (CVE-2026-39882, CVE-2026-39883).
-- Upgraded `google.golang.org/grpc` v1.79.1 → v1.80.0 (CVE-2026-33186).
+- `moby/buildkit` upgraded v0.27.1 → v0.28.1 (CVE-2026-33747, CVE-2026-33748).
+- `go.opentelemetry.io/otel/sdk` + exporters upgraded to v1.43.0 (CVE-2026-39882, CVE-2026-39883).
+- `google.golang.org/grpc` upgraded v1.79.1 → v1.80.0 (CVE-2026-33186).

Or use alternative verbs like "Bumped" or "Updated" for variation.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/CHANGELOG.md` around lines 21 - 23, Change the three consecutive
changelog bullets that all start with "Upgraded" to vary sentence starters for
readability; for example, update the first bullet for `moby/buildkit` to
"Bumped", the second for `go.opentelemetry.io/otel/sdk` to "Updated", and keep
or change the third for `google.golang.org/grpc` to a different verb like
"Upgraded" or "Bumped" so each package line (`moby/buildkit`,
`go.opentelemetry.io/otel/sdk`, `google.golang.org/grpc`) uses a distinct
leading verb.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/CHANGELOG.md`:
- Around line 21-23: Change the three consecutive changelog bullets that all
start with "Upgraded" to vary sentence starters for readability; for example,
update the first bullet for `moby/buildkit` to "Bumped", the second for
`go.opentelemetry.io/otel/sdk` to "Updated", and keep or change the third for
`google.golang.org/grpc` to a different verb like "Upgraded" or "Bumped" so each
package line (`moby/buildkit`, `go.opentelemetry.io/otel/sdk`,
`google.golang.org/grpc`) uses a distinct leading verb.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 57bad2c8-b82b-4585-88ef-9c707a12286e

📥 Commits

Reviewing files that changed from the base of the PR and between b6d5a30 and c110ae2.

📒 Files selected for processing (1)
  • docs/CHANGELOG.md

mason-sharp and others added 2 commits April 17, 2026 11:24
processReplicationStream fell through to the default case on
*pgproto3.ErrorResponse, logging only the Go type and continuing the
receive loop. The next ReceiveMessage would then time out and the code
would falsely report "Replication stream drained" — so UpdateFromCDC
returned nil, callers assumed success, and metadata was updated with
an LSN that hadn't actually advanced.

Add an explicit case for *pgproto3.ErrorResponse that logs every server
diagnostic field (severity, code, message, detail, hint, where, routine)
and treats the event as fatal: sets processingErr, stops streaming, and
returns the SQLSTATE + message to the caller as a real error.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…leak

processReplicationStream acquired a pgxpool via
auth.GetClusterNodeConnection on entry and never closed it — no defer,
no cleanup on any return path. Every call to UpdateFromCDC or
ListenForChanges leaked one pool, and each leaked pool retains a
backgroundHealthCheck goroutine plus its connections.

Under repeated invocations (e.g. the CDC regression tests with -count=10)
leaked connections accumulated until Postgres refused new clients with
"sorry, too many clients already" (SQLSTATE 53300).

Add the defer immediately after the pool acquisition so all return paths
release it, including the long-running continuous ListenForChanges case.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mason-sharp mason-sharp merged commit 21f1b2e into main Apr 19, 2026
3 checks passed
@mason-sharp mason-sharp deleted the prepare-v1.9.0 branch April 19, 2026 17:40
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