From 3cdfdc2eb11ee314d758a7d1fd676fe07591deb1 Mon Sep 17 00:00:00 2001 From: Siva Date: Wed, 29 Apr 2026 18:25:24 +0530 Subject: [PATCH 1/4] chore: add missing changelog entries --- changes/unreleased/Added-20260331-120000.yaml | 3 +++ changes/unreleased/Added-20260403-120000.yaml | 3 +++ changes/unreleased/Added-20260403-130000.yaml | 3 +++ changes/unreleased/Added-20260406-120000.yaml | 3 +++ changes/unreleased/Added-20260414-120000.yaml | 3 +++ changes/unreleased/Added-20260417-120000.yaml | 3 +++ changes/unreleased/Added-20260417-130000.yaml | 3 +++ changes/unreleased/Changed-20260421-130000.yaml | 3 +++ changes/unreleased/Changed-20260422-130000.yaml | 3 +++ changes/unreleased/Changed-20260424-130000.yaml | 3 +++ changes/unreleased/Fixed-20260409-120000.yaml | 3 +++ changes/unreleased/Fixed-20260409-130000.yaml | 3 +++ changes/unreleased/Fixed-20260416-120000.yaml | 3 +++ changes/unreleased/Fixed-20260420-120000.yaml | 3 +++ changes/unreleased/Fixed-20260421-120000.yaml | 3 +++ changes/unreleased/Fixed-20260422-120000.yaml | 3 +++ changes/unreleased/Fixed-20260424-120000.yaml | 3 +++ changes/unreleased/Fixed-20260427-120000.yaml | 3 +++ changes/unreleased/Fixed-20260428-120000.yaml | 3 +++ 19 files changed, 57 insertions(+) create mode 100644 changes/unreleased/Added-20260331-120000.yaml create mode 100644 changes/unreleased/Added-20260403-120000.yaml create mode 100644 changes/unreleased/Added-20260403-130000.yaml create mode 100644 changes/unreleased/Added-20260406-120000.yaml create mode 100644 changes/unreleased/Added-20260414-120000.yaml create mode 100644 changes/unreleased/Added-20260417-120000.yaml create mode 100644 changes/unreleased/Added-20260417-130000.yaml create mode 100644 changes/unreleased/Changed-20260421-130000.yaml create mode 100644 changes/unreleased/Changed-20260422-130000.yaml create mode 100644 changes/unreleased/Changed-20260424-130000.yaml create mode 100644 changes/unreleased/Fixed-20260409-120000.yaml create mode 100644 changes/unreleased/Fixed-20260409-130000.yaml create mode 100644 changes/unreleased/Fixed-20260416-120000.yaml create mode 100644 changes/unreleased/Fixed-20260420-120000.yaml create mode 100644 changes/unreleased/Fixed-20260421-120000.yaml create mode 100644 changes/unreleased/Fixed-20260422-120000.yaml create mode 100644 changes/unreleased/Fixed-20260424-120000.yaml create mode 100644 changes/unreleased/Fixed-20260427-120000.yaml create mode 100644 changes/unreleased/Fixed-20260428-120000.yaml diff --git a/changes/unreleased/Added-20260331-120000.yaml b/changes/unreleased/Added-20260331-120000.yaml new file mode 100644 index 00000000..fba021c8 --- /dev/null +++ b/changes/unreleased/Added-20260331-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. +time: 2026-03-31T12:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260403-120000.yaml b/changes/unreleased/Added-20260403-120000.yaml new file mode 100644 index 00000000..90f2c965 --- /dev/null +++ b/changes/unreleased/Added-20260403-120000.yaml @@ -0,0 +1,3 @@ +kind: Added +body: 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. +time: 2026-04-03T12:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260403-130000.yaml b/changes/unreleased/Added-20260403-130000.yaml new file mode 100644 index 00000000..450c0bdd --- /dev/null +++ b/changes/unreleased/Added-20260403-130000.yaml @@ -0,0 +1,3 @@ +kind: Added +body: 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. +time: 2026-04-03T13:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260406-120000.yaml b/changes/unreleased/Added-20260406-120000.yaml new file mode 100644 index 00000000..27458ce5 --- /dev/null +++ b/changes/unreleased/Added-20260406-120000.yaml @@ -0,0 +1,3 @@ +kind: Added +body: 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. +time: 2026-04-06T12:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260414-120000.yaml b/changes/unreleased/Added-20260414-120000.yaml new file mode 100644 index 00000000..07d48143 --- /dev/null +++ b/changes/unreleased/Added-20260414-120000.yaml @@ -0,0 +1,3 @@ +kind: Added +body: 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. +time: 2026-04-14T12:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260417-120000.yaml b/changes/unreleased/Added-20260417-120000.yaml new file mode 100644 index 00000000..fbd2af58 --- /dev/null +++ b/changes/unreleased/Added-20260417-120000.yaml @@ -0,0 +1,3 @@ +kind: Added +body: 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. +time: 2026-04-17T12:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260417-130000.yaml b/changes/unreleased/Added-20260417-130000.yaml new file mode 100644 index 00000000..72e92848 --- /dev/null +++ b/changes/unreleased/Added-20260417-130000.yaml @@ -0,0 +1,3 @@ +kind: Added +body: 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. +time: 2026-04-17T13:00:00.000000-04:00 diff --git a/changes/unreleased/Changed-20260421-130000.yaml b/changes/unreleased/Changed-20260421-130000.yaml new file mode 100644 index 00000000..85c60999 --- /dev/null +++ b/changes/unreleased/Changed-20260421-130000.yaml @@ -0,0 +1,3 @@ +kind: Changed +body: "**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." +time: 2026-04-21T13:00:00.000000-04:00 diff --git a/changes/unreleased/Changed-20260422-130000.yaml b/changes/unreleased/Changed-20260422-130000.yaml new file mode 100644 index 00000000..10e776cf --- /dev/null +++ b/changes/unreleased/Changed-20260422-130000.yaml @@ -0,0 +1,3 @@ +kind: Changed +body: "**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." +time: 2026-04-22T13:00:00.000000-04:00 diff --git a/changes/unreleased/Changed-20260424-130000.yaml b/changes/unreleased/Changed-20260424-130000.yaml new file mode 100644 index 00000000..29afe17b --- /dev/null +++ b/changes/unreleased/Changed-20260424-130000.yaml @@ -0,0 +1,3 @@ +kind: Changed +body: 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. +time: 2026-04-24T13:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260409-120000.yaml b/changes/unreleased/Fixed-20260409-120000.yaml new file mode 100644 index 00000000..a044ccac --- /dev/null +++ b/changes/unreleased/Fixed-20260409-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: 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. +time: 2026-04-09T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260409-130000.yaml b/changes/unreleased/Fixed-20260409-130000.yaml new file mode 100644 index 00000000..da9a81ae --- /dev/null +++ b/changes/unreleased/Fixed-20260409-130000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: Fixed `extra_networks` specified in `orchestrator_opts` not being attached to service containers (MCP, PostgREST, RAG). +time: 2026-04-09T13:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260416-120000.yaml b/changes/unreleased/Fixed-20260416-120000.yaml new file mode 100644 index 00000000..50b77fce --- /dev/null +++ b/changes/unreleased/Fixed-20260416-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: 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. +time: 2026-04-16T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260420-120000.yaml b/changes/unreleased/Fixed-20260420-120000.yaml new file mode 100644 index 00000000..e99b6f5e --- /dev/null +++ b/changes/unreleased/Fixed-20260420-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: Fixed the inability to change ports on systemd-managed database instances — Port configuration updates are now applied correctly without requiring a full redeploy. +time: 2026-04-20T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260421-120000.yaml b/changes/unreleased/Fixed-20260421-120000.yaml new file mode 100644 index 00000000..898b8e0b --- /dev/null +++ b/changes/unreleased/Fixed-20260421-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: 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. +time: 2026-04-21T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260422-120000.yaml b/changes/unreleased/Fixed-20260422-120000.yaml new file mode 100644 index 00000000..7132add0 --- /dev/null +++ b/changes/unreleased/Fixed-20260422-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: Fixed supporting services not being invalidated when a cluster transitions to systemd orchestration — Service state is now correctly reset when the orchestrator type changes. +time: 2026-04-22T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260424-120000.yaml b/changes/unreleased/Fixed-20260424-120000.yaml new file mode 100644 index 00000000..a2d59f7b --- /dev/null +++ b/changes/unreleased/Fixed-20260424-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: 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. +time: 2026-04-24T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260427-120000.yaml b/changes/unreleased/Fixed-20260427-120000.yaml new file mode 100644 index 00000000..2e163665 --- /dev/null +++ b/changes/unreleased/Fixed-20260427-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: Fixed embedded etcd clients connecting to all cluster members instead of only their own endpoint — This could cause connectivity issues when cluster membership changed. +time: 2026-04-27T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260428-120000.yaml b/changes/unreleased/Fixed-20260428-120000.yaml new file mode 100644 index 00000000..4b1822ee --- /dev/null +++ b/changes/unreleased/Fixed-20260428-120000.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: 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. +time: 2026-04-28T12:00:00.000000-04:00 From 5c282a2c3ac7c0f588c1a835b7959fc419aeb7e6 Mon Sep 17 00:00:00 2001 From: Siva Date: Thu, 30 Apr 2026 10:58:27 +0530 Subject: [PATCH 2/4] addressing review comments --- changes/unreleased/Added-20260309-165318.yaml | 3 --- changes/unreleased/Added-20260403-130000.yaml | 2 +- changes/unreleased/Added-20260406-120000.yaml | 3 --- changes/unreleased/Added-20260422-004204.yaml | 2 +- changes/unreleased/Fixed-20260416-120000.yaml | 3 --- changes/unreleased/Fixed-20260420-120000.yaml | 3 --- changes/unreleased/Fixed-20260422-120000.yaml | 3 --- changes/unreleased/Fixed-20260424-120000.yaml | 4 ++-- changes/unreleased/Fixed-20260428-120000.yaml | 3 --- 9 files changed, 4 insertions(+), 22 deletions(-) delete mode 100644 changes/unreleased/Added-20260309-165318.yaml delete mode 100644 changes/unreleased/Added-20260406-120000.yaml delete mode 100644 changes/unreleased/Fixed-20260416-120000.yaml delete mode 100644 changes/unreleased/Fixed-20260420-120000.yaml delete mode 100644 changes/unreleased/Fixed-20260422-120000.yaml delete mode 100644 changes/unreleased/Fixed-20260428-120000.yaml diff --git a/changes/unreleased/Added-20260309-165318.yaml b/changes/unreleased/Added-20260309-165318.yaml deleted file mode 100644 index 8fe3f135..00000000 --- a/changes/unreleased/Added-20260309-165318.yaml +++ /dev/null @@ -1,3 +0,0 @@ -kind: Added -body: Preliminary support for managing database instances with systemd. -time: 2026-03-09T16:53:18.26052-04:00 diff --git a/changes/unreleased/Added-20260403-130000.yaml b/changes/unreleased/Added-20260403-130000.yaml index 450c0bdd..1c470e32 100644 --- a/changes/unreleased/Added-20260403-130000.yaml +++ b/changes/unreleased/Added-20260403-130000.yaml @@ -1,3 +1,3 @@ kind: Added -body: 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. +body: Added preliminary support for systemd as an alternative to Docker Swarm. This feature is currently in "preview" status. You can read more about it in the [systemd page](https://docs.pgedge.com/control-plane/v0-8/installation/systemd) of our docs. time: 2026-04-03T13:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260406-120000.yaml b/changes/unreleased/Added-20260406-120000.yaml deleted file mode 100644 index 27458ce5..00000000 --- a/changes/unreleased/Added-20260406-120000.yaml +++ /dev/null @@ -1,3 +0,0 @@ -kind: Added -body: 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. -time: 2026-04-06T12:00:00.000000-04:00 diff --git a/changes/unreleased/Added-20260422-004204.yaml b/changes/unreleased/Added-20260422-004204.yaml index 4b8ad287..31f5e49e 100644 --- a/changes/unreleased/Added-20260422-004204.yaml +++ b/changes/unreleased/Added-20260422-004204.yaml @@ -1,3 +1,3 @@ kind: Added -body: Add RAG service with hybrid vector + LLM search +body: 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. time: 2026-04-22T00:42:04.283582+05:30 diff --git a/changes/unreleased/Fixed-20260416-120000.yaml b/changes/unreleased/Fixed-20260416-120000.yaml deleted file mode 100644 index 50b77fce..00000000 --- a/changes/unreleased/Fixed-20260416-120000.yaml +++ /dev/null @@ -1,3 +0,0 @@ -kind: Fixed -body: 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. -time: 2026-04-16T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260420-120000.yaml b/changes/unreleased/Fixed-20260420-120000.yaml deleted file mode 100644 index e99b6f5e..00000000 --- a/changes/unreleased/Fixed-20260420-120000.yaml +++ /dev/null @@ -1,3 +0,0 @@ -kind: Fixed -body: Fixed the inability to change ports on systemd-managed database instances — Port configuration updates are now applied correctly without requiring a full redeploy. -time: 2026-04-20T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260422-120000.yaml b/changes/unreleased/Fixed-20260422-120000.yaml deleted file mode 100644 index 7132add0..00000000 --- a/changes/unreleased/Fixed-20260422-120000.yaml +++ /dev/null @@ -1,3 +0,0 @@ -kind: Fixed -body: Fixed supporting services not being invalidated when a cluster transitions to systemd orchestration — Service state is now correctly reset when the orchestrator type changes. -time: 2026-04-22T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260424-120000.yaml b/changes/unreleased/Fixed-20260424-120000.yaml index a2d59f7b..ea080a36 100644 --- a/changes/unreleased/Fixed-20260424-120000.yaml +++ b/changes/unreleased/Fixed-20260424-120000.yaml @@ -1,3 +1,3 @@ -kind: Fixed -body: 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. +kind: Changed +body: "**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." time: 2026-04-24T12:00:00.000000-04:00 diff --git a/changes/unreleased/Fixed-20260428-120000.yaml b/changes/unreleased/Fixed-20260428-120000.yaml deleted file mode 100644 index 4b1822ee..00000000 --- a/changes/unreleased/Fixed-20260428-120000.yaml +++ /dev/null @@ -1,3 +0,0 @@ -kind: Fixed -body: 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. -time: 2026-04-28T12:00:00.000000-04:00 From 93081417802a27c003d417a6657de5cc73ade085 Mon Sep 17 00:00:00 2001 From: Siva Date: Thu, 30 Apr 2026 15:07:31 +0530 Subject: [PATCH 3/4] addressing review comments --- changes/unreleased/Added-20260403-130000.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changes/unreleased/Added-20260403-130000.yaml b/changes/unreleased/Added-20260403-130000.yaml index 1c470e32..c1842d65 100644 --- a/changes/unreleased/Added-20260403-130000.yaml +++ b/changes/unreleased/Added-20260403-130000.yaml @@ -1,3 +1,3 @@ kind: Added -body: Added preliminary support for systemd as an alternative to Docker Swarm. This feature is currently in "preview" status. You can read more about it in the [systemd page](https://docs.pgedge.com/control-plane/v0-8/installation/systemd) of our docs. +body: Added preliminary support for systemd. time: 2026-04-03T13:00:00.000000-04:00 From b1b5658c0e78bb9eca5994baa23677d19d770146 Mon Sep 17 00:00:00 2001 From: Siva Date: Mon, 4 May 2026 12:42:06 +0530 Subject: [PATCH 4/4] addressingreview comments --- changes/unreleased/Added-20260403-130000.yaml | 2 +- changes/unreleased/Changed-20260422-130000.yaml | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 changes/unreleased/Changed-20260422-130000.yaml diff --git a/changes/unreleased/Added-20260403-130000.yaml b/changes/unreleased/Added-20260403-130000.yaml index c1842d65..1c470e32 100644 --- a/changes/unreleased/Added-20260403-130000.yaml +++ b/changes/unreleased/Added-20260403-130000.yaml @@ -1,3 +1,3 @@ kind: Added -body: Added preliminary support for systemd. +body: Added preliminary support for systemd as an alternative to Docker Swarm. This feature is currently in "preview" status. You can read more about it in the [systemd page](https://docs.pgedge.com/control-plane/v0-8/installation/systemd) of our docs. time: 2026-04-03T13:00:00.000000-04:00 diff --git a/changes/unreleased/Changed-20260422-130000.yaml b/changes/unreleased/Changed-20260422-130000.yaml deleted file mode 100644 index 10e776cf..00000000 --- a/changes/unreleased/Changed-20260422-130000.yaml +++ /dev/null @@ -1,3 +0,0 @@ -kind: Changed -body: "**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." -time: 2026-04-22T13:00:00.000000-04:00