Skip to content

chore: add missing changelog entries#370

Merged
tsivaprasad merged 4 commits intomainfrom
PLAT-570-cleanup-release-notes-for-v-0-8-0
May 4, 2026
Merged

chore: add missing changelog entries#370
tsivaprasad merged 4 commits intomainfrom
PLAT-570-cleanup-release-notes-for-v-0-8-0

Conversation

@tsivaprasad
Copy link
Copy Markdown
Contributor

@tsivaprasad tsivaprasad commented Apr 29, 2026

Fixup missing changelog entries for the next release:

✗ changie batch minor --dry-run

v0.8.0 - 2026-04-29

Added

  • Renamed the server binary from control-plane to pgedge-control-plane to reduce conflicts with other system packages.
  • Added PostgREST as a supported service type — Deploy the PostgREST REST API server alongside your database with automatic credential provisioning, upfront schema and role validation, and configurable connection pool settings.
  • Released RPM packages for Red Hat-based Linux systems — The Control Plane is now available as native RPM packages for amd64 and arm64, with a bundled systemd service file and SELinux compatibility.
  • Added CPU and memory resource limits for systemd-managed database instances — Operators can cap resource consumption per instance using cpu_quota and memory_max in the instance specification, enforced through systemd cgroup integration.
  • Added connect_as field for service credentials — Services can now explicitly specify which database user they authenticate as by referencing a database_users entry, replacing auto-generated service accounts with direct, auditable credential assignment.
  • Added automatic role transfer when expanding a database cluster — PostgreSQL roles created outside the standard database_users configuration are now automatically transferred to new nodes when they join a database.
  • Extended stable random port assignments to service instances — Ports assigned to MCP, PostgREST, and RAG services are now persisted and reused across restarts and database updates, consistent with the behaviour already in place for database instances.

Changed

  • Breaking: The connect_as field is now required when creating or updating services of any type (MCP, PostgREST, RAG) — requests that omit this field will be rejected with a validation error.
  • Breaking: PostgREST services now require db_anon_role to be explicitly set in the service configuration — the previously implicit pgedge_application_read_only default has been removed.
  • Removed the pgedge_application and pgedge_application_read_only built-in database roles — These roles are no longer created for new databases. The names are no longer reserved and may be used freely for custom database users.

Fixed

  • Fixed port conflicts between services on the same host producing opaque deployment errors — Port conflicts are now detected at creation time and rejected with a clear validation message.
  • Fixed extra_networks specified in orchestrator_opts not being attached to service containers (MCP, PostgREST, RAG).
  • Fixed in-place restore operations not completing post-restore steps — The restore configuration is now correctly propagated through the workflow, ensuring database recovery completes fully.
  • Fixed the inability to change ports on systemd-managed database instances — Port configuration updates are now applied correctly without requiring a full redeploy.
  • Fixed upgrade path from v0.6.2 — Databases created before v0.7.0 that were missing replication slot resources are now automatically repaired during state migration.
  • Fixed supporting services not being invalidated when a cluster transitions to systemd orchestration — Service state is now correctly reset when the orchestrator type changes.
  • Fixed cryptic Docker errors when database or service identifiers exceeded Swarm name length limits — Identifiers are now validated at the API layer with clear error messages. Database and service IDs are each limited to 36 characters, and their combined length may not exceed 53 characters.
  • Fixed embedded etcd clients connecting to all cluster members instead of only their own endpoint — This could cause connectivity issues when cluster membership changed.
  • Fixed new replicas failing to bootstrap when added to a node — Configuration updates are now applied to existing instances before new replicas start, ensuring pg_hba.conf is correct when replicas begin syncing.

PLAT-570

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 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: 0cdc92a6-1e37-462c-891b-d39322ee2de2

📥 Commits

Reviewing files that changed from the base of the PR and between 9308141 and b1b5658.

📒 Files selected for processing (1)
  • changes/unreleased/Added-20260403-130000.yaml
✅ Files skipped from review due to trivial changes (1)
  • changes/unreleased/Added-20260403-130000.yaml

📝 Walkthrough

Walkthrough

This PR adds and updates multiple changelog entries documenting recent product features, bug fixes, and breaking changes. The entries cover service credential management, PostgREST and systemd support, port conflict detection, identifier validation, and various infrastructure improvements, along with one cleanup of a superseded entry.

