Skip to content

build(release): bump version to v0.8.0#379

Merged
jason-lynch merged 4 commits into
mainfrom
release/v0.8.0
May 6, 2026
Merged

build(release): bump version to v0.8.0#379
jason-lynch merged 4 commits into
mainfrom
release/v0.8.0

Conversation

@tsivaprasad
Copy link
Copy Markdown
Contributor

Summary

Release PR for v0.8.0

Changes

Added

  • 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.
  • Added RAG as a supported service type — Deploy a retrieval-augmented generation server alongside your database with hybrid vector and keyword search, automatic credential provisioning, and support for OpenAI, Voyage AI, Anthropic, and Ollama providers.
  • Added preliminary support for systemd as an alternative to Docker Swarm. This feature is currently in "preview" status.
  • Added the ability to run user-defined SQL scripts during database creation via the scripts field on the database spec.
  • 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.
  • Renamed the server binary from control-plane to pgedge-control-plane to reduce conflicts with other system packages.
  • Promoted supporting services from beta to generally available.

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: Database, host, cluster, and service identifiers are now validated to comply with RFC 1035 name requirements — IDs must be 1–36 characters, contain only lowercase letters, digits, and hyphens, and start and end with a letter or digit. The combined length of a database ID and service ID may not exceed 53 characters.
  • Removed the pgedge_application and pgedge_application_read_only built-in database roles — These roles are no longer created for new databases.

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 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 embedded etcd clients connecting to all cluster members instead of only their own endpoint.

@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented May 5, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 duplication

Metric Results
Duplication 0

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.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 5, 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: 87743cfd-ef42-40a8-aa9d-8cebe94f7e05

📥 Commits

Reviewing files that changed from the base of the PR and between 8a7352c and 84e444e.

📒 Files selected for processing (5)
  • CHANGELOG.md
  • changes/v0.8.0.md
  • docs/changelog.md
  • server/internal/database/instance_resource.go
  • server/internal/database/spec.go

📝 Walkthrough

Walkthrough

v0.8.0 release consolidation: version bumped to v0.8.0, new v0.8.0 release notes added, multiple unreleased changelog entries removed, docs and examples updated to reference v0.8.0/OpenAPI, and two internal database changes added (exported InstanceSpec.NodeSize and Patroni failsafe toggle).

Changes

v0.8.0 Release

