Skip to content

Releases: pgEdge/control-plane

v0.8.0

06 May 19:04
84e444e

Choose a tag to compare

v0.8.0 - 2026-05-06

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.
  • 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 of our docs.
  • 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, consistent with the behaviour already in place for database instances.
  • 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.

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. The names are no longer reserved and may be used freely for custom database users.
  • Promoted Supporting Services from beta to generally available
  • Enable Patroni's failsafe mode in single-host nodes to improve resilience in some Etcd outages. Failsafe mode is not enabled in nodes with more than one host.

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 — This could cause connectivity issues when cluster membership changed.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.8.0

v0.8.0-rc.1

05 May 18:55

Choose a tag to compare

v0.8.0-rc.1 Pre-release
Pre-release

v0.8.0 - 2026-05-06

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.
  • 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 of our docs.
  • 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, consistent with the behaviour already in place for database instances.
  • 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.

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. The names are no longer reserved and may be used freely for custom database users.
  • Promote Supporting Services from beta to generally available

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 — This could cause connectivity issues when cluster membership changed.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.8.0-rc.1

v0.7.0

27 Mar 17:21

Choose a tag to compare

v0.7.0 - 2026-03-25

Added

  • Supporting services (beta) — Deploy supporting services alongside databases. This release includes the pgEdge Postgres MCP Server, with automatic database credential provisioning, high-availability connection routing, and declarative configuration.
  • Added patroni_port to the database and instance APIs.
  • Added ability to configure per-component log levels.
  • Added a default value for the host_id configuration setting. It will now default to the short hostname (hostname -s) of the host machine.
  • Added guided walkthrough with GitHub Codespaces support.
  • Added support for Postgres 16.13, 17.9, and 18.3. Default version is now 18.3.
  • Added stop/start instance operations to the client library.
  • Etcd mode reconfiguration — Hosts can now switch between etcd server and client modes at runtime, with support for host identity changes via peer URL updates.
  • Scoped tasks and new task endpoints — Tasks are now scoped to databases and hosts, with new list/get endpoints for better observability. The remove-host API now returns a task for tracking removal progress.
  • Stable random port assignments — Randomly assigned ports now persist across instance restarts and database updates.

Changed

  • Improved disaster recovery — Better quorum loss handling, host removal resilience, and crash recovery.
  • Breaking: Replaced hostname and ipv4_address fields in the API with peer_addresses and client_addresses for host endpoints and addresses for instance and service instance endpoints.
  • Breaking: Replaced server_url (string) with server_urls (string array) in the cluster join token, allowing multiple server URLs when joining a cluster.

Fixed

  • Fixed a bug that prevented database deletion when we failed to create the Swarm service.
  • Replaced fixed 100-second sync wait when adding a node with configurable health-based polling.
  • Fixed sync event refresh blocking updates when Spock node is not configured.
  • Fixed panics during task and workflow cancellation.
  • Fixed add-node failing silently when Spock sync event is not confirmed.
  • Fixed incomplete server shutdown that could leave the workflow engine running without required services.
  • Fixed stale resource state blocking updates.
  • Fixed IPAM subnet exhaustion after repeated database create/delete cycles by releasing subnets on network deletion.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.7.0

v0.7.0-rc.1

25 Mar 19:13
v0.7.0-rc.1
d7ced31

Choose a tag to compare

v0.7.0-rc.1 Pre-release
Pre-release

v0.7.0 - 2026-03-25

Added

  • Supporting services (beta) — Deploy supporting services alongside databases. This release includes the pgEdge Postgres MCP Server, with automatic database credential provisioning, high-availability connection routing, and declarative configuration.
  • Added patroni_port to the database and instance APIs.
  • Added ability to configure per-component log levels.
  • Added a default value for the host_id configuration setting. It will now default to the short hostname (hostname -s) of the host machine.
  • Added guided walkthrough with GitHub Codespaces support.
  • Added support for Postgres 16.13, 17.9, and 18.3. Default version is now 18.3.
  • Added stop/start instance operations to the client library.
  • Etcd mode reconfiguration — Hosts can now switch between etcd server and client modes at runtime, with support for host identity changes via peer URL updates.
  • Scoped tasks and new task endpoints — Tasks are now scoped to databases and hosts, with new list/get endpoints for better observability. The remove-host API now returns a task for tracking removal progress.
  • Stable random port assignments — Randomly assigned ports now persist across instance restarts and database updates.