Changes

Changelog Entries

Layer / File(s) Summary
New Feature Documentation
changes/unreleased/Added-20260331-120000.yaml, Added-20260403-120000.yaml, Added-20260403-130000.yaml, Added-20260414-120000.yaml, Added-20260417-120000.yaml, Added-20260417-130000.yaml
Six entries document new capabilities: binary rename to pgedge-control-plane, PostgREST service support, preview systemd support, connect_as credential field, automatic role transfer during cluster expansion, and persistent port assignments for services.
Breaking Changes
changes/unreleased/Changed-20260421-130000.yaml, Changed-20260424-130000.yaml, Fixed-20260424-120000.yaml
Three entries document breaking changes: connect_as now required for all services, built-in roles pgedge_application no longer auto-created, and identifier validation enforcement (RFC 1035 compliance with 1–36 character limit).
Bug Fix Documentation
changes/unreleased/Fixed-20260409-120000.yaml, Fixed-20260409-130000.yaml, Fixed-20260421-120000.yaml, Fixed-20260427-120000.yaml
Four entries document fixes for port conflict detection, extra_networks application to service containers, replication slot auto-repair during v0.6.2 upgrades, and embedded etcd endpoint connectivity.
Entry Updates & Cleanup
changes/unreleased/Added-20260422-004204.yaml, Added-20260309-165318.yaml
RAG feature description expanded to include hybrid search and LLM support; superseded early systemd entry removed.

Poem

🐰 The changelog grows with features new,
PostgREST hops through, systemd too!
Credentials dance, ports find their place,
Fixes and validations keep pace.
A burrow of changes, carefully laid! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding missing changelog entries for the release.
Description check ✅ Passed The description comprehensively documents the changelog content with organized sections (Added, Changed, Fixed) and includes the related issue link.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch PLAT-570-cleanup-release-notes-for-v-0-8-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
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

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

@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented Apr 29, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@changes/unreleased/Added-20260331-120000.yaml`:
- Line 2: The changelog entry states the server binary was renamed but the CLI
root command still uses Use: "control-plane" while .goreleaser.yaml sets the
artifact name to pgedge-control-plane; decide which was intended and make
matching changes: if only the produced artifact filename changed, update the
changelog (Added-20260331-120000.yaml) to say "renamed artifact file to
pgedge-control-plane (CLI command remains control-plane)"; if the CLI command
was also meant to change, update server/cmd/root.go to Use:
"pgedge-control-plane" (and any docs/tests referencing "control-plane") so code,
.goreleaser.yaml, and the changelog are consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6af22d05-5410-42a2-ae5f-18e08cd979c1

📥 Commits

Reviewing files that changed from the base of the PR and between 88d83e3 and 3cdfdc2.

📒 Files selected for processing (19)
  • changes/unreleased/Added-20260331-120000.yaml
  • changes/unreleased/Added-20260403-120000.yaml
  • changes/unreleased/Added-20260403-130000.yaml
  • changes/unreleased/Added-20260406-120000.yaml
  • changes/unreleased/Added-20260414-120000.yaml
  • changes/unreleased/Added-20260417-120000.yaml
  • changes/unreleased/Added-20260417-130000.yaml
  • changes/unreleased/Changed-20260421-130000.yaml
  • changes/unreleased/Changed-20260422-130000.yaml
  • changes/unreleased/Changed-20260424-130000.yaml
  • changes/unreleased/Fixed-20260409-120000.yaml
  • changes/unreleased/Fixed-20260409-130000.yaml
  • changes/unreleased/Fixed-20260416-120000.yaml
  • changes/unreleased/Fixed-20260420-120000.yaml
  • changes/unreleased/Fixed-20260421-120000.yaml
  • changes/unreleased/Fixed-20260422-120000.yaml
  • changes/unreleased/Fixed-20260424-120000.yaml
  • changes/unreleased/Fixed-20260427-120000.yaml
  • changes/unreleased/Fixed-20260428-120000.yaml

@@ -0,0 +1,3 @@
kind: Added
body: Renamed the server binary from `control-plane` to `pgedge-control-plane` to reduce conflicts with other system packages.
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot Apr 29, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only verification of old/new naming across user-facing and release metadata.
rg -n -C2 --iglob 'Makefile' --iglob '.goreleaser.yaml' --iglob '*.go' \
  '\bcontrol-plane\b|pgedge-control-plane' .

Repository: pgEdge/control-plane

Length of output: 50378


🏁 Script executed:

# Check what files are modified in the current changeset
git diff HEAD~1 --name-only 2>/dev/null | head -20 || git status --short 2>/dev/null | head -20 || echo "Unable to get file changes"

Repository: pgEdge/control-plane

Length of output: 46


🏁 Script executed:

# Focused check: was server/cmd/root.go modified?
if git log --oneline -1 2>/dev/null | grep -q .; then
  echo "=== Files modified in last commit ===" 
  git diff HEAD~1 --name-only 2>/dev/null
else
  echo "Git history check failed; searching for server/cmd/root.go with Use field:"
  grep -n "Use:.*control-plane" ./server/cmd/root.go 2>/dev/null || echo "Not found or file absent"
fi

Repository: pgEdge/control-plane

Length of output: 104


🏁 Script executed:

# Verify the exact binary output name in build configs
echo "=== Checking Makefile for binary name ===" 
grep -n "pgedge-control-plane\|control-plane" ./Makefile 2>/dev/null | grep -E "(name:|CONTROL_PLANE|^[0-9]+:\s*(name|output|binary))" || echo "Pattern not found"

echo -e "\n=== Checking .goreleaser.yaml for binary/image references ==="
grep -n "pgedge-control-plane\|control-plane" ./.goreleaser.yaml 2>/dev/null | head -10 || echo "File not found or no matches"

Repository: pgEdge/control-plane

Length of output: 777


🏁 Script executed:

# Check the actual server/cmd/root.go to see if Use field is still "control-plane"
grep -A2 -B2 "Use:" ./server/cmd/root.go | head -20

Repository: pgEdge/control-plane

Length of output: 272


Verify changelog scope: binary artifact vs. CLI command rename.

The changelog says "Renamed the server binary," but the CLI command name in server/cmd/root.go still shows Use: "control-plane" while .goreleaser.yaml shows the binary artifact is pgedge-control-plane. If only the artifact filename was renamed (not the command users invoke), clarify this in the changelog to avoid misleading release consumers.

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

In `@changes/unreleased/Added-20260331-120000.yaml` at line 2, The changelog entry
states the server binary was renamed but the CLI root command still uses Use:
"control-plane" while .goreleaser.yaml sets the artifact name to
pgedge-control-plane; decide which was intended and make matching changes: if
only the produced artifact filename changed, update the changelog
(Added-20260331-120000.yaml) to say "renamed artifact file to
pgedge-control-plane (CLI command remains control-plane)"; if the CLI command
was also meant to change, update server/cmd/root.go to Use:
"pgedge-control-plane" (and any docs/tests referencing "control-plane") so code,
.goreleaser.yaml, and the changelog are consistent.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@tsivaprasad I've opened a PR to fix this: #371

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Copy link
Copy Markdown
Member

@jason-lynch jason-lynch left a comment

Choose a reason for hiding this comment

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

Thanks for doing this! I left a few comments around the systemd portions because that's what I'm familiar with. We don't need granular release notes for systemd-related features and fixes because it didn't exist in the last release.

Could you please also double check that the service-related entries only include changes to things that were present in v0.7.0?

Comment thread changes/unreleased/Added-20260406-120000.yaml Outdated
Comment thread changes/unreleased/Fixed-20260416-120000.yaml Outdated
Comment thread changes/unreleased/Fixed-20260420-120000.yaml Outdated
Comment thread changes/unreleased/Fixed-20260422-120000.yaml Outdated
Comment thread changes/unreleased/Fixed-20260424-120000.yaml Outdated
Comment thread changes/unreleased/Fixed-20260428-120000.yaml Outdated
Comment thread changes/unreleased/Added-20260403-130000.yaml Outdated
@tsivaprasad tsivaprasad requested review from jason-lynch May 4, 2026 10:47
Copy link
Copy Markdown
Member

@jason-lynch jason-lynch left a comment

Choose a reason for hiding this comment

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

Awesome! Thank you for doing this.

@tsivaprasad tsivaprasad merged commit 2cacab0 into main May 4, 2026
3 checks passed
@tsivaprasad tsivaprasad deleted the PLAT-570-cleanup-release-notes-for-v-0-8-0 branch May 4, 2026 12:36
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