Layer / File(s) Summary
Version Declaration
api/version.txt
Bump from v0.7.0v0.8.0.
Release Notes Consolidation
CHANGELOG.md, docs/changelog.md, changes/v0.8.0.md
Inserted v0.8.0 - 2026-05-06 section with Added/Changed/Fixed entries describing features and breaking changes.
Unreleased Entries Removal
changes/unreleased/*.yaml
Removed multiple unreleased changelog YAML entries (Added/Changed/Fixed) relating to server rename, PostgREST/RAG, systemd, scripts, connect_as, role transfer, port persistence, validation, and various fixes.
API Docs / OpenAPI References
docs/api/openapi.md, docs/api/reference.md
Updated offline OpenAPI links and embedded Redoc src to reference v0.8.0 tags.
Installation / Examples / E2E
docs/installation/..., docs/development/e2e-tests.md
Updated Control Plane image tags and VERSION/fixture example tags from v0.7.0v0.8.0 across installation, mtls, systemd, upgrading docs and e2e test examples.

Database instance sizing & Patroni failsafe

Layer / File(s) Summary
Data Shape
server/internal/database/spec.go
Added exported field NodeSize int to InstanceSpec; Clone() updated to include NodeSize; per-node computation assigns NodeSize when constructing per-host InstanceSpec.
Core Behavior
server/internal/database/instance_resource.go
Cached Patroni client locally and added logic to enable Patroni failsafe mode by patching Patroni dynamic config: sets FailsafeMode via utils.PointerTo(r.Spec.NodeSize == 1) with error handling.

Poem

🐇 I nibble code and hop with glee,
v0.8.0 arrives for all to see.
Nodes learn their size, Patroni stays mild,
Docs wear new tags—release notes compiled.
— a rabbit’s small release-day drum 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'build(release): bump version to v0.8.0' is clear and directly summarizes the main change, following Conventional Commits style with the appropriate 'build(release)' type.
Description check ✅ Passed The PR description includes all required template sections (Summary, Changes with Added/Changed/Fixed subsections, and Checklist acknowledgment), provides comprehensive details about v0.8.0 features, and clearly marks breaking changes.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.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

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

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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@changes/v0.8.0.md`:
- Line 19: Change the release-note bullet from an imperative fragment to
past-tense to match surrounding entries: replace "Promote Supporting Services
from beta to generally available" with "Promoted Supporting Services from beta
to generally available" so the phrasing is consistent with other past-tense
bullets.

In `@docs/changelog.md`:
- Line 9: Replace the broken systemd documentation URL
"https://docs.pgedge.com/control-plane/v0-8/installation/systemd" with the
correct canonical path
"https://docs.pgedge.com/control-plane/installation/systemd" in
docs/changelog.md (the line containing "Added preliminary support for
systemd..."), and make the same replacement in changes/v0.8.0.md and
CHANGELOG.md so all occurrences of the old URL are updated to the new one.
🪄 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: de2b2ae0-1c56-45aa-b186-fcd5d3b8e2b5

📥 Commits

Reviewing files that changed from the base of the PR and between 21f23cb and 40243bd.

⛔ Files ignored due to path filters (5)
  • api/apiv1/gen/control_plane/service.go is excluded by !**/gen/**
  • api/apiv1/gen/http/openapi.json is excluded by !**/gen/**
  • api/apiv1/gen/http/openapi.yaml is excluded by !**/gen/**
  • api/apiv1/gen/http/openapi3.json is excluded by !**/gen/**
  • api/apiv1/gen/http/openapi3.yaml is excluded by !**/gen/**
📒 Files selected for processing (27)
  • CHANGELOG.md
  • api/version.txt
  • changes/unreleased/Added-20260331-120000.yaml
  • changes/unreleased/Added-20260403-120000.yaml
  • changes/unreleased/Added-20260403-130000.yaml
  • changes/unreleased/Added-20260412-202528.yaml
  • changes/unreleased/Added-20260414-120000.yaml
  • changes/unreleased/Added-20260417-120000.yaml
  • changes/unreleased/Added-20260417-130000.yaml
  • changes/unreleased/Added-20260422-004204.yaml
  • changes/unreleased/Changed-20260421-130000.yaml
  • changes/unreleased/Changed-20260424-130000.yaml
  • changes/unreleased/Changed-20260501-104640.yaml
  • changes/unreleased/Fixed-20260409-120000.yaml
  • changes/unreleased/Fixed-20260409-130000.yaml
  • changes/unreleased/Fixed-20260421-120000.yaml
  • changes/unreleased/Fixed-20260424-120000.yaml
  • changes/unreleased/Fixed-20260427-120000.yaml
  • changes/v0.8.0.md
  • docs/api/openapi.md
  • docs/api/reference.md
  • docs/changelog.md
  • docs/development/e2e-tests.md
  • docs/installation/installation.md
  • docs/installation/mtls.md
  • docs/installation/systemd.md
  • docs/installation/upgrading.md
💤 Files with no reviewable changes (16)
  • changes/unreleased/Changed-20260501-104640.yaml
  • changes/unreleased/Added-20260403-130000.yaml
  • changes/unreleased/Added-20260417-120000.yaml
  • changes/unreleased/Changed-20260421-130000.yaml
  • changes/unreleased/Added-20260412-202528.yaml
  • changes/unreleased/Fixed-20260409-120000.yaml
  • changes/unreleased/Changed-20260424-130000.yaml
  • changes/unreleased/Fixed-20260424-120000.yaml
  • changes/unreleased/Added-20260414-120000.yaml
  • changes/unreleased/Fixed-20260421-120000.yaml
  • changes/unreleased/Added-20260417-130000.yaml
  • changes/unreleased/Fixed-20260409-130000.yaml
  • changes/unreleased/Added-20260331-120000.yaml
  • changes/unreleased/Added-20260403-120000.yaml
  • changes/unreleased/Fixed-20260427-120000.yaml
  • changes/unreleased/Added-20260422-004204.yaml

Comment thread changes/v0.8.0.md Outdated
Comment thread docs/changelog.md Outdated
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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CHANGELOG.md`:
- Line 21: Change the CHANGELOG bullet "Promote Supporting Services from beta to
generally available" to past tense for consistency across release notes; replace
it with "Promoted Supporting Services from beta to generally available" so the
phrasing matches the other past-tense bullets.

In `@docs/changelog.md`:
- Line 21: Update the changelog entry "Promote Supporting Services from beta to
generally available" to past tense for consistency—change it to "Promoted
Supporting Services from beta to generally available." Locate the exact line
containing that phrase in docs/changelog.md and replace the present-tense verb
"Promote" with "Promoted" preserving the rest of the text and punctuation.
🪄 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: 395b63e6-8c1b-4124-ac86-a3783c8e2ae0

📥 Commits

Reviewing files that changed from the base of the PR and between 40243bd and 8a7352c.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • changes/v0.8.0.md
  • docs/changelog.md

Comment thread CHANGELOG.md Outdated
Comment thread docs/changelog.md Outdated
Patroni's failsafe mode prevents instances from going into read-only
mode when they lose their connection to the DCS as long as they're able
to contact all other Patroni instances in the cluster. There could be
edge-cases to this behavior when there's more than one instance in the
Patroni cluster, however it's known to be safe if there's only one host
in cluster.

This commit enables failsafe mode when there's only a single host in the
node (meaning the Patroni cluster only has a single instance) and
disables it otherwise.

This change is backward-compatible and does not need a migration.

PLAT-545
@jason-lynch jason-lynch merged commit 2c0c395 into main May 6, 2026
3 checks passed
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