Changed

  • Improved disaster recovery — Better quorum loss handling, host removal resilience, and crash recovery.
  • Breaking: Replaced hostname and ipv4_address fields in the API with peer_addresses and client_addresses for host endpoints and addresses for instance and service instance endpoints.

Fixed

  • Fixed a bug that prevented database deletion when we failed to create the Swarm service.
  • Replaced fixed 100-second sync wait when adding a node with configurable health-based polling.
  • Fixed sync event refresh blocking updates when Spock node is not configured.
  • Fixed panics during task and workflow cancellation.
  • Fixed add-node failing silently when Spock sync event is not confirmed.
  • Fixed incomplete server shutdown that could leave the workflow engine running without required services.
  • Fixed stale resource state blocking updates.
  • Fixed IPAM subnet exhaustion after repeated database create/delete cycles by releasing subnets on network deletion.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.7.0-rc.1

v0.6.2

23 Dec 19:48
1a7b241

Choose a tag to compare

v0.6.2 - 2025-12-22

Removed

  • Removed unused "tenant_id" field from GetCluster endpoint.

Fixed

  • Fixed in-place restores where the recovery target is not the latest point in the repository.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.6.2

v0.6.2-rc.1

22 Dec 16:09
v0.6.2-rc.1
1a7b241

Choose a tag to compare

v0.6.2-rc.1 Pre-release
Pre-release

v0.6.2 - 2025-12-22

Removed

  • Removed unused "tenant_id" field from GetCluster endpoint.

Fixed

  • Fixed in-place restores where the recovery target is not the latest point in the repository.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.6.2-rc.1

v0.6.1

19 Dec 19:35
06b4495

Choose a tag to compare

v0.6.1 - 2025-12-19

Fixed

  • Fixed incorrect pgbackrest command format for database restore endpoint.
  • Fixed task logs API to return a last_entry_id even if after_entry_id is the last entry.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.6.1

v0.6.1-rc.1

19 Dec 17:14
v0.6.1-rc.1
06b4495

Choose a tag to compare

v0.6.1-rc.1 Pre-release
Pre-release

v0.6.1 - 2025-12-19

Fixed

  • Fixed incorrect pgbackrest command format for database restore endpoint.
  • Fixed task logs API to return a last_entry_id even if after_entry_id is the last entry.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.6.1-rc.1

v0.6.0

17 Dec 21:09
8c5d292

Choose a tag to compare

v0.6.0 - 2025-12-17

Added

  • "remove-host" now has a "force" attribute that allows users to recover from the loss of one or more hosts.
  • Added support for new extensions in standard pgEdge Enterprise Postgres image, including pgedge_vectorizer, pg_tokenizer, vchord_bm25, pg_vectorize, pgmq, pg_cron, and pg_stat_monitor.

Fixed

  • Added validation to the "get-join-options" endpoint to ensure incoming host IDs are unique within the cluster.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.6.0

v0.6.0-rc.1

17 Dec 19:59
v0.6.0-rc.1
8c5d292

Choose a tag to compare

v0.6.0-rc.1 Pre-release
Pre-release

v0.6.0 - 2025-12-17

Added

  • "remove-host" now has a "force" attribute that allows users to recover from the loss of one or more hosts.
  • Added support for new extensions in standard pgEdge Enterprise Postgres image, including pgedge_vectorizer, pg_tokenizer, vchord_bm25, pg_vectorize, pgmq, pg_cron, and pg_stat_monitor.

Fixed

  • Added validation to the "get-join-options" endpoint to ensure incoming host IDs are unique within the cluster.

Get the Docker image for this release from:

ghcr.io/pgedge/control-plane:v0.6.0-rc